watchbell 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +3 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/required-server-files.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +22 -12
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +37 -27
- package/server/.next/server/app/(console)/apps/[id]/page.js +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +26 -16
- package/server/.next/server/app/(console)/deployments/page.js +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +30 -20
- package/server/.next/server/app/(console)/overview/page.js +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +41 -31
- package/server/.next/server/app/(console)/supabase/page.js +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +60 -60
- 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 +63 -63
- 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 +45 -45
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/health/route.js.nft.json +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js +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 +42 -42
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +4 -3
- package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/route.js +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/me/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js +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/auth/confirm/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
- package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/invite/page.js.nft.json +1 -1
- package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/mfa/page.js +14 -14
- 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 +14 -14
- package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/page.js.nft.json +1 -1
- package/server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js.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 +23 -23
- 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]__0_e2eoq7w3ff_._.js → [root-of-the-server]__0-zrmrb4499ay._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ezd1s2862iob._.js → [root-of-the-server]__02h-ec_gusm_2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0exicuoq6gmph._.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]__04htuwoulmp21._.js +3 -0
- 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]__05qcc-0e8z1u8._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__01vos42kjq9nn._.js → [root-of-the-server]__0655w3_d4ejfb._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__05zj7uswzr0f9._.js → [root-of-the-server]__08i6b8tzxads4._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0-ftc1hhcjcl2._.js → [root-of-the-server]__09dk9k-9q4d16._.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]__1gt_-h9n48pwi._.js → [root-of-the-server]__0c0pkv3an1lg-._.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]__0r88w3qhrtzz_._.js → [root-of-the-server]__0db2p-om-b_4s._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0fc4c9-xzmkol._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0rb1-3538-pq9._.js → [root-of-the-server]__0jswmvddgl3sb._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.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]__0lht1cr4aiudu._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0ikiyg3u02ofv._.js → [root-of-the-server]__0m_nqt44ioex_._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.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]__0070gc9ml0mf7._.js → [root-of-the-server]__0r_6xpjwcdrda._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0rctmpp7p7cp9._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0x47i6wm-cd1z._.js → [root-of-the-server]__0ruici82tzf0w._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0e2utnqdim70d._.js → [root-of-the-server]__0s8wo4espz6eu._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0sp5xoed3-994._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0twr9duara46x._.js → [root-of-the-server]__0sq7jwlhv9n79._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0sabwm3w1rm0q._.js → [root-of-the-server]__0ubalx5w0ds9m._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__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]__0x6qqr79pq_j9._.js → [root-of-the-server]__0whk62ebfu1u0._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1vqs8o9bv1wbk._.js → [root-of-the-server]__0x4_tt5v17fx3._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__05jzua9637vlo._.js → [root-of-the-server]__0x929r1phz1oi._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__01yzy5zxsekxi._.js → [root-of-the-server]__0ycpg444s91lb._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0z3hf530bwcq_._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0zkeao78mms1_._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0kt0hjvyklnk8._.js → [root-of-the-server]__0zu1odpvrptrt._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0zwr7fll4dm9q._.js +3 -0
- 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]__1-xgpr5q148ze._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__10negjjz5k5bz._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1bce11artflky._.js → [root-of-the-server]__12lrpnd-dhawi._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__14-pt1-s1o5ex._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__14jw0y_hj7jmw._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0znmcklxfccvk._.js → [root-of-the-server]__15vqo7amys573._.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]__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]__08-puk3_gawjd._.js → [root-of-the-server]__17jngidngj3rb._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__19k0l-ubyp1j_._.js +3 -0
- 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]__1bg8grh9kfims._.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]__1c1nhm-kj5kqu._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
- 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]__1d4wmw2wohveb._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1spds17tpnsgr._.js → [root-of-the-server]__1etg41llk7f09._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1g6xpr_typmce._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__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]__1kr6f03r82mk6._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1kwldcrcmwc0x._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1lq25064c4ny_._.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]__1_zjje9edw0bz._.js → [root-of-the-server]__1nm0sjvuf9jrb._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0i75m0es1m3hf._.js → [root-of-the-server]__1p3fqi03x5du8._.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]__1r24segt1slar._.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]__1sm4p209f_yie._.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]__20dehd8e5-v9y._.js +1 -1
- 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/_05hhw0eql5-dv._.js +10 -0
- package/server/.next/server/chunks/{_0zj10_al6r59j._.js → _08fv52mqg619m._.js} +2 -2
- 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/{_1myv9csc_in08._.js → _1-pv4d4qhe7to._.js} +3 -3
- package/server/.next/server/chunks/_12g2m3a5e94_5._.js +3 -0
- package/server/.next/server/chunks/{_1e_rbkrukj0x9._.js → _13dlt388gceez._.js} +2 -2
- package/server/.next/server/chunks/_19wqm5leaaesp._.js +1 -1
- package/server/.next/server/chunks/{_0ls7sornjrg95._.js → _1b1t9p1xljuql._.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/_1l-68brbq289m._.js +10 -0
- package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
- package/server/.next/server/chunks/{src_0_l3dzp06o4x5._.js → src_01fd1ve-xj9xo._.js} +2 -2
- package/server/.next/server/chunks/{src_0m6xxpw2u-xv_._.js → src_049aazgsmienv._.js} +2 -2
- 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_0tw-h0otr2tgt._.js +1 -1
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- 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_0pyyxm3m1rttg._.js +9 -0
- package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +9 -0
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +5 -5
- package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +15 -15
- package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +13 -13
- package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
- package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +13 -13
- package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
- package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +2 -2
- 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]__0d7rvi3tmo9zf._.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]__1ctkj-25wt37o._.js → [root-of-the-server]__05gue5stvejba._.js} +3 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__077-acap7g4ck._.js +3 -0
- 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]__0xjg51t1__v-s._.js → [root-of-the-server]__08u1c2f2i7ru4._.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]__0amfa4t2-in-x._.js +3 -0
- 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]__0ed6qo3lg9_f9._.js +3 -0
- 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]__0h9rpg5-lhp5q._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__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]__133_j0bmsjnzt._.js → [root-of-the-server]__0q7rssq_3unbc._.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]__1_h_ya1h8efdj._.js → [root-of-the-server]__0tqqte5jb6jz7._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ijizmc3ga_6o._.js → [root-of-the-server]__0xscr-8y9a4cj._.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]__18gcvkhrt73zc._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tj-iwvrxfd1a._.js → [root-of-the-server]__1o6cysvbfkltz._.js} +1 -1
- 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]__1kfivch_kfesn._.js → [root-of-the-server]__1tgcpistmcbrd._.js} +3 -3
- 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]__1-d88ogkwql_b._.js → [root-of-the-server]__1uzqsxyxwffdo._.js} +2 -2
- 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/[root-of-the-server]__1zmuaump_n9c1._.js +3 -0
- package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +1 -1
- package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
- package/server/.next/server/chunks/ssr/{_0e4xfzm8oecc-._.js → _07-dfx0qix52k._.js} +2 -2
- package/server/.next/server/chunks/ssr/{_1jclq5d7tposb._.js → _07f-svx_l12lw._.js} +2 -2
- package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
- package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_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/_0gl-ewvbhb677._.js +2 -2
- 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/{_1e5kqt081d8yt._.js → _0jqrjb30bblvy._.js} +2 -2
- 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/_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/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +2 -2
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
- package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1rinsar6bp6ul._.js → _1bc69myq83woe._.js} +2 -2
- 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/_1fc8k_0p8l00c._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
- package/server/.next/server/chunks/ssr/{_08d4hz_ddxc02._.js → _1j61tfpfj2t9d._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
- package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
- 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/_218164gkxgum_._.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_0y5m8cul6d7kk.js +1 -1
- 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_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_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
- 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_1bg_io_v7gt71._.js +3 -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)_1co5pna1vfflj._.js → src_app_(console)_0e832kna-734m._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_0kwns5iudhgwj._.js +3 -0
- 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]_1sfvku9ui1le-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_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)_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)_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_1fj68y-bbe-xr._.js +3 -0
- package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1gauld53vvpev._.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_09ht4doed9eqi._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_demo_1b1yd_ne2dpeh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +14 -14
- package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +2 -2
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/middleware-build-manifest.js +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 +321 -143
- package/server/.next/static/chunks/{1ukyjy13dwy_z.js → 0-ett1b-o34r0.js} +1 -1
- package/server/.next/static/chunks/{3f1td0b-oy-sr.js → 0-fov5gyz32mj.js} +1 -1
- package/server/.next/static/chunks/{38g-5wiggu6__.js → 041ko45qawas9.js} +1 -1
- package/server/.next/static/chunks/{33ddsp07_9o1d.js → 0ia5361d7hoce.js} +2 -2
- package/server/.next/static/chunks/{2xio-kspedw69.js → 0m40tf7-fh2ht.js} +1 -1
- package/server/.next/static/chunks/{1y_6crandf_3f.js → 0o6_y6xu__s6q.js} +1 -1
- package/server/.next/static/chunks/{2s-_9p0-395sm.js → 0x1xj431cbkfa.js} +1 -1
- package/server/.next/static/chunks/{1xm6ay06cjchs.js → 0x6eipkda93fh.js} +1 -1
- package/server/.next/static/chunks/{2-m982u6v7z8m.js → 0zj507c7ui4jt.js} +1 -1
- package/server/.next/static/chunks/{40n6mtthd3_sh.js → 11_iva96ceble.js} +1 -1
- package/server/.next/static/chunks/{3letbzhf_1srv.js → 15_3o9t6d7ujo.js} +1 -1
- package/server/.next/static/chunks/{340qccog2_uge.js → 1e0iyxugtm7b0.js} +2 -2
- package/server/.next/static/chunks/{0md0jy9rztofl.js → 1eeqy_pc_llv4.js} +1 -1
- package/server/.next/static/chunks/{0-6om8-d7itz8.js → 1g3u_ngexgvss.js} +1 -1
- package/server/.next/static/chunks/{2z6gojfx3lqvt.js → 1ghfc_9g9io17.js} +1 -1
- package/server/.next/static/chunks/{0v_-lu_cx7f91.js → 1gw40u38oaj6z.js} +1 -1
- package/server/.next/static/chunks/{1rkrtrvwbbnjf.js → 1jc9qa7xb63lp.js} +1 -1
- package/server/.next/static/chunks/{01u9q07wu6-x1.js → 1muk1ubaswhlj.js} +1 -1
- package/server/.next/static/chunks/{31v3igne_z-0k.js → 1qug5gmo2rbaf.js} +1 -1
- package/server/.next/static/chunks/{16yvy9zkjac5c.js → 1vyf467_8v-cw.js} +1 -1
- package/server/.next/static/chunks/{2a3tky__z9q4j.js → 1z8byc-won_tq.js} +1 -1
- package/server/.next/static/chunks/{0181phyuecg9b.js → 1zhnm25vt6hu8.js} +1 -1
- package/server/.next/static/chunks/{1gt3cagsbgx4w.js → 243ijh4fs2zsq.js} +1 -1
- package/server/.next/static/chunks/{2cipdjdkoq312.js → 299jy1-g0cm8n.js} +1 -1
- package/server/.next/static/chunks/{2ue_c6tww95_c.js → 2hscqr4n7hu7n.js} +1 -1
- package/server/.next/static/chunks/{18johpgap0xmw.js → 2j4kmkog1zkpo.js} +1 -1
- package/server/.next/static/chunks/{18mkhwl0zlvnp.js → 2j9fpx77gfesr.js} +1 -1
- package/server/.next/static/chunks/{0hj1-5zruyih6.js → 2jdlcu25qy00d.js} +1 -1
- package/server/.next/static/chunks/{3imk3dh9_4wd5.js → 2kurh5s5u8_4-.js} +1 -1
- package/server/.next/static/chunks/{1_8g4usrgjnnu.js → 2seth6dz7lydu.js} +1 -1
- package/server/.next/static/chunks/{0xcpi35p5fa83.js → 2t30gqjhercob.js} +1 -1
- package/server/.next/static/chunks/{1q-m7qgrvvzwb.js → 2y05vm9r_wxds.js} +1 -1
- package/server/.next/static/chunks/{0z0may9twpt-j.js → 2ziborutqth-2.js} +1 -1
- package/server/.next/static/chunks/{0_5_9w6m-xwd0.js → 3-xb6vd_khwfo.js} +1 -1
- package/server/.next/static/chunks/{1sc1vz_ygak9u.js → 36e9fpbpqndu5.js} +1 -1
- package/server/.next/static/chunks/{0t66sf4vvalei.js → 3cjokqd7600_0.js} +1 -1
- package/server/.next/static/chunks/{3qedt96akbcad.js → 3hpyrqm98toxv.js} +1 -1
- package/server/.next/static/chunks/{1ys80h6x541kn.js → 3kqiccrh_bnpl.js} +2 -2
- package/server/.next/static/chunks/{3wi930ujb_5_z.js → 3r3-9oir5c1ul.js} +1 -1
- package/server/.next/static/chunks/{0krhehmzgigx5.js → 3wl06e5yyzlwh.js} +1 -1
- package/server/.next/static/chunks/{3jhh47vezwohc.js → 3xbsyym_tfj0u.js} +1 -1
- package/server/.next/static/chunks/{3a5a2iizetq9b.js → 3ymogjp57edbj.js} +1 -1
- package/server/.next/static/chunks/{00oeu_tbjky7m.js → 422gxqrwveuyc.js} +1 -1
- package/server/.next/static/chunks/{2ect0ww0gtoad.js → 442t8i7d46g9y.js} +2 -2
- package/server/.next/static/chunks/{0mp6prf1hx5mx.js → 4545xu4sehvxc.js} +1 -1
- package/server/server.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0-u9oeob2sa7f._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__028cxv1v6v0yb._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__04oipax0jupxr._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__07byme21uj5ln._.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]__0ab040lxtt8_d._.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]__0gmn5s40au84-._.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]__0v1t0gkrsn99q._.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]__10cqzo_4dhr4m._.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]__16md_196q9s8a._.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]__1hl9k6e1o7xh2._.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]__1kqq90-sj8-op._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1lam0c5a3f224._.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]__1o9v_499yd5k8._.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]__1onjxlntn-u8g._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1qdbn4gdg7ndr._.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/_0pf2g5n_ko5dq._.js +0 -3
- package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +0 -10
- package/server/.next/server/chunks/_15g-opioju_ju._.js +0 -3
- 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/ssr/[root-of-the-server]__056nm27ib-x1m._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0eaqsql69fhf8._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0l_cl2qk_xmmr._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1wr4__6rvsb3b._.js +0 -3
- package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +0 -3
- package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
- package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0jxjbvkvg0bjg._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0txyv7r1zns16._.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)_1shtcv6hidi4-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_signin_0ko968fxahf6u._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +0 -3
- /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → u0RcJ9L5FEEUdENisty65}/_buildManifest.js +0 -0
- /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → u0RcJ9L5FEEUdENisty65}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{2_t4xVgbum1rtVSQxAYYV → u0RcJ9L5FEEUdENisty65}/_ssgManifest.js +0 -0
|
@@ -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]__0amfa4t2-in-x._.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_09ht4doed9eqi._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[716983,a=>{var b=a.i(666680),c=a.i(32950);let d="wp_demo",e=/^[0-9a-f]{32}$/,f=/^[A-Za-z0-9_-]+$/,g=(a,c)=>(0,b.createHmac)("sha256",c).update(a).digest();function h(a=process.env.SITE_URL){return{...(0,c.X)(a),maxAge:604800}}a.s(["DEMO_COOKIE",0,d,"DEMO_COOKIE_MAX_AGE_S",0,604800,"MAX_DEMO_EMAIL",0,254,"clearDemoCookie",0,function(a,b){a.set(d,"",{...h(b),maxAge:0})},"demoCookieKey",0,function(a){return(0,b.createHmac)("sha256",Buffer.from(a,"base64")).update("watchpost:demo-cookie:v1").digest()},"demoCookieOptions",0,h,"newDemoSeed",0,function(){return(0,b.randomBytes)(16).toString("hex")},"setDemoCookie",0,function(a,b,c){a.set(d,b,h(c))},"signDemoCookie",0,function(a,b,c=Date.now()){let d={email:a.email,seed:a.seed,iat:Math.floor(c/1e3)},e=Buffer.from(JSON.stringify(d)).toString("base64url");return`${e}.${g(e,b).toString("base64url")}`},"verifyDemoCookie",0,function(a,c,d=Date.now()){let h;if(!a||a.length>1024)return null;let i=a.split(".");if(2!==i.length||!f.test(i[0])||!f.test(i[1]))return null;let[j,k]=i,l=Buffer.from(k,"base64url"),m=g(j,c);if(l.length!==m.length||!(0,b.timingSafeEqual)(l,m))return null;try{h=JSON.parse(Buffer.from(j,"base64url").toString("utf8"))}catch{return null}let{email:n,seed:o,iat:p}=h??{};if("string"!=typeof n||!n||n.length>254||n!==n.toLowerCase()||"string"!=typeof o||!e.test(o)||"number"!=typeof p||!Number.isInteger(p))return null;let q=Math.floor(d/1e3);return p>q+300||q-p>604800?null:{email:n,seed:o}}])},995517,a=>{var b=a.i(61675),c=a.i(828215),d=a.i(716983);a.s(["MAX_DEMO_PASSWORD",0,200,"demoSignIn",0,function(a,e,f=Date.now()){let g=a.email.trim().toLowerCase();return g&&!(g.length>d.MAX_DEMO_EMAIL)&&b.z.email().safeParse(g).success?a.password.length<1||a.password.length>200?{ok:!1,message:"Enter a password of 1 to 200 characters (any password works in the demo).",field:"password"}:{ok:!0,cookie:(0,d.signDemoCookie)({email:g,seed:(0,d.newDemoSeed)()},e,f),redirectTo:(0,c.f)(a.next)}:{ok:!1,message:"Enter a valid email address.",field:"email"}}])}]})();
|
|
1
|
+
(()=>{"use strict";module.exports=[716983,a=>{var b=a.i(666680),c=a.i(32950);let d="wp_demo",e=/^[0-9a-f]{32}$/,f=/^[A-Za-z0-9_-]+$/,g=(a,c)=>(0,b.createHmac)("sha256",c).update(a).digest();function h(a=process.env.SITE_URL){return{...(0,c.X)(a),maxAge:604800}}a.s(["DEMO_COOKIE",0,d,"DEMO_COOKIE_MAX_AGE_S",0,604800,"MAX_DEMO_EMAIL",0,254,"clearDemoCookie",0,function(a,b){a.set(d,"",{...h(b),maxAge:0})},"demoCookieKey",0,function(a){return(0,b.createHmac)("sha256",Buffer.from(a,"base64")).update("watchpost:demo-cookie:v1").digest()},"demoCookieOptions",0,h,"newDemoSeed",0,function(){return(0,b.randomBytes)(16).toString("hex")},"setDemoCookie",0,function(a,b,c){a.set(d,b,h(c))},"signDemoCookie",0,function(a,b,c=Date.now()){let d={email:a.email,seed:a.seed,iat:Math.floor(c/1e3)},e=Buffer.from(JSON.stringify(d)).toString("base64url");return`${e}.${g(e,b).toString("base64url")}`},"verifyDemoCookie",0,function(a,c,d=Date.now()){let h;if(!a||a.length>1024)return null;let i=a.split(".");if(2!==i.length||!f.test(i[0])||!f.test(i[1]))return null;let[j,k]=i,l=Buffer.from(k,"base64url"),m=g(j,c);if(l.length!==m.length||!(0,b.timingSafeEqual)(l,m))return null;try{h=JSON.parse(Buffer.from(j,"base64url").toString("utf8"))}catch{return null}let{email:n,seed:o,iat:p}=h??{};if("string"!=typeof n||!n||n.length>254||n!==n.toLowerCase()||"string"!=typeof o||!e.test(o)||"number"!=typeof p||!Number.isInteger(p))return null;let q=Math.floor(d/1e3);return p>q+300||q-p>604800?null:{email:n,seed:o}}])},995517,a=>{var b=a.i(61675),c=a.i(828215),d=a.i(716983);a.s(["MAX_DEMO_PASSWORD",0,200,"demoSignIn",0,function(a,e,f=Date.now()){let g=a.email.trim().toLowerCase();return g&&!(g.length>d.MAX_DEMO_EMAIL)&&b.z.email().safeParse(g).success?a.password.length<1||a.password.length>200?{ok:!1,message:"Enter a password of 1 to 200 characters (any password works in the demo).",field:"password"}:{ok:!0,cookie:(0,d.signDemoCookie)({email:g,seed:(0,d.newDemoSeed)()},e,f),redirectTo:(0,c.f)(a.next,"/overview")}:{ok:!1,message:"Enter a valid email address.",field:"email"}}])}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_demo_1b1yd_ne2dpeh._.js.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
module.exports=[601533,a=>{"use strict";var b=a.i(632019),c=a.i(7584),d=a.i(488077),e=a.i(614755),f=a.i(837137),g=a.i(159203),h=a.i(745614),i=a.i(351674),j=a.i(263251),k=a.i(927262),l=a.i(233711),m=a.i(469762),n=a.i(988866),o=a.i(109505);let p=(a,b)=>`${a} ${b}${1===a?"":"s"}`;async function q(a,b,c,d,e){let g,h,q,r,s,t,u,{db:v,seed:w,now:x}=a,y=(0,o.k)(w,"alerts"),z=(...a)=>(0,o.T)(w,"alert",...a),A=a=>b.apps.find(b=>b.id===a)?.name??"app",B=(0,j.f)(await v.execute(i.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),C=B.find(a=>"error"===a.state&&"production"===a.target),D={appId:C.resource_id,appName:A(C.resource_id),sha:C.commit_sha.slice(0,7),createdAt:new Date(C.created_at_provider),currentExternalId:B.find(a=>a.resource_id===C.resource_id&&a.is_current)?.external_id??null},E=(a,b,c)=>{let d=c.resolvedAt??null;return{ruleKey:a,subject:b,severity:k._[a].severity,resourceId:null,accountId:null,okStreak:2*!!d,lastSeenAt:d??(0,n.$)(x,1e3*y.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==k._[a].severity,lastNotifiedAt:d??new Date(c.startedAt.getTime()+n.E),pending:null,pendingSince:null,...c}},F=e.certSoon,G=(0,l.g)(F.notAfter,x)??0,H=e.zoneSoon,I=(0,l.g)(H.expiresAt,x)??0,J=[E("DeploymentFailed",D.appId,{id:z("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*y.int(60,150))}),E("CertExpiringSoon",F.id,{id:z("firing","cert"),resourceId:F.id,title:F.name,message:`The TLS certificate of ${F.name} expires in ${p(G,"day")}.`,startedAt:new Date(F.notAfter.getTime()-14*n.h+y.int(5,55)*n.E)}),E("DomainExpiringSoon",H.id,{id:z("firing","zone"),resourceId:H.id,title:H.name,message:`${H.name} expires in ${p(I,"day")}.`,startedAt:new Date(H.expiresAt.getTime()-30*n.h+y.int(5,55)*n.E)})],K=c.outage,L=c.monitors.find(a=>a.id===K.monitorId),M=b.apps.find(a=>a.id!==D.appId)??b.apps[0],N=a=>d.dbs.find(b=>b.kind===a),O=(a,b)=>(0,n.$)(x,a*n.h+b*n.w+y.int(0,50)*n.E),P=(a,b)=>new Date(a.getTime()+b*n.E),Q=(a,b)=>{let d=c.monitors.find(a=>a.id===b.monitorId);return E("HighLatency",d.id,{id:z("resolved",a),resourceId:d.appId,title:`${A(d.appId)} ${d.path}`,message:`p95 ${b.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:b.firedAt,resolvedAt:b.resolvedAt})},R={start:O(4,y.int(1,9)),sha:(0,o.p)(7,w,"old-failed",M.name)},S=N("upstash_redis"),T=N("firestore"),U=N("supabase_project"),V=d.cloudflare.label,W={outage:E("MonitorDown",L.id,{id:z("resolved","outage"),resourceId:L.appId,title:`${A(L.appId)} ${L.path}`,message:`${(0,m.F)(L.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(K.startedAt.getTime()+10*n.E),resolvedAt:K.recoveredAt}),latencyA:Q("latency-a",c.slow[0]),latencyB:Q("latency-b",c.slow[1]),oldDeploy:E("DeploymentFailed",M.id,{id:z("resolved","old-deploy"),resourceId:M.id,title:M.name,message:`Production deployment ${R.sha} failed.`,startedAt:R.start,resolvedAt:P(R.start,y.int(35,70))}),collector:(g=O(6,y.int(1,10)),E("CollectorStale","collector",{id:z("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:g,resolvedAt:P(g,y.int(4,9))})),autoPause:(h=O(6,y.int(12,20)),E("AutoPauseRisk",U.id,{id:z("resolved","auto-pause"),resourceId:U.id,title:U.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:h,resolvedAt:P(h,60*y.int(20,30))})),quota:(q=O(6,y.int(1,8)),E("DbQuotaHigh",S.id,{id:z("resolved","db-quota"),resourceId:S.id,title:S.name,message:`${S.name}: Commands at ${y.int(81,88)}% of the free plan.`,startedAt:q,resolvedAt:P(q,60*y.int(3,6))})),firestore:(r=O(3,y.int(1,6)),E("FirestoreQuotaHigh",T.id,{id:z("resolved","firestore"),resourceId:T.id,title:T.name,message:`${T.name} read ${y.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${y.int(81,92)}%).`,startedAt:r,resolvedAt:P(r,60*y.int(2,5))})),proxied:(s=O(5,y.int(12,20)),E("DnsProxiedToVercel",(t=e.vercelRecord).id,{id:z("resolved","proxied"),resourceId:t.zoneId,title:t.name,message:`${t.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:s,resolvedAt:P(s,24*y.int(2,4)*60)})),credential:(u=O(6,y.int(14,22)),E("CredentialExpiring",d.cloudflare.accountId,{id:z("resolved","credential"),accountId:d.cloudflare.accountId,title:`cloudflare \xb7 ${V}`,message:`The cloudflare credential ${V} expires in 9 days.`,startedAt:u,resolvedAt:P(u,24*y.int(1,2)*60+y.int(10,300))}))};return await v.insert(f.alerts).values([...J,...Object.values(W)]),{firing:{deploy:J[0].id,cert:J[1].id,zone:J[2].id},resolved:{outage:W.outage.id,oldDeploy:{id:W.oldDeploy.id,appId:M.id,appName:M.name,previousExternalId:B.find(a=>a.resource_id===M.id&&a.is_previous_production)?.external_id??null,startedAt:W.oldDeploy.startedAt,resolvedAt:W.oldDeploy.resolvedAt},credential:{title:W.credential.title,resolvedAt:W.credential.resolvedAt}},failedDeploy:D}}var r=a.i(646324),s=a.i(306556);let t=a=>`${a}.example`,u=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],v=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],w=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],x=["sin1","iad1","fra1","hnd1","sfo1"],y=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],z=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],A={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},B=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],C=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function D(a){let{db:b,seed:c,now:d}=a,e=(0,o.k)(c,"apps"),g=e.pick(v),h={id:`team_${(0,o.g)(24,c,"team")}`,name:g.name,slug:g.slug},i=(0,o.T)(c,"account","vercel"),j=(0,n.$)(d,e.int(120,300)*n.h),k=(0,n.$)(d,e.int(3,50)*n.E);await b.insert(f.accounts).values({id:i,provider:"vercel",label:h.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:k,lastSyncAt:k,createdAt:j,updatedAt:k});let l=e.shuffle(u).slice(0,e.int(5,8)).sort().map((a,b)=>({id:(0,o.T)(c,"app",a),index:b,name:a,externalId:`prj_${(0,o.g)(28,c,"project",a)}`,host:t(a),createdAt:(0,n.$)(d,e.int(95,400)*n.h-e.int(0,23)*n.w)}));return await b.insert(f.resources).values(l.map(a=>({id:a.id,accountId:i,kind:"app",externalId:a.externalId,name:a.name,monitored:!0,firstSeenAt:a.createdAt,lastSeenAt:k,createdAt:a.createdAt,updatedAt:k,meta:{teamId:h.id,teamSlug:h.slug,teamName:h.name,framework:e.pick(w),productionBranch:"main",createdAt:a.createdAt.toISOString(),repo:`example-org/${a.name}`,repoType:"github",functionRegions:[e.pick(x)]}}))),await b.insert(f.deployments).values(function(a,b){let{seed:c,now:d}=a,e=(0,o.k)(c,"deployments"),f=e.pick(b).id,g=e.pick(b).id,h=[];for(let a of b){let b=(b,f,g,i,j)=>{let k=(0,n.$)(d,g),l=new Date(k.getTime()+1e3*e.int(3,12)),m="ready"===i?new Date(l.getTime()+1e3*e.int(25,160)):null,p="production"===f?"main":e.pick(y);h.push({id:(0,o.T)(c,"deployment",a.name,b),resourceId:a.id,externalId:`dpl_${(0,o.g)(24,c,"deployment",a.name,b)}`,state:i,target:f,branch:p,commitSha:(0,o.p)(40,c,"commit",a.name,b),commitMessage:j??e.pick(z),source:"git",url:t(`${a.name}-git-${p.replace(/[^a-z0-9]+/g,"-")}-${(0,o.g)(9,c,"deployment-url",a.name,b).toLowerCase()}`),buildingAt:l,readyAt:m,createdAtProvider:k,isCurrent:!1,isPreviousProduction:!1,createdAt:k,updatedAt:m??l})},i=a.id===f,j=e.int(2,5);for(let a=0;a<j;a++){let c=0===a?Math.max(i?5*n.w:0,e.int(1,96)*n.w-e.int(0,40)*n.E):e.int(4+4*a,6+6*a)*n.h+e.int(0,23)*n.w;b(a,"production",c,"ready")}let k=e.int(0,3);for(let a=0;a<k;a++)b(10+a,"preview",e.int(2,240)*n.w+e.int(0,59)*n.E,"ready");i&&b(20,"production",e.int(30,240)*n.E,"error","Refactor the checkout form"),a.id===g&&b(21,"preview",e.int(1,6)*n.E,"building")}for(let a of b){let b=h.filter(b=>b.resourceId===a.id&&"production"===b.target&&"ready"===b.state).map(a=>({id:a.externalId,createdAt:a.createdAtProvider})),{currentId:c,previousId:d}=(0,r.a)(b,null);for(let b of h)b.resourceId===a.id&&(b.isCurrent=b.externalId===c,b.isPreviousProduction=b.externalId===d)}return h}(a,l)),{accountId:i,team:h,apps:l}}async function E(a,b,c){let{db:d,seed:e,now:g}=a,h=(0,o.k)(e,"snapshots"),i=(0,n.$)(g,1e3*h.int(5,40));await d.insert(f.snapshots).values(b.apps.map(a=>{var b,d;let e,f,j,k,l,m=c.filter(b=>b.appId===a.id),o=(0,s.V)({monitors:m.map(a=>a.state),building:!1,dbPaused:!1}),p=m.find(a=>"err"===a.state)??m.find(a=>"warn"===a.state),q=p?.stateSince??new Date(Math.max(...m.map(a=>a.stateSince.getTime())));return{resourceId:a.id,state:o,stateSince:q,collectedAt:i,data:{code:p?.lastStatus??null,latencyMs:m[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(b=h,d=g,f=Math.floor((e=(0,n.$)(d,b.int(2,25)*n.E)).getTime()/n.w)*n.w,j=b.int(20,400),{enabled:!0,total24h:l=(k=Array.from({length:24},(a,c)=>{let d=f-(23-c)*n.w,e=.15+.85*Math.max(0,Math.sin(((new Date(d).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(d).toISOString(),Math.round(j*e*(.7+.6*b.next()))]})).reduce((a,[,b])=>a+b,0),visitors24h:Math.round(l*(.3+.2*b.next())),hourly:k,readAt:e.toISOString()})}}}))}var F=a.i(169286),G=a.i(273133),H=a.i(688275),I=a.i(697365);let J="demo",K={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function L(a,b){let{db:c,seed:d,now:e}=a,g=(0,o.k)(d,"databases"),h=b.team,i=a=>(0,o.T)(d,"account",a),j=(0,n.$)(e,g.int(4,40)*n.E);await c.insert(f.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(a=>{let b=(0,n.$)(e,g.int(60,280)*n.h);return{id:i(a),provider:a,label:"firebase"===a?`${h.slug}-firebase`:h.name,credentialCiphertext:J,credentialIv:J,credentialKind:K[a],status:"ok",lastTestAt:j,lastSyncAt:j,createdAt:b,updatedAt:j}}));let k=(0,o.p)(32,d,"cloudflare-account"),l=[{kind:"supabase_project",provider:"supabase",externalId:(0,o.g)(20,d,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${g.pick(["silent","quiet","misty","bold","calm"])}-${g.pick(["river","meadow","forest","harbor","dune"])}-${(0,o.p)(8,d,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${h.slug.split("-")[0]}-notes-${(0,o.p)(5,d,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,o.T)(d,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,o.T)(d,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,o.T)(d,"d1-db")}].map(({kind:a,provider:b,externalId:c})=>{let f=g.pick(A[a]),j=(0,n.$)(e,g.int(40,300)*n.h),l="supabase_project"===a?{orgSlug:h.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:j.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===a?{orgId:`org-${(0,o.p)(8,d,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:j.toISOString()}:"firestore"===a?{projectId:c}:"turso_database"===a?{org:h.slug,group:"default",region:"sin"}:"upstash_redis"===a?{region:"ap-southeast-1",type:"free"}:{accountId:k,createdAt:j.toISOString()};return{id:(0,o.T)(d,"db",a),kind:a,name:f,externalId:c,accountId:i(b),meta:l,createdAt:j}});await c.insert(f.resources).values(l.map(a=>({id:a.id,accountId:a.accountId,kind:a.kind,externalId:a.externalId,name:a.name,monitored:!0,meta:a.meta,firstSeenAt:a.createdAt,lastSeenAt:j,createdAt:a.createdAt,updatedAt:j})));let m=a=>l.find(b=>b.kind===a),p=a=>(0,n.$)(e,a*n.E+1e3*g.int(0,50)),q=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),1)),r=new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth()+1,1)),s=(e.getTime()-q.getTime())/(r.getTime()-q.getTime()),t=[{id:`ep-${(0,o.g)(12,d,"neon-ep").toLowerCase()}`,branchId:`br-${(0,o.g)(12,d,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,n.$)(e,g.int(20,300)*n.E).toISOString()}],u=Math.round((8+50*s+g.int(0,10))*3600),v=(0,H.p)({endpoints:t,computeSeconds:u}),w=[{id:m("supabase_project").id,state:"ok",since:(0,n.$)(e,g.int(20,90)*n.h),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:h.slug,freeOrg:!0,lastTrafficAt:(0,n.$)(e,g.int(3,50)*n.E).toISOString(),trafficAt:(0,n.$)(e,g.int(1,4)*n.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,n.$)(e,g.int(1,4)*n.E).toISOString(),sizeBytes:1048576*g.int(38,140)+g.int(0,1048576),sizeAt:(0,n.$)(e,g.int(4,20)*n.w).toISOString(),lastGoodState:"ok"}},{id:m("neon_project").id,state:"ok"===v.state?"ok":"idle",since:(0,n.$)(e,g.int(20,300)*n.E),at:p(g.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:m("neon_project").meta.orgId,computeSeconds:u,transferBytes:Math.round((.2+1.6*s)*0x40000000),periodStart:q.toISOString(),periodEnd:r.toISOString(),activeSeconds:Math.round(u/1.4),endpoints:t,branches:[{id:t[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*g.int(120,380)},{id:`br-${(0,o.g)(12,d,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*g.int(60,160)}],lastGoodState:"ok"===v.state?"ok":"idle"}},{id:m("firestore").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(1),data:{displayName:m("firestore").name,latencyMs:g.int(70,190),reads:g.int(4e3,22e3),writes:g.int(800,6e3),deletes:g.int(20,400),opsAt:(0,n.$)(e,g.int(10,50)*n.E).toISOString(),authUsers:g.int(80,2400),authAt:(0,n.$)(e,g.int(2,20)*n.w).toISOString(),lastGoodState:"ok"}},{id:m("turso_database").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{org:h.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*s)*1e6),rowsWritten:Math.round((.2+2.2*s)*1e6),storageBytes:1048576*g.int(40,600),orgRowsRead:Math.round((25+160*s)*1e6),orgRowsWritten:Math.round((.3+2.6*s)*1e6),orgStorageBytes:1048576*g.int(700,1400),orgDatabases:3,usageAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}},{id:m("upstash_redis").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:g.int(2e3,9e3),monthlyRequests:Math.round((20+180*s)*1e3)+g.int(0,999),storageBytes:1048576*g.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*s)*0x40000000),statsAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}},{id:m("d1_database").id,state:"ok",since:(0,n.$)(e,g.int(10,60)*n.h),at:p(g.int(5,50)),data:{accountId:k,createdAt:m("d1_database").createdAt.toISOString(),sizeBytes:1048576*g.int(4,120),numTables:g.int(4,12),readReplication:"disabled",detailsAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),rowsRead:g.int(4e4,9e5),rowsWritten:g.int(1e3,3e4),readQueries:g.int(4e3,6e4),writeQueries:g.int(300,6e3),accountRowsRead:g.int(9e5,18e5),accountRowsWritten:g.int(3e4,55e3),accountSizeBytes:1048576*g.int(200,900),accountDatabases:2,usageDay:e.toISOString().slice(0,10),usageAt:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),lastGoodState:"ok"}}];await c.insert(f.snapshots).values(w.map(a=>({resourceId:a.id,state:a.state,stateSince:a.since,collectedAt:a.at,data:a.data}))),await c.insert(f.settings).values({key:I.F,value:{[i("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,n.$)(e,g.int(5,50)*n.E).toISOString(),note:null}},createdAt:(0,n.$)(e,30*n.h),updatedAt:e});let x=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],y=b.apps.slice(0,Math.max(4,b.apps.length-1));return await c.insert(f.links).values(y.map((a,b)=>({id:(0,o.T)(d,"link",a.name),fromResourceId:a.id,toResourceId:m(x[b]).id,kind:"uses_db",source:"manual",createdAt:(0,n.$)(e,g.int(20,90)*n.h),updatedAt:(0,n.$)(e,g.int(1,19)*n.h)}))),await M(a,m("supabase_project").id),await c.insert(f.keepActive).values({resourceId:m("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,n.$)(e,g.int(2,20)*n.w),updatedAt:(0,n.$)(e,12*n.h)}),{dbs:l.map(({id:a,kind:b,name:c,externalId:d,accountId:e})=>({id:a,kind:b,name:c,externalId:d,accountId:e})),cloudflare:{accountId:i("cloudflare"),cfAccountId:k,label:h.name}}}async function M(a,b){let{db:c,seed:d,now:e}=a,f=(0,o.k)(d,"compute"),g=(0,n.$)(e,f.int(1,4)*n.E),h=Array.from({length:24},(a,c)=>{let d=new Date((0,G.b)(e).getTime()-c*n.w),g=Math.round((6+18*f.next())*10)/10,h=Math.round((34+14*f.next())*10)/10;return{resourceId:b,hour:d,samples:0===c?Math.max(1,Math.floor((e.getTime()-d.getTime())/(5*n.E))):12,cpuSamples:0===c?1:11,cpuAvg:g,cpuMax:Math.round(10*Math.min(70,g*(1.4+f.next())))/10,memAvg:h,memMax:Math.round(10*Math.min(85,h+6*f.next()))/10,diskPct:9.8,connUsed:f.int(8,22),connMax:60}}),i={cpuPct:h[0].cpuAvg,memPct:h[0].memAvg,diskPct:9.8,connUsed:h[0].connUsed,connMax:60,at:g.toISOString(),prev:null,recent:Array.from({length:6},(a,b)=>({at:(0,n.$)(g,(5-b)*5*n.E).toISOString(),cpu:Math.round((6+18*f.next())*10)/10}))};await c.insert(F.A).values({resourceId:b,keyCiphertext:J,keyIv:J,latest:i,lastTryAt:g,lastOkAt:g,createdAt:(0,n.$)(e,21*n.h),updatedAt:g}),await c.insert(F.l).values(h.filter(a=>a.hour.getTime()<=e.getTime()))}var N=a.i(245710),O=a.i(615089);let P=7*n.h;async function Q(a,b,c,d,e,g){let{db:h,seed:k,now:l}=a,p=(0,o.k)(k,"events"),q=[],r=(a,b)=>q.push({id:(0,o.T)(k,"event",a),count:1,...b});for(let a of(0,j.f)(await h.execute(i.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
|
|
2
|
-
where created_at_provider > ${new Date(
|
|
1
|
+
module.exports=[601533,a=>{"use strict";var b=a.i(7584),c=a.i(837137),d=a.i(159203),e=a.i(745614),f=a.i(351674),g=a.i(263251),h=a.i(927262),i=a.i(233711),j=a.i(469762),k=a.i(988866),l=a.i(109505);let m=(a,b)=>`${a} ${b}${1===a?"":"s"}`;async function n(a,b,d,e,n){let o,p,q,r,s,t,u,{db:v,seed:w,now:x}=a,y=(0,l.k)(w,"alerts"),z=(...a)=>(0,l.T)(w,"alert",...a),A=a=>b.apps.find(b=>b.id===a)?.name??"app",B=(0,g.f)(await v.execute(f.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),C=B.find(a=>"error"===a.state&&"production"===a.target),D={appId:C.resource_id,appName:A(C.resource_id),sha:C.commit_sha.slice(0,7),createdAt:new Date(C.created_at_provider),currentExternalId:B.find(a=>a.resource_id===C.resource_id&&a.is_current)?.external_id??null},E=(a,b,c)=>{let d=c.resolvedAt??null;return{ruleKey:a,subject:b,severity:h._[a].severity,resourceId:null,accountId:null,okStreak:2*!!d,lastSeenAt:d??(0,k.$)(x,1e3*y.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==h._[a].severity,lastNotifiedAt:d??new Date(c.startedAt.getTime()+k.E),pending:null,pendingSince:null,...c}},F=n.certSoon,G=(0,i.g)(F.notAfter,x)??0,H=n.zoneSoon,I=(0,i.g)(H.expiresAt,x)??0,J=[E("DeploymentFailed",D.appId,{id:z("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*y.int(60,150))}),E("CertExpiringSoon",F.id,{id:z("firing","cert"),resourceId:F.id,title:F.name,message:`The TLS certificate of ${F.name} expires in ${m(G,"day")}.`,startedAt:new Date(F.notAfter.getTime()-14*k.h+y.int(5,55)*k.E)}),E("DomainExpiringSoon",H.id,{id:z("firing","zone"),resourceId:H.id,title:H.name,message:`${H.name} expires in ${m(I,"day")}.`,startedAt:new Date(H.expiresAt.getTime()-30*k.h+y.int(5,55)*k.E)})],K=d.outage,L=d.monitors.find(a=>a.id===K.monitorId),M=b.apps.find(a=>a.id!==D.appId)??b.apps[0],N=a=>e.dbs.find(b=>b.kind===a),O=(a,b)=>(0,k.$)(x,a*k.h+b*k.w+y.int(0,50)*k.E),P=(a,b)=>new Date(a.getTime()+b*k.E),Q=(a,b)=>{let c=d.monitors.find(a=>a.id===b.monitorId);return E("HighLatency",c.id,{id:z("resolved",a),resourceId:c.appId,title:`${A(c.appId)} ${c.path}`,message:`p95 ${b.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:b.firedAt,resolvedAt:b.resolvedAt})},R={start:O(4,y.int(1,9)),sha:(0,l.p)(7,w,"old-failed",M.name)},S=N("upstash_redis"),T=N("firestore"),U=N("supabase_project"),V=e.cloudflare.label,W={outage:E("MonitorDown",L.id,{id:z("resolved","outage"),resourceId:L.appId,title:`${A(L.appId)} ${L.path}`,message:`${(0,j.F)(L.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(K.startedAt.getTime()+10*k.E),resolvedAt:K.recoveredAt}),latencyA:Q("latency-a",d.slow[0]),latencyB:Q("latency-b",d.slow[1]),oldDeploy:E("DeploymentFailed",M.id,{id:z("resolved","old-deploy"),resourceId:M.id,title:M.name,message:`Production deployment ${R.sha} failed.`,startedAt:R.start,resolvedAt:P(R.start,y.int(35,70))}),collector:(o=O(6,y.int(1,10)),E("CollectorStale","collector",{id:z("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:o,resolvedAt:P(o,y.int(4,9))})),autoPause:(p=O(6,y.int(12,20)),E("AutoPauseRisk",U.id,{id:z("resolved","auto-pause"),resourceId:U.id,title:U.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:p,resolvedAt:P(p,60*y.int(20,30))})),quota:(q=O(6,y.int(1,8)),E("DbQuotaHigh",S.id,{id:z("resolved","db-quota"),resourceId:S.id,title:S.name,message:`${S.name}: Commands at ${y.int(81,88)}% of the free plan.`,startedAt:q,resolvedAt:P(q,60*y.int(3,6))})),firestore:(r=O(3,y.int(1,6)),E("FirestoreQuotaHigh",T.id,{id:z("resolved","firestore"),resourceId:T.id,title:T.name,message:`${T.name} read ${y.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${y.int(81,92)}%).`,startedAt:r,resolvedAt:P(r,60*y.int(2,5))})),proxied:(s=O(5,y.int(12,20)),E("DnsProxiedToVercel",(t=n.vercelRecord).id,{id:z("resolved","proxied"),resourceId:t.zoneId,title:t.name,message:`${t.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:s,resolvedAt:P(s,24*y.int(2,4)*60)})),credential:(u=O(6,y.int(14,22)),E("CredentialExpiring",e.cloudflare.accountId,{id:z("resolved","credential"),accountId:e.cloudflare.accountId,title:`cloudflare \xb7 ${V}`,message:`The cloudflare credential ${V} expires in 9 days.`,startedAt:u,resolvedAt:P(u,24*y.int(1,2)*60+y.int(10,300))}))};return await v.insert(c.alerts).values([...J,...Object.values(W)]),{firing:{deploy:J[0].id,cert:J[1].id,zone:J[2].id},resolved:{outage:W.outage.id,oldDeploy:{id:W.oldDeploy.id,appId:M.id,appName:M.name,previousExternalId:B.find(a=>a.resource_id===M.id&&a.is_previous_production)?.external_id??null,startedAt:W.oldDeploy.startedAt,resolvedAt:W.oldDeploy.resolvedAt},credential:{title:W.credential.title,resolvedAt:W.credential.resolvedAt}},failedDeploy:D}}var o=a.i(646324),p=a.i(306556);let q=a=>`${a}.example`,r=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],s=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],t=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],u=["sin1","iad1","fra1","hnd1","sfo1"],v=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],w=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],x={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},y=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],z=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function A(a){let{db:b,seed:d,now:e}=a,f=(0,l.k)(d,"apps"),g=f.pick(s),h={id:`team_${(0,l.g)(24,d,"team")}`,name:g.name,slug:g.slug},i=(0,l.T)(d,"account","vercel"),j=(0,k.$)(e,f.int(120,300)*k.h),m=(0,k.$)(e,f.int(3,50)*k.E);await b.insert(c.accounts).values({id:i,provider:"vercel",label:h.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:m,lastSyncAt:m,createdAt:j,updatedAt:m});let n=f.shuffle(r).slice(0,f.int(5,8)).sort().map((a,b)=>({id:(0,l.T)(d,"app",a),index:b,name:a,externalId:`prj_${(0,l.g)(28,d,"project",a)}`,host:q(a),createdAt:(0,k.$)(e,f.int(95,400)*k.h-f.int(0,23)*k.w)}));return await b.insert(c.resources).values(n.map(a=>({id:a.id,accountId:i,kind:"app",externalId:a.externalId,name:a.name,monitored:!0,firstSeenAt:a.createdAt,lastSeenAt:m,createdAt:a.createdAt,updatedAt:m,meta:{teamId:h.id,teamSlug:h.slug,teamName:h.name,framework:f.pick(t),productionBranch:"main",createdAt:a.createdAt.toISOString(),repo:`example-org/${a.name}`,repoType:"github",functionRegions:[f.pick(u)]}}))),await b.insert(c.deployments).values(function(a,b){let{seed:c,now:d}=a,e=(0,l.k)(c,"deployments"),f=e.pick(b).id,g=e.pick(b).id,h=[];for(let a of b){let b=(b,f,g,i,j)=>{let m=(0,k.$)(d,g),n=new Date(m.getTime()+1e3*e.int(3,12)),o="ready"===i?new Date(n.getTime()+1e3*e.int(25,160)):null,p="production"===f?"main":e.pick(v);h.push({id:(0,l.T)(c,"deployment",a.name,b),resourceId:a.id,externalId:`dpl_${(0,l.g)(24,c,"deployment",a.name,b)}`,state:i,target:f,branch:p,commitSha:(0,l.p)(40,c,"commit",a.name,b),commitMessage:j??e.pick(w),source:"git",url:q(`${a.name}-git-${p.replace(/[^a-z0-9]+/g,"-")}-${(0,l.g)(9,c,"deployment-url",a.name,b).toLowerCase()}`),buildingAt:n,readyAt:o,createdAtProvider:m,isCurrent:!1,isPreviousProduction:!1,createdAt:m,updatedAt:o??n})},i=a.id===f,j=e.int(2,5);for(let a=0;a<j;a++){let c=0===a?Math.max(i?5*k.w:0,e.int(1,96)*k.w-e.int(0,40)*k.E):e.int(4+4*a,6+6*a)*k.h+e.int(0,23)*k.w;b(a,"production",c,"ready")}let m=e.int(0,3);for(let a=0;a<m;a++)b(10+a,"preview",e.int(2,240)*k.w+e.int(0,59)*k.E,"ready");i&&b(20,"production",e.int(30,240)*k.E,"error","Refactor the checkout form"),a.id===g&&b(21,"preview",e.int(1,6)*k.E,"building")}for(let a of b){let b=h.filter(b=>b.resourceId===a.id&&"production"===b.target&&"ready"===b.state).map(a=>({id:a.externalId,createdAt:a.createdAtProvider})),{currentId:c,previousId:d}=(0,o.a)(b,null);for(let b of h)b.resourceId===a.id&&(b.isCurrent=b.externalId===c,b.isPreviousProduction=b.externalId===d)}return h}(a,n)),{accountId:i,team:h,apps:n}}async function B(a,b,d){let{db:e,seed:f,now:g}=a,h=(0,l.k)(f,"snapshots"),i=(0,k.$)(g,1e3*h.int(5,40));await e.insert(c.snapshots).values(b.apps.map(a=>{var b,c;let e,f,j,l,m,n=d.filter(b=>b.appId===a.id),o=(0,p.V)({monitors:n.map(a=>a.state),building:!1,dbPaused:!1}),q=n.find(a=>"err"===a.state)??n.find(a=>"warn"===a.state),r=q?.stateSince??new Date(Math.max(...n.map(a=>a.stateSince.getTime())));return{resourceId:a.id,state:o,stateSince:r,collectedAt:i,data:{code:q?.lastStatus??null,latencyMs:n[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(b=h,c=g,f=Math.floor((e=(0,k.$)(c,b.int(2,25)*k.E)).getTime()/k.w)*k.w,j=b.int(20,400),{enabled:!0,total24h:m=(l=Array.from({length:24},(a,c)=>{let d=f-(23-c)*k.w,e=.15+.85*Math.max(0,Math.sin(((new Date(d).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(d).toISOString(),Math.round(j*e*(.7+.6*b.next()))]})).reduce((a,[,b])=>a+b,0),visitors24h:Math.round(m*(.3+.2*b.next())),hourly:l,readAt:e.toISOString()})}}}))}var C=a.i(169286),D=a.i(273133),E=a.i(688275),F=a.i(697365);let G="demo",H={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function I(a,b){let{db:d,seed:e,now:f}=a,g=(0,l.k)(e,"databases"),h=b.team,i=a=>(0,l.T)(e,"account",a),j=(0,k.$)(f,g.int(4,40)*k.E);await d.insert(c.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(a=>{let b=(0,k.$)(f,g.int(60,280)*k.h);return{id:i(a),provider:a,label:"firebase"===a?`${h.slug}-firebase`:h.name,credentialCiphertext:G,credentialIv:G,credentialKind:H[a],status:"ok",lastTestAt:j,lastSyncAt:j,createdAt:b,updatedAt:j}}));let m=(0,l.p)(32,e,"cloudflare-account"),n=[{kind:"supabase_project",provider:"supabase",externalId:(0,l.g)(20,e,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${g.pick(["silent","quiet","misty","bold","calm"])}-${g.pick(["river","meadow","forest","harbor","dune"])}-${(0,l.p)(8,e,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${h.slug.split("-")[0]}-notes-${(0,l.p)(5,e,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,l.T)(e,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,l.T)(e,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,l.T)(e,"d1-db")}].map(({kind:a,provider:b,externalId:c})=>{let d=g.pick(x[a]),j=(0,k.$)(f,g.int(40,300)*k.h),n="supabase_project"===a?{orgSlug:h.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:j.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===a?{orgId:`org-${(0,l.p)(8,e,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:j.toISOString()}:"firestore"===a?{projectId:c}:"turso_database"===a?{org:h.slug,group:"default",region:"sin"}:"upstash_redis"===a?{region:"ap-southeast-1",type:"free"}:{accountId:m,createdAt:j.toISOString()};return{id:(0,l.T)(e,"db",a),kind:a,name:d,externalId:c,accountId:i(b),meta:n,createdAt:j}});await d.insert(c.resources).values(n.map(a=>({id:a.id,accountId:a.accountId,kind:a.kind,externalId:a.externalId,name:a.name,monitored:!0,meta:a.meta,firstSeenAt:a.createdAt,lastSeenAt:j,createdAt:a.createdAt,updatedAt:j})));let o=a=>n.find(b=>b.kind===a),p=a=>(0,k.$)(f,a*k.E+1e3*g.int(0,50)),q=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth(),1)),r=new Date(Date.UTC(f.getUTCFullYear(),f.getUTCMonth()+1,1)),s=(f.getTime()-q.getTime())/(r.getTime()-q.getTime()),t=[{id:`ep-${(0,l.g)(12,e,"neon-ep").toLowerCase()}`,branchId:`br-${(0,l.g)(12,e,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,k.$)(f,g.int(20,300)*k.E).toISOString()}],u=Math.round((8+50*s+g.int(0,10))*3600),v=(0,E.p)({endpoints:t,computeSeconds:u}),w=[{id:o("supabase_project").id,state:"ok",since:(0,k.$)(f,g.int(20,90)*k.h),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:h.slug,freeOrg:!0,lastTrafficAt:(0,k.$)(f,g.int(3,50)*k.E).toISOString(),trafficAt:(0,k.$)(f,g.int(1,4)*k.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,k.$)(f,g.int(1,4)*k.E).toISOString(),sizeBytes:1048576*g.int(38,140)+g.int(0,1048576),sizeAt:(0,k.$)(f,g.int(4,20)*k.w).toISOString(),lastGoodState:"ok"}},{id:o("neon_project").id,state:"ok"===v.state?"ok":"idle",since:(0,k.$)(f,g.int(20,300)*k.E),at:p(g.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:o("neon_project").meta.orgId,computeSeconds:u,transferBytes:Math.round((.2+1.6*s)*0x40000000),periodStart:q.toISOString(),periodEnd:r.toISOString(),activeSeconds:Math.round(u/1.4),endpoints:t,branches:[{id:t[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*g.int(120,380)},{id:`br-${(0,l.g)(12,e,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*g.int(60,160)}],lastGoodState:"ok"===v.state?"ok":"idle"}},{id:o("firestore").id,state:"ok",since:(0,k.$)(f,g.int(10,60)*k.h),at:p(1),data:{displayName:o("firestore").name,latencyMs:g.int(70,190),reads:g.int(4e3,22e3),writes:g.int(800,6e3),deletes:g.int(20,400),opsAt:(0,k.$)(f,g.int(10,50)*k.E).toISOString(),authUsers:g.int(80,2400),authAt:(0,k.$)(f,g.int(2,20)*k.w).toISOString(),lastGoodState:"ok"}},{id:o("turso_database").id,state:"ok",since:(0,k.$)(f,g.int(10,60)*k.h),at:p(g.int(5,50)),data:{org:h.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*s)*1e6),rowsWritten:Math.round((.2+2.2*s)*1e6),storageBytes:1048576*g.int(40,600),orgRowsRead:Math.round((25+160*s)*1e6),orgRowsWritten:Math.round((.3+2.6*s)*1e6),orgStorageBytes:1048576*g.int(700,1400),orgDatabases:3,usageAt:(0,k.$)(f,g.int(5,50)*k.E).toISOString(),lastGoodState:"ok"}},{id:o("upstash_redis").id,state:"ok",since:(0,k.$)(f,g.int(10,60)*k.h),at:p(g.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:g.int(2e3,9e3),monthlyRequests:Math.round((20+180*s)*1e3)+g.int(0,999),storageBytes:1048576*g.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*s)*0x40000000),statsAt:(0,k.$)(f,g.int(5,50)*k.E).toISOString(),lastGoodState:"ok"}},{id:o("d1_database").id,state:"ok",since:(0,k.$)(f,g.int(10,60)*k.h),at:p(g.int(5,50)),data:{accountId:m,createdAt:o("d1_database").createdAt.toISOString(),sizeBytes:1048576*g.int(4,120),numTables:g.int(4,12),readReplication:"disabled",detailsAt:(0,k.$)(f,g.int(5,50)*k.E).toISOString(),rowsRead:g.int(4e4,9e5),rowsWritten:g.int(1e3,3e4),readQueries:g.int(4e3,6e4),writeQueries:g.int(300,6e3),accountRowsRead:g.int(9e5,18e5),accountRowsWritten:g.int(3e4,55e3),accountSizeBytes:1048576*g.int(200,900),accountDatabases:2,usageDay:f.toISOString().slice(0,10),usageAt:(0,k.$)(f,g.int(5,50)*k.E).toISOString(),lastGoodState:"ok"}}];await d.insert(c.snapshots).values(w.map(a=>({resourceId:a.id,state:a.state,stateSince:a.since,collectedAt:a.at,data:a.data}))),await d.insert(c.settings).values({key:F.F,value:{[i("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,k.$)(f,g.int(5,50)*k.E).toISOString(),note:null}},createdAt:(0,k.$)(f,30*k.h),updatedAt:f});let y=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],z=b.apps.slice(0,Math.max(4,b.apps.length-1));return await d.insert(c.links).values(z.map((a,b)=>({id:(0,l.T)(e,"link",a.name),fromResourceId:a.id,toResourceId:o(y[b]).id,kind:"uses_db",source:"manual",createdAt:(0,k.$)(f,g.int(20,90)*k.h),updatedAt:(0,k.$)(f,g.int(1,19)*k.h)}))),await J(a,o("supabase_project").id),await d.insert(c.keepActive).values({resourceId:o("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,k.$)(f,g.int(2,20)*k.w),updatedAt:(0,k.$)(f,12*k.h)}),{dbs:n.map(({id:a,kind:b,name:c,externalId:d,accountId:e})=>({id:a,kind:b,name:c,externalId:d,accountId:e})),cloudflare:{accountId:i("cloudflare"),cfAccountId:m,label:h.name}}}async function J(a,b){let{db:c,seed:d,now:e}=a,f=(0,l.k)(d,"compute"),g=(0,k.$)(e,f.int(1,4)*k.E),h=Array.from({length:24},(a,c)=>{let d=new Date((0,D.b)(e).getTime()-c*k.w),g=Math.round((6+18*f.next())*10)/10,h=Math.round((34+14*f.next())*10)/10;return{resourceId:b,hour:d,samples:0===c?Math.max(1,Math.floor((e.getTime()-d.getTime())/(5*k.E))):12,cpuSamples:0===c?1:11,cpuAvg:g,cpuMax:Math.round(10*Math.min(70,g*(1.4+f.next())))/10,memAvg:h,memMax:Math.round(10*Math.min(85,h+6*f.next()))/10,diskPct:9.8,connUsed:f.int(8,22),connMax:60}}),i={cpuPct:h[0].cpuAvg,memPct:h[0].memAvg,diskPct:9.8,connUsed:h[0].connUsed,connMax:60,at:g.toISOString(),prev:null,recent:Array.from({length:6},(a,b)=>({at:(0,k.$)(g,(5-b)*5*k.E).toISOString(),cpu:Math.round((6+18*f.next())*10)/10}))};await c.insert(C.A).values({resourceId:b,keyCiphertext:G,keyIv:G,latest:i,lastTryAt:g,lastOkAt:g,createdAt:(0,k.$)(e,21*k.h),updatedAt:g}),await c.insert(C.l).values(h.filter(a=>a.hour.getTime()<=e.getTime()))}var K=a.i(245710),L=a.i(615089);let M=7*k.h;async function N(a,b,d,e,h,i){let{db:m,seed:n,now:o}=a,p=(0,l.k)(n,"events"),q=[],r=(a,b)=>q.push({id:(0,l.T)(n,"event",a),count:1,...b});for(let a of(0,g.f)(await m.execute(f.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
|
|
2
|
+
where created_at_provider > ${new Date(o.getTime()-M).toISOString()}::timestamptz`))){let b=`${a.branch??"unknown branch"} \xb7 ${a.commit_sha?a.commit_sha.slice(0,7):"no commit"}`,c=new Date(a.created_at_provider),d=a.building_at?new Date(a.building_at):c;r(`${a.external_id}:start`,{at:d,resourceId:a.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:b,reason:"DeployStarted"}),"ready"===a.state&&a.ready_at&&r(`${a.external_id}:ready`,{at:new Date(a.ready_at),resourceId:a.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:b,reason:"DeployReady"}),"error"===a.state&&r(`${a.external_id}:failed`,{at:new Date(d.getTime()+1e3*p.int(40,110)),resourceId:a.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:b,reason:"DeployFailed"})}let s=d.outage,t=d.monitors.find(a=>a.id===s.monitorId),u=(a,b,c,d,e,f,g)=>r(a,{at:b,resourceId:c,type:"monitor",kind:d,message:e,detail:f,reason:g});u("outage:warn",s.startedAt,s.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),u("outage:err",new Date(s.startedAt.getTime()+10*k.E),s.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),u("outage:ok",s.recoveredAt,s.appId,"ok","Monitor recovered",`${t.path} answers again`,"MonitorRecovered"),d.degraded&&u("degraded:warn",d.degraded.since,d.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let v=h.certSoon,w=h.zoneSoon,x=new Date(v.notAfter.getTime()-14*k.h+p.int(5,50)*k.E),y=new Date(w.expiresAt.getTime()-30*k.h+p.int(5,50)*k.E);r("net:cert",{at:x,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),r("net:zone",{at:y,resourceId:w.id,type:"system",kind:"warn",message:`${w.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let z=new Date(o);z.setUTCHours(20,0,0,0),z.getTime()>o.getTime()-5*k.E&&z.setTime(z.getTime()-k.h);for(let a=0;a<7;a++){let b=new Date(z.getTime()-a*k.h+1e3*p.int(20,90));r(`daily:${a}`,{at:b,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let A=(0,L.demoUserId)(n),B=(a,b,c,d,e=null)=>r(`action:${a}`,{at:(0,k.$)(o,b*k.h+p.int(1,10)*k.w+p.int(0,59)*k.E),resourceId:d,type:"action",kind:"ok",message:c,detail:e,actorUserId:A,reason:"Action"}),C=d.monitors.find(a=>"/api/health"===a.path)??d.monitors[0],D=b.apps[0],E=e.dbs.find(a=>"supabase_project"===a.kind);B("monitor-added",6,`Monitor added: ${(0,j.F)(C.url)}`,C.appId),B("db-link",5,`Database link: ${D.name} → ${E.name}`,D.id),B("keep-active",5,`Keep active on: ${E.name}`,E.id),B("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),B("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,K.D)()}, 30 min`),B("check-now",1,`Check now: ${(0,j.F)(t.url)}`,t.appId);let F=i.resolved.credential;r("action:credential",{at:new Date(F.resolvedAt.getTime()-p.int(2,9)*k.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${F.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:A,reason:"Action"}),r("action:auto-recheck",{at:new Date(s.startedAt.getTime()+11*k.E+3e3),resourceId:t.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,j.F)(t.url)}`,detail:null,actorUserId:null,reason:"Action"}),await m.insert(c.events).values(q.sort((a,b)=>a.at.getTime()-b.at.getTime()))}let O="76.76.21.21";async function P(a,b,d){let{db:e,seed:f,now:g}=a,h=(0,l.k)(f,"network"),j=a=>(0,k.$)(g,h.int(10,60*a)*k.E).toISOString(),m=d.cloudflare,n=h.shuffle(y).slice(0,2).map((a,b)=>({id:(0,l.T)(f,"zone",a),name:q(a),expiresAt:new Date(1===b?g.getTime()+h.int(12,24)*k.h+h.int(1,20)*k.w:g.getTime()+h.int(200,600)*k.h)})),o=a=>a.split("-").slice(1).join("-")||a,p=b.apps,r=[{name:n[0].name,app:p[0]},...[0,1,2].map(a=>({name:`${o(p[a].name)}.${n[0].name}`,app:p[a]})),...[3,4].map(a=>({name:`${o(p[a%p.length].name)}.${n[1].name}`,app:p[a%p.length]}))],s=h.int(1,3),t=r.map((a,b)=>({id:(0,l.T)(f,"domain",a.name),name:a.name,appId:a.app.id,notAfter:new Date(b===s?g.getTime()+h.int(4,9)*k.h+h.int(1,20)*k.w:g.getTime()+h.int(30,85)*k.h)})),u=(a,b,c,d,e,g=null)=>({id:(0,l.p)(32,f,"dns",a,b,c),type:b,name:c,content:d,proxied:e,ttl:e?1:300,comment:g}),v=n.map(a=>{let b=[...t.filter(b=>b.name===a.name||b.name.endsWith(`.${a.name}`)).map(b=>u(a.name,"A",b.name,O,!1,"Vercel")),u(a.name,"MX",a.name,q("mx1.mail"),!1),u(a.name,"TXT",a.name,`v=spf1 include:_spf.${q("mail")} ~all`,!1),u(a.name,"A",`legacy.${a.name}`,`192.0.2.${h.int(10,200)}`,!0,"Old server, kept for redirects")],c={expiresAt:a.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:j(20)},d={status:"active",paused:!1,nameServers:[q("ada.ns"),q("bob.ns")],accountId:m.cfAccountId,checkedAt:j(1)},e=(0,i.G)({status:d.status,paused:d.paused,rdap:c},g),f={zone:d,ssl:{mode:"strict",error:null},records:b,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[a.name,`*.${a.name}`],expiresOn:new Date(g.getTime()+h.int(40,80)*k.h).toISOString()}],rdap:c,reasons:e.reasons};return{z:a,records:b,rdap:c,state:e.state,data:f}}),w=(0,k.$)(g,h.int(150,380)*k.h),x=(0,k.$)(g,h.int(5,50)*k.E);await e.insert(c.resources).values(n.map(a=>({id:a.id,accountId:m.accountId,kind:"zone",externalId:(0,l.p)(32,f,"zone-id",a.name),name:a.name,monitored:!0,meta:{status:"active",accountId:m.cfAccountId,accountName:m.label},firstSeenAt:w,lastSeenAt:x,createdAt:w,updatedAt:x}))),await e.insert(c.resources).values(t.map(a=>{let c=p.find(b=>b.id===a.appId);return{id:a.id,accountId:b.accountId,kind:"domain",externalId:a.name,name:a.name,parentId:a.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:c.externalId},firstSeenAt:w,lastSeenAt:x,createdAt:w,updatedAt:x}}));let z=["Let's Encrypt","Google Trust Services"];await e.insert(c.snapshots).values([...v.map(a=>({resourceId:a.z.id,state:a.state,stateSince:"ok"===a.state?w:new Date(a.z.expiresAt.getTime()-30*k.h),data:a.data,collectedAt:x})),...t.map(a=>{let b=v.find(b=>a.name===b.z.name||a.name.endsWith(`.${b.z.name}`)),c={notAfter:a.notAfter.toISOString(),issuer:h.pick(z),authorized:!0,error:null,checkedAt:j(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[O],checkedAt:j(6)},e=(0,i.k)({host:a.name,tls:c,vercel:d,records:(0,i.Q)(a.name,b.records),zoneRdap:b.rdap},g),f="ok"===e.state?w:new Date(Math.min(a.notAfter.getTime()-14*k.h,b.z.expiresAt.getTime()-30*k.h));return{resourceId:a.id,state:e.state,stateSince:f,data:{tls:c,vercel:d,reasons:e.reasons},collectedAt:x}})]);let A=v[0].records.find(a=>"A"===a.type&&a.name===n[0].name&&a.content===O);return{zones:n,domains:t,certSoon:t[s],zoneSoon:n[1],vercelRecord:{id:A.id,name:A.name,zoneId:n[0].id}}}let Q=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function R(a,b){let{db:d,seed:e,now:h}=a,i=(0,l.k)(e,"logs"),j=(0,g.f)(await d.execute(f.B`select resource_id, external_id from ops.deployments where is_current`)),m=i.shuffle(b.apps).slice(0,3).flatMap((a,b)=>Array.from({length:i.int(4,8)},(c,d)=>{let f=i.pick(z);return{id:(0,l.T)(e,"log",a.name,d),resourceId:a.id,deploymentId:j.find(b=>b.resource_id===a.id)?.external_id??`dpl_${(0,l.g)(24,e,"log-dpl",b)}`,rowId:`${(0,l.g)(10,e,"log-row",a.name,d).toLowerCase()}-${d}`,at:(0,k.$)(h,i.int(3,2760)*k.E+1e3*i.int(0,59)),level:f.level,message:f.message,requestMethod:f.method,requestPath:f.path,statusCode:f.status,source:"serverless"}}));await d.insert(c.storedLogs).values(m)}async function S(a){let{db:b,seed:d,now:e}=a,f=(0,l.k)(d,"provider-status"),g=(0,k.$)(e,f.int(1,4)*k.E);await b.insert(c.providerStatus).values(Q.map(a=>"cloudflare"===a?{provider:a,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:g,lastOkAt:g,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,k.$)(e,f.int(1,3)*k.w).toISOString(),url:null}]}:{provider:a,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:g,lastOkAt:g,error:null}))}async function T(a){let{db:b,seed:c,now:d}=a,e=(0,l.k)(c,"ai-usage"),g=(0,l.T)(c,"ai-agent","console"),h=e.int(70,140),i=[],j=[],m=[],n=[],o=[],p=[];for(let a=0;a<h;a++){i.push(d.getTime()-e.int(2,10080)*k.E);let a=e.chance(.04);o.push(a?429:200),j.push(a?0:e.int(600,4200)),m.push(a?0:e.int(80,700)),n.push(a?e.int(80,300):e.int(700,4800)),p.push(e.int(1,2))}let q=a=>a.reduce((a,b)=>a+b,0),r=new Date(Math.max(...i));await b.execute(f.B`
|
|
3
3
|
insert into ops.ai_agents (id, key_id, client_name, client_version, via, user_agent, first_seen_at, last_seen_at, requests, tokens_in, tokens_out, recent)
|
|
4
|
-
values (${
|
|
5
|
-
${r.toISOString()}::timestamptz, ${
|
|
4
|
+
values (${g}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,k.$)(d,720*k.w).toISOString()}::timestamptz,
|
|
5
|
+
${r.toISOString()}::timestamptz, ${h}, ${q(j)}, ${q(m)}, ${U(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await b.execute(f.B`
|
|
6
6
|
insert into ops.ai_usage (at, key_id, agent_id, provider_id, model, kind, tool, tokens_in, tokens_out, latency_ms, status, error_class, stream)
|
|
7
|
-
select to_timestamp(t.at / 1000.0), null, ${
|
|
7
|
+
select to_timestamp(t.at / 1000.0), null, ${g}::uuid, null, (array['gemini/gemini-2.5-flash', 'workers-ai/gemma-3-12b-it'])[t.m], 'console', null,
|
|
8
8
|
case when t.s = 429 then null else t.ti end, case when t.s = 429 then null else t.tout end, t.l, t.s,
|
|
9
9
|
case when t.s = 429 then 'rate_limited · upstream_429' else null end, false
|
|
10
|
-
from unnest(${(0,
|
|
11
|
-
${(0,
|
|
12
|
-
order by t.at`)}let
|
|
10
|
+
from unnest(${(0,k._)(i)}::bigint[], ${(0,k._)(p)}::int[], ${(0,k._)(j)}::int[], ${(0,k._)(m)}::int[], ${(0,k._)(n)}::int[],
|
|
11
|
+
${(0,k._)(o)}::int[]) as t(at, m, ti, tout, l, s)
|
|
12
|
+
order by t.at`)}let U=a=>`{${a.join(",")}}`,V=2*k.w;async function W(a,b,c,d){let{db:e,seed:g,now:h}=a,i=(0,l.k)(g,"proposals"),m=a=>(0,l.T)(g,"proposal",a),n=c.certSoon,o=b.failedDeploy,p=d.monitors.find(a=>a.id===d.outage.monitorId),q=new Date(d.outage.startedAt.getTime()+11*k.E),r=b.resolved.oldDeploy,s=new Date(r.startedAt.getTime()+i.int(2,6)*k.E),t=new Date(s.getTime()+i.int(3,15)*k.E),u=(0,k.$)(h,i.int(20,55)*k.E),v=(0,k.$)(h,i.int(8,19)*k.E);for(let a of[{id:m("pending-safe"),alertId:b.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${n.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:n.id,resourceName:n.name,targetRef:n.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:u,decidedAt:null,expiresAt:new Date(u.getTime()+V),claimedAt:null,finishedAt:null},{id:m("pending-risky"),alertId:b.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${o.appName}`,reason:`Production deployment ${o.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:o.appId,resourceName:o.appName,targetRef:o.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:v,decidedAt:null,expiresAt:new Date(v.getTime()+V),claimedAt:null,finishedAt:null},{id:m("done-auto"),alertId:b.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,j.F)(p.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:p.appId,resourceName:(0,j.F)(p.url),targetRef:p.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:q,decidedAt:q,expiresAt:new Date(q.getTime()+V),claimedAt:new Date(q.getTime()+2e3),finishedAt:new Date(q.getTime()+2e3+i.int(300,1500))},{id:m("rejected"),alertId:r.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${r.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:r.appId,resourceName:r.appName,targetRef:r.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,L.memberRowId)(g),createdAt:s,decidedAt:t,expiresAt:new Date(s.getTime()+V),claimedAt:null,finishedAt:null}]){let b=a=>a?a.toISOString():null;await e.execute(f.B`
|
|
13
13
|
insert into ops.action_proposals (id, alert_id, rule_key, room, action, risk, title, reason, resource_kind, resource_id, resource_name, target_ref,
|
|
14
14
|
proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
|
|
15
15
|
values (${a.id}::uuid, ${a.alertId}::uuid, ${a.ruleKey}, ${a.room}, ${a.action}, ${a.risk}, ${a.title}, ${a.reason}, ${a.resourceKind},
|
|
16
16
|
${a.resourceId}::uuid, ${a.resourceName}, ${a.targetRef}, ${a.proposedBy}, ${a.status}, ${a.auto}, ${a.result}, ${a.decidedBy}::uuid,
|
|
17
|
-
${b(a.createdAt)}::timestamptz, ${b(a.decidedAt)}::timestamptz, ${b(a.expiresAt)}::timestamptz, ${b(a.claimedAt)}::timestamptz, ${b(a.finishedAt)}::timestamptz)`)}}function
|
|
17
|
+
${b(a.createdAt)}::timestamptz, ${b(a.decidedAt)}::timestamptz, ${b(a.expiresAt)}::timestamptz, ${b(a.claimedAt)}::timestamptz, ${b(a.finishedAt)}::timestamptz)`)}}function X(a,b){return a.length?a[Math.min(a.length-1,Math.max(0,Math.ceil(b*a.length)-1))]:null}function Y(a){let b=a.filter(a=>!a.inMaintenance),c=b.map(a=>a.latencyMs).filter(a=>null!==a).sort((a,b)=>a-b);return{checks:b.length,failures:b.filter(a=>!a.ok).length,p50Ms:X(c,.5),p95Ms:X(c,.95),maxMs:c.length?c[c.length-1]:null,status5xx:b.filter(a=>null!==a.statusCode&&a.statusCode>=500).length,maintenance:a.length-b.length}}var Z=a.i(655206);let $=5*k.E,_=k.h/$,aa=Z.f.checks*_,ab=Z.f.rollupsHourly*_,ac="No answer within 5 s";async function ad(a,b){var d;let e,{db:f,seed:g,now:h}=a,i=(0,l.k)(g,"monitors"),j=[];for(let a of b.apps)for(let[b,c]of(i.chance(.6)?["/","/api/health"]:["/"]).entries())j.push({id:(0,l.T)(g,"monitor",a.name,c),appId:a.id,index:j.length,url:`https://${a.host}${c}`,path:c,createdAt:new Date(a.createdAt.getTime()+b*i.int(1,3)*k.h+i.int(2,50)*k.E)});let m=Math.floor((h.getTime()-1e4)/$)*$,n=(a,b)=>m-b*$+2e3+300*a.index,o=j.map(a=>(function(a,b){let c=(0,l.k)(a,"checks",b.id),d={ok:new Uint8Array(ab),status:new Int16Array(ab),latency:new Int32Array(ab)},e=c.int(70,380)*("/"===b.path?1:.55);for(let a=0;a<ab;a++){let b=Math.round(e*(.75+.5*c.next())*(c.chance(.02)?1.8+2*c.next():1));if(a>=3&&c.chance(3e-4)){let b=c.int(0,3);ae(d,a,3===b?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][b],latency:c.int(30,300)})}else ae(d,a,{ok:!0,status:200,latency:b})}return d})(g,a)),q=(0,l.k)(g,"outage"),r=j.filter(a=>"/"===a.path),s=q.pick(r),t=q.int(96,240),u=q.int(4,7),v=o[s.index];for(let a=t-3;a<t+u+3;a++)ae(v,a,{ok:!0,status:200,latency:v.latency[a]>0?v.latency[a]:180});for(let a=t;a<t+u;a++)ae(v,a,{ok:!1,status:a===t+u-1?502:503,latency:q.int(30,140)});let w={monitorId:s.id,appId:s.appId,startedAt:new Date(n(s,t+u-1)),endedAt:new Date(n(s,t)),recoveredAt:new Date(n(s,t-1)),failedChecks:u},x=j.filter(a=>a.appId!==s.appId),y=x.length?q.pick(x):null;y&&ae(o[y.index],0,{ok:!1,status:0,latency:-1});let z=(0,l.k)(g,"slow-windows"),A=j.filter(a=>a.id!==s.id),B=(a,b,c,d)=>{let e=o[a.index],f=b*_+z.int(12,144),g=z.int(c,d),h=[];for(let a=f;a>f-g;a--){let b=z.int(1600,2900);ae(e,a,{ok:!0,status:200,latency:b}),h.length<2&&h.push({ok:!0,statusCode:200,latencyMs:b})}let i=f-g;return(!e.ok[i]||e.latency[i]>=1500)&&ae(e,i,{ok:!0,status:200,latency:180}),{monitorId:a.id,appId:a.appId,firedAt:new Date(n(a,f-1)),resolvedAt:new Date(n(a,i)),p95:Y(h).p95Ms}},C=A[0]??s,D=A[A.length-1]??s,E=[B(C,2,4,8),B(D,5,3,6)],F=j.map(a=>(function(a,b,c){let d="unknown",e=0,f=a.createdAt;for(let a=b.ok.length-1;a>=0;a--){let g=(0,p.G)(e,{ok:1===b.ok[a],statusCode:af(b,a),latencyMs:ag(b,a),error:ah(b,a)});g.state!==d&&(f=c(a)),d=g.state,e=g.failStreak}return{id:a.id,appId:a.appId,url:a.url,path:a.path,state:d,stateSince:f,failStreak:e,lastCheckedAt:c(0),lastStatus:af(b,0),lastLatencyMs:ag(b,0),createdAt:a.createdAt}})(a,o[a.index],b=>new Date(n(a,b))));await f.insert(c.monitors).values(F.map((a,b)=>({id:a.id,resourceId:a.appId,url:a.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:$/1e3,state:a.state,stateSince:a.stateSince,failStreak:a.failStreak,lastCheckedAt:a.lastCheckedAt,lastStatus:a.lastStatus,lastLatencyMs:a.lastLatencyMs,lastError:ah(o[b],0),createdAt:a.createdAt,updatedAt:a.lastCheckedAt})));let G=((e=new Date(d=h)).setUTCHours(20,0,0,0),e.getTime()>d.getTime()-5*k.E&&e.setTime(e.getTime()-k.h),e.getTime());for(let b of j)await ai(a,b,o[b.index],new Date(n(b,0))),await aj(a,b,o[b.index],a=>n(b,a),G);return await ak(a,j.length),{monitors:F,outage:w,degraded:y?{monitorId:y.id,appId:y.appId,since:new Date(n(y,0))}:null,slow:E}}function ae(a,b,c){b<0||b>=a.ok.length||(a.ok[b]=+!!c.ok,a.status[b]=c.status,a.latency[b]=c.latency)}let af=(a,b)=>0===a.status[b]?null:a.status[b],ag=(a,b)=>a.latency[b]<0?null:a.latency[b],ah=(a,b)=>a.ok[b]?null:a.status[b]?`HTTP ${a.status[b]}`:ac;async function ai(a,b,c,d){let e=Array.from({length:aa},(a,b)=>b);await a.db.execute(f.B`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${a.seed}:${b.id}:`} || t.k)::uuid, ${b.id}::uuid, ${d.toISOString()}::timestamptz - t.k * interval '5 minutes',
|
|
20
|
-
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${
|
|
21
|
-
from unnest(${(0,
|
|
22
|
-
${(0,
|
|
20
|
+
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${ac} else 'HTTP ' || t.s end, false
|
|
21
|
+
from unnest(${(0,k._)(e)}::int[], ${(0,k._)(e.map(a=>1===c.ok[a]))}::bool[], ${(0,k._)(e.map(a=>af(c,a)))}::int[],
|
|
22
|
+
${(0,k._)(e.map(a=>ag(c,a)))}::int[]) as t(k, ok, s, l)`)}async function aj(a,b,c,d,e){let g=Math.ceil(d(c.ok.length-1)/k.w)*k.w,h=[],i=[],j=[],l=[],m=[],n=[],o=[],p=-1,q=[],r=()=>{if(p<0||!q.length)return;let a=Y(q);h.push(p/1e3),i.push(a.checks),j.push(a.failures),l.push(a.p50Ms),m.push(a.p95Ms),n.push(a.maxMs),o.push(a.status5xx)};for(let a=0;a<c.ok.length;a++){let b=Math.floor(d(a)/k.w)*k.w;if(!(b>=e)){if(b<g)break;b!==p&&(r(),p=b,q=[]),q.push({ok:1===c.ok[a],statusCode:af(c,a),latencyMs:ag(c,a)})}}r(),h.length&&await a.db.execute(f.B`
|
|
23
23
|
insert into ops.rollups_hourly (monitor_id, hour, checks, failures, p50_ms, p95_ms, max_ms, status_5xx, maintenance)
|
|
24
24
|
select ${b.id}::uuid, to_timestamp(t.h), t.c, t.f, t.p50, t.p95, t.mx, t.s5, 0
|
|
25
|
-
from unnest(${(0,
|
|
26
|
-
${(0,
|
|
25
|
+
from unnest(${(0,k._)(h)}::bigint[], ${(0,k._)(i)}::int[], ${(0,k._)(j)}::int[], ${(0,k._)(l)}::int[],
|
|
26
|
+
${(0,k._)(m)}::int[], ${(0,k._)(n)}::int[], ${(0,k._)(o)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function ak(a,b){let{seed:d,now:e}=a,f=(0,l.k)(d,"collector-runs"),g=Math.floor((e.getTime()-1e4)/k.E)*k.E;await a.db.insert(c.collectorRuns).values(Array.from({length:60},(a,c)=>{let e=g-c*k.E,h=e%$==0,i=(h?2e3+300*b:600)+f.int(200,1400);return{id:(0,l.T)(d,"collector-run",c),startedAt:new Date(e+1e3),finishedAt:new Date(e+1e3+i),trigger:"manual",tasks:h?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:i,checks:h?b:0}}))}async function al(a,b,c,d,{foreignKeyChecks:e=!1}={}){await a.transaction(async a=>{e||await a.execute(f.B`set local session_replication_role = replica`);let g={db:a,seed:b,now:c,email:d};await (0,L.seedMember)(g);let h=await A(g),i=await ad(g,h);await B(g,h,i.monitors);let j=await I(g,h),k=await P(g,h,j),l=await n(g,h,i,j,k);await W(g,l,k,i),await N(g,h,i,j,k,l),await R(g,h),await S(g),await T(g)})}var am=a.i(330787),an=a.i(666680),ao=a.i(902157),ap=a.i(750227),aq=a.i(727028),ar=a.i(632019),as=a.i(488077),at=a.i(614755);let au=globalThis;async function av(a){let c=await ar.f.create();try{return await (0,as.f)((0,b.f)({client:c}),{migrationsFolder:a}),{blob:await c.dumpDataDir("none"),from:"process"}}finally{await c.close()}}function aw(a){return au.__watchbellDemoTemplate=a,a.catch(()=>{au.__watchbellDemoTemplate===a&&delete au.__watchbellDemoTemplate}),a}function ax(){if(au.__watchbellDemoTemplate)return au.__watchbellDemoTemplate;let a=performance.now(),b=(0,at.selfhostMigrationsFolder)(),c=function(a){let b=function(a=process.env){return(0,ap.resolve)((0,d.d)(a,"DEMO_SNAPSHOT_DIR")||"demo-snapshot")}();try{if(JSON.parse((0,ao.readFileSync)((0,ap.join)(b,"migrated.json"),"utf8")).migrations!==function(a){let b=(0,an.createHash)("sha256");for(let c of["meta/_journal.json",...(0,ao.readdirSync)(a).filter(a=>a.endsWith(".sql")).sort()])b.update(`${c}\0`).update((0,ao.readFileSync)((0,ap.join)(a,c))).update("\0");return b.digest("hex")}(a))return null;return{blob:new Blob([(0,aq.gunzipSync)((0,ao.readFileSync)((0,ap.join)(b,"migrated.tar.gz")))],{type:"application/x-tar"}),from:"build"}}catch{return null}}(b),e=aw(c?Promise.resolve(c):av(b));return e.then(b=>console.info(`demo: schema template ${"build"===b.from?"read from the build's snapshot":"migrated in this process"} in ${Math.round(performance.now()-a)} ms`),()=>void 0),e}async function ay(){let a=ax(),b=await a;try{return await ar.f.create({loadDataDir:b.blob})}catch(c){if("build"!==b.from)throw c;return au.__watchbellDemoTemplate===a&&(console.warn(`demo: the build's migrated snapshot didn't load (${c instanceof Error?c.message:String(c)}); migrating instead`),aw(av((0,at.selfhostMigrationsFolder)()))),ar.f.create({loadDataDir:(await ax()).blob})}}var az=a.i(904370);let aA=0,aB=()=>Date.now()+aA;function aC(a=process.env){let b=Number(((0,d.d)(a,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(b)&&b>=1?b:3}let aD=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function aE(){let a=[...aD.waiters];for(let b of(aD.waiters.clear(),a))b()}function aF(a){!a.evicted||a.leases>0||a.closing||(a.closing=a.pglite.then(a=>a.close()).catch(()=>void 0).finally(()=>{aD.live.delete(a),aE()}))}function aG(a){aD.entries.get(a.seed)===a&&aD.entries.delete(a.seed),a.evicted=!0,0===aD.entries.size&&aD.sweeper&&(clearInterval(aD.sweeper),aD.sweeper=void 0),aF(a),aE()}let aH=a=>a.created&&0===a.leases&&!a.evicted,aI=(a,b)=>aH(a)&&b-a.lastUsed>=6e4;function aJ(a=aB()){for(let b of[...aD.entries.values()])aH(b)&&a-b.lastUsed>12e5&&aG(b)}async function aK(a){let b=aB()+5e3;for(;;){if(a.evicted)throw Error("The demo database was closed. Reload the page.");if(aD.live.size<aC())return void aD.live.add(a);let c=aB(),d=[...aD.entries.values()].find(a=>aI(a,c));if(d){aG(d),await d.closing;continue}let f=b-c;if(f<=0)throw(0,e.f)(e.L);await function(a){return new Promise(b=>{let c=setTimeout(d,a);function d(){clearTimeout(c),aD.waiters.delete(d),b()}aD.waiters.add(d)})}(Math.min(f,function(a){let b=1/0;for(let c of aD.entries.values())aH(c)&&(b=Math.min(b,c.lastUsed+6e4-a));return Math.max(0,b)}(c)+1))}}async function aL(){aD.creating<2?aD.creating++:await new Promise(a=>aD.creationQueue.push(a))}async function aM(a,d){let f=performance.now();if(!az.demoCreations.take(await (0,am.R)(),a.seed))throw(0,e.f)(e._);await aK(a);try{let e=d??await (0,am._)();await aL();try{let d=performance.now(),g=await ay(),h=performance.now();try{let d=(0,b.f)({client:g,schema:c});await al(d,a.seed,new Date,e)}catch(a){throw await g.close().catch(()=>void 0),a}a.created=!0;let i=(a,b)=>Math.round(b-a),j=performance.now();return console.info(`demo: visitor database ready in ${i(f,j)} ms (waited ${i(f,d)}, schema ${i(d,h)}, seed ${i(h,j)})`),g}finally{let a;(a=aD.creationQueue.shift())?a():aD.creating--}}catch(b){throw aD.live.delete(a),b}finally{aE()}}function aN(a,b){if(!a)throw Error("Demo seed missing");aJ();let c=aD.entries.get(a);if(c)aD.entries.delete(a);else{let d={seed:a,created:!1,lastUsed:0,leases:0,evicted:!1};d.pglite=aM(d,b),d.pglite.catch(()=>{aD.entries.get(a)===d&&aD.entries.delete(a)}),c=d}return c.lastUsed=aB(),aD.entries.set(a,c),aD.sweeper||(aD.sweeper=setInterval(()=>aJ(),6e4),aD.sweeper.unref?.()),c}async function aO(a,b,c){let d=aN(a,c);d.leases++;try{return await b(await d.pglite)}finally{d.leases--,d.lastUsed=aB(),aF(d),aE()}}async function aP(){for(let a of[...aD.entries.values()])aG(a);await Promise.all([...aD.live].map(a=>a.closing))}a.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",()=>e.L,"DEMO_TOO_MANY",()=>e._,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,aP,"demoDbFor",0,function(a,b){return aN(a,b).pglite},"demoPoolMax",0,aC,"setDemoPoolClockOffsetForTests",0,function(a){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");aA=a,aE()},"sweepIdleDemoDbs",0,aJ,"withDemoDb",0,aO],601533)}];
|
|
27
27
|
|
|
28
28
|
//# sourceMappingURL=src_lib_demo_pool_ts_0fpn8acsdk64i._.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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[779704,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(86657),f=a.i(502330),g=a.i(666680),h=a.i(26972),i=a.i(427221),j=a.i(811365);let k="advisor.ai_summary",l=h.z.object({text:i.z.string().min(1).max(1200),model:i.z.string().max(200),at:i.z.string(),count:j.z.number().int().min(0),hash:i.z.string().length(64)});function m(a){let b=a.map(a=>`${a.severity}\0${a.app}\0${a.title}`).sort();return(0,g.createHash)("sha256").update(b.join("\x01")).digest("hex")}async function n(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,k)).limit(1),e=l.safeParse(a?.value);return e.success?e.data:null}async function o(a,b){var g,h;if(!await e.f.provider())return{status:"no-provider"};let i=await e.f.advice(a),j=(g=await n(),h=b.force,i.length?!h&&g&&g.hash===m(i)?"skip-unchanged":"run":"skip-empty");if("skip-empty"===j)return{status:"empty"};if("skip-unchanged"===j)return{status:"unchanged"};let l=await e.f.complete((0,f.N)(i),{purpose:"summary",maxTokens:400}),o=l.text.trim().slice(0,1200);if(!o)throw Error("The model returned no text.");let p={text:o,model:l.model.slice(0,200),at:a.toISOString(),count:i.length,hash:m(i)};return await (0,c.f)().insert(d.settings).values({key:k,value:p}).onConflictDoUpdate({target:d.settings.key,set:{value:p,updatedAt:a}}),{status:"stored",summary:p}}a.s(["h",0,n,"E",0,o],779704)},920274,918962,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(142754);let g=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,h=a=>g.test(a);async function i(a,g=new Date){let j=null,k=new Map;if(void 0!==a){if(!h(a))return[];let[c]=await (0,d.f)().select({name:e.resources.name}).from(e.resources).where((0,b.u)(e.resources.id,a)).limit(1);j=c?[a,c.name]:[a],c&&(k=new Map([[a,c.name]]))}let l=new Date(g.getTime()-2592e6),m=(0,b.b)((0,b.M)(f.c.dismissedAt),(0,b.B)(f.c.createdAt,l)),n=await (0,d.f)().select({id:f.c.id,appId:f.c.appId,severity:f.c.severity,title:f.c.title,body:f.c.body,source:f.c.source,client:f.c.client,model:f.c.model,createdAt:f.c.createdAt}).from(f.c).where(j?(0,b.b)(m,(0,b.y)(f.c.appId,j)):m).orderBy((0,c.A)(f.c.createdAt)).limit(20);if(void 0===a){let a=[...new Set(n.map(a=>a.appId).filter(a=>!!a&&h(a)))];a.length&&(k=new Map((await (0,d.f)().select({id:e.resources.id,name:e.resources.name}).from(e.resources).where((0,b.y)(e.resources.id,a)).limit(a.length)).map(a=>[a.id,a.name])))}return n.map(a=>({id:a.id,appId:a.appId,appName:a.appId?k.get(a.appId)??(h(a.appId)?null:a.appId):null,severity:a.severity,title:a.title,body:a.body,from:a.client||a.source,model:a.model,at:a.createdAt}))}async function j(a,c,e){let[g]=await (0,d.f)().update(f.c).set({dismissedAt:e,dismissedBy:c}).where((0,b.b)((0,b.u)(f.c.id,a),(0,b.M)(f.c.dismissedAt))).returning({id:f.c.id,title:f.c.title,appId:f.c.appId,source:f.c.source,client:f.c.client});return g?{id:g.id,title:g.title,appId:g.appId,from:g.client||g.source}:null}a.s(["$",0,j,"b",0,h,"N",0,i],920274);var
|
|
1
|
+
(()=>{"use strict";module.exports=[779704,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(86657),f=a.i(502330),g=a.i(666680),h=a.i(26972),i=a.i(427221),j=a.i(811365);let k="advisor.ai_summary",l=h.z.object({text:i.z.string().min(1).max(1200),model:i.z.string().max(200),at:i.z.string(),count:j.z.number().int().min(0),hash:i.z.string().length(64)});function m(a){let b=a.map(a=>`${a.severity}\0${a.app}\0${a.title}`).sort();return(0,g.createHash)("sha256").update(b.join("\x01")).digest("hex")}async function n(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,k)).limit(1),e=l.safeParse(a?.value);return e.success?e.data:null}async function o(a,b){var g,h;if(!await e.f.provider())return{status:"no-provider"};let i=await e.f.advice(a),j=(g=await n(),h=b.force,i.length?!h&&g&&g.hash===m(i)?"skip-unchanged":"run":"skip-empty");if("skip-empty"===j)return{status:"empty"};if("skip-unchanged"===j)return{status:"unchanged"};let l=await e.f.complete((0,f.N)(i),{purpose:"summary",maxTokens:400}),o=l.text.trim().slice(0,1200);if(!o)throw Error("The model returned no text.");let p={text:o,model:l.model.slice(0,200),at:a.toISOString(),count:i.length,hash:m(i)};return await (0,c.f)().insert(d.settings).values({key:k,value:p}).onConflictDoUpdate({target:d.settings.key,set:{value:p,updatedAt:a}}),{status:"stored",summary:p}}a.s(["h",0,n,"E",0,o],779704)},920274,918962,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(142754);let g=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,h=a=>g.test(a);async function i(a,g=new Date){let j=null,k=new Map;if(void 0!==a){if(!h(a))return[];let[c]=await (0,d.f)().select({name:e.resources.name}).from(e.resources).where((0,b.u)(e.resources.id,a)).limit(1);j=c?[a,c.name]:[a],c&&(k=new Map([[a,c.name]]))}let l=new Date(g.getTime()-2592e6),m=(0,b.b)((0,b.M)(f.c.dismissedAt),(0,b.B)(f.c.createdAt,l)),n=await (0,d.f)().select({id:f.c.id,appId:f.c.appId,severity:f.c.severity,title:f.c.title,body:f.c.body,source:f.c.source,client:f.c.client,model:f.c.model,createdAt:f.c.createdAt}).from(f.c).where(j?(0,b.b)(m,(0,b.y)(f.c.appId,j)):m).orderBy((0,c.A)(f.c.createdAt)).limit(20);if(void 0===a){let a=[...new Set(n.map(a=>a.appId).filter(a=>!!a&&h(a)))];a.length&&(k=new Map((await (0,d.f)().select({id:e.resources.id,name:e.resources.name}).from(e.resources).where((0,b.y)(e.resources.id,a)).limit(a.length)).map(a=>[a.id,a.name])))}return n.map(a=>({id:a.id,appId:a.appId,appName:a.appId?k.get(a.appId)??(h(a.appId)?null:a.appId):null,severity:a.severity,title:a.title,body:a.body,from:a.client||a.source,model:a.model,at:a.createdAt}))}async function j(a,c,e){let[g]=await (0,d.f)().update(f.c).set({dismissedAt:e,dismissedBy:c}).where((0,b.b)((0,b.u)(f.c.id,a),(0,b.M)(f.c.dismissedAt))).returning({id:f.c.id,title:f.c.title,appId:f.c.appId,source:f.c.source,client:f.c.client});return g?{id:g.id,title:g.title,appId:g.appId,from:g.client||g.source}:null}async function k(a,c,e){return a.length?(await (0,d.f)().update(f.c).set({dismissedAt:e,dismissedBy:c}).where((0,b.b)((0,b.y)(f.c.id,a.slice(0,20)),(0,b.M)(f.c.dismissedAt))).returning({id:f.c.id})).length:0}a.s(["Z",0,20,"$",0,j,"d",0,k,"b",0,h,"N",0,i],920274);var l=a.i(484458),m=a.i(363652),n=a.i(501634),o=a.i(502330);async function p(a,b={}){let c=b.now??new Date,d=(0,o.u)(await (0,n.V)(c),a);if(b.context){let a=d[d.length-1];a.content=`${a.content}
|
|
2
2
|
|
|
3
|
-
Context: ${(0,
|
|
3
|
+
Context: ${(0,o.O)(b.context,Math.min(b.contextMax??2e3,4e3))}`}let e=await (0,m.X)(d,{...b.model?{model:b.model,...b.fallback?{fallback:!0}:{}}:{},purpose:"console-chat",maxTokens:1500}),f=e.text.trim();if(!f)throw new q;return{text:f.length>8e3?`${f.slice(0,7999)}…`:f,model:e.model,ms:e.ms}}class q extends Error{constructor(){super("The model returned no text. Try again."),this.name="GatewayError"}}async function r(a=new Date){let[b,c]=await Promise.all([(0,l.y)(a).catch(()=>null),(0,m.M)().then(()=>!0,()=>!1)]),d=!!b&&(0,l.U)(b.report,a);return{agConnected:d,agEnabled:d&&b?(0,l._)(b.report,b.prefs,b.allowed):[],providerReady:c}}a.s(["q",0,"watchpost","L",0,p,"c",0,r],918962)}]})();
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=src_private_04omlb_sgy-_r._.js.map
|