watchbell 1.2.5 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +3 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +22 -12
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +63 -67
- 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 +23 -13
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +63 -67
- 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 +30 -20
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/(private)/ai/page.js +63 -67
- 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 +23 -13
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +63 -67
- 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 +26 -16
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +63 -67
- 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 +36 -26
- package/server/.next/server/app/(console)/alerts/page.js +63 -67
- 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 +94 -54
- package/server/.next/server/app/(console)/apps/[id]/page.js +69 -71
- package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +23 -13
- package/server/.next/server/app/(console)/apps/page.js +66 -69
- 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 +23 -13
- package/server/.next/server/app/(console)/backups/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/catalog/page.js +63 -67
- 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 +31 -21
- package/server/.next/server/app/(console)/connections/page.js +63 -67
- package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +20 -10
- package/server/.next/server/app/(console)/d1/page.js +63 -67
- package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +46 -16
- package/server/.next/server/app/(console)/deployments/page.js +66 -69
- 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 +27 -17
- package/server/.next/server/app/(console)/dns/page.js +63 -67
- 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 +22 -12
- package/server/.next/server/app/(console)/domains/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/events/page.js +63 -67
- 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 +27 -17
- package/server/.next/server/app/(console)/firebase/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/logs/page.js +63 -67
- 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 +21 -11
- package/server/.next/server/app/(console)/manage/sections/page.js +63 -67
- 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 +31 -21
- package/server/.next/server/app/(console)/neon/page.js +63 -67
- package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/overview/page.js +69 -72
- package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +21 -11
- package/server/.next/server/app/(console)/repos/[id]/page.js +67 -70
- 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 +20 -10
- package/server/.next/server/app/(console)/repos/page.js +65 -68
- 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 +30 -20
- package/server/.next/server/app/(console)/settings/page.js +63 -67
- 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 +27 -17
- package/server/.next/server/app/(console)/sql/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/status/page.js +63 -67
- 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 +39 -29
- package/server/.next/server/app/(console)/supabase/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/topology/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/turso/page.js +63 -67
- 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 +20 -10
- package/server/.next/server/app/(console)/upstash/page.js +63 -67
- 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 +34 -24
- package/server/.next/server/app/(console)/uptime/page.js +63 -67
- 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 +25 -15
- package/server/.next/server/app/(console)/welcome/page.js +63 -67
- 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 +17 -7
- package/server/.next/server/app/api/collect/route.js +69 -71
- 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 +17 -7
- package/server/.next/server/app/api/daily/route.js +51 -53
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js +2 -2
- 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 +17 -7
- package/server/.next/server/app/api/telegram/webhook/route.js +48 -50
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +4 -3
- package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
- 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 +1 -1
- package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js +4 -3
- 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 +4 -3
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +15 -15
- package/server/.next/server/app/api/watchdog/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 +25 -25
- 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 +25 -25
- 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]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js +7 -7
- 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 +28 -29
- 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]__0ia-wyj5qrosx._.js → [externals]__1-y7b_mfadqi-._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__0igl_rsv6z3fr._.js → [externals]__1b3dgyi9diwhy._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__0mh8e6gkgfswq._.js → [externals]__1dd9hhrnxhegy._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__01vos42kjq9nn._.js → [root-of-the-server]__0-94urkhm871c._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0_e2eoq7w3ff_._.js → [root-of-the-server]__0-zrmrb4499ay._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ezd1s2862iob._.js → [root-of-the-server]__01hgqxx2a0okv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0exicuoq6gmph._.js → [root-of-the-server]__02h-ec_gusm_2._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0-ftc1hhcjcl2._.js → [root-of-the-server]__038br8sr9eepd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__20ng0hgzxagf_._.js → [root-of-the-server]__040a3il587nja._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0cc32xnniktg9._.js → [root-of-the-server]__04iumkvxok49x._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0a5op--7u5_xh._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__040ix5fqb_zb-._.js → [root-of-the-server]__0a5t6bkr3-uqw._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0r88w3qhrtzz_._.js → [root-of-the-server]__0c2heh-0pjyob._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1gt_-h9n48pwi._.js → [root-of-the-server]__0c9y_zg74k4oe._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0185dne3slx7e._.js → [root-of-the-server]__0cmp5mwchd8sn._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0oqltt9cni6m0._.js → [root-of-the-server]__0ct18spdi1leu._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0rb1-3538-pq9._.js → [root-of-the-server]__0db2p-om-b_4s._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__09uh8gefrxmkg._.js → [root-of-the-server]__0fc4c9-xzmkol._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ikiyg3u02ofv._.js → [root-of-the-server]__0fmt9z8-xukob._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0sabwm3w1rm0q._.js → [root-of-the-server]__0i3h5covkd6_t._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0inf2zuuqjrq6._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0070gc9ml0mf7._.js → [root-of-the-server]__0jswmvddgl3sb._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ms1uw85c5wg2._.js → [root-of-the-server]__0lco43i5w25zg._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0x6qqr79pq_j9._.js → [root-of-the-server]__0m_nqt44ioex_._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0w_og0zl6hqzj._.js → [root-of-the-server]__0qme276hvajvy._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0r3cq1lecww4e._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0r_6xpjwcdrda._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0rctmpp7p7cp9._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0rpys5i04hzww._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1ol4c4uzqqqfw._.js → [root-of-the-server]__0sp5xoed3-994._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__01yzy5zxsekxi._.js → [root-of-the-server]__0ubalx5w0ds9m._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0vv63vp8y0fs-._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0-st5xltl53h9._.js → [root-of-the-server]__0w07p3ypro834._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0znmcklxfccvk._.js → [root-of-the-server]__0x929r1phz1oi._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1vqs8o9bv1wbk._.js → [root-of-the-server]__0xfgfo-ks4_e8._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0ycpg444s91lb._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0zjhlf_yodox3._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1cc__h9taeylv._.js → [root-of-the-server]__0zkeao78mms1_._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0y_xyc1cyvtej._.js → [root-of-the-server]__0zwr7fll4dm9q._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0cz3da2wx3_wd._.js → [root-of-the-server]__1-2ckgdamg0-j._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1-ne3clcouvm2._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1bce11artflky._.js → [root-of-the-server]__130_vkgsongq_._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0x47i6wm-cd1z._.js → [root-of-the-server]__14jw0y_hj7jmw._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__14vj8ywy5spa2._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__05jzua9637vlo._.js → [root-of-the-server]__15vqo7amys573._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__08-puk3_gawjd._.js → [root-of-the-server]__161v5qfd5qk2p._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__16jyhasrd2ojp._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__16u9d_hm9lefl._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0kzpzdkpz_nt0._.js → [root-of-the-server]__177l2p7kcj-16._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__186-sa38csgot._.js → [root-of-the-server]__17dr2z1o1hsvk._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1hl9k6e1o7xh2._.js → [root-of-the-server]__1_df6aphi-pfk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1_zr2xlmtkn4l._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1aagly59gw-xf._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0tykhzqhwdx_k._.js → [root-of-the-server]__1bjvjngj7lvqi._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1c0cb3ur16yhh._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1g4iy2tasmn0f._.js → [root-of-the-server]__1d1u-wejsfl84._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__05pabbazg42oy._.js → [root-of-the-server]__1g6xpr_typmce._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__195ax9c1nsi5b._.js → [root-of-the-server]__1j527a18gh10b._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1a7_3nq1jjab-._.js → [root-of-the-server]__1jjusd74y8gd5._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1jvy8r4n-62x7._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1k-7jan2fsbys._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1kr6f03r82mk6._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1m8gyvj7rkapj._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1pa_syiho939h._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1qmdi981syrsn._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1r9v6qgjwlv32._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0xqgsjnebebv8._.js → [root-of-the-server]__1smidspfoqz48._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__20r_62r36t28o._.js → [root-of-the-server]__1t87mhqedigsz._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1u5my3-gpw499._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1uad-kugxmkx8._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1ny8nr52qvr4i._.js → [root-of-the-server]__20sp5m_w5iklm._.js} +2 -2
- package/server/.next/server/chunks/{_1_9n8x5ncta29._.js → _0-jfehdfklu-i._.js} +2 -2
- package/server/.next/server/chunks/{_1n-fm2bdo9t2m._.js → _0-ub844lc_z_a._.js} +3 -3
- package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
- package/server/.next/server/chunks/_05hhw0eql5-dv._.js +12 -0
- package/server/.next/server/chunks/{_0zj10_al6r59j._.js → _08fv52mqg619m._.js} +12 -10
- package/server/.next/server/chunks/{_1cq1vvbp6pglr._.js → _08z7lmk32r__5._.js} +3 -3
- package/server/.next/server/chunks/_0b7rdk-4lrvfy._.js +10 -0
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
- package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
- package/server/.next/server/chunks/{_1myv9csc_in08._.js → _1-pv4d4qhe7to._.js} +3 -3
- package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
- package/server/.next/server/chunks/{_1e_rbkrukj0x9._.js → _13dlt388gceez._.js} +12 -10
- package/server/.next/server/chunks/_19wqm5leaaesp._.js +1 -1
- package/server/.next/server/chunks/_1d_77nvqcnkcg._.js +3 -0
- package/server/.next/server/chunks/_1e_6lrlg9ml3-._.js +1 -1
- package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +5 -0
- package/server/.next/server/chunks/_1l-68brbq289m._.js +12 -0
- package/server/.next/server/chunks/{_1476vtrt9101m._.js → _1rskctyr7yt-b._.js} +2 -2
- package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
- package/server/.next/server/chunks/src_05vq-abuilwk4._.js +3 -0
- package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
- package/server/.next/server/chunks/src_06lwphwuzgl6e._.js +3 -0
- package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +3 -0
- package/server/.next/server/chunks/{src_0_l3dzp06o4x5._.js → src_0j8daco-75zka._.js} +2 -2
- package/server/.next/server/chunks/src_0tw-h0otr2tgt._.js +1 -1
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/{src_0m6xxpw2u-xv_._.js → src_1lvv9wiag2d8-._.js} +2 -2
- package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
- package/server/.next/server/chunks/{src_15fupbs9-n8q9._.js → src_20sym_ohuqw76._.js} +2 -2
- package/server/.next/server/chunks/src_2108_me3q06ih._.js +3 -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_0n-8zjgq6mcc7._.js +3 -0
- package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +9 -0
- package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +9 -0
- package/server/.next/server/chunks/src_lib_1nkahiclbn55q._.js +3 -0
- package/server/.next/server/chunks/src_lib_1y5l54dwaet39._.js +3 -0
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
- package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
- package/server/.next/server/chunks/src_private_0uwb-eyaxy9b3._.js +5 -0
- 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]__0vlxry7jq5j1j._.js → [externals]__02s9k1gg9qqkm._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1mol6ksxmtkv6._.js → [externals]__1rj83sktdlxvt._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0yyslm1ka5px3._.js → [externals]__1s7xw086rvse0._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0irbihjwcc9is._.js → [externals]__20leqouf6m6f3._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__193nmh09rrpbx._.js → [root-of-the-server]__0-zqh1gf4dsj3._.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]__03mal5uo1rzg4._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__05_98ql5tgeii._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__077-acap7g4ck._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_h_ya1h8efdj._.js → [root-of-the-server]__07k_84t5-d55n._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0wi2grctadbk8._.js → [root-of-the-server]__080do5vfu69n5._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_z273zso5at1._.js → [root-of-the-server]__09j1po2u91fp3._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0sj92w6mg92ds._.js → [root-of-the-server]__0b3g72j9cu141._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xjg51t1__v-s._.js → [root-of-the-server]__0e1s_5gg-u3iu._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-i_tj8wp9oto._.js → [root-of-the-server]__0ed6qo3lg9_f9._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z_1k5876-_wx._.js → [root-of-the-server]__0ee5ew5q3jh8i._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__110158s15r7mi._.js → [root-of-the-server]__0fd39clnjw9fb._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0h2hxe0vl-2x0._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0i07g85h2g72h._.js → [root-of-the-server]__0h9rpg5-lhp5q._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a0b_dbx4uans._.js → [root-of-the-server]__0p86d9imejczs._.js} +2 -2
- 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]__0s2of3mcou177._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1-d88ogkwql_b._.js → [root-of-the-server]__0skfdezx5rxie._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ijizmc3ga_6o._.js → [root-of-the-server]__0tqqte5jb6jz7._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ogwz1buruc_x._.js → [root-of-the-server]__11paa809_igt_._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1e9tlsk1gl8lw._.js +4 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hzlz_t5eect2._.js → [root-of-the-server]__1qrk2rfmx21b_._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
- 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]__1v3b498_j-68t._.js +4 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n-sc7pzu7fpz._.js → [root-of-the-server]__1y7nfsglxx7cn._.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/{_10q5jocsvw-i8._.js → _09arvqnznfrzl._.js} +2 -2
- package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0ao-urx9ftj1s._.js +3 -0
- package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
- package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
- package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +1 -1
- package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +3 -0
- 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/_0dvz4dndt6lkf._.js +3 -0
- package/server/.next/server/chunks/ssr/{_0s8qoh8v5kqcm._.js → _0f11sdi6yislb._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
- package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +3 -0
- package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
- package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
- package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +4 -0
- package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
- 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/_0qhvl_fw4qetx._.js +1 -1
- package/server/.next/server/chunks/ssr/_0rsh9v4b3yj0b._.js +3 -0
- package/server/.next/server/chunks/ssr/{_1476vtrt9101m._.js → _0rw2pberdmaa5._.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/_0v6v5w16qxwke._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1edj756n1im8t._.js → _0w3mz8059j-pk._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +4 -0
- package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +4 -0
- 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/_12wjuabpo0ofk._.js +3 -0
- 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/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
- package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +3 -0
- package/server/.next/server/chunks/ssr/{_1qiv079hbwt43._.js → _1er-95g7emfdz._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +5 -0
- 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/{_18z44n8yl5tzj._.js → _1h7x73oxtp7h5._.js} +2 -2
- 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/{_166ljgwi6shw7._.js → _1jl374mbl90fb._.js} +2 -2
- package/server/.next/server/chunks/ssr/{_1r7o1vx4875hu._.js → _1ktvwngz0lzjr._.js} +2 -2
- 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/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +3 -0
- package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1--1mjfnoprr2.js +3 -0
- 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)_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_12wgjpd0lbh12.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/src_0330uf9pdfco9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_04o0-kzfmcnim._.js +3 -0
- 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_0dceh6hsdybq8._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +3 -1
- package/server/.next/server/chunks/ssr/src_0yxy3bklfxtzz._.js +3 -0
- package/server/.next/server/chunks/ssr/src_1-k3gvxaqli74._.js +3 -0
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_186l56gdeizg8._.js → src_14ulgwoxoyfkq._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1ckoccd8qvnje._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +8 -0
- 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)_0u4_y9-b7g971._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_app_(console)_1vpkg9rd7v3pk._.js → src_app_(console)_11o_ga_rurg55._.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]_10xvt--29v-ed._.js +3 -0
- 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)_create_actions_ts_05-86qr6kfjey._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_deployments_06a83hsex1kba._.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)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_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_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_signin_0ndz9-tbuaohn._.js → src_app_signin_0u6eoxbd8ttqy._.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_components_list-filter_tsx_1zp29997g97yd._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0ls7sornjrg95._.js → src_lib_0-nc33gvdtkg5._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_0n-8zjgq6mcc7._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_10d18lqjfj8je._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1y5l54dwaet39._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
- package/server/.next/server/chunks/ssr/{src_lib_demo_0ftmf3wmtezvl._.js → src_lib_demo_0sbw5n9n4mpzx._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_providers_github-browse_ts_1apskpn4fe9qr._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_1b8918m4jsjpi._.js +5 -0
- package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/functions-config-manifest.json +3 -0
- 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 +384 -168
- package/server/.next/static/chunks/{3o45i7xbzm0w-.js → 05uco41_mcq9o.js} +1 -1
- package/server/.next/static/chunks/{2_vwhuzct036v.js → 06o7zhf9tv649.js} +1 -1
- package/server/.next/static/chunks/{25je6-38ula0p.js → 0bkm_mj9zqjdn.js} +1 -1
- package/server/.next/static/chunks/0bqipdtnu2hws.js +1 -0
- package/server/.next/static/chunks/0d609c7qn6uke.js +1 -0
- package/server/.next/static/chunks/0ghhg0xs85ipn.js +1 -0
- package/server/.next/static/chunks/{026a6w6rbx-fh.js → 0inb7hk8o9yz-.js} +1 -1
- package/server/.next/static/chunks/{1khar1yl-th2r.js → 0lgt6mz4u8rzx.js} +1 -1
- package/server/.next/static/chunks/0r-etc_jv_08f.js +1 -0
- package/server/.next/static/chunks/{0p14kwfj_2w_l.js → 0un8ttgrt0gtq.js} +1 -1
- package/server/.next/static/chunks/{1bsk5ub4zhehk.js → 0v5xmga7srjvl.js} +1 -1
- package/server/.next/static/chunks/{24p8ti6ronsdf.js → 0zzbinjpe41vj.js} +1 -1
- package/server/.next/static/chunks/{1ruv-a_ft592k.js → 12vmyliqgjlbi.js} +1 -1
- package/server/.next/static/chunks/{234h8_ywb6t9s.js → 131_xlsbuxnhr.js} +1 -1
- package/server/.next/static/chunks/{19bfo1_ejzqmp.js → 146uoz7wc8q2y.js} +1 -1
- package/server/.next/static/chunks/{2w3otuq4cx1pd.js → 1crspgs6bd_rg.js} +1 -1
- package/server/.next/static/chunks/{1b4nkf_ka3hwr.js → 1h0025pjnwxmg.js} +2 -2
- package/server/.next/static/chunks/{35ua22np4u9jr.js → 1ot9e084ramy3.js} +1 -1
- package/server/.next/static/chunks/{3ngtjj5afybe9.js → 1ouf289jk00f3.js} +1 -1
- package/server/.next/static/chunks/{3m825h0uvc8b6.js → 1sds57ddvk_30.js} +1 -1
- package/server/.next/static/chunks/{3oe302ug_esoe.js → 1sexa68j4kb7d.js} +1 -1
- package/server/.next/static/chunks/1t9iq0wi3ykuc.js +1 -0
- package/server/.next/static/chunks/{2baqn9ru2pmf4.js → 1u4r7ru8i619_.js} +2 -2
- package/server/.next/static/chunks/{0m3kg-eiti9zu.js → 1vuqw31-hmrxb.js} +1 -1
- package/server/.next/static/chunks/{20ujg0hz_need.js → 1xhyfwwelhzu1.js} +1 -1
- package/server/.next/static/chunks/{2ehpfaelmkee6.js → 1z85thzinc0kx.js} +1 -1
- package/server/.next/static/chunks/{1j7e6cd8t5jar.js → 25erhrojc-1fi.js} +1 -1
- package/server/.next/static/chunks/{2uk9mjknuxmxx.js → 29sduk6krs_b1.js} +1 -1
- package/server/.next/static/chunks/{0o-c28x8k05p4.js → 29v9jg7vw7brb.js} +1 -1
- package/server/.next/static/chunks/2dbx53nx6f-9f.js +7 -0
- package/server/.next/static/chunks/{25ba60sl_edr3.js → 2e195xkcjq72y.js} +1 -1
- package/server/.next/static/chunks/{1urtw14pwufsv.js → 2f07frmj7udob.js} +1 -1
- package/server/.next/static/chunks/{16en34z8w8ezr.js → 2fp4pmte8dtbb.js} +1 -1
- package/server/.next/static/chunks/2gv1tg_m49u9m.js +1 -0
- package/server/.next/static/chunks/{0jbau1a66ts45.js → 2ockms4mqiec_.js} +11 -11
- package/server/.next/static/chunks/{1rgejqx65romt.js → 2p-ty5g5uq133.js} +1 -1
- package/server/.next/static/chunks/{231dmdy7r03nd.js → 2tnbp3f6x0jv_.js} +1 -1
- package/server/.next/static/chunks/{1y8hxiy48l5hq.js → 2uu38i0lq_wlc.js} +1 -1
- package/server/.next/static/chunks/2uufhbm18_cri.js +1 -0
- package/server/.next/static/chunks/{4126vjheqklsp.js → 2vxmvnntekclp.js} +1 -1
- package/server/.next/static/chunks/{0lhj_nuhfszt5.js → 2xhqwi0hiv_70.js} +1 -1
- package/server/.next/static/chunks/{05rysjdxtzhu1.js → 3-8by5unw1j-r.js} +1 -1
- package/server/.next/static/chunks/{15x1am33zx_7r.js → 310xe703zu_qp.js} +1 -1
- package/server/.next/static/chunks/{3odrzjmblvoxt.js → 33z05hmv7hw1s.js} +1 -1
- package/server/.next/static/chunks/{1aiapinh40brx.js → 36wyyf_gobe7n.js} +1 -1
- package/server/.next/static/chunks/{1kwbsrtnz8o1l.js → 3_5xff9sl-2e3.js} +1 -1
- package/server/.next/static/chunks/{3zx1pe40m_ddz.js → 3b0xtqo5kfyuj.js} +1 -1
- package/server/.next/static/chunks/{34jajbsx3uisy.js → 3cvrxnnojhvxz.js} +1 -1
- package/server/.next/static/chunks/{20pwnun2aiajo.js → 3fais-5rzury8.js} +2 -2
- package/server/.next/static/chunks/{317o5vyehd1xx.js → 3gj8dc0o09zl6.js} +1 -1
- package/server/.next/static/chunks/{0wz_jmdt88plr.js → 3s3unktz7g7f0.js} +1 -1
- package/server/.next/static/chunks/{35j75g5h_qytc.js → 3w26qimof6fnj.js} +1 -1
- package/server/.next/static/chunks/{0o08yqz8_53p6.js → 3z70obsntezy0.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__028cxv1v6v0yb._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__07g16s_wi2sai._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0dvuy3ibsyiik._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0e2utnqdim70d._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0i75m0es1m3hf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0k7o0hgdraix2._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0quiawzx_nww0._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0y99cuuxm0xs3._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__14sac3h4sfhh7._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1lfsf7un8kdbr._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +0 -3
- package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +0 -3
- package/server/.next/server/chunks/_0ls7sornjrg95._.js +0 -5
- package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +0 -10
- package/server/.next/server/chunks/_1daeuesc2d2tg._.js +0 -3
- package/server/.next/server/chunks/_1g_prqb_u33e3._.js +0 -10
- package/server/.next/server/chunks/src_12wdz9bdn7a-7._.js +0 -3
- package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +0 -9
- package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +0 -9
- package/server/.next/server/chunks/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +0 -3
- package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +0 -3
- package/server/.next/server/chunks/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +0 -3
- package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +0 -3
- package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +0 -5
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +0 -3
- package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +0 -3
- package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +0 -3
- package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +0 -3
- package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +0 -3
- package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +0 -3
- package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +0 -4
- package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
- package/server/.next/server/chunks/ssr/_1b1t9p1xljuql._.js +0 -5
- package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +0 -3
- package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +0 -4
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +0 -3
- package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +0 -8
- package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +0 -3
- package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +0 -3
- package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +0 -6
- package/server/.next/server/chunks/ssr/src_app_(console)_0f-d8u7sm169e._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_vercel-action_ts_1hvera3nwo5fp._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_view_deploy-actions_ts_1l3rr2k-04gi4._.js +0 -3
- package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +0 -5
- package/server/.next/static/chunks/0-0tkevn8vwix.js +0 -1
- package/server/.next/static/chunks/0qd8lafp_2ta5.js +0 -1
- package/server/.next/static/chunks/14teejsfv-awi.js +0 -1
- package/server/.next/static/chunks/1c0s-ejiwfy2u.js +0 -1
- package/server/.next/static/chunks/38rdy3k5li9gb.js +0 -1
- package/server/.next/static/chunks/3u-qfdthw123i.js +0 -7
- package/server/.next/static/chunks/3xhrztkjpas1b.js +0 -1
- /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b → WqHYD3Noq8qkEPXvfVDGQ}/_buildManifest.js +0 -0
- /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b → WqHYD3Noq8qkEPXvfVDGQ}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{00kxZsHPpI3WSDxVn1e4b → WqHYD3Noq8qkEPXvfVDGQ}/_ssgManifest.js +0 -0
|
@@ -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=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),y=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,z=new Set(["turso","upstash","d1"]),A={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=x("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=x("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[x("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=x("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=x("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=>x("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=x("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=x("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=x("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:y(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=x("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=x("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=x("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=>x("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=>z.has(a.provider)).map(a=>{let c=x("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:y(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=x("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=x("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=x("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=x("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};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=A[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let B=["MonitorDown","HighLatency"],C=["telegram","discord","webhook","smtp"],D=a=>a.channels.some(a=>C.includes(a));function E(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&B.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let F=(a,b)=>"critical"===b&&"warning"===a?"critical":a,G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H=(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=>[H(a.rule,a.subject),a])),j=new Set(a.map(a=>H(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(H(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=E(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)&&!G(c,f.now)&&!b&&null===c.pending&&D(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(H(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=E(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:F(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||!D(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,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(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711);async function v(){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 w(){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}a.s(["D",0,v,"d",0,w],569057);var x=a.i(367247),y=a.i(436357),z=a.i(912283),A=a.i(358179),B=a.i(492665),C=a.i(683439),D=a.i(679662),E=a.i(852539),F=a.i(33135),G=a.i(533957);let H="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function I(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 K(a,{method:"POST",headers:{"content-type":"application/json","user-agent":H},body:JSON.stringify(b),signal:f},c,f,d)}async function J(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 K(a,{method:"GET",headers:{"user-agent":H},signal:e},b,e,c)}async function K(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,G.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,F.z)(f,c,(0,F.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,G.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function L(a,b){let c=[];for(let d of(0,E.f)(a)){let a=await I(E.n,d,4194304,b);if(!a.ok)return a;let e=(0,E.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 M(a,b){let c=[...new Set(a)].filter(E.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 J(`${E.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,E.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 N=a.i(521050),O=a.i(120213),P=a.i(689963),Q=a.i(26972),R=a.i(427221),S=a.i(811365),T=a.i(760417);let U=P.z.array(Q.z.object({name:R.z.string(),type:R.z.string(),sha:R.z.string(),size:S.z.number().optional()}));async function V(a,b,c,d={},e=null){if(!(0,T.M)(b)||!(0,T.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,N.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,T.j)(`/repos/${(0,T.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=U.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 W(a,b,c,d={}){if(!(0,T.M)(b)||!(0,T.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,T.j)(`/repos/${(0,T.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 X(a,b,c,d,e,f={}){return(0,T.V)(a,b,c,d,e,f)}async function Y(a,b,c={}){if(!(0,T.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,T.j)(`/repos/${(0,T.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,O.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 Z=a.i(751263);async function $(){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,A.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,B.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 _(){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 aa=a=>{let b=(0,Z.w)(a);return{dir:(0,N.Q)((a??{}).rootDirectory),unsupported:(0,N.l)((a??{}).rootDirectoryUnsupported),branch:(0,Z.i)((0,Z.V)(a),null),...b?{fallback:b}:{}}};async function ab(a){let c=[...new Set(a.filter(C.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,aa(a.meta));return d}async function ac(){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 _()?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 ab(d.map(a=>a.id)):new Map;return(0,O.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 ad=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ae(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 af(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 ag(a,b){for(let c of D.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,N.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function ah(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ae(c.id,{error:ad(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,Z.i)(b,c.defaultBranch);if(!d)continue;let e=await W(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,N.Q)(c.rootDir),o=n?null:(0,N.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 V(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,N.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=ag(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await V(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=ag(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),A=new Date;if(!(0,O.U)(y??null,x,A,g.force))return{status:"unchanged"};if(!x){let a=await af(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:A}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await ae(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:A,queriedAt:A,error:null,note:ad([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,N.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let B=(0,N.H)(n,"package.json"),C=s?await X(a,c.fullName,B,j,T.$,h()):null;if(C&&!C.ok)return i(C.error);let F=C?.ok&&C.data?(0,D.b)(C.data):null,G=null,H="package-json",I=t&&r?`Scanned ${(0,N.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 X(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,N.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await X(a,c.fullName,"package.json",j,T.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,N.F)(b?.data??null,n)}e?(G=b.data?(0,D.D)(r.kind,b.data):null,H=r.kind,G||(I=[I,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(I=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${B} ranges (approximate).`,r=null)}if(G){let a=(0,z.m)(G,F);G=a.deps,a.stale.length&&(I=[I,(0,z.M)(a.stale)].filter(Boolean).join(" "))}else G=F?(0,D.e)(F):[],H="package-json",I??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let J=await af(c.id),K=[];if(G.length){let a=await L(G,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,O.A)(J,!0===g.force),c=await M((0,O.z)(G,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,E.i)(G,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await Y(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,O.R)(K,b.data.alerts,G):b.ok&&(I=[I,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let P=(0,O.h)(J,K,(0,D.K)(F));I=[m,p,I].filter(Boolean).join(" ")||null;let Q=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(P.insert.length&&await a.insert(f.dependencyVulns).values(P.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:Q,lastSeenAt:Q}))).onConflictDoNothing(),P.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:Q}).where((0,b.u)(f.dependencyVulns.id,d.id));P.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:Q}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,P.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?B:null),lockfileSha:x,packageCount:G.length,scannedAt:Q,queriedAt:Q,error:null,note:I?ad(I,300):null,updatedAt:Q}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?B:null),lockfileSha:x,packageCount:G.length,scannedAt:Q,queriedAt:Q,error:null,note:I?ad(I,300):null,updatedAt:Q}})}),{status:"scanned",vulns:P.insert.length+P.update.length,packages:G.length,note:"package-json"===H?I:null}}async function ai(a,c={}){var d,g;let h,i,j,k,l=await $();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ac(),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 ah(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 aj=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 ak(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await aj())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(C.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 ai(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 al(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,C.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,O.t)(a.severity)-(0,O.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 am(a,c={}){if(!(0,C.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 $();if("error"in h)return{ok:!1,error:h.error};let i=aa(g.meta),j=await ah(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 an(a){let c=a.filter(C.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 ao(a,c=new Set){let g=a.filter(C.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,O.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,al,"O",0,ak,"C",0,ao,"a",0,an,"h",0,am],930270);var ap=a.i(242605);async function aq(){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 ar(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([w(),v(),(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):[],z=k.map(a=>a.id),A=z.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,z),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],B=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"]))),C=a=>B.filter(b=>b.kind===a),D=B.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),E=C("zone"),F=C("domain"),G=await aq(),H=await (0,x.Y)().catch(()=>null),I=z.length?await an(z).catch(()=>null):null,J=z.length?await (0,ap.F)(z).catch(()=>null):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,y.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=A.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:D.length?D.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,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.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:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:E.length||F.length?[...E.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...F.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.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,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.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}(E,F),links:G,compute:H,deps:I&&I.length?I:null,frameworks:J&&J.length?J:null}}var as=a.i(714530),at=a.i(396667);let au={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function av(){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 aw(a,c={}){let[d,j,m,n,o,p]=await Promise.all([ar(a),av(),(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,as.w)(),(0,at.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,au[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 ax(){let[a,c]=await Promise.all([(0,at.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 ay=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function az(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,at.s)(a))).orderBy(ay,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aA(){return az(await (0,at.I)())}async function aB(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 aC(){let[a,c,h]=await Promise.all([av(),(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 aD(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 aE(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 aF(){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 aG(a,b){let c=await aF();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,aw,"q",0,az,"I",0,aB,"i",0,aA,"X",0,ax,"w",0,aF,"y",0,aC,"z",0,aE,"_",0,aG,"N",0,aD],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=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),y=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,z=new Set(["turso","upstash","d1"]),A={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=x("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=x("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[x("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=x("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=x("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=>x("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=x("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=x("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=x("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:y(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=x("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=x("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=x("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=>x("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=>z.has(a.provider)).map(a=>{let c=x("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:y(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=x("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=x("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=x("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=x("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};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=A[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let B=["MonitorDown","HighLatency"],C=["telegram","discord","webhook","smtp"],D=a=>a.channels.some(a=>C.includes(a));function E(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&B.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let F=(a,b)=>"critical"===b&&"warning"===a?"critical":a,G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H=(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=>[H(a.rule,a.subject),a])),j=new Set(a.map(a=>H(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(H(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=E(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)&&!G(c,f.now)&&!b&&null===c.pending&&D(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(H(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=E(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:F(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||!D(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,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(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711),v=a.i(460565);async function w(){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 x(){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 y(){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,v.X)(a?.threshold)}a.s(["o",0,y,"D",0,w,"d",0,x],569057);var z=a.i(367247),A=a.i(436357),B=a.i(912283),C=a.i(358179),D=a.i(492665),E=a.i(683439),F=a.i(679662),G=a.i(852539),H=a.i(33135),I=a.i(533957);let J="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function K(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 M(a,{method:"POST",headers:{"content-type":"application/json","user-agent":J},body:JSON.stringify(b),signal:f},c,f,d)}async function L(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 M(a,{method:"GET",headers:{"user-agent":J},signal:e},b,e,c)}async function M(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,I.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,H.z)(f,c,(0,H.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,I.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function N(a,b){let c=[];for(let d of(0,G.f)(a)){let a=await K(G.n,d,4194304,b);if(!a.ok)return a;let e=(0,G.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 O(a,b){let c=[...new Set(a)].filter(G.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 L(`${G.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,G.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 P=a.i(521050),Q=a.i(120213),R=a.i(689963),S=a.i(26972),T=a.i(427221),U=a.i(811365),V=a.i(760417);let W=R.z.array(S.z.object({name:T.z.string(),type:T.z.string(),sha:T.z.string(),size:U.z.number().optional()}));async function X(a,b,c,d={},e=null){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,P.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,V.j)(`/repos/${(0,V.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=W.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 Y(a,b,c,d={}){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,V.j)(`/repos/${(0,V.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 Z(a,b,c,d,e,f={}){return(0,V.V)(a,b,c,d,e,f)}async function $(a,b,c={}){if(!(0,V.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,V.j)(`/repos/${(0,V.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,Q.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 _=a.i(751263);async function aa(){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,C.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,D.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 ab(){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 ac=a=>{let b=(0,_.w)(a);return{dir:(0,P.Q)((a??{}).rootDirectory),unsupported:(0,P.l)((a??{}).rootDirectoryUnsupported),branch:(0,_.i)((0,_.V)(a),null),...b?{fallback:b}:{}}};async function ad(a){let c=[...new Set(a.filter(E.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,ac(a.meta));return d}async function ae(){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 ab()?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 ad(d.map(a=>a.id)):new Map;return(0,Q.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 af=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ag(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 ah(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 ai(a,b){for(let c of F.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,P.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function aj(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ag(c.id,{error:af(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,_.i)(b,c.defaultBranch);if(!d)continue;let e=await Y(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,P.Q)(c.rootDir),o=n?null:(0,P.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 X(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,P.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=ai(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await X(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=ai(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,Q.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await ah(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 ag(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:af([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,P.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,P.H)(n,"package.json"),C=s?await Z(a,c.fullName,A,j,V.$,h()):null;if(C&&!C.ok)return i(C.error);let D=C?.ok&&C.data?(0,F.b)(C.data):null,E=null,H="package-json",I=t&&r?`Scanned ${(0,P.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 Z(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,P.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await Z(a,c.fullName,"package.json",j,V.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,P.F)(b?.data??null,n)}e?(E=b.data?(0,F.D)(r.kind,b.data):null,H=r.kind,E||(I=[I,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(I=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(E){let a=(0,B.m)(E,D);E=a.deps,a.stale.length&&(I=[I,(0,B.M)(a.stale)].filter(Boolean).join(" "))}else E=D?(0,F.e)(D):[],H="package-json",I??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let J=await ah(c.id),K=[];if(E.length){let a=await N(E,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,Q.A)(J,!0===g.force),c=await O((0,Q.z)(E,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,G.i)(E,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await $(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,Q.R)(K,b.data.alerts,E):b.ok&&(I=[I,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let L=(0,Q.h)(J,K,(0,F.K)(D));I=[m,p,I].filter(Boolean).join(" ")||null;let M=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(L.insert.length&&await a.insert(f.dependencyVulns).values(L.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:M,lastSeenAt:M}))).onConflictDoNothing(),L.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:M}).where((0,b.u)(f.dependencyVulns.id,d.id));L.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:M}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,L.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:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}})}),{status:"scanned",vulns:L.insert.length+L.update.length,packages:E.length,note:"package-json"===H?I:null}}async function ak(a,c={}){var d,g;let h,i,j,k,l=await aa();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ae(),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 aj(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 al=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 am(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await al())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(E.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 ak(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 an(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,E.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,Q.t)(a.severity)-(0,Q.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 ao(a,c={}){if(!(0,E.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 aa();if("error"in h)return{ok:!1,error:h.error};let i=ac(g.meta),j=await aj(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 ap(a){let c=a.filter(E.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 aq(a,c=new Set){let g=a.filter(E.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,Q.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,an,"O",0,am,"C",0,aq,"M",0,aa,"a",0,ap,"h",0,ao],930270);var ar=a.i(242605);async function as(){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 at(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([x(),w(),(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):[],v=k.map(a=>a.id),y=v.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,v),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],B=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"]))),C=a=>B.filter(b=>b.kind===a),D=B.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),E=C("zone"),F=C("domain"),G=await as(),H=await (0,z.Y)().catch(()=>null),I=v.length?await ap(v).catch(()=>null):null,J=v.length?await (0,ar.F)(v).catch(()=>null):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,A.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=y.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:D.length?D.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,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.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:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:E.length||F.length?[...E.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...F.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.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,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.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}(E,F),links:G,compute:H,deps:I&&I.length?I:null,frameworks:J&&J.length?J:null}}var au=a.i(714530),av=a.i(396667);let aw={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function ax(){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 ay(a,c={}){let[d,j,m,n,o,p]=await Promise.all([at(a),ax(),(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,au.w)(),(0,av.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,aw[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 az(){let[a,c]=await Promise.all([(0,av.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 aA=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aB(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,av.s)(a))).orderBy(aA,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aC(){return aB(await (0,av.I)())}async function aD(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 aE(){let[a,c,h]=await Promise.all([ax(),(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 aF(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 aG(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 aH(){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 aI(a,b){let c=await aH();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,ay,"q",0,aB,"I",0,aD,"i",0,aC,"X",0,az,"w",0,aH,"y",0,aE,"z",0,aG,"_",0,aI,"N",0,aF],455317)}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_1eioo4oodq-8h._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[840784,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(436357),h=a.i(751263),i=a.i(850140),j=a.i(469762),k=a.i(631107),l=a.i(968715),m=a.i(910697),n=a.i(72019),o=a.i(519051),p=a.i(858806),q=a.i(601219),r=a.i(714530),s=a.i(513701),t=a.i(895176),u=a.i(242605);let v=a=>"string"==typeof a&&a?a:null;async function w(a,q){let w=await (0,e.f)().select({r:f.resources,s:f.snapshots,sec:f.appSecurity,accStatus:f.accounts.status}).from(f.resources).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.resources.accountId)).leftJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).leftJoin(f.appSecurity,(0,b.u)(f.appSecurity.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.kind,"app"),(0,b.u)(f.resources.monitored,!0),q?(0,b.u)(f.resources.id,q):void 0)).orderBy(f.resources.name).limit(m.O.apps);if(!w.length)return[];let x=w.map(a=>a.r.id),y=(await (0,e.f)().select().from(f.monitors).where((0,b.y)(f.monitors.resourceId,x)).orderBy(f.monitors.createdAt).limit(m.O.monitors)).map(t.M),z=await (0,e.f)().selectDistinctOn([f.deployments.resourceId]).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,x),(0,b.u)(f.deployments.target,"production"),(0,b.F)((0,b.u)(f.deployments.isCurrent,!0),(0,b.c)(f.deployments.state,"ready"),d.B`${f.deployments.resourceId} not in (select serving.resource_id from ${f.deployments} as serving where serving.target = 'production' and serving.is_current)`))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)),A=await (0,s._)(y.map(a=>a.id),a),B=new Map(w.map(a=>[a.r.id,a.r])),C=await (0,t.J)(y.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.appId,appName:B.get(a.appId)?.name??"",appMeta:B.get(a.appId)?.meta,lastError:a.lastError}))),D=new Map;for(let a of(await (0,e.f)().select({parentId:f.resources.parentId,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)((0,b.u)(f.resources.kind,"domain"),(0,b.y)(f.resources.parentId,x),(0,b.M)(f.resources.goneAt))))){if(!a.parentId)continue;let b=D.get(a.parentId)??{};b[a.name.toLowerCase()]={redirect:v(a.meta.redirect),verified:!1!==a.meta.verified},D.set(a.parentId,b)}let E=await (0,s.Q)(x,a),F=await (0,n.F)(x),G=y.length?await (0,r.w)():[];return w.map(({r:b,s:c,sec:d,accStatus:e})=>{let f=y.filter(a=>a.appId===b.id).map(b=>({...b,maintUntil:(0,o.x)(G,{monitorId:b.id,appId:b.appId},a)?.end??null,move:C.get(b.id)??null})),n=v(b.meta.createdAt),q=z.find(a=>a.resourceId===b.id);return{id:b.id,name:b.name,gone:null!==b.goneAt,state:c?.state??"unknown",stateSince:c?.stateSince??null,domain:(0,g.Y)(b.meta)?.primaryDomain??(0,j.m)(b.name,f.map(a=>a.url)),domainLines:(0,i.f)(b.meta,D.get(b.id)??{},(0,g.Y)(b.meta)?.primaryDomain??(0,j.m)(b.name,f.map(a=>a.url))),framework:v(b.meta.framework),productionBranch:v(b.meta.productionBranch),productionSource:(0,h.O)(b.meta.productionSource),createdAt:n?new Date(n):null,teamName:v(b.meta.teamName),teamSlug:v(b.meta.teamSlug),repo:v(b.meta.repo),repoType:v(b.meta.repoType),functionRegions:Array.isArray(b.meta.functionRegions)?b.meta.functionRegions.filter(a=>"string"==typeof a):[],monitors:f,lastDeploy:q?(0,p.u)(q):null,uptime30:(0,l.Y)(f.flatMap(b=>(0,l.w)(A.get(b.id),a,l.I))),response:E.get(b.id)??{hourly:Array.from({length:m.A.responseHours},()=>null),p95:null,p50:null},days:new Map(f.flatMap(a=>{let b=A.get(a.id);return b?[[a.id,b]]:[]})),security:d?(0,u.Z)(d):null,database:F.get(b.id)??null,dbPaused:c?.data.dbPaused===!0,pageViews:(0,k.G)(c?.data),pageViewsNote:(0,k.R)({gone:null!==b.goneAt,teamId:v(b.meta.teamId),accountOk:"ok"===e,hasProductionDeploy:void 0!==q})}})}async function x(a,b){return(await w(b,a))[0]??null}async function y(a,c){let[d]=await (0,e.f)().select({id:f.resources.id,name:f.resources.name}).from(f.resources).where((0,b.b)((0,b.u)(f.resources.id,a),(0,b.u)(f.resources.kind,"app"))).limit(1);return d?(await (0,e.f)().transaction(async e=>{let g=new Date;await e.update(f.resources).set({monitored:!1,updatedAt:g}).where((0,b.u)(f.resources.id,a)),await e.delete(f.monitors).where((0,b.u)(f.monitors.resourceId,a)),await e.delete(f.deployments).where((0,b.u)(f.deployments.resourceId,a)),await e.delete(f.snapshots).where((0,b.u)(f.snapshots.resourceId,a)),await e.delete(f.appSecurity).where((0,b.u)(f.appSecurity.resourceId,a)),await e.delete(f.resources).where((0,b.b)((0,b.u)(f.resources.kind,"domain"),(0,b.u)(f.resources.parentId,a))),await (0,q.f)([{type:"action",kind:"ok",message:`${d.name} removed from the console`,detail:null,resourceId:a,actorUserId:c}],e)}),{ok:!0,message:`${d.name} is no longer in the console. The Vercel project itself isn't touched.`}):{ok:!1,error:"That app is no longer in the console."}}a.s(["Z",0,x,"G",0,w,"a",0,y])},858806,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(436357),g=a.i(910697);function h(a){return{id:a.id,externalId:a.externalId,state:a.state,target:a.target,branch:a.branch,commitSha:a.commitSha,commitMessage:a.commitMessage,url:a.url,createdAt:a.createdAtProvider,buildingAt:a.buildingAt,readyAt:a.readyAt,isCurrent:a.isCurrent,isPreviousProduction:a.isPreviousProduction}}async function i(a={}){return(await (0,d.f)().select({d:e.deployments,appName:e.resources.name,meta:e.resources.meta}).from(e.deployments).innerJoin(e.resources,(0,b.u)(e.resources.id,e.deployments.resourceId)).where((0,b.b)((0,b.u)(e.resources.monitored,!0),a.appId?(0,b.u)(e.deployments.resourceId,a.appId):void 0)).orderBy((0,c.A)(e.deployments.createdAtProvider)).limit(g.O.deployments)).map(({d:a,appName:b,meta:c})=>({...h(a),appId:a.resourceId,appName:b,primaryDomain:a.isCurrent&&"production"===a.target?(0,f.Y)(c)?.primaryDomain??null:null}))}async function j(a){let[f]=await (0,d.f)().select({id:e.deployments.externalId}).from(e.deployments).where((0,b.b)((0,b.u)(e.deployments.resourceId,a),(0,b.u)(e.deployments.isCurrent,!0),(0,b.u)(e.deployments.target,"production"))).orderBy((0,c.A)(e.deployments.createdAtProvider)).limit(1);return f?.id??null}async function k(a,c){let[f]=await (0,d.f)().select({id:e.deployments.id}).from(e.deployments).where((0,b.b)((0,b.u)(e.deployments.resourceId,a),(0,b.u)(e.deployments.externalId,c))).limit(1);return!!f}async function l(a,c){let[f]=await (0,d.f)().select({state:e.deployments.state}).from(e.deployments).where((0,b.b)((0,b.u)(e.deployments.resourceId,a),(0,b.u)(e.deployments.externalId,c))).limit(1);return f?.state??null}async function m(a){return(await (0,d.f)().select({d:e.deployments,appName:e.resources.name}).from(e.deployments).innerJoin(e.resources,(0,b.u)(e.resources.id,e.deployments.resourceId)).where((0,b.b)((0,b.u)(e.resources.monitored,!0),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5)))).orderBy((0,c.A)(e.deployments.createdAtProvider)).limit(g.O.ongoingBuilds)).map(({d:a,appName:b})=>({...h(a),appId:a.resourceId,appName:b}))}a.s(["R",0,j,"C",0,k,"p",0,l,"K",0,i,"O",0,m,"u",0,h])},850140,a=>{var b=a.i(436357);a.s(["f",0,function(a,c,d){let e=(0,b.Y)(a);if(!e)return{lines:[{name:d,tag:null,target:null}],more:0};let f=[e.primaryDomain,...e.domains.filter(a=>a!==e.primaryDomain)].filter((a,b,c)=>c.indexOf(a)===b),g=[...new Set(e.pastDomains)].filter(a=>!f.includes(a)).reverse(),h=f.map((a,b)=>{let d=c[a],e={name:a,target:d?.redirect?d.redirect.replace(/^https?:\/\//i,"").replace(/\/.*$/,"").toLowerCase():null};return 0===b?{...e,tag:f.length>1||g.length?"primary":null}:{...e,tag:d?.redirect?"redirect":d&&!d.verified?"pending":null}});return h.push(...g.slice(0,3).map(a=>({name:a,tag:"former",target:null}))),{lines:h,more:Math.max(0,g.length-3)}}])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_1y5l54dwaet39._.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
module.exports=[270432,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(436357),g=a.i(109068),h=a.i(678831),i=a.i(45617),j=a.i(455317),k=a.i(383487),l=a.i(714530),m=a.i(601219),n=a.i(358179),o=a.i(292321),p=a.i(49146),q=a.i(396667),r=a.i(751263);async function s(a,f,g=new Map){if(!a.length)return 0;let h=await (0,d.f)().select({app:e.deployments.resourceId,id:e.deployments.externalId,source:e.deployments.source,branch:e.deployments.branch,sha:e.deployments.commitSha}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,a.map(a=>a.id)),(0,b.u)(e.deployments.isCurrent,!0))),i=0;for(let j of a){let a,k=h.find(a=>a.app===j.id);if(!k)continue;let l=(0,r.O)(j.meta?.productionSource),m=g.get(k.id),n={source:k.source??null,branch:k.branch??null,sha:k.sha??null};if(!(a=m?(0,r.s)({...n,branchFrom:m.branchFrom??null,gitDirty:!0===m.gitDirty}):l?.id===k.id?{kind:l.kind,...l.ref?{ref:l.ref}:{},...l.sha?{sha:l.sha}:{}}:"git"===n.source||"cli"===n.source?(0,r.s)(n):null)){if(l?.at&&l.id!==k.id){let a={...l};delete a.at,await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:a})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}continue}a={...a,id:k.id};let o=!!l?.at&&f.getTime()-Date.parse(l.at)<r.u;if((0,r.v)(l,a)&&o)continue;let p={...a,at:f.toISOString()};await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:p})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}return i}var t=a.i(33135),u=a.i(669943),v=a.i(26972),w=a.i(811365),x=a.i(689963),y=a.i(191179),z=a.i(427221),A=a.i(530174);let B=/not enabled/i,C=(a,b,c={})=>({ok:!1,kind:a,error:b,...c}),D="Vercel Web Analytics answered in a format the console doesn't recognise.",E=v.z.object({data:v.z.object({pageviews:w.z.number().finite().nonnegative(),visitors:w.z.number().finite().nonnegative()})}),F=v.z.object({data:x.z.array(y.z.unknown())}),G=v.z.object({timestamp:z.z.string().transform((a,b)=>{let c=Date.parse(a);return Number.isNaN(c)?(b.addIssue({code:"custom",message:"bad timestamp"}),A.z.NEVER):c}),pageviews:w.z.number().finite().nonnegative().nullish().catch(null)});async function H(a,b,c,d){let e=d.since.toISOString(),f=d.until.toISOString(),g=d.fetch??fetch,h=new AbortController,i=setTimeout(()=>h.abort(new DOMException("window","TimeoutError")),d.timeoutMs??8e3),j=d.signal?AbortSignal.any([h.signal,d.signal]):h.signal,k=(0,t.X)(j);async function l(i,l){let m=new URLSearchParams({projectId:c,teamId:b,...l,since:e,until:f});try{let b=await Promise.race([g(`https://api.vercel.com/v1/query/web-analytics/visits/${i}?${m}`,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"},signal:j,cache:"no-store"}),k]),c=null,d=!1;if(401===b.status||403===b.status)c=C("auth",`Vercel rejected this credential (${b.status}).`,{status:b.status});else if(429===b.status){let a=Number(b.headers.get("Retry-After"));c=C("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60})}else if(400===b.status){let a=await Promise.race([b.text(),k]).catch(()=>"");B.test(a)?d=!0:c=C("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else b.ok||(c=C("transient",`Vercel Web Analytics returned an error (${b.status}).`,{status:b.status}));if(d)return{kind:"off"};if(c)return await b.body?.cancel().catch(()=>void 0),{kind:"fail",fail:c};try{return{kind:"body",body:await Promise.race([b.json(),k])}}catch(a){if(j.aborted)throw a;return{kind:"fail",fail:C("format",D)}}}catch{return{kind:"fail",fail:j.aborted?h.signal.aborted&&!d.signal?.aborted?C("transient","Vercel Web Analytics didn't answer in time."):C("transient","Reading Vercel Web Analytics was cancelled."):C("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[a,b]=await Promise.all([l("count",{}),l("aggregate",{by:"hour"})]);if("off"===a.kind||"off"===b.kind)return{ok:!0,enabled:!1};let c=[a,b].flatMap(a=>"fail"===a.kind?[a.fail]:[]),d=c.find(a=>"auth"===a.kind);if(d)return d;let e="body"===b.kind?F.safeParse(b.body):null,f="fail"===b.kind?b.fail:e?.success?null:C("format",D),g=c.find(a=>"transient"===a.kind);if(g)return g;if(f)return f;if(!e?.success)return C("format",D);let h="body"===a.kind?E.safeParse(a.body):null,i=e.data.data.flatMap(a=>{let b=G.safeParse(a);return b.success?[b.data]:[]});if(i.length>0&&i.every(a=>null==a.pageviews))return C("format",D);let j=new Map;for(let a of i){let b=36e5*Math.floor(a.timestamp/36e5);j.set(b,(j.get(b)??0)+(a.pageviews??0))}let k=[...j].sort((a,b)=>a[0]-b[0]).slice(-24).map(([a,b])=>({at:new Date(a),views:b}));if(h?.success)return{ok:!0,enabled:!0,total:h.data.data.pageviews,visitors:h.data.data.visitors,hourly:k};return{ok:!0,enabled:!0,total:k.reduce((a,b)=>a+b.views,0),visitors:null,hourly:k}}finally{clearTimeout(i),h.abort()}}var I=a.i(631107);async function J(a,b,c){let d=await (0,o.g)(null);if(!d.length)return;let e=new Date(36e5*Math.floor(a.getTime()/36e5)-828e5);await (0,t.P)(d,3,async d=>{if(Date.now()+8500>b)return;let f=await H(d.token,d.teamId,d.projectId,{since:e,until:a});if(!f.ok)return void c.push(`pageviews/${d.appName}: ${f.error}`);try{await (0,u.r)(d.appId,{pageviews:(0,I.a)(f,a)},a)}catch{c.push(`pageviews/${d.appName}: couldn't save the page views`)}})}var K=a.i(634418),L=a.i(930270),M=a.i(242605),N=a.i(683439);let O="security.afterDeploy",P=a=>"object"==typeof a&&null!==a&&!Array.isArray(a),Q=a=>"string"==typeof a&&a.length>0&&a.length<=100;function R(a){let b={pending:{},checked:{}};if(!P(a))return b;if(P(a.pending))for(let[c,d]of Object.entries(a.pending)){if(!(0,N.f)(c)||!P(d)||!Q(d.id)||"string"!=typeof d.at||Number.isNaN(Date.parse(d.at)))continue;let a="number"==typeof d.attempts&&Number.isInteger(d.attempts)&&d.attempts>=0?Math.min(d.attempts,3):0;b.pending[c]={id:d.id,at:d.at,attempts:a,...!0===d.next?{next:!0}:{},...!0===d.deps?{deps:!0}:{}}}if(P(a.checked))for(let[c,d]of Object.entries(a.checked))(0,N.f)(c)&&Q(d)&&(b.checked[c]=d);return b}function S(a,b){let c,d={...a.pending},e={...a.checked};for(let a of b){let b=d[a];b&&(delete d[a],delete e[a],e[a]=b.id)}return{pending:d,checked:(c=Object.entries(e)).length<=500?e:Object.fromEntries(c.slice(c.length-500))}}let T=(a,b)=>Object.entries(a.pending).filter(([,a])=>!a[b]).map(([a])=>a);var U=a.i(46126);let V="security.slot",W=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0&&a.length<=100).slice(0,1e3):[],X=(a,b)=>[...new Set([...a,...b])].slice(0,1e3),Y=a=>async()=>{let[c]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,a)).limit(1);return c?.value??null},Z=a=>async b=>{await (0,d.f)().insert(e.settings).values({key:a,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:new Date}})},$={read:Y(O),write:Z(O),readSlot:Y(V),writeSlot:Z(V),nextCheck:M.h,depsStep:(a,b)=>(0,L.O)(a,b)};async function _(a,b=$){var c;let d,e=R(await b.read()),f=(c=a.now,(d=Object.entries(e.pending).filter(([,a])=>c.getTime()-Date.parse(a.at)>216e5).map(([a])=>a)).length?S(e,d):e),g=!a.paused.has("hosting"),h=!a.paused.has("devops"),i=g?T(f,"next"):[],j=h?T(f,"deps"):[],k=a.early?null:function(a,b){let c=a&&"object"==typeof a&&!Array.isArray(a)?a:{};if(c.slot!==b)return{slot:b,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let d="number"==typeof c.runs&&Number.isInteger(c.runs)&&c.runs>=0?c.runs:0,e={};if(c.cut&&"object"==typeof c.cut&&!Array.isArray(c.cut))for(let[a,b]of Object.entries(c.cut).slice(0,1e3))a.length<=100&&"number"==typeof b&&Number.isInteger(b)&&b>0&&(e[a]=Math.min(b,2));return{slot:b,runs:d,next:W(c.next),repos:W(c.repos),cut:e,nextDone:!0===c.nextDone,depsDone:!0===c.depsDone}}(await b.readSlot(),new Date((0,K.G)("security",a.now)).toISOString()),l=!!k&&g&&!k.nextDone,m=!!k&&h&&!k.depsDone,n=g&&(i.length>0||l),o=h&&(j.length>0||m),p={hosting:g,devops:h,nextDone:new Set,nextStarted:new Set,depsDone:new Set},q=async()=>{let c=Math.min(Date.now()+U.y,!k&&o?a.deadline-2*L.d:a.deadline),d=l?[...k.next,...Object.entries(k.cut).filter(([,a])=>a>=2).map(([a])=>a)]:[],e=l?{first:i,skip:[...new Set(d)].filter(a=>!i.includes(a))}:{only:i},f=await b.nextCheck(c,e);for(let b of f.failed)a.errors.push(`security ${b}`);for(let a of f.done)p.nextDone.add(a);for(let a of i)f.listed.includes(a)||p.nextDone.add(a);for(let a of f.started)p.nextStarted.add(a);if(l){let a=new Set(f.done);for(let b of(k.next=X(k.next,f.done),f.started))a.has(b)||(k.cut[b]=Math.min((k.cut[b]??0)+1,2));k.nextDone=f.listed.every(b=>a.has(b)||(k.cut[b]??0)>=2)}},r=async()=>{let c=await b.depsStep(Math.min(Date.now()+L.o,a.deadline),m?{marked:j,onlyMarked:!1,skip:k.repos}:{marked:j,onlyMarked:!0});for(let b of(c.problem&&a.errors.push(`security deps: ${c.problem}`),c.settled))p.depsDone.add(b);m&&(k.repos=X(k.repos,c.done),k.depsDone=c.complete)};try{k&&k.runs++,k?(o&&await r(),n&&await q()):(n&&await q(),o&&await r())}finally{let a=null;if(k)try{await b.writeSlot(k)}catch(b){a=b}try{let a=function(a,b){let c={},d=[];for(let[e,f]of Object.entries(a.pending)){let a={...f};b.hosting&&!a.next&&(b.nextDone?.has(e)?a.next=!0:b.nextStarted?.has(e)&&(a.attempts=Math.min(a.attempts+1,3))),b.devops&&!a.deps&&b.depsDone?.has(e)&&(a.deps=!0),c[e]=a,((a.next||!b.hosting)&&(a.deps||!b.devops)||a.attempts>=3)&&d.push(e)}return S({pending:c,checked:a.checked},d)}(f,p);JSON.stringify(a)!==JSON.stringify(e)&&await b.write(a)}catch(b){a??=b}if(a)throw a}return{complete:!k||(k.nextDone||!g)&&(k.depsDone||!h)||k.runs>=20}}async function aa(a,b,c=$){if(!a.length)return!1;let{state:d,changed:e}=function(a,b,c){let d={pending:{...a.pending},checked:{...a.checked}},e=!1;for(let a of b)(0,N.f)(a.appId)&&Q(a.deploymentId)&&d.checked[a.appId]!==a.deploymentId&&d.pending[a.appId]?.id!==a.deploymentId&&(d.pending[a.appId]={id:a.deploymentId,at:c.toISOString(),attempts:0},e=!0);return{state:d,changed:e}}(R(await c.read()),a,b);return e&&await c.write(d),e}var ab=a.i(46396),ac=a.i(492665),ad=a.i(519051),ae=a.i(572134),af=a.i(646324),ag=a.i(443002),ah=a.i(900477),ai=a.i(639271),aj=a.i(514670),ak=a.i(354448),al=a.i(584897),am=a.i(697365);async function an(a){let b=[await (0,ag.I)(()=>ap(a)),await (0,ag.I)(()=>ar(a)),await (0,ag.I)(()=>as(a))].find(a=>null!==a);if(b)throw b}let ao=a=>a.toISOString();async function ap(a){for(let{acc:b,credential:c}of(await (0,ag.O)("turso"))){if((0,ag.s)(a),!c){a.errors.push(`turso/${b.label}: credential can't be read`);continue}let d=await (0,ag.e)(b.id,"turso_database");if(!d.length)continue;let e=await (0,ak.u)(c,(0,ag.s)(a));if(!e.ok){await (0,ag.w)("turso",b,d,e,a);continue}let f=new Set(d.map(a=>String(a.r.meta.org??""))),g=[];for(let h of e.data.filter(a=>f.has(a.slug))){let[e,f]=await Promise.all([(0,ak.X)(c,h.slug,(0,ag.s)(a)),(0,ak.d)(c,h.slug,(0,ag.s)(a))]),i=d.filter(a=>a.r.meta.org===h.slug);if(!e.ok){for(let b of i)await (0,ag.a)(b,{state:"unknown",label:"Unknown",patch:{}},a.now);a.errors.push(`turso/${b.label}: ${e.error}`);continue}let j=new Map(e.data.map(a=>[a.id,a]));for(let b of i)g.push(await aq(b,j.get(b.r.externalId),h,f,a))}let h=new Set(e.data.map(a=>a.slug));for(let b of d.filter(a=>!h.has(String(a.r.meta.org??""))))g.push(await (0,ag.a)(b,{state:"off",label:"Organization not visible to this token",patch:{}},a.now));await (0,ag.M)(g)}}async function aq(a,b,c,d,e){if(!b)return(0,ag.a)(a,{state:"off",label:"Not found",patch:{}},e.now);let f=(0,ai.i)({blockReads:b.blockReads,blockWrites:b.blockWrites,orgBlockedReads:c.blockedReads,orgBlockedWrites:c.blockedWrites}),g={org:c.slug,group:b.group,primaryRegion:b.primaryRegion,plan:c.plan,blockReads:b.blockReads,blockWrites:b.blockWrites};if(d.ok){let a=d.data.byDb.get(b.id);Object.assign(g,{rowsRead:a?.rowsRead??null,rowsWritten:a?.rowsWritten??null,storageBytes:a?.storageBytes??null,orgRowsRead:d.data.org.rowsRead,orgRowsWritten:d.data.org.rowsWritten,orgStorageBytes:d.data.org.storageBytes,orgDatabases:d.data.org.databases,usageAt:ao(e.now),usageError:null})}else"column"===(0,ah.t)(d,!1)?g.usageError=d.error:e.errors.push(`turso/${a.r.name} usage: ${d.error}`);return(0,ag.a)(a,{...f,patch:g},e.now)}async function ar(a){for(let{acc:b,credential:c}of(await (0,ag.O)("upstash"))){(0,ag.s)(a);let d=c?(0,al.L)(c):null;if(!d){a.errors.push(`upstash/${b.label}: credential can't be read`);continue}let e=await (0,ag.e)(b.id,"upstash_redis");if(!e.length)continue;let f=await (0,al.M)(d,(0,ag.s)(a));if(!f.ok){await (0,ag.w)("upstash",b,e,f,a);continue}let g=new Map(f.data.map(a=>[a.id,a])),{out:h,skipped:i}=await (0,ag.T)(a,e,(a,b)=>g.has(a.r.externalId)?(0,al.Z)(d,a.r.externalId,b):Promise.resolve(null)),j=[];for(let[b,c]of e.entries()){let d=g.get(c.r.externalId);if(!d){j.push(await (0,ag.a)(c,{state:"off",label:"Not found",patch:{}},a.now));continue}let e=(0,ai.t)(d.state),f={region:d.region,status:d.state,type:d.type},i=h[b];i?.ok?Object.assign(f,{...i.data,statsAt:ao(a.now),statsError:null}):i&&"column"===(0,ah.t)(i,!1)?f.statsError=i.error:i&&a.errors.push(`upstash/${c.r.name} stats: ${i.error}`),j.push(await (0,ag.a)(c,{...e,patch:f},a.now))}await (0,ag.M)(j),(0,ag.W)(i)}}async function as(a){let b={};for(let{acc:c,credential:d}of(await (0,ag.O)("cloudflare"))){if((0,ag.s)(a),!d)continue;let e=await au(c.id,d,a);if(!e.length){b[c.id]={d1:"error",analytics:null,at:ao(a.now),note:"No Cloudflare account found for this token"};continue}let f="ok",g=null;for(let b of e){let e=await (0,aj.L)(d,b,(0,ag.s)(a));if(!e.ok){"error"==(f="scope"===e.kind||"auth"===e.kind?"missing":"error")&&a.errors.push(`d1/${c.label}: ${e.error}`);continue}await av(c.id,b,e.data,a.now);let h=(await (0,ag.e)(c.id,"d1_database")).filter(a=>a.r.meta.accountId===b);if(!h.length)continue;let i=await (0,aj.t)(d,b,(0,aj.Y)(a.now),(0,ag.s)(a));g=i.ok?g??"ok":"scope"===i.kind?"missing":g??"error",i.ok||"scope"===i.kind||a.errors.push(`d1/${c.label} analytics: ${i.error}`);let{out:j,skipped:k}=await (0,ag.T)(a,h,(a,c)=>(0,aj.m)(d,b,a.r.externalId,c)),l=new Map((i.ok?i.data:[]).map(a=>[a.databaseId,a])),m=j.map(a=>a?.ok?a.data.sizeBytes??0:0),n={accountRowsRead:i.ok?i.data.reduce((a,b)=>a+b.rowsRead,0):null,accountRowsWritten:i.ok?i.data.reduce((a,b)=>a+b.rowsWritten,0):null,accountSizeBytes:j.every(a=>a?.ok)?m.reduce((a,b)=>a+b,0):null,accountDatabases:e.data.length},o=[];for(let[b,c]of h.entries()){let d=j[b];void 0!==d&&o.push(await at(c,d,l.get(c.r.externalId)??null,i.ok,i.ok?null:i.error,n,a))}await (0,ag.M)(o),(0,ag.W)(k)}b[c.id]={d1:f,analytics:g,at:ao(a.now),note:null}}await (0,d.f)().insert(e.settings).values({key:am.F,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:a.now}})}async function at(a,b,c,d,e,f,g){let h={accountId:a.r.meta.accountId??null,createdAt:a.r.meta.createdAt??null,accountDatabases:f.accountDatabases};if(b.ok?Object.assign(h,{sizeBytes:b.data.sizeBytes,numTables:b.data.numTables,readReplication:b.data.readReplication,detailsAt:ao(g.now),detailsError:null}):"scope"===b.kind?h.detailsError=b.error:g.errors.push(`d1/${a.r.name}: ${b.error}`),d?Object.assign(h,{rowsRead:c?.rowsRead??0,rowsWritten:c?.rowsWritten??0,readQueries:c?.readQueries??0,writeQueries:c?.writeQueries??0,accountRowsRead:f.accountRowsRead,accountRowsWritten:f.accountRowsWritten,usageDay:(0,aj.Y)(g.now),usageAt:ao(g.now),usageError:null}):h.usageError=e,null!==f.accountSizeBytes&&(h.accountSizeBytes=f.accountSizeBytes),!b.ok&&"transient"===b.kind)return(0,ag.a)(a,{state:"unknown",label:"Unknown",patch:{}},g.now);let i=(0,ai.c)(d?f:{accountRowsRead:null,accountRowsWritten:null});return(0,ag.a)(a,{...i,patch:h},g.now)}async function au(a,c,f){let g=new Set,h=await (0,aj.N)(c,(0,ag.s)(f));if(h.ok)for(let a of h.data)g.add(a.id);for(let c of(await (0,d.f)().select({meta:e.resources.meta}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"zone"),(0,b.M)(e.resources.goneAt))).limit(200)))"string"==typeof c.meta.accountId&&/^[0-9a-f]{32}$/i.test(c.meta.accountId)&&g.add(c.meta.accountId);return[...g].slice(0,5)}async function av(a,c,f,g){let h=(await (0,d.f)().select({id:e.resources.id,externalId:e.resources.externalId,meta:e.resources.meta,goneAt:e.resources.goneAt}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"d1_database")))).filter(a=>a.meta.accountId===c),i=new Map(h.map(a=>[a.externalId,a])),j=new Set(f.map(a=>a.uuid));await (0,d.f)().transaction(async d=>{for(let h of f){let f={accountId:c,createdAt:h.createdAt},j=i.get(h.uuid);j?await d.update(e.resources).set({name:h.name,meta:f,lastSeenAt:g,goneAt:null,updatedAt:g}).where((0,b.u)(e.resources.id,j.id)):await d.insert(e.resources).values({accountId:a,kind:"d1_database",externalId:h.uuid,name:h.name,meta:f,monitored:!0,lastSeenAt:g}).onConflictDoNothing({target:[e.resources.accountId,e.resources.kind,e.resources.externalId]})}let k=h.filter(a=>!j.has(a.externalId)&&!a.goneAt).map(a=>a.id);k.length&&await d.update(e.resources).set({goneAt:g,updatedAt:g}).where((0,b.y)(e.resources.id,k))})}var aw=a.i(666680),ax=a.i(263251);async function ay(a=new Date){let b=(0,aw.randomUUID)(),e=new Date(a.getTime()+K.d).toISOString(),f=await (0,d.f)().execute(c.B`
|
|
1
|
+
module.exports=[270432,a=>{"use strict";var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(601219);let g="collector.cpuDay";async function h(a,c=new Date){try{var i;let h,j,k,l,m,n,[o]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,g)).limit(1),{next:p,crossed:q}=(i=o?.value,h=c.toISOString().slice(0,10),k=(j=i&&"object"==typeof i?i:{}).day===h&&Number.isFinite(j.ms)&&Number.isFinite(j.runs)?{day:h,ms:j.ms,runs:j.runs,warned:!0===j.warned}:{day:h,ms:0,runs:0,warned:!1},l=Number.isFinite(a)&&a>0?Math.round(a):0,m={...k,ms:k.ms+l,runs:k.runs+1},(n=!k.warned&&m.ms>24e4)&&(m.warned=!0),{next:m,crossed:n});await (0,d.f)().insert(e.settings).values({key:g,value:p}).onConflictDoUpdate({target:e.settings.key,set:{value:p,updatedAt:c}}),q&&await (0,f.f)([{type:"system",kind:"warn",message:"Collector CPU high today",detail:`${Math.round(p.ms/1e3)} s in ${p.runs} runs, over 4 min (Vercel Hobby allows about 8 min a day). Check the cron-job.org schedule.`,resourceId:null,at:c}])}catch(a){console.warn("collector cpu count failed:",a instanceof Error?a.name:"error")}}var i=a.i(436357),j=a.i(109068),k=a.i(678831),l=a.i(45617),m=a.i(455317),n=a.i(383487),o=a.i(714530),p=a.i(358179),q=a.i(292321),r=a.i(49146),s=a.i(396667),t=a.i(751263);async function u(a,f,g=new Map){if(!a.length)return 0;let h=await (0,d.f)().select({app:e.deployments.resourceId,id:e.deployments.externalId,source:e.deployments.source,branch:e.deployments.branch,sha:e.deployments.commitSha}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,a.map(a=>a.id)),(0,b.u)(e.deployments.isCurrent,!0))),i=0;for(let j of a){let a,k=h.find(a=>a.app===j.id);if(!k)continue;let l=(0,t.O)(j.meta?.productionSource),m=g.get(k.id),n={source:k.source??null,branch:k.branch??null,sha:k.sha??null};if(!(a=m?(0,t.s)({...n,branchFrom:m.branchFrom??null,gitDirty:!0===m.gitDirty}):l?.id===k.id?{kind:l.kind,...l.ref?{ref:l.ref}:{},...l.sha?{sha:l.sha}:{}}:"git"===n.source||"cli"===n.source?(0,t.s)(n):null)){if(l?.at&&l.id!==k.id){let a={...l};delete a.at,await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:a})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}continue}a={...a,id:k.id};let o=!!l?.at&&f.getTime()-Date.parse(l.at)<t.u;if((0,t.v)(l,a)&&o)continue;let p={...a,at:f.toISOString()};await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({productionSource:p})}::jsonb`}).where((0,b.u)(e.resources.id,j.id)),i++}return i}var v=a.i(33135),w=a.i(669943),x=a.i(26972),y=a.i(811365),z=a.i(689963),A=a.i(191179),B=a.i(427221),C=a.i(530174);let D=/not enabled/i,E=(a,b,c={})=>({ok:!1,kind:a,error:b,...c}),F="Vercel Web Analytics answered in a format the console doesn't recognise.",G=x.z.object({data:x.z.object({pageviews:y.z.number().finite().nonnegative(),visitors:y.z.number().finite().nonnegative()})}),H=x.z.object({data:z.z.array(A.z.unknown())}),I=x.z.object({timestamp:B.z.string().transform((a,b)=>{let c=Date.parse(a);return Number.isNaN(c)?(b.addIssue({code:"custom",message:"bad timestamp"}),C.z.NEVER):c}),pageviews:y.z.number().finite().nonnegative().nullish().catch(null)});async function J(a,b,c,d){let e=d.since.toISOString(),f=d.until.toISOString(),g=d.fetch??fetch,h=new AbortController,i=setTimeout(()=>h.abort(new DOMException("window","TimeoutError")),d.timeoutMs??8e3),j=d.signal?AbortSignal.any([h.signal,d.signal]):h.signal,k=(0,v.X)(j);async function l(i,l){let m=new URLSearchParams({projectId:c,teamId:b,...l,since:e,until:f});try{let b=await Promise.race([g(`https://api.vercel.com/v1/query/web-analytics/visits/${i}?${m}`,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"},signal:j,cache:"no-store"}),k]),c=null,d=!1;if(401===b.status||403===b.status)c=E("auth",`Vercel rejected this credential (${b.status}).`,{status:b.status});else if(429===b.status){let a=Number(b.headers.get("Retry-After"));c=E("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60})}else if(400===b.status){let a=await Promise.race([b.text(),k]).catch(()=>"");D.test(a)?d=!0:c=E("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else b.ok||(c=E("transient",`Vercel Web Analytics returned an error (${b.status}).`,{status:b.status}));if(d)return{kind:"off"};if(c)return await b.body?.cancel().catch(()=>void 0),{kind:"fail",fail:c};try{return{kind:"body",body:await Promise.race([b.json(),k])}}catch(a){if(j.aborted)throw a;return{kind:"fail",fail:E("format",F)}}}catch{return{kind:"fail",fail:j.aborted?h.signal.aborted&&!d.signal?.aborted?E("transient","Vercel Web Analytics didn't answer in time."):E("transient","Reading Vercel Web Analytics was cancelled."):E("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[a,b]=await Promise.all([l("count",{}),l("aggregate",{by:"hour"})]);if("off"===a.kind||"off"===b.kind)return{ok:!0,enabled:!1};let c=[a,b].flatMap(a=>"fail"===a.kind?[a.fail]:[]),d=c.find(a=>"auth"===a.kind);if(d)return d;let e="body"===b.kind?H.safeParse(b.body):null,f="fail"===b.kind?b.fail:e?.success?null:E("format",F),g=c.find(a=>"transient"===a.kind);if(g)return g;if(f)return f;if(!e?.success)return E("format",F);let h="body"===a.kind?G.safeParse(a.body):null,i=e.data.data.flatMap(a=>{let b=I.safeParse(a);return b.success?[b.data]:[]});if(i.length>0&&i.every(a=>null==a.pageviews))return E("format",F);let j=new Map;for(let a of i){let b=36e5*Math.floor(a.timestamp/36e5);j.set(b,(j.get(b)??0)+(a.pageviews??0))}let k=[...j].sort((a,b)=>a[0]-b[0]).slice(-24).map(([a,b])=>({at:new Date(a),views:b}));if(h?.success)return{ok:!0,enabled:!0,total:h.data.data.pageviews,visitors:h.data.data.visitors,hourly:k};return{ok:!0,enabled:!0,total:k.reduce((a,b)=>a+b.views,0),visitors:null,hourly:k}}finally{clearTimeout(i),h.abort()}}var K=a.i(631107);async function L(a,b,c){let d=await (0,q.g)(null);if(!d.length)return;let e=new Date(36e5*Math.floor(a.getTime()/36e5)-828e5);await (0,v.P)(d,3,async d=>{if(Date.now()+8500>b)return;let f=await J(d.token,d.teamId,d.projectId,{since:e,until:a});if(!f.ok)return void c.push(`pageviews/${d.appName}: ${f.error}`);try{await (0,w.r)(d.appId,{pageviews:(0,K.a)(f,a)},a)}catch{c.push(`pageviews/${d.appName}: couldn't save the page views`)}})}var M=a.i(634418),N=a.i(930270),O=a.i(242605),P=a.i(683439);let Q="security.afterDeploy",R=a=>"object"==typeof a&&null!==a&&!Array.isArray(a),S=a=>"string"==typeof a&&a.length>0&&a.length<=100;function T(a){let b={pending:{},checked:{}};if(!R(a))return b;if(R(a.pending))for(let[c,d]of Object.entries(a.pending)){if(!(0,P.f)(c)||!R(d)||!S(d.id)||"string"!=typeof d.at||Number.isNaN(Date.parse(d.at)))continue;let a="number"==typeof d.attempts&&Number.isInteger(d.attempts)&&d.attempts>=0?Math.min(d.attempts,3):0;b.pending[c]={id:d.id,at:d.at,attempts:a,...!0===d.next?{next:!0}:{},...!0===d.deps?{deps:!0}:{}}}if(R(a.checked))for(let[c,d]of Object.entries(a.checked))(0,P.f)(c)&&S(d)&&(b.checked[c]=d);return b}function U(a,b){let c,d={...a.pending},e={...a.checked};for(let a of b){let b=d[a];b&&(delete d[a],delete e[a],e[a]=b.id)}return{pending:d,checked:(c=Object.entries(e)).length<=500?e:Object.fromEntries(c.slice(c.length-500))}}let V=(a,b)=>Object.entries(a.pending).filter(([,a])=>!a[b]).map(([a])=>a);var W=a.i(46126);let X="security.slot",Y=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0&&a.length<=100).slice(0,1e3):[],Z=(a,b)=>[...new Set([...a,...b])].slice(0,1e3),$=a=>async()=>{let[c]=await (0,d.f)().select({value:e.settings.value}).from(e.settings).where((0,b.u)(e.settings.key,a)).limit(1);return c?.value??null},_=a=>async b=>{await (0,d.f)().insert(e.settings).values({key:a,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:new Date}})},aa={read:$(Q),write:_(Q),readSlot:$(X),writeSlot:_(X),nextCheck:O.h,depsStep:(a,b)=>(0,N.O)(a,b)};async function ab(a,b=aa){var c;let d,e=T(await b.read()),f=(c=a.now,(d=Object.entries(e.pending).filter(([,a])=>c.getTime()-Date.parse(a.at)>216e5).map(([a])=>a)).length?U(e,d):e),g=!a.paused.has("hosting"),h=!a.paused.has("devops"),i=g?V(f,"next"):[],j=h?V(f,"deps"):[],k=a.early?null:function(a,b){let c=a&&"object"==typeof a&&!Array.isArray(a)?a:{};if(c.slot!==b)return{slot:b,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let d="number"==typeof c.runs&&Number.isInteger(c.runs)&&c.runs>=0?c.runs:0,e={};if(c.cut&&"object"==typeof c.cut&&!Array.isArray(c.cut))for(let[a,b]of Object.entries(c.cut).slice(0,1e3))a.length<=100&&"number"==typeof b&&Number.isInteger(b)&&b>0&&(e[a]=Math.min(b,2));return{slot:b,runs:d,next:Y(c.next),repos:Y(c.repos),cut:e,nextDone:!0===c.nextDone,depsDone:!0===c.depsDone}}(await b.readSlot(),new Date((0,M.G)("security",a.now)).toISOString()),l=!!k&&g&&!k.nextDone,m=!!k&&h&&!k.depsDone,n=g&&(i.length>0||l),o=h&&(j.length>0||m),p={hosting:g,devops:h,nextDone:new Set,nextStarted:new Set,depsDone:new Set},q=async()=>{let c=Math.min(Date.now()+W.y,!k&&o?a.deadline-2*N.d:a.deadline),d=l?[...k.next,...Object.entries(k.cut).filter(([,a])=>a>=2).map(([a])=>a)]:[],e=l?{first:i,skip:[...new Set(d)].filter(a=>!i.includes(a))}:{only:i},f=await b.nextCheck(c,e);for(let b of f.failed)a.errors.push(`security ${b}`);for(let a of f.done)p.nextDone.add(a);for(let a of i)f.listed.includes(a)||p.nextDone.add(a);for(let a of f.started)p.nextStarted.add(a);if(l){let a=new Set(f.done);for(let b of(k.next=Z(k.next,f.done),f.started))a.has(b)||(k.cut[b]=Math.min((k.cut[b]??0)+1,2));k.nextDone=f.listed.every(b=>a.has(b)||(k.cut[b]??0)>=2)}},r=async()=>{let c=await b.depsStep(Math.min(Date.now()+N.o,a.deadline),m?{marked:j,onlyMarked:!1,skip:k.repos}:{marked:j,onlyMarked:!0});for(let b of(c.problem&&a.errors.push(`security deps: ${c.problem}`),c.settled))p.depsDone.add(b);m&&(k.repos=Z(k.repos,c.done),k.depsDone=c.complete)};try{k&&k.runs++,k?(o&&await r(),n&&await q()):(n&&await q(),o&&await r())}finally{let a=null;if(k)try{await b.writeSlot(k)}catch(b){a=b}try{let a=function(a,b){let c={},d=[];for(let[e,f]of Object.entries(a.pending)){let a={...f};b.hosting&&!a.next&&(b.nextDone?.has(e)?a.next=!0:b.nextStarted?.has(e)&&(a.attempts=Math.min(a.attempts+1,3))),b.devops&&!a.deps&&b.depsDone?.has(e)&&(a.deps=!0),c[e]=a,((a.next||!b.hosting)&&(a.deps||!b.devops)||a.attempts>=3)&&d.push(e)}return U({pending:c,checked:a.checked},d)}(f,p);JSON.stringify(a)!==JSON.stringify(e)&&await b.write(a)}catch(b){a??=b}if(a)throw a}return{complete:!k||(k.nextDone||!g)&&(k.depsDone||!h)||k.runs>=20}}async function ac(a,b,c=aa){if(!a.length)return!1;let{state:d,changed:e}=function(a,b,c){let d={pending:{...a.pending},checked:{...a.checked}},e=!1;for(let a of b)(0,P.f)(a.appId)&&S(a.deploymentId)&&d.checked[a.appId]!==a.deploymentId&&d.pending[a.appId]?.id!==a.deploymentId&&(d.pending[a.appId]={id:a.deploymentId,at:c.toISOString(),attempts:0},e=!0);return{state:d,changed:e}}(T(await c.read()),a,b);return e&&await c.write(d),e}var ad=a.i(46396),ae=a.i(492665),af=a.i(519051),ag=a.i(572134),ah=a.i(646324),ai=a.i(443002),aj=a.i(900477),ak=a.i(639271),al=a.i(514670),am=a.i(354448),an=a.i(584897),ao=a.i(697365);async function ap(a){let b=[await (0,ai.I)(()=>ar(a)),await (0,ai.I)(()=>at(a)),await (0,ai.I)(()=>au(a))].find(a=>null!==a);if(b)throw b}let aq=a=>a.toISOString();async function ar(a){for(let{acc:b,credential:c}of(await (0,ai.O)("turso"))){if((0,ai.s)(a),!c){a.errors.push(`turso/${b.label}: credential can't be read`);continue}let d=await (0,ai.e)(b.id,"turso_database");if(!d.length)continue;let e=await (0,am.u)(c,(0,ai.s)(a));if(!e.ok){await (0,ai.w)("turso",b,d,e,a);continue}let f=new Set(d.map(a=>String(a.r.meta.org??""))),g=[];for(let h of e.data.filter(a=>f.has(a.slug))){let[e,f]=await Promise.all([(0,am.X)(c,h.slug,(0,ai.s)(a)),(0,am.d)(c,h.slug,(0,ai.s)(a))]),i=d.filter(a=>a.r.meta.org===h.slug);if(!e.ok){for(let b of i)await (0,ai.a)(b,{state:"unknown",label:"Unknown",patch:{}},a.now);a.errors.push(`turso/${b.label}: ${e.error}`);continue}let j=new Map(e.data.map(a=>[a.id,a]));for(let b of i)g.push(await as(b,j.get(b.r.externalId),h,f,a))}let h=new Set(e.data.map(a=>a.slug));for(let b of d.filter(a=>!h.has(String(a.r.meta.org??""))))g.push(await (0,ai.a)(b,{state:"off",label:"Organization not visible to this token",patch:{}},a.now));await (0,ai.M)(g)}}async function as(a,b,c,d,e){if(!b)return(0,ai.a)(a,{state:"off",label:"Not found",patch:{}},e.now);let f=(0,ak.i)({blockReads:b.blockReads,blockWrites:b.blockWrites,orgBlockedReads:c.blockedReads,orgBlockedWrites:c.blockedWrites}),g={org:c.slug,group:b.group,primaryRegion:b.primaryRegion,plan:c.plan,blockReads:b.blockReads,blockWrites:b.blockWrites};if(d.ok){let a=d.data.byDb.get(b.id);Object.assign(g,{rowsRead:a?.rowsRead??null,rowsWritten:a?.rowsWritten??null,storageBytes:a?.storageBytes??null,orgRowsRead:d.data.org.rowsRead,orgRowsWritten:d.data.org.rowsWritten,orgStorageBytes:d.data.org.storageBytes,orgDatabases:d.data.org.databases,usageAt:aq(e.now),usageError:null})}else"column"===(0,aj.t)(d,!1)?g.usageError=d.error:e.errors.push(`turso/${a.r.name} usage: ${d.error}`);return(0,ai.a)(a,{...f,patch:g},e.now)}async function at(a){for(let{acc:b,credential:c}of(await (0,ai.O)("upstash"))){(0,ai.s)(a);let d=c?(0,an.L)(c):null;if(!d){a.errors.push(`upstash/${b.label}: credential can't be read`);continue}let e=await (0,ai.e)(b.id,"upstash_redis");if(!e.length)continue;let f=await (0,an.M)(d,(0,ai.s)(a));if(!f.ok){await (0,ai.w)("upstash",b,e,f,a);continue}let g=new Map(f.data.map(a=>[a.id,a])),{out:h,skipped:i}=await (0,ai.T)(a,e,(a,b)=>g.has(a.r.externalId)?(0,an.Z)(d,a.r.externalId,b):Promise.resolve(null)),j=[];for(let[b,c]of e.entries()){let d=g.get(c.r.externalId);if(!d){j.push(await (0,ai.a)(c,{state:"off",label:"Not found",patch:{}},a.now));continue}let e=(0,ak.t)(d.state),f={region:d.region,status:d.state,type:d.type},i=h[b];i?.ok?Object.assign(f,{...i.data,statsAt:aq(a.now),statsError:null}):i&&"column"===(0,aj.t)(i,!1)?f.statsError=i.error:i&&a.errors.push(`upstash/${c.r.name} stats: ${i.error}`),j.push(await (0,ai.a)(c,{...e,patch:f},a.now))}await (0,ai.M)(j),(0,ai.W)(i)}}async function au(a){let b={};for(let{acc:c,credential:d}of(await (0,ai.O)("cloudflare"))){if((0,ai.s)(a),!d)continue;let e=await aw(c.id,d,a);if(!e.length){b[c.id]={d1:"error",analytics:null,at:aq(a.now),note:"No Cloudflare account found for this token"};continue}let f="ok",g=null;for(let b of e){let e=await (0,al.L)(d,b,(0,ai.s)(a));if(!e.ok){"error"==(f="scope"===e.kind||"auth"===e.kind?"missing":"error")&&a.errors.push(`d1/${c.label}: ${e.error}`);continue}await ax(c.id,b,e.data,a.now);let h=(await (0,ai.e)(c.id,"d1_database")).filter(a=>a.r.meta.accountId===b);if(!h.length)continue;let i=await (0,al.t)(d,b,(0,al.Y)(a.now),(0,ai.s)(a));g=i.ok?g??"ok":"scope"===i.kind?"missing":g??"error",i.ok||"scope"===i.kind||a.errors.push(`d1/${c.label} analytics: ${i.error}`);let{out:j,skipped:k}=await (0,ai.T)(a,h,(a,c)=>(0,al.m)(d,b,a.r.externalId,c)),l=new Map((i.ok?i.data:[]).map(a=>[a.databaseId,a])),m=j.map(a=>a?.ok?a.data.sizeBytes??0:0),n={accountRowsRead:i.ok?i.data.reduce((a,b)=>a+b.rowsRead,0):null,accountRowsWritten:i.ok?i.data.reduce((a,b)=>a+b.rowsWritten,0):null,accountSizeBytes:j.every(a=>a?.ok)?m.reduce((a,b)=>a+b,0):null,accountDatabases:e.data.length},o=[];for(let[b,c]of h.entries()){let d=j[b];void 0!==d&&o.push(await av(c,d,l.get(c.r.externalId)??null,i.ok,i.ok?null:i.error,n,a))}await (0,ai.M)(o),(0,ai.W)(k)}b[c.id]={d1:f,analytics:g,at:aq(a.now),note:null}}await (0,d.f)().insert(e.settings).values({key:ao.F,value:b}).onConflictDoUpdate({target:e.settings.key,set:{value:b,updatedAt:a.now}})}async function av(a,b,c,d,e,f,g){let h={accountId:a.r.meta.accountId??null,createdAt:a.r.meta.createdAt??null,accountDatabases:f.accountDatabases};if(b.ok?Object.assign(h,{sizeBytes:b.data.sizeBytes,numTables:b.data.numTables,readReplication:b.data.readReplication,detailsAt:aq(g.now),detailsError:null}):"scope"===b.kind?h.detailsError=b.error:g.errors.push(`d1/${a.r.name}: ${b.error}`),d?Object.assign(h,{rowsRead:c?.rowsRead??0,rowsWritten:c?.rowsWritten??0,readQueries:c?.readQueries??0,writeQueries:c?.writeQueries??0,accountRowsRead:f.accountRowsRead,accountRowsWritten:f.accountRowsWritten,usageDay:(0,al.Y)(g.now),usageAt:aq(g.now),usageError:null}):h.usageError=e,null!==f.accountSizeBytes&&(h.accountSizeBytes=f.accountSizeBytes),!b.ok&&"transient"===b.kind)return(0,ai.a)(a,{state:"unknown",label:"Unknown",patch:{}},g.now);let i=(0,ak.c)(d?f:{accountRowsRead:null,accountRowsWritten:null});return(0,ai.a)(a,{...i,patch:h},g.now)}async function aw(a,c,f){let g=new Set,h=await (0,al.N)(c,(0,ai.s)(f));if(h.ok)for(let a of h.data)g.add(a.id);for(let c of(await (0,d.f)().select({meta:e.resources.meta}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"zone"),(0,b.M)(e.resources.goneAt))).limit(200)))"string"==typeof c.meta.accountId&&/^[0-9a-f]{32}$/i.test(c.meta.accountId)&&g.add(c.meta.accountId);return[...g].slice(0,5)}async function ax(a,c,f,g){let h=(await (0,d.f)().select({id:e.resources.id,externalId:e.resources.externalId,meta:e.resources.meta,goneAt:e.resources.goneAt}).from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,a),(0,b.u)(e.resources.kind,"d1_database")))).filter(a=>a.meta.accountId===c),i=new Map(h.map(a=>[a.externalId,a])),j=new Set(f.map(a=>a.uuid));await (0,d.f)().transaction(async d=>{for(let h of f){let f={accountId:c,createdAt:h.createdAt},j=i.get(h.uuid);j?await d.update(e.resources).set({name:h.name,meta:f,lastSeenAt:g,goneAt:null,updatedAt:g}).where((0,b.u)(e.resources.id,j.id)):await d.insert(e.resources).values({accountId:a,kind:"d1_database",externalId:h.uuid,name:h.name,meta:f,monitored:!0,lastSeenAt:g}).onConflictDoNothing({target:[e.resources.accountId,e.resources.kind,e.resources.externalId]})}let k=h.filter(a=>!j.has(a.externalId)&&!a.goneAt).map(a=>a.id);k.length&&await d.update(e.resources).set({goneAt:g,updatedAt:g}).where((0,b.y)(e.resources.id,k))})}var ay=a.i(666680),az=a.i(263251);async function aA(a=new Date){let b=(0,ay.randomUUID)(),e=new Date(a.getTime()+M.d).toISOString(),f=await (0,d.f)().execute(c.B`
|
|
2
2
|
insert into ops.settings (key, value) values ('collector.lease', ${JSON.stringify({until:e,owner:b})}::jsonb)
|
|
3
3
|
on conflict (key) do update set value = excluded.value, updated_at = now()
|
|
4
4
|
where (ops.settings.value->>'until')::timestamptz < ${a.toISOString()}::timestamptz
|
|
5
|
-
returning key`);return(0,
|
|
5
|
+
returning key`);return(0,az.f)(f).length>0?b:null}async function aB(a){await (0,d.f)().execute(c.B`
|
|
6
6
|
update ops.settings set value = jsonb_build_object('until', '1970-01-01T00:00:00Z'), updated_at = now()
|
|
7
|
-
where key = 'collector.lease' and value->>'owner' = ${a}`)}var aA=a.i(418864),aB=a.i(50908),aC=a.i(288950),aD=a.i(903816),aE=a.i(445710),aF=a.i(306556),aG=a.i(648338);a.i(569057);let aH="collector.lastRun",aI="vercel.backoffUntil",aJ="vercel.currentMiss",aK={supabase:ag.P,supabaseUsage:ag.y,neon:ag.f,firebase:ag.g,firebaseUsage:ag.x,extraDbs:an};async function aL(){let a=await (0,d.f)().select({key:e.settings.key,value:e.settings.value}).from(e.settings).where((0,b.y)(e.settings.key,[aH,O])).limit(2);return{lastRun:a.find(a=>a.key===aH)?.value??{},afterDeploy:a.find(a=>a.key===O)?.value??null}}async function aM(a){await (0,d.f)().insert(e.settings).values({key:aH,value:a}).onConflictDoUpdate({target:e.settings.key,set:{value:a,updatedAt:new Date}})}let aN=a=>(0,m.f)(a);async function aO(a,f,g,h,i=[]){let j=(await (0,d.f)().select({m:e.monitors,app:e.resources}).from(e.monitors).innerJoin(e.resources,(0,b.u)(e.resources.id,e.monitors.resourceId)).where((0,b.b)((0,b.u)(e.monitors.kind,"http"),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy(c.B`${e.monitors.lastCheckedAt} asc nulls first`,e.monitors.id)).filter(({m:b})=>(0,K.B)(b.lastCheckedAt,a,h));if(!j.length)return 0;let k=await (0,t.P)(j,6,({m:a})=>{let b=(0,K.P)(a.timeoutMs,f,Date.now());return null===b?Promise.resolve(null):(0,t.b)(a.url,{expectedStatus:a.expectedStatus,timeoutMs:b,body:(0,aD.C)(a)})}),l=j.flatMap((a,b)=>k[b]?[{...a,r:k[b]}]:[]);if(l.length<j.length&&g.push(`checks: ${j.length-l.length} monitors skipped, time budget used`),!l.length)return 0;let m=[];for(let b of l)await (0,aE.j)(b.m,b.r,a)&&m.push(b);return m.length?(await (0,d.f)().insert(e.checks).values(m.map(({m:b,app:c,r:d})=>({monitorId:b.id,at:a,ok:d.ok,statusCode:d.statusCode,latencyMs:d.latencyMs,error:d.error,inMaintenance:null!==(0,ad.x)(i,{monitorId:b.id,appId:c.id},a)}))),await aN(m.map(({m:b,app:c,r:d})=>(0,aF.F)({resourceId:c.id,path:(0,af.K)(b.url),prev:b.state,next:(0,aF.G)(b.failStreak,d).state,code:d.statusCode,error:d.error,at:a}))),m.length):0}let aP=["checks","heartbeats"];async function aQ(a,b,c=l.w){if(!aP.some(b=>a.includes(b)))return[];try{return await c()}catch(a){return b.push(`maintenance: ${(0,aG.f)(a)}`),[]}}async function aR(a){let[c]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aI)).limit(1),f=c?.value?.until;return!!f&&a.getTime()<new Date(f).getTime()}async function aS(a,b){if("transient"!==a.kind||!a.retryAfterS)return!1;let c={until:new Date(b.getTime()+1e3*Math.min(a.retryAfterS,3600)).toISOString()};return await (0,d.f)().insert(e.settings).values({key:aI,value:c}).onConflictDoUpdate({target:e.settings.key,set:{value:c,updatedAt:b}}),!0}let aT=a=>c.B`coalesce(${e.deployments.externalId} = ${a}::text, false)`;async function aU(a,f,g,h,i=aa){let j=[];try{for(let i of a){let a=f.filter(a=>a.resourceId===i.id),{currentId:k,previousId:l}=(0,af.a)(a.map(a=>({id:a.id,createdAt:a.createdAt??new Date(0)})),(i.externalId?g.get(i.externalId):null)??null),m=await (0,d.f)().update(e.deployments).set({isCurrent:aT(k),isPreviousProduction:aT(l),updatedAt:h.now}).where((0,b.b)((0,b.u)(e.deployments.resourceId,i.id),(0,b.F)(c.B`${e.deployments.isCurrent} is distinct from ${aT(k)}`,c.B`${e.deployments.isPreviousProduction} is distinct from ${aT(l)}`))).returning({id:e.deployments.externalId}),n=function(a){var b,c;let d=a.currentId;return d&&a.state.checked[a.appId]!==d&&a.state.pending[a.appId]?.id!==d&&(b=a.changedIds,((c=d)&&b.includes(c)?c:null)||a.createdAt&&a.now.getTime()-a.createdAt.getTime()<=216e5)?d:null}({appId:i.id,currentId:k,changedIds:m.map(a=>a.id),createdAt:a.find(a=>a.id===k)?.createdAt??null,state:h.afterDeploy,now:h.now});n&&j.push({appId:i.id,deploymentId:n})}}finally{if(j.length)try{await i(j,h.now)}catch(a){h.errors.push(`vercel/${h.label}: after-deploy security check not scheduled: ${(0,aG.f)(a)}`)}}}let aV=a=>new Map(a.map(a=>[a.id,{...a.branchFrom?{branchFrom:a.branchFrom}:{},...a.gitDirty?{gitDirty:!0}:{}}]));async function aW(a,b,c,d,e=new Map,f=s){try{await f(a,b,e)}catch(a){c.push(`vercel/${d}: production source not saved: ${(0,aG.f)(a)}`)}}async function aX(a,c,f,h){if(await aR(a))return;let i=(0,ac.f)().OPS_ENCRYPTION_KEY;for(let j of(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,"vercel"),(0,b.u)(e.accounts.status,"ok"))))){let k=(0,n.V)({ciphertext:j.credentialCiphertext,iv:j.credentialIv},i);if((0,g.A)(k)||!k){f.push(`vercel/${j.label}: credential can't be read`);continue}let l=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,j.id),(0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!l.length)continue;let m=new Map(l.map(a=>[a.externalId,a])),o=await (0,ae.X)(k);if(!o.ok){let c=(0,g.E)({ok:!1,kind:o.kind,error:o.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,j.id)),f.push(`vercel/${j.label}: ${o.error}`),await aS(o,a))return;continue}let p=new Set(l.map(a=>String(a.meta.teamId)));for(let g of o.data.filter(a=>p.has(a.id))){if(Date.now()>c)return void f.push("vercel: skipped remaining teams, time budget used");let[i,j]=await Promise.all([(0,ae.W)(k,g),(0,ae.K)(k,g,{since:a.getTime()-6048e5,limit:100})]);if(!i.ok||!j.ok){let b=i.ok?j:i;if(f.push(`vercel/${g.name}: ${b.error}`),await aS(b,a))return;continue}let n=new Map(i.data.map(a=>[a.id,a.currentDeploymentId])),o=j.data.filter(a=>m.has(a.projectId)),p=aV(o),q=new Map((o.length?await (0,d.f)().select({externalId:e.deployments.externalId,state:e.deployments.state,target:e.deployments.target,branch:e.deployments.branch,commitSha:e.deployments.commitSha,commitMessage:e.deployments.commitMessage,source:e.deployments.source,url:e.deployments.url,buildingAt:e.deployments.buildingAt,readyAt:e.deployments.readyAt}).from(e.deployments).where((0,b.y)(e.deployments.externalId,o.map(a=>a.id))):[]).map(a=>[a.externalId,a])),r=[];for(let b of o){let c=m.get(b.projectId),f=q.get(b.id),g={state:b.state,target:b.target,branch:b.branch,commitSha:b.sha,commitMessage:b.message,source:b.source,url:b.url,buildingAt:b.buildingAt,readyAt:b.readyAt};if((0,af.E)(f,g)){let f={resourceId:c.id,externalId:b.id,...g,createdAtProvider:b.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(f).onConflictDoUpdate({target:e.deployments.externalId,set:f})}r.push((0,aF.L)(f?.state,b,c.id,a))}await aN(r);let s=l.filter(a=>String(a.meta.teamId)===g.id),t=await (0,d.f)().select({resourceId:e.deployments.resourceId,id:e.deployments.externalId,createdAt:e.deployments.createdAtProvider}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,s.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"ready"))),[u]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aJ)).limit(1),v=[],w=()=>v.length?(0,d.f)().insert(e.settings).values({key:aJ,value:(0,af.Y)(u?.value,v,a)}).onConflictDoUpdate({target:e.settings.key,set:{value:(0,af.Y)(u?.value,v,a),updatedAt:a}}):Promise.resolve();for(let b of(0,af.Q)(s,n,t,(0,af.S)(u?.value,a))){if(Date.now()>c)break;let h=await (0,ae.S)(k,g,b.deploymentId);if(!h.ok){if(f.push(`vercel/${g.name}: current deployment: ${h.error}`),await aS(h,a))return void await w();v.push(b.deploymentId);continue}let i=h.data;for(let[a,b]of aV([i]))p.set(a,b);let j={resourceId:b.appId,externalId:i.id,state:i.state,target:i.target,branch:i.branch,commitSha:i.sha,commitMessage:i.message,source:i.source,url:i.url,buildingAt:i.buildingAt,readyAt:i.readyAt,createdAtProvider:i.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(j).onConflictDoUpdate({target:e.deployments.externalId,set:j}),"ready"===i.state&&"production"===i.target?t.push({resourceId:b.appId,id:i.id,createdAt:i.createdAt}):v.push(b.deploymentId)}await w(),await aU(s,t,n,{now:a,afterDeploy:h,errors:f,label:g.name}),await aW(s,a,f,g.name,p)}}}async function aY(a){let g=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!g.length)return;let h=await (0,d.f)().select().from(e.monitors).where((0,b.b)((0,b.y)(e.monitors.resourceId,g.map(a=>a.id)),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1))),i=new Set((await (0,d.f)().select({r:e.deployments.resourceId}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,g.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5))))).map(a=>a.r)),j=await (0,ag.q)(g.map(a=>a.id)),k=new Map((await (0,d.f)().select().from(e.snapshots).where((0,b.y)(e.snapshots.resourceId,g.map(a=>a.id)))).map(a=>[a.resourceId,a])),l=new Map(g.map(a=>[a.id,a])),m=(0,f.P)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g),n=a=>m.has(a.id)&&"err"===a.state?"warn":a.state;for(let[a,i]of(0,f.R)(h.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),g))await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({pastDomains:i})}::jsonb`}).where((0,b.u)(e.resources.id,a));for(let b of g){let f=h.filter(a=>a.resourceId===b.id),g=(0,aF.V)({monitors:f.map(n),building:i.has(b.id),dbPaused:j.has(b.id)}),l=f.find(a=>"err"===a.state)??f.find(a=>"warn"===a.state),m={code:l?.lastStatus??null,latencyMs:f.find(a=>"heartbeat"!==a.kind)?.lastLatencyMs??null,dbPaused:j.has(b.id)},o=k.get(b.id);await (0,d.f)().insert(e.snapshots).values({resourceId:b.id,state:g,data:m,collectedAt:a,stateSince:a}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{state:g,data:c.B`${e.snapshots.data} || ${JSON.stringify(m)}::jsonb`,collectedAt:a,...o?.state!==g?{stateSince:a}:{}}})}}async function aZ(a,b={}){let c={writeLastRun:aM,refreshApps:aY,refreshNetwork:aA.x,invalidate:h.D,...b};try{await c.writeLastRun({...a.lastRun,...Object.fromEntries(a.done.map(b=>[b,a.started.toISOString()]))});try{await c.refreshApps(new Date)}catch(b){a.errors.push(`app-snapshots: ${(0,aG.f)(b)}`)}if(a.done.some(a=>aA.p.includes(a)))try{await c.refreshNetwork(new Date)}catch(b){a.errors.push(`network-states: ${(0,aG.f)(b)}`)}}finally{c.invalidate((0,i.o)(a.tried??a.done))}}async function a$(a,b,c,d={evaluate:j.$,deliver:p.q,digest:p.J}){let e=[];if(a.includes("alerts"))if(Date.now()>b)c.push("alerts: skipped, time budget used");else{let a=!0;try{await d.evaluate(new Date),console.info("collector alerts evaluated")}catch(b){a=!1,c.push(`alerts: ${(0,aG.f)(b)}`)}try{await d.deliver(new Date,b),console.info("collector notifications delivered")}catch(b){a=!1,c.push(`notify: ${(0,aG.f)(b)}`)}a&&e.push("alerts")}if(a.includes("digest")&&(0,K.z)("digest",b,Date.now()))try{await d.digest(new Date),console.info("collector digest done"),e.push("digest")}catch(a){c.push(`digest: ${(0,aG.f)(a)}`)}return e}async function a_(a,b,c,d){let e=[],f=[];for(let g of a){if(Date.now()>b){c.push(`${g}: skipped, time budget used`);continue}if((0,K.z)(g,b,Date.now())){f.push(g);try{await d(g),e.push(g)}catch(a){c.push(`${g}: ${(0,aG.f)(a)}`)}}}return{done:e,tried:f}}async function a0(a){let c,f=new Date,g=await ay(f);if(!g)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[c]=await (0,d.f)().insert(e.collectorRuns).values({startedAt:f,trigger:"builtin"===a?"manual":a}).returning({id:e.collectorRuns.id})}catch(a){throw await az(g).catch(()=>void 0),a}let h=[],i=[],j=0,l=f.getTime()+K.p,m=a=>console.info(`collector ${a} +${Date.now()-f.getTime()}ms`);try{var n;m("start");let{lastRun:b,afterDeploy:c}=await aL(),d="cron_job_org"!==a&&"builtin"!==a,e=await (0,q.I)(),{due:g,early:p}=(0,K._)((0,K.S)(b,f,d,e),(n=R(c),Object.keys(n.pending).length>0),e),r=!1,s=a=>p||!r?a.filter(a=>"security"!==a):a,t=g.filter(a=>K.u.includes(a)),u=t.includes("alerts")?l-K.X:l,v=await aQ(g,h);m(`due ${g.join(",")}`);let{done:w,tried:x}=await a_(g.filter(a=>!K.u.includes(a)),u,h,async a=>{if(m(`task ${a}`),"heartbeats"===a){let a=new Date;j+=await (0,k.f)(a,(b,c)=>null!==(0,ad.x)(v,{monitorId:b,appId:c},a),d)}"checks"===a&&(j+=await aO(new Date,u,h,d,v)),"vercel"===a&&await aX(new Date,u,h,R(c));let b=aK[a];b&&await b({now:new Date,deadline:u,errors:h,protectOnly:(0,K.$)(a,e)}),"cloudflare"===a&&await (0,aA.h)(new Date,u,h),"domains"===a&&await (0,aA.H)(new Date,u,h),"tls"===a&&await (0,aA.V)(new Date,u,h),"rdap"===a&&await (0,aA.W)(new Date,u,h),"eol"===a&&await (0,aA.i)(new Date,u,h),"node"===a&&(await (0,aB.q)(new Date,u,h),await (0,aC.L)(new Date,u,h)),"status"===a&&await (0,ab.i)(new Date),"logs"===a&&await (0,o._)(new Date,u,h),"pageviews"===a&&await J(new Date,u,h),"security"===a&&(r=(await _({now:f,deadline:u,errors:h,paused:e,early:p})).complete)});i.push(...w),m("main done"),await aZ({lastRun:b,done:s(i),tried:x,started:f,errors:h}),m("settled");let y=await a$(t,l,h);m("post done"),y.length&&await aM({...b,...Object.fromEntries(s([...i,...y]).map(a=>[a,f.toISOString()]))}),i.push(...y)}catch(a){h.push(`run: ${(0,aG.f)(a)}`)}finally{let a=Date.now()-f.getTime();await (0,d.f)().update(e.collectorRuns).set({finishedAt:new Date,ok:0===h.length,errorSummary:h.join("\n").slice(0,2e3)||null,durationMs:a,tasks:i,checks:j}).where((0,b.u)(e.collectorRuns.id,c.id)).catch(()=>void 0),await az(g).catch(()=>void 0)}return{skipped:!1,ok:0===h.length,tasks:i,checks:j,durationMs:Date.now()-f.getTime(),errors:h}}a.s(["f",0,a0],270432)}];
|
|
7
|
+
where key = 'collector.lease' and value->>'owner' = ${a}`)}var aC=a.i(418864),aD=a.i(50908),aE=a.i(288950),aF=a.i(903816),aG=a.i(445710),aH=a.i(306556),aI=a.i(648338);a.i(569057);let aJ="collector.lastRun",aK="vercel.backoffUntil",aL="vercel.currentMiss",aM={supabase:ai.P,supabaseUsage:ai.y,neon:ai.f,firebase:ai.g,firebaseUsage:ai.x,extraDbs:ap};async function aN(){let a=await (0,d.f)().select({key:e.settings.key,value:e.settings.value}).from(e.settings).where((0,b.y)(e.settings.key,[aJ,Q])).limit(2);return{lastRun:a.find(a=>a.key===aJ)?.value??{},afterDeploy:a.find(a=>a.key===Q)?.value??null}}async function aO(a){await (0,d.f)().insert(e.settings).values({key:aJ,value:a}).onConflictDoUpdate({target:e.settings.key,set:{value:a,updatedAt:new Date}})}let aP=a=>(0,f.f)(a);async function aQ(a,f,g,h,i=[]){let j=(await (0,d.f)().select({m:e.monitors,app:e.resources}).from(e.monitors).innerJoin(e.resources,(0,b.u)(e.resources.id,e.monitors.resourceId)).where((0,b.b)((0,b.u)(e.monitors.kind,"http"),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt))).orderBy(c.B`${e.monitors.lastCheckedAt} asc nulls first`,e.monitors.id)).filter(({m:b})=>(0,M.B)(b.lastCheckedAt,a,h));if(!j.length)return 0;let k=await (0,v.P)(j,6,({m:a})=>{let b=(0,M.P)(a.timeoutMs,f,Date.now());return null===b?Promise.resolve(null):(0,v.b)(a.url,{expectedStatus:a.expectedStatus,timeoutMs:b,body:(0,aF.C)(a)})}),l=j.flatMap((a,b)=>k[b]?[{...a,r:k[b]}]:[]);if(l.length<j.length&&g.push(`checks: ${j.length-l.length} monitors skipped, time budget used`),!l.length)return 0;let m=[];for(let b of l)await (0,aG.j)(b.m,b.r,a)&&m.push(b);return m.length?(await (0,d.f)().insert(e.checks).values(m.map(({m:b,app:c,r:d})=>({monitorId:b.id,at:a,ok:d.ok,statusCode:d.statusCode,latencyMs:d.latencyMs,error:d.error,inMaintenance:null!==(0,af.x)(i,{monitorId:b.id,appId:c.id},a)}))),await aP(m.map(({m:b,app:c,r:d})=>(0,aH.F)({resourceId:c.id,path:(0,ah.K)(b.url),prev:b.state,next:(0,aH.G)(b.failStreak,d).state,code:d.statusCode,error:d.error,at:a}))),m.length):0}let aR=["checks","heartbeats"];async function aS(a,b,c=o.w){if(!aR.some(b=>a.includes(b)))return[];try{return await c()}catch(a){return b.push(`maintenance: ${(0,aI.f)(a)}`),[]}}async function aT(a){let[c]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aK)).limit(1),f=c?.value?.until;return!!f&&a.getTime()<new Date(f).getTime()}async function aU(a,b){if("transient"!==a.kind||!a.retryAfterS)return!1;let c={until:new Date(b.getTime()+1e3*Math.min(a.retryAfterS,3600)).toISOString()};return await (0,d.f)().insert(e.settings).values({key:aK,value:c}).onConflictDoUpdate({target:e.settings.key,set:{value:c,updatedAt:b}}),!0}let aV=a=>c.B`coalesce(${e.deployments.externalId} = ${a}::text, false)`;async function aW(a,f,g,h,i=ac){let j=[];try{for(let i of a){let a=f.filter(a=>a.resourceId===i.id),{currentId:k,previousId:l}=(0,ah.a)(a.map(a=>({id:a.id,createdAt:a.createdAt??new Date(0)})),(i.externalId?g.get(i.externalId):null)??null),m=await (0,d.f)().update(e.deployments).set({isCurrent:aV(k),isPreviousProduction:aV(l),updatedAt:h.now}).where((0,b.b)((0,b.u)(e.deployments.resourceId,i.id),(0,b.F)(c.B`${e.deployments.isCurrent} is distinct from ${aV(k)}`,c.B`${e.deployments.isPreviousProduction} is distinct from ${aV(l)}`))).returning({id:e.deployments.externalId}),n=function(a){var b,c;let d=a.currentId;return d&&a.state.checked[a.appId]!==d&&a.state.pending[a.appId]?.id!==d&&(b=a.changedIds,((c=d)&&b.includes(c)?c:null)||a.createdAt&&a.now.getTime()-a.createdAt.getTime()<=216e5)?d:null}({appId:i.id,currentId:k,changedIds:m.map(a=>a.id),createdAt:a.find(a=>a.id===k)?.createdAt??null,state:h.afterDeploy,now:h.now});n&&j.push({appId:i.id,deploymentId:n})}}finally{if(j.length)try{await i(j,h.now)}catch(a){h.errors.push(`vercel/${h.label}: after-deploy security check not scheduled: ${(0,aI.f)(a)}`)}}}let aX=a=>new Map(a.map(a=>[a.id,{...a.branchFrom?{branchFrom:a.branchFrom}:{},...a.gitDirty?{gitDirty:!0}:{}}]));async function aY(a,b,c,d,e=new Map,f=u){try{await f(a,b,e)}catch(a){c.push(`vercel/${d}: production source not saved: ${(0,aI.f)(a)}`)}}async function aZ(a,c,f,g){if(await aT(a))return;let h=(0,ae.f)().OPS_ENCRYPTION_KEY;for(let i of(await (0,d.f)().select().from(e.accounts).where((0,b.b)((0,b.u)(e.accounts.provider,"vercel"),(0,b.u)(e.accounts.status,"ok"))))){let k=(0,p.V)({ciphertext:i.credentialCiphertext,iv:i.credentialIv},h);if((0,j.A)(k)||!k){f.push(`vercel/${i.label}: credential can't be read`);continue}let l=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.accountId,i.id),(0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!l.length)continue;let m=new Map(l.map(a=>[a.externalId,a])),n=await (0,ag.X)(k);if(!n.ok){let c=(0,j.E)({ok:!1,kind:n.kind,error:n.error});if(c&&await (0,d.f)().update(e.accounts).set({...c,updatedAt:a}).where((0,b.u)(e.accounts.id,i.id)),f.push(`vercel/${i.label}: ${n.error}`),await aU(n,a))return;continue}let o=new Set(l.map(a=>String(a.meta.teamId)));for(let h of n.data.filter(a=>o.has(a.id))){if(Date.now()>c)return void f.push("vercel: skipped remaining teams, time budget used");let[i,j]=await Promise.all([(0,ag.W)(k,h),(0,ag.K)(k,h,{since:a.getTime()-6048e5,limit:100})]);if(!i.ok||!j.ok){let b=i.ok?j:i;if(f.push(`vercel/${h.name}: ${b.error}`),await aU(b,a))return;continue}let n=new Map(i.data.map(a=>[a.id,a.currentDeploymentId])),o=j.data.filter(a=>m.has(a.projectId)),p=aX(o),q=new Map((o.length?await (0,d.f)().select({externalId:e.deployments.externalId,state:e.deployments.state,target:e.deployments.target,branch:e.deployments.branch,commitSha:e.deployments.commitSha,commitMessage:e.deployments.commitMessage,source:e.deployments.source,url:e.deployments.url,buildingAt:e.deployments.buildingAt,readyAt:e.deployments.readyAt}).from(e.deployments).where((0,b.y)(e.deployments.externalId,o.map(a=>a.id))):[]).map(a=>[a.externalId,a])),r=[];for(let b of o){let c=m.get(b.projectId),f=q.get(b.id),g={state:b.state,target:b.target,branch:b.branch,commitSha:b.sha,commitMessage:b.message,source:b.source,url:b.url,buildingAt:b.buildingAt,readyAt:b.readyAt};if((0,ah.E)(f,g)){let f={resourceId:c.id,externalId:b.id,...g,createdAtProvider:b.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(f).onConflictDoUpdate({target:e.deployments.externalId,set:f})}r.push((0,aH.L)(f?.state,b,c.id,a))}await aP(r);let s=l.filter(a=>String(a.meta.teamId)===h.id),t=await (0,d.f)().select({resourceId:e.deployments.resourceId,id:e.deployments.externalId,createdAt:e.deployments.createdAtProvider}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,s.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"ready"))),[u]=await (0,d.f)().select().from(e.settings).where((0,b.u)(e.settings.key,aL)).limit(1),v=[],w=()=>v.length?(0,d.f)().insert(e.settings).values({key:aL,value:(0,ah.Y)(u?.value,v,a)}).onConflictDoUpdate({target:e.settings.key,set:{value:(0,ah.Y)(u?.value,v,a),updatedAt:a}}):Promise.resolve();for(let b of(0,ah.Q)(s,n,t,(0,ah.S)(u?.value,a))){if(Date.now()>c)break;let g=await (0,ag.S)(k,h,b.deploymentId);if(!g.ok){if(f.push(`vercel/${h.name}: current deployment: ${g.error}`),await aU(g,a))return void await w();v.push(b.deploymentId);continue}let i=g.data;for(let[a,b]of aX([i]))p.set(a,b);let j={resourceId:b.appId,externalId:i.id,state:i.state,target:i.target,branch:i.branch,commitSha:i.sha,commitMessage:i.message,source:i.source,url:i.url,buildingAt:i.buildingAt,readyAt:i.readyAt,createdAtProvider:i.createdAt,updatedAt:a};await (0,d.f)().insert(e.deployments).values(j).onConflictDoUpdate({target:e.deployments.externalId,set:j}),"ready"===i.state&&"production"===i.target?t.push({resourceId:b.appId,id:i.id,createdAt:i.createdAt}):v.push(b.deploymentId)}await w(),await aW(s,t,n,{now:a,afterDeploy:g,errors:f,label:h.name}),await aY(s,a,f,h.name,p)}}}async function a$(a){let f=await (0,d.f)().select().from(e.resources).where((0,b.b)((0,b.u)(e.resources.kind,"app"),(0,b.u)(e.resources.monitored,!0),(0,b.M)(e.resources.goneAt)));if(!f.length)return;let g=await (0,d.f)().select().from(e.monitors).where((0,b.b)((0,b.y)(e.monitors.resourceId,f.map(a=>a.id)),(0,b.u)(e.monitors.paused,!1),(0,b.u)(e.monitors.ownerPaused,!1))),h=new Set((await (0,d.f)().select({r:e.deployments.resourceId}).from(e.deployments).where((0,b.b)((0,b.y)(e.deployments.resourceId,f.map(a=>a.id)),(0,b.u)(e.deployments.target,"production"),(0,b.u)(e.deployments.state,"building"),(0,b.B)(e.deployments.createdAtProvider,new Date(a.getTime()-36e5))))).map(a=>a.r)),j=await (0,ai.q)(f.map(a=>a.id)),k=new Map((await (0,d.f)().select().from(e.snapshots).where((0,b.y)(e.snapshots.resourceId,f.map(a=>a.id)))).map(a=>[a.resourceId,a])),l=new Map(f.map(a=>[a.id,a])),m=(0,i.P)(g.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),f),n=a=>m.has(a.id)&&"err"===a.state?"warn":a.state;for(let[a,h]of(0,i.R)(g.map(a=>({id:a.id,kind:a.kind,url:a.url,appId:a.resourceId,appName:l.get(a.resourceId)?.name??"",appMeta:l.get(a.resourceId)?.meta,lastError:a.lastError})),f))await (0,d.f)().update(e.resources).set({meta:c.B`${e.resources.meta} || ${JSON.stringify({pastDomains:h})}::jsonb`}).where((0,b.u)(e.resources.id,a));for(let b of f){let f=g.filter(a=>a.resourceId===b.id),i=(0,aH.V)({monitors:f.map(n),building:h.has(b.id),dbPaused:j.has(b.id)}),l=f.find(a=>"err"===a.state)??f.find(a=>"warn"===a.state),m={code:l?.lastStatus??null,latencyMs:f.find(a=>"heartbeat"!==a.kind)?.lastLatencyMs??null,dbPaused:j.has(b.id)},o=k.get(b.id);await (0,d.f)().insert(e.snapshots).values({resourceId:b.id,state:i,data:m,collectedAt:a,stateSince:a}).onConflictDoUpdate({target:e.snapshots.resourceId,set:{state:i,data:c.B`${e.snapshots.data} || ${JSON.stringify(m)}::jsonb`,collectedAt:a,...o?.state!==i?{stateSince:a}:{}}})}}async function a_(a,b={}){let c={writeLastRun:aO,refreshApps:a$,refreshNetwork:aC.x,invalidate:k.D,...b};try{await c.writeLastRun({...a.lastRun,...Object.fromEntries(a.done.map(b=>[b,a.started.toISOString()]))});try{await c.refreshApps(new Date)}catch(b){a.errors.push(`app-snapshots: ${(0,aI.f)(b)}`)}if(a.done.some(a=>aC.p.includes(a)))try{await c.refreshNetwork(new Date)}catch(b){a.errors.push(`network-states: ${(0,aI.f)(b)}`)}}finally{c.invalidate((0,l.o)(a.tried??a.done))}}async function a0(a,b,c,d={evaluate:m.$,deliver:r.q,digest:r.J}){let e=[];if(a.includes("alerts"))if(Date.now()>b)c.push("alerts: skipped, time budget used");else{let a=!0;try{await d.evaluate(new Date),console.info("collector alerts evaluated")}catch(b){a=!1,c.push(`alerts: ${(0,aI.f)(b)}`)}try{await d.deliver(new Date,b),console.info("collector notifications delivered")}catch(b){a=!1,c.push(`notify: ${(0,aI.f)(b)}`)}a&&e.push("alerts")}if(a.includes("digest")&&(0,M.z)("digest",b,Date.now()))try{await d.digest(new Date),console.info("collector digest done"),e.push("digest")}catch(a){c.push(`digest: ${(0,aI.f)(a)}`)}return e}async function a1(a,b,c,d){let e=[],f=[];for(let g of a){if(Date.now()>b){c.push(`${g}: skipped, time budget used`);continue}if((0,M.z)(g,b,Date.now())){f.push(g);try{await d(g),e.push(g)}catch(a){c.push(`${g}: ${(0,aI.f)(a)}`)}}}return{done:e,tried:f}}async function a2(a){let c,f=new Date,g=await aA(f);if(!g)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[c]=await (0,d.f)().insert(e.collectorRuns).values({startedAt:f,trigger:"builtin"===a?"manual":a}).returning({id:e.collectorRuns.id})}catch(a){throw await aB(g).catch(()=>void 0),a}let i=[],j=[],k=0,l=f.getTime()+M.p,m=process.cpuUsage(),o=()=>{let a=process.cpuUsage(m);return Math.round((a.user+a.system)/1e3)},p=a=>console.info(`collector ${a} +${Date.now()-f.getTime()}ms cpu ${o()}ms`);try{var r;p("start");let{lastRun:b,afterDeploy:c}=await aN(),d="cron_job_org"!==a&&"builtin"!==a,e=await (0,s.I)(),{due:g,early:h}=(0,M._)((0,M.S)(b,f,d,e),(r=T(c),Object.keys(r.pending).length>0),e),m=!1,o=a=>h||!m?a.filter(a=>"security"!==a):a,t=g.filter(a=>M.u.includes(a)),u=t.includes("alerts")?l-M.X:l,v=await aS(g,i);p(`due ${g.join(",")}`);let{done:w,tried:x}=await a1(g.filter(a=>!M.u.includes(a)),u,i,async a=>{if(p(`task ${a}`),"heartbeats"===a){let a=new Date;k+=await (0,n.f)(a,(b,c)=>null!==(0,af.x)(v,{monitorId:b,appId:c},a),d)}"checks"===a&&(k+=await aQ(new Date,u,i,d,v)),"vercel"===a&&await aZ(new Date,u,i,T(c));let b=aM[a];b&&await b({now:new Date,deadline:u,errors:i,protectOnly:(0,M.$)(a,e)}),"cloudflare"===a&&await (0,aC.h)(new Date,u,i),"domains"===a&&await (0,aC.H)(new Date,u,i),"tls"===a&&await (0,aC.V)(new Date,u,i),"rdap"===a&&await (0,aC.W)(new Date,u,i),"eol"===a&&await (0,aC.i)(new Date,u,i),"node"===a&&(await (0,aD.q)(new Date,u,i),await (0,aE.L)(new Date,u,i)),"status"===a&&await (0,ad.i)(new Date),"logs"===a&&await (0,q._)(new Date,u,i),"pageviews"===a&&await L(new Date,u,i),"security"===a&&(m=(await ab({now:f,deadline:u,errors:i,paused:e,early:h})).complete)});j.push(...w),p("main done"),await a_({lastRun:b,done:o(j),tried:x,started:f,errors:i}),p("settled");let y=await a0(t,l,i);p("post done"),y.length&&await aO({...b,...Object.fromEntries(o([...j,...y]).map(a=>[a,f.toISOString()]))}),j.push(...y)}catch(a){i.push(`run: ${(0,aI.f)(a)}`)}finally{let a=Date.now()-f.getTime();await (0,d.f)().update(e.collectorRuns).set({finishedAt:new Date,ok:0===i.length,errorSummary:i.join("\n").slice(0,2e3)||null,durationMs:a,tasks:j,checks:k}).where((0,b.u)(e.collectorRuns.id,c.id)).catch(()=>void 0),await aB(g).catch(()=>void 0),process.env.VERCEL&&await h(o())}return{skipped:!1,ok:0===i.length,tasks:j,checks:k,durationMs:Date.now()-f.getTime(),errors:i}}a.s(["f",0,a2],270432)}];
|
|
8
8
|
|
|
9
9
|
//# sourceMappingURL=src_lib_collector_run_ts_0-q8is8s0y9cq._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]
|
|
1
|
+
module.exports=[579739,a=>{"use strict";let b,c=()=>b??=Promise.all([a.A(372153),a.A(106706)]);async function d(a){let[{currentDemoVisitor:b},{withDemoDb:d}]=await c(),e=await b();return d(e.seed,a,e.email)}async function e(){let[{readDemoVisitor:a},{withDemoDb:b}]=await c(),d=await a();d&&await b(d.seed,async()=>void 0,d.email)}a.s(["demoPglite",0,{query:(a,b,c)=>d(d=>d.query(a,b,c)),exec:(a,b)=>d(c=>c.exec(a,b)),transaction:a=>d(b=>b.transaction(a))},"openDemoDb",0,e])},106706,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__09j1po2u91fp3._.js","server/chunks/ssr/src_db_pglite_ts_0r1r9wqxilnam._.js","server/chunks/ssr/src_lib_demo_0a5wqvhuj5hjh._.js","server/chunks/ssr/node_modules_0vppy-p56c35f._.js","server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js","server/chunks/ssr/node_modules_@electric-sql_pglite_dist_0j1fzsq3ed7ph._.js"].map(b=>a.l(b))).then(()=>b(601533)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=src_lib_demo_0sbw5n9n4mpzx._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[589856,450278,751931,a=>{"use strict";var b=a.i(689963),c=a.i(26972),d=a.i(427221),e=a.i(811365),f=a.i(83931);let g=[/(^|\/)\.env(\.|$)/i,/\.(pem|key|p12|pfx|crt|cer|keystore|jks)$/i,/(^|\/)(id_rsa|id_ed25519)/i,/secret/i,/credential/i],h=[/(^|\/)(node_modules|\.next|dist|build|out|coverage|\.vercel|\.git)\//,/(package-lock\.json|pnpm-lock\.yaml|yarn\.lock|bun\.lockb?)$/i],i=[/\.(png|jpe?g|gif|webp|ico|svg|pdf|zip|gz|woff2?|ttf|mp4|mp3|wasm)$/i];function j(a){return!a||a.split("/").includes("..")||g.some(b=>b.test(a))?"secret":h.some(b=>b.test(a))?"generated":i.some(b=>b.test(a))?"binary":null}function k(a,b){let c=a?/[?&]page=(\d+)[^>]*>;\s*rel="last"/.exec(a):null;return c?Number(c[1]):b}[...g,...h,...i],a.s(["M",0,{secret:"hidden (secret file)",generated:"hidden (generated file)",binary:"binary, not shown"},"Z",0,j],450278),a.s(["B",0,204800,"_",0,function(a){let b=a.split("/").slice(0,-1);return b.map((a,c)=>b.slice(0,c+1).join("/"))},"G",0,function(a,b=3e3){let c={name:"",path:"",kind:"dir",size:0,hidden:null,children:[]},d=new Map([["",c]]),e=0,f=!1,g=a=>{let b=d.get(a);if(b)return b;let c=a.lastIndexOf("/"),e=g(c<0?"":a.slice(0,c));if(!e||e.hidden)return null;let f=j(`${a}/x`),h={name:a.slice(c+1),path:a,kind:"dir",size:0,hidden:"binary"===f?null:f,children:[]};return e.children.push(h),d.set(a,h),h};for(let c of a){if(!c.path||c.path.startsWith("/")||c.path.split("/").some(a=>!a||"."===a||".."===a))continue;let a=c.path.lastIndexOf("/"),d=g(a<0?"":c.path.slice(0,a));if(d&&!d.hidden){if(e>=b){f=!0;continue}d.children.push({name:c.path.slice(a+1),path:c.path,kind:"file",size:c.size,hidden:j(c.path),children:[]}),e++}}let h=a=>{a.children.sort((a,b)=>a.kind===b.kind?a.name.toLowerCase().localeCompare(b.name.toLowerCase())||a.name.localeCompare(b.name):"dir"===a.kind?-1:1),a.children.forEach(h)};return h(c),{root:c,files:e,cut:f}},"s",0,k,"q",0,function(a,b){let c=j(a);if("secret"===c)return{kind:"hidden",reason:c};let d=b.find(b=>b.path===a);return d?c?{kind:"hidden",reason:c}:d.size>204800?{kind:"too-big",size:d.size}:{kind:"read",size:d.size}:{kind:"missing"}},"V",0,function(a,b){let c=new Map(b.map(a=>[a.id,a])),d=new Map;for(let b of a){let a=c.get(b.appId);if(!a)continue;let e=d.get(b.repoId)??[];e.some(b=>b.id===a.id)||e.push(a),d.set(b.repoId,e)}for(let a of d.values())a.sort((a,b)=>a.name.localeCompare(b.name));return d},"e",0,function(a){return a<1024?`${a} B`:a<1048576?`${(a/1024).toFixed(+(a<10240))} KB`:`${(a/1024/1024).toFixed(1)} MB`}],751931);var l=a.i(760417);let m=a=>({ok:!1,kind:"format",error:`GitHub answered ${a} in a format the console doesn't recognise.`}),n={ok:!1,kind:"format",error:"That isn't a repository name or ref."},o=a=>a&&a.startsWith("https://github.com/")?a:null;async function p(a,e={}){let f=new Map,g=b.z.array(c.z.object({full_name:d.z.string(),language:d.z.string().nullish()}));for(let b=1;b<=l.t;b++){let c=await (0,l.j)(`/user/repos?per_page=100&page=${b}&sort=pushed&affiliation=owner,collaborator,organization_member`,a,e);if(!c.ok)return c;let d=g.safeParse(c.data);if(!d.success)return m("the repository list");for(let a of d.data)a.language&&f.set(a.full_name.toLowerCase(),a.language.slice(0,40));if(d.data.length<100)break}return{ok:!0,data:f}}async function q(a,b,f={}){if(!(0,l.M)(b))return n;let[g,h]=await Promise.all([(0,l.j)(`/repos/${(0,l.f)(b)}`,a,f),(0,l.j)(`/repos/${(0,l.f)(b)}/pulls?state=open&per_page=1`,a,f)]);if(!g.ok)return g;let i=c.z.object({description:d.z.string().nullish(),language:d.z.string().nullish(),open_issues_count:e.z.number().nullish(),html_url:d.z.string().nullish()}).safeParse(g.data);if(!i.success)return m("the repository");let j=h.ok&&Array.isArray(h.data)?k(h.headers.get("link"),h.data.length):0;return{ok:!0,data:{description:i.data.description?.slice(0,300)??null,language:i.data.language??null,openIssuesAndPulls:i.data.open_issues_count??0,openPulls:j,htmlUrl:o(i.data.html_url)}}}async function r(a,b,f,g,h={}){if(!(0,l.M)(b)||!(0,l.c)(f))return n;let i=await (0,l.j)(`/repos/${(0,l.f)(b)}/readme?ref=${encodeURIComponent(f)}`,a,h);if(!i.ok)return"missing"===i.kind?{ok:!0,data:null}:i;let j=c.z.object({path:d.z.string(),size:e.z.number(),content:d.z.string().nullish(),encoding:d.z.string().nullish()}).safeParse(i.data);if(!j.success)return m("the README");if(j.data.size>g||"base64"!==j.data.encoding||!j.data.content)return{ok:!0,data:{path:j.data.path,text:null,size:j.data.size}};let k=Buffer.from(j.data.content,"base64").toString("utf8");return k.includes("\0")?{ok:!0,data:{path:j.data.path,text:null,size:j.data.size}}:{ok:!0,data:{path:j.data.path,text:k,size:j.data.size}}}async function s(a,c,d,e=20,f={}){if(!(0,l.M)(c)||!(0,l.c)(d))return n;let g=await (0,l.j)(`/repos/${(0,l.f)(c)}/commits?sha=${encodeURIComponent(d)}&per_page=${e}`,a,f);if(!g.ok)return g;let h=b.z.array(t).safeParse(g.data);return h.success?{ok:!0,data:h.data.map(u)}:m("the commits")}let t=c.z.object({sha:d.z.string(),html_url:d.z.string().nullish(),author:c.z.object({login:d.z.string()}).nullish(),commit:c.z.object({message:d.z.string(),author:c.z.object({name:d.z.string().nullish(),date:d.z.string().nullish()}).nullish()})}),u=a=>({sha:a.sha,title:a.commit.message.split("\n")[0].slice(0,200),author:(a.author?.login??a.commit.author?.name??null)?.slice(0,80)??null,at:a.commit.author?.date??null,url:o(a.html_url)});async function v(a,d,f,g,h={}){if(!(0,l.M)(d)||!/^[0-9a-f]{7,40}$/.test(f)||!/^[0-9a-f]{7,40}$/.test(g))return n;let i=await (0,l.j)(`/repos/${(0,l.f)(d)}/compare/${f}...${g}`,a,h);if(!i.ok)return i;let j=c.z.object({total_commits:e.z.number(),commits:b.z.array(t)}).safeParse(i.data);return j.success?{ok:!0,data:{commits:j.data.commits.map(u).reverse(),total:j.data.total_commits}}:m("the comparison")}async function w(a,e,g={}){if(!(0,l.M)(e))return n;let h=await (0,l.j)(`/repos/${(0,l.f)(e)}/branches?per_page=100`,a,g);if(!h.ok)return h;let i=b.z.array(c.z.object({name:d.z.string(),protected:f.z.boolean().nullish(),commit:c.z.object({sha:d.z.string()})})).safeParse(h.data);return i.success?{ok:!0,data:{branches:i.data.map(a=>({name:a.name,sha:a.commit.sha,protected:a.protected??!1})),more:/rel="next"/.test(h.headers.get("link")??"")}}:m("the branches")}async function x(a,f,g=10,h={}){if(!(0,l.M)(f))return n;let i=await (0,l.j)(`/repos/${(0,l.f)(f)}/actions/runs?per_page=${g}`,a,h);if(!i.ok)return i;let j=c.z.object({workflow_runs:b.z.array(c.z.object({id:e.z.number(),name:d.z.string().nullish(),display_title:d.z.string().nullish(),status:d.z.string().nullish(),conclusion:d.z.string().nullish(),head_branch:d.z.string().nullish(),event:d.z.string().nullish(),head_sha:d.z.string().nullish(),run_number:e.z.number().nullish(),updated_at:d.z.string().nullish(),created_at:d.z.string().nullish(),html_url:d.z.string().nullish()}))}).safeParse(i.data);return j.success?{ok:!0,data:j.data.workflow_runs.map(a=>({id:a.id,name:a.name??null,title:a.display_title?.slice(0,200)??null,status:a.status??"unknown",conclusion:a.conclusion??null,branch:a.head_branch??null,event:a.event??null,sha:a.head_sha??null,runNumber:a.run_number??null,at:a.updated_at??a.created_at??null,url:o(a.html_url)}))}:m("the Actions runs")}a.s(["n",0,w,"T",0,s,"e",0,v,"Q",0,r,"H",0,q,"S",0,p,"A",0,x],589856)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_providers_github-browse_ts_1apskpn4fe9qr._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[505237,a=>{"use strict";var b=a.i(306556),c=a.i(133289),d=a.i(201516),e=a.i(221246),f=a.i(245710),g=a.i(556987),h=a.i(469762);let i=a=>a?.kind==="heartbeat";function j(a){let b=a.filter(a=>(0,d.i)(a)&&!a.maintUntil),c=b.filter(a=>!i(a)),e=b.filter(i);return c.find(a=>"err"===a.state)??c.find(a=>"warn"===a.state)??e.find(a=>"err"===a.state)??e.find(a=>"warn"===a.state)??null}let k=a=>(a&&(0,d.H)(a))??(a?.lastStatus?`HTTP ${a.lastStatus}`:"no answer");function l(a){let b=a.monitors.filter(d.i),c=b.filter(a=>a.maintUntil),e=b.some(a=>i(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),f=b.some(a=>!i(a)&&!a.maintUntil&&"err"===a.state),g="err"===a.state&&e&&!f?a.building||a.lastDeploy?.state==="building"?"build":"warn":a.state;if(a.gone||!c.length)return{state:g,maintEnd:null};let h=c.reduce((a,b)=>b.maintUntil>a?b.maintUntil:a,c[0].maintUntil),j=b.filter(a=>!a.maintUntil);return"err"===a.state||"warn"===a.state?j.some(a=>!i(a)&&"err"===a.state)?{state:"err",maintEnd:h}:a.building||a.lastDeploy?.state==="building"?{state:"build",maintEnd:h}:j.some(a=>"warn"===a.state||i(a)&&"err"===a.state)||a.dbPaused?{state:"warn",maintEnd:h}:{state:"maint",maintEnd:h}:j.length||"ok"!==a.state&&"unknown"!==a.state?{state:g,maintEnd:h}:{state:"maint",maintEnd:h}}let m={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function n(a){return a.reduce((a,b)=>m[b]>m[a]?b:a,"ok")}let o=(a,b)=>`${a} ${b}${1===a?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];a.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...a)=>`Actions for ${a.filter(Boolean).join(" ")}`,"k",0,function(a){if(a.gone)return{state:"off",label:"Gone from Vercel"};let b=j(a.monitors),c=i(b)?b?.name??"heartbeat":null,{state:e,maintEnd:g}=l(a);return"maint"===e&&g?{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(g)}`}:"ok"===e?{state:"ok",label:"Running"}:"build"===e?{state:"build",label:"Building"}:"warn"===e?!b&&a.dbPaused?{state:"warn",label:"Degraded · DB paused"}:c?{state:"warn",label:b?.state==="err"?`Degraded \xb7 job ${c} not pinging`:`Degraded \xb7 job ${c} late`}:{state:"warn",label:`Degraded \xb7 ${k(b)}`}:"err"===e?{state:"err",label:c?`Down \xb7 ${c}`:`Down \xb7 ${k(b)}`}:a.monitors.some(d.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,a=>(0,e.L)(a,"operator"),"f",0,function(a,b){if(!a)return{state:"unknown",sub:"Hasn't run yet"};let
|
|
1
|
+
module.exports=[505237,a=>{"use strict";var b=a.i(306556),c=a.i(133289),d=a.i(201516),e=a.i(221246),f=a.i(245710),g=a.i(556987),h=a.i(469762);let i=a=>a?.kind==="heartbeat";function j(a){let b=a.filter(a=>(0,d.i)(a)&&!a.maintUntil),c=b.filter(a=>!i(a)),e=b.filter(i);return c.find(a=>"err"===a.state)??c.find(a=>"warn"===a.state)??e.find(a=>"err"===a.state)??e.find(a=>"warn"===a.state)??null}let k=a=>(a&&(0,d.H)(a))??(a?.lastStatus?`HTTP ${a.lastStatus}`:"no answer");function l(a){let b=a.monitors.filter(d.i),c=b.filter(a=>a.maintUntil),e=b.some(a=>i(a)&&!a.maintUntil&&("err"===a.state||"warn"===a.state)),f=b.some(a=>!i(a)&&!a.maintUntil&&"err"===a.state),g="err"===a.state&&e&&!f?a.building||a.lastDeploy?.state==="building"?"build":"warn":a.state;if(a.gone||!c.length)return{state:g,maintEnd:null};let h=c.reduce((a,b)=>b.maintUntil>a?b.maintUntil:a,c[0].maintUntil),j=b.filter(a=>!a.maintUntil);return"err"===a.state||"warn"===a.state?j.some(a=>!i(a)&&"err"===a.state)?{state:"err",maintEnd:h}:a.building||a.lastDeploy?.state==="building"?{state:"build",maintEnd:h}:j.some(a=>"warn"===a.state||i(a)&&"err"===a.state)||a.dbPaused?{state:"warn",maintEnd:h}:{state:"maint",maintEnd:h}:j.length||"ok"!==a.state&&"unknown"!==a.state?{state:g,maintEnd:h}:{state:"maint",maintEnd:h}}let m={err:6,fail:6,warn:5,paused:5,build:4,unknown:3,idle:2,off:1,info:1,maint:1,ok:0};function n(a){return a.reduce((a,b)=>m[b]>m[a]?b:a,"ok")}let o=(a,b)=>`${a} ${b}${1===a?"":"s"}`,p=["ok","build","idle","paused","maint","warn","err","fail","unknown","off","info"];a.s(["q",0,[["ok","Running"],["build","Building"],["warn","Degraded"],["err","Down"]],"s",0,[["ok","Ready"],["build","Building"],["fail","Error"]],"D",0,{deployment:"Deployment",monitor:"Monitor",database:"Database",system:"System",action:"Action"},"g",0,[["ok","Up"],["warn","Degraded"],["err","Down"],["maint","Maintenance"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...a)=>`Actions for ${a.filter(Boolean).join(" ")}`,"k",0,function(a){if(a.gone)return{state:"off",label:"Gone from Vercel"};let b=j(a.monitors),c=i(b)?b?.name??"heartbeat":null,{state:e,maintEnd:g}=l(a);return"maint"===e&&g?{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(g)}`}:"ok"===e?{state:"ok",label:"Running"}:"build"===e?{state:"build",label:"Building"}:"warn"===e?!b&&a.dbPaused?{state:"warn",label:"Degraded · DB paused"}:c?{state:"warn",label:b?.state==="err"?`Degraded \xb7 job ${c} not pinging`:`Degraded \xb7 job ${c} late`}:{state:"warn",label:`Degraded \xb7 ${k(b)}`}:"err"===e?{state:"err",label:c?`Down \xb7 ${c}`:`Down \xb7 ${k(b)}`}:a.monitors.some(d.i)?{state:"unknown",label:"Not checked yet"}:{state:"unknown",label:"No active monitors"}},"z",0,a=>(0,e.L)(a,"operator"),"f",0,function(a,b,d){if(!a)return{state:"unknown",sub:"Hasn't run yet"};let e=null===a.durationMs?"—":`${(a.durationMs/1e3).toFixed(1)} s`;return{state:(0,c.m)(a.finishedAt,b,d).state,sub:`${(0,f.$)(a.finishedAt,b)} \xb7 ${e} \xb7 ${o(a.checks,"check")}`}},"u",0,function(a,b){if(!a.length)return null;let c=a.length,d="viewer"===b?[...new Set(a.map(a=>a.provider))]:a.map(a=>`${a.provider} \xb7 ${(0,g.G)(a.label)}`);return{title:`${c} connection${c>1?"s need":" needs"} attention`,body:`${d.join(", ")}. Data from ${c>1?"these accounts is":"this account is"} not being updated.`}},"Y",0,function(a){return"ready"===a?{state:"ok",label:"Ready"}:"building"===a?{state:"build",label:"Building"}:"error"===a?{state:"fail",label:"Error"}:{state:"off",label:"Canceled"}},"M",0,function(a,b,c=new Date){if(a.appGone)return{state:"off",label:"App removed from Vercel"};if(a.ownerPaused)return{state:"paused",label:"Paused"};if(a.paused)return{state:"off",label:"App not watched"};let e=b?.end??a.maintUntil;if(e)return{state:"maint",label:`Maintenance \xb7 until ${(0,f.U)(e)}`};if(i(a))return"ok"===a.state?{state:"ok",label:a.lastPingAt?`Up \xb7 pinged ${(0,f.$)(a.lastPingAt,c)}`:"Up"}:"warn"===a.state?{state:"warn",label:"Late"}:"err"===a.state?{state:"err",label:a.lastError?.startsWith("Down · ")?a.lastError:"Down · no ping"}:{state:"unknown",label:"Waiting for the first ping"};if(a.move)return{state:"warn",label:`Domain changed: ${a.move.from} → ${a.move.to}`};let g=(0,d.H)(a)??(null===a.lastStatus?"no answer":String(a.lastStatus));return"ok"===a.state?{state:"ok",label:"Up"}:"warn"===a.state?{state:"warn",label:`Degraded \xb7 ${g}`}:"err"===a.state?{state:"err",label:`Down \xb7 ${g}`}:{state:"unknown",label:"Waiting for first check"}},"m",0,function(a,c){let e=[];for(let f of a){let a=l(f).state;if(f.gone||"err"!==a&&"warn"!==a)continue;let g=j(f.monitors);if("warn"===a&&!g&&f.dbPaused)continue;let k=g&&(0,d.H)(g)?(0,d.H)(g):g?.lastStatus?`HTTP ${g.lastStatus}`:"No answer",m={label:"Open app",href:`/apps/${f.id}`},n=i(g)?g?.name??"heartbeat":null;if(n&&g?.state==="err"){e.push({key:f.id,tone:"warning",title:`${f.name}: background job ${n} is down`,body:`The website is up; the job hasn't pinged${f.since?` for ${(0,h.o)(f.since,c)}`:""}.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if(n){e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`The job ${n} is late. It's marked down once its grace time passes too.`,action:{label:"Open Uptime",href:"/uptime"}});continue}if("err"===a){let a=f.lastDeploy?.state==="error"?f.lastDeploy:null;e.push({key:f.id,tone:"danger",title:`${f.name} is down`,body:`${k}${f.since?` for ${(0,h.o)(f.since,c)}`:""}.${a?` The last production deploy failed at ${(0,h.v)(a.readyAt??a.createdAt,c)}.`:""}`,action:a?{label:"View deployment",href:"/deployments"}:m})}else{let a=Math.max(1,g?.failStreak??1);e.push({key:f.id,tone:"warning",title:`${f.name} is degraded`,body:`${k} on ${o(a,"check")} in a row. It's marked down after ${b.I}.`,action:m})}}return[...e.filter(a=>"danger"===a.tone),...e.filter(a=>"warning"===a.tone)]},"R",0,function(a){return p.map(b=>({state:b,n:a.filter(a=>a===b).length})).filter(a=>a.n>0)},"E",0,function(a){if(!a.length)return{state:"unknown",sub:"No apps watched yet",empty:!0};let b=b=>a.filter(a=>a===b).length,c=[["err","down"],["warn","degraded"],["build","building"]].filter(([a])=>b(a)>0).map(([a,c])=>`${b(a)} ${c}`);return{state:n(a),sub:`${o(a.length,"app")}${c.length?` \xb7 ${c.join(", ")}`:""}`}},"S",0,n,"e",0,j])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_view_labels_ts_1uxs84z7vclz5._.js.map
|