watchbell 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +3 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/required-server-files.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +52 -51
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
- package/server/.next/server/app/(console)/alerts/page.js +52 -51
- package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +34 -34
- package/server/.next/server/app/(console)/apps/[id]/page.js +52 -51
- package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/apps/page.js +52 -51
- package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/backups/page.js +52 -51
- package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/catalog/page.js +52 -51
- package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/connections/page.js +52 -51
- package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/containers/page.js +52 -51
- package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/d1/page.js +52 -51
- package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/deploy/page.js +52 -51
- package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/deployments/page.js +52 -51
- package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/dns/page.js +52 -51
- package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/domains/page.js +52 -51
- package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/events/page.js +52 -51
- package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/firebase/page.js +52 -51
- package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/logs/page.js +52 -51
- package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/manage/sections/page.js +52 -51
- package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/neon/page.js +52 -51
- package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/os/page.js +52 -51
- package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/overview/page.js +52 -51
- package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/reports/[id]/pdf/route.js +5 -5
- package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -1
- package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +35 -15
- package/server/.next/server/app/(console)/reports/page.js +52 -51
- package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/repos/[id]/page.js +52 -51
- package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/repos/page.js +52 -51
- package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +23 -23
- package/server/.next/server/app/(console)/settings/page.js +52 -51
- package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/sql/page.js +52 -51
- package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/status/page.js +52 -51
- package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +30 -30
- package/server/.next/server/app/(console)/supabase/page.js +52 -51
- package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/topology/page.js +52 -51
- package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/turso/page.js +52 -51
- package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/upstash/page.js +52 -51
- package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
- package/server/.next/server/app/(console)/uptime/page.js +52 -51
- package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
- package/server/.next/server/app/(console)/welcome/page.js +52 -51
- package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_global-error.html +1 -1
- package/server/.next/server/app/_global-error.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_not-found.html +1 -1
- package/server/.next/server/app/_not-found.rsc +3 -3
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/account/password/page.js.nft.json +1 -1
- package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/collect/route.js +59 -59
- package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
- package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/daily/route.js +66 -66
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/telegram/webhook/route.js +50 -49
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +9 -9
- package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/route.js +8 -8
- package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/mcp/route.js +7 -7
- package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js +10 -10
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/route.js +10 -10
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +4 -4
- package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
- package/server/.next/server/app/brand-icon/route.js +6 -6
- package/server/.next/server/app/brand-icon/route.js.nft.json +1 -1
- package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/invite/page.js.nft.json +1 -1
- package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/mfa/page.js +27 -26
- package/server/.next/server/app/mfa/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page.js +27 -26
- package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/page.js.nft.json +1 -1
- package/server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js +1 -1
- package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/signin/page.js +25 -24
- package/server/.next/server/app/signin/page.js.nft.json +1 -1
- package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/server/.next/server/chunks/{[externals]__0oqc6ym5k457v._.js → [externals]__0ws552tlu2170._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1aervsuoo1qe_._.js → [externals]__14rgrk9t-kxa1._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1oag9t_9gex2-._.js → [externals]__1pdwh-htbnox8._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0-amtx67pqi56._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0_2fr1g7uby1m._.js → [root-of-the-server]__01nlh4ps9u-65._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__016wnct3b5iby._.js → [root-of-the-server]__01ur0kf75ampv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ra_bw8zg6kmk._.js → [root-of-the-server]__028m_6oqyqmyy._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1hcn00gn9mapd._.js → [root-of-the-server]__02wzui3ksepqf._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0326wv5xmnp48._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0tsly874_mafr._.js → [root-of-the-server]__03537tx7cun49._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1p1e6x-mb7ro2._.js → [root-of-the-server]__0400g-0wvq3uf._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__04htuwoulmp21._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ux78ppoct5b_._.js → [root-of-the-server]__06bn4cfh-g8-d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1ia-rts7ilt7c._.js → [root-of-the-server]__06ty1ktg427pm._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0afpn-tk2qlu0._.js → [root-of-the-server]__076yrld-lo25r._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0xnag1k7mnvoh._.js → [root-of-the-server]__081k4lp976vd7._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__08i6b8tzxads4._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__09oipjf2ew_pn._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1-bbb_srnbm5x._.js → [root-of-the-server]__0_c_c1bv7sopk._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0mg6rmq22tf26._.js → [root-of-the-server]__0a34twsor45ml._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__07gjmfv5mi33j._.js → [root-of-the-server]__0bjh2kw90a-m_._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0pm83e1a3wwlw._.js → [root-of-the-server]__0c41pzboxtjvz._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ng-t81zeeipc._.js → [root-of-the-server]__0dahxh87cvyn2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0dd4hulw1w-4i._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0nyxfjn368366._.js → [root-of-the-server]__0dfkxg4ax2hqz._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0e3hcgbyb09-p._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0gv3v5775wfmw._.js → [root-of-the-server]__0fk1609_5zg7g._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0fl1uspuemkzr._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0jz91oppmwtiq._.js → [root-of-the-server]__0hm5-0_rh9r6m._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1qelr0qe50xap._.js → [root-of-the-server]__0hwm4j4o2v8nc._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0k73a-s2lcpoz._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0jevd1p5unnre._.js → [root-of-the-server]__0kzgu06ee59vd._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0nw8jgr3bsi8b._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0g0-q56cumuup._.js → [root-of-the-server]__0o4e39mvq8_el._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1le7r_1_00km1._.js → [root-of-the-server]__0opds07bp1fnb._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__070v8547b4qpa._.js → [root-of-the-server]__0pfcnbr0br6li._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1-9vvc9y0qqhf._.js → [root-of-the-server]__0pi9id-ywuq6g._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0aazgg7203ez1._.js → [root-of-the-server]__0s3zxs-_ayd-6._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0eyd4kffoz9ex._.js → [root-of-the-server]__0sgy49rgsxyvy._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0sp5xoed3-994._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__03y8yvaulshnn._.js → [root-of-the-server]__0swji6flwxtbv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0p_rkszoindlf._.js → [root-of-the-server]__0tyilr06jn8nb._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0uss50b85q1j1._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0w1iqt-rpp_3h._.js → [root-of-the-server]__0vco1v37du1ez._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__05s9-538s47_e._.js → [root-of-the-server]__0w_hiz5nrm8-4._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0xzl28izr2tiq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0xzreqng-t2g8._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0b7xflnrk4amk._.js → [root-of-the-server]__0z9of310ruzug._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0zu1odpvrptrt._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__14cb1pomeg0x7._.js → [root-of-the-server]__1-3u16rnk101p._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1-pe9ipc3y6rn._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1-tqm3jzny4zd._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1mqv7anx5l3yq._.js → [root-of-the-server]__108g59p2fl8tw._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__12_wmn5mkj9v7._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0vuirlylhcyzm._.js → [root-of-the-server]__12bo9op0qkw9d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0p955ekgdwy_c._.js → [root-of-the-server]__12tontjm90s-j._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1qxm3lqqdbyy7._.js → [root-of-the-server]__140ixflf83vxj._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1qqdsrhuw0z-w._.js → [root-of-the-server]__152e1b97gc8hw._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__153lxhkj8-_vf._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1rusbj8ktmzj0._.js → [root-of-the-server]__15tr3yx8k9lyt._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__029099rqwqwff._.js → [root-of-the-server]__16-0nul8mfe2m._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0qhyj1r9qcxp3._.js → [root-of-the-server]__172vz80sdr5ny._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0u4o6oo428rvf._.js → [root-of-the-server]__17bz0jxsns742._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1gl0-1oziw-g0._.js → [root-of-the-server]__17jjm80vttqmq._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1pu84qy7loc8o._.js → [root-of-the-server]__18eqxi2vwpdjm._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__194y_mcnn0zs3._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1_vfu21n1zq17._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1c78cu7kb9vkl._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1cy1k8jbwoull._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1d4wmw2wohveb._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__02ctwy1u4z3fj._.js → [root-of-the-server]__1dp_mz2p02ze6._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__11yn1ky7yixd7._.js → [root-of-the-server]__1eng6c6q52y-6._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1etg41llk7f09._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1f-rkijnm8me7._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0t6rge6laz89-._.js → [root-of-the-server]__1gfuhug61s-qy._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1ywvdsk_bmws0._.js → [root-of-the-server]__1git7o20yf9nn._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1h496oc8wu4s6._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1hertcbqi_w97._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1j-nkcwy3w6sy._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1l3uz57-1a35s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1l9pn8y-o6xyp._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1lp_rypkkdjp9._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1m-z1ne4p7pi5._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__12w6gylk59cym._.js → [root-of-the-server]__1ma2tpf6wh9p6._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1nohrxjajgm5c._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1o2km61kftkj1._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1pn773t93gvn-._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1q0h-x-7ob6cu._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1q2e13halne9s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1q7xy_u4inf4h._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1qtorf4s2dfeg._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1sm4p209f_yie._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1uhgqik99k1y6._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1uq4f0bdphqs2._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1gufo2kz88z04._.js → [root-of-the-server]__1usilhckla3wj._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1v_8mu8mt1n5i._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1yk1psrx0yy4n._.js → [root-of-the-server]__1vtlx_63lj4tg._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1wxj0f-l93gkh._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1lvf4tk_1td0a._.js → [root-of-the-server]__1x7en4waq21dd._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1xzg_370-w-6t._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
- package/server/.next/server/chunks/_01epotkqa90nv._.js +1 -1
- package/server/.next/server/chunks/_03wces6vk33l0._.js +3 -0
- package/server/.next/server/chunks/_08q7x7rdbiaql._.js +9 -9
- package/server/.next/server/chunks/_09iin0yvuppj0._.js +3 -0
- package/server/.next/server/chunks/{_1w9di5m91vtjk._.js → _0buibatfr6-k_._.js} +3 -3
- package/server/.next/server/chunks/_0d29nzne5jrwy._.js +9 -9
- package/server/.next/server/chunks/{_1txqs5b7jg9so._.js → _0hekve2tk2eyv._.js} +3 -3
- package/server/.next/server/chunks/_0huryxihjw6tl._.js +9 -9
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
- package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +2 -2
- package/server/.next/server/chunks/{_0lboyl6w4kfx4._.js → _0s_2fgaxby9fy._.js} +3 -3
- package/server/.next/server/chunks/_0z4b07-oa6ms9._.js +3 -0
- package/server/.next/server/chunks/_10mj3f1wis1ld._.js +1 -1
- package/server/.next/server/chunks/_139_9h76gakgh._.js +3 -0
- package/server/.next/server/chunks/_14jiq00zwwqdl._.js +3 -0
- package/server/.next/server/chunks/_15f0c7f46zkh3._.js +1 -1
- package/server/.next/server/chunks/_1e4rch26scbhq._.js +9 -9
- package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +9 -9
- package/server/.next/server/chunks/_1jor4_sz1x8mt._.js +3 -0
- package/server/.next/server/chunks/_1m3zrm9-rc926._.js +3 -0
- package/server/.next/server/chunks/_1mwwg18ni-phb._.js +3 -0
- package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +2 -2
- package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
- package/server/.next/server/chunks/src_0071b0w5aco6_._.js +3 -0
- package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +3 -0
- package/server/.next/server/chunks/src_1-dy6ie3_ezvm._.js +3 -0
- package/server/.next/server/chunks/{src_1s913pql1_n-f._.js → src_13ij0feyzy7me._.js} +2 -2
- package/server/.next/server/chunks/{src_1_y0pxtbr6e04._.js → src_14vh1kj98t0xu._.js} +2 -2
- package/server/.next/server/chunks/src_1_s_jyur8tzy3._.js +3 -0
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/src_1dio7z4_so000._.js +3 -0
- package/server/.next/server/chunks/src_1hpbxjbqlnuob._.js +3 -0
- package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
- package/server/.next/server/chunks/{src_1mwttl5ainte0._.js → src_20eae99bkrgpt._.js} +2 -2
- package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +12 -0
- package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
- package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
- package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
- package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +12 -0
- package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
- package/server/.next/server/chunks/src_lib_branding_ts_03ns4y_8z0-6e._.js +1 -1
- package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +1 -1
- package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
- package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +1 -1
- package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +4 -4
- package/server/.next/server/chunks/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +3 -0
- package/server/.next/server/chunks/src_lib_data_settings-db_ts_2060-w9nbvitr._.js +3 -0
- package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +8 -8
- package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +1 -1
- package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +1 -1
- package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +1 -1
- package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0byytapt83qke._.js → [externals]__1299yq-rye4ww._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1baveo0r8_hf1._.js → [externals]__134px-n77ygse._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__02peoq6kft9oz._.js → [externals]__1s9zy_6f7xfd5._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0gb_9a2m3eqk5._.js → [externals]__1t5grpj1lrsbr._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1pr-neo8jutji._.js → [root-of-the-server]__03iw2anbe7pxg._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_axyb404w3bf._.js → [root-of-the-server]__059q8f4tia03z._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__05uxv6qwfpp79._.js → [root-of-the-server]__05ot6j41b9i8j._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__12c2r19g75dyy._.js → [root-of-the-server]__0_wsm-adqpmgy._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_q3kww244pif._.js → [root-of-the-server]__0buxkrf7nrji8._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__041mpme_x36vq._.js → [root-of-the-server]__0f6ao2fs70kab._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0rrnk3_fb0l_9._.js → [root-of-the-server]__0f8ibnqfh_mp0._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0h8-rlmhjyebb._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0kejvdc7h-pgz._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1ev5rocipbkjw._.js → [root-of-the-server]__0kjdpn_g9gvwr._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1z_pt3d8lty_n._.js → [root-of-the-server]__0msczl_qf2eml._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xkfr7qk7oxjf._.js → [root-of-the-server]__0s9z1kusbxvae._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__13x0qmv4fm_1p._.js → [root-of-the-server]__0wlctoz_-yuyh._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1zsqu1mecqptt._.js → [root-of-the-server]__0yr0heg1b0y5t._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1z3vauqrf2l-_._.js → [root-of-the-server]__0yvm5q_auexh3._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0qhbs-or7q-om._.js → [root-of-the-server]__0zgo5h9mstjc8._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mbb917mrz5c-._.js → [root-of-the-server]__107qfgl2c58q0._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__10ahcnczmy5hx._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1n-rcmbkk7duv._.js → [root-of-the-server]__12cdcpj45tu6j._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1k8mxdm-cxfg_._.js → [root-of-the-server]__1a3_aiqflmt4f._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0vqae5m2ntd34._.js → [root-of-the-server]__1brzt_134_2iy._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1t9_ue4abugtn._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1vgliw2256_6l._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1gkcoq0cmmax1._.js → [root-of-the-server]__1zki66ic3cluq._.js} +2 -2
- package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
- package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
- package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
- package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
- package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
- package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
- package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
- package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
- package/server/.next/server/chunks/ssr/_0hqya_yuov5jw._.js +1 -1
- package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
- package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
- package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0xkl4rb1wydtd._.js → _0k6kbi721s28p._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
- package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0lg6_we0pe3nk._.js → _0l0eho21fo-8l._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
- package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
- package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
- package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
- package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/{_1ge8mluhma23o._.js → _0x4ybc829r3ta._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
- package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
- package/server/.next/server/chunks/ssr/{_0kq3wqx86yyhb._.js → _1cdlzhw6tkrhd._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
- package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +8 -8
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
- package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/{_170okt24rw1yx._.js → _1zsfeuyrhcwmh._.js} +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1363m-cfkgyvr.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1q6iypbn6yagc._.js → src_000iv6actp3t_._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_18ofj2_oxqb0g._.js → src_0torilf0s7p-e._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_1ldp01vcphvw5._.js → src_1_b884ul0envr._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_(console)_0eh38ymzn-s-m._.js → src_app_(console)_0e1l3e9r_60s4._.js} +2 -2
- package/server/.next/server/chunks/ssr/{src_app_(console)_03s-e0b0zsqqr._.js → src_app_(console)_124kgxvmqm7j4._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_reports_reports-view_tsx_1l0apba6g810q._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_signin_1-h17es4-y1-k._.js → src_app_signin_1qq0_77_vdutm._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_0jnv54-8idu07._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_branding_ts_03ns4y_8z0-6e._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_branding_ts_1p22ju9pii41w._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +2 -2
- package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_lib_demo_0r3c3k5102jja._.js → src_lib_demo_03sepqqjq9usk._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +5 -5
- package/server/.next/server/chunks/ssr/src_lib_view_usage_ts_1h1tj0m3n2vul._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/middleware-build-manifest.js +3 -3
- package/server/.next/server/pages/404.html +1 -1
- package/server/.next/server/pages/500.html +1 -1
- package/server/.next/server/preview-props.json +3 -3
- package/server/.next/server/server-reference-manifest.js +1 -1
- package/server/.next/server/server-reference-manifest.json +178 -158
- package/server/.next/static/chunks/{2co8kv2tj776w.js → 0-v128fmc05bf.js} +1 -1
- package/server/.next/static/chunks/{1416wraxs5p8g.js → 02db293pqegsb.js} +1 -1
- package/server/.next/static/chunks/{2i5_2zcei6rqr.js → 03t36gu4t__cw.js} +1 -1
- package/server/.next/static/chunks/{3bvj3-0xltkjo.js → 07p13q6tuqr2r.js} +1 -1
- package/server/.next/static/chunks/{3ic9vbadne9of.js → 09qtiybhnydd3.js} +1 -1
- package/server/.next/static/chunks/{2txgb9zusks-w.js → 0_5leiwhgv7d6.js} +1 -1
- package/server/.next/static/chunks/{1nv_9c1bate-f.js → 0_ebioh9utve_.js} +1 -1
- package/server/.next/static/chunks/{1_uuog1-u6y0t.js → 0_hd-kx6h59a8.js} +1 -1
- package/server/.next/static/chunks/{2azwg3my8wh40.js → 0if7r4ximmzwb.js} +1 -1
- package/server/.next/static/chunks/{2n198u7xx1koh.js → 0ohm_qoe5thrr.js} +1 -1
- package/server/.next/static/chunks/0ssmmtio659vh.js +1 -0
- package/server/.next/static/chunks/{07_cb192ydsaj.js → 0t0igs6uqhbf0.js} +1 -1
- package/server/.next/static/chunks/{0zwq-z8jt5hpz.js → 0ut06v9sng9g4.js} +1 -1
- package/server/.next/static/chunks/{0s00_-em3cj00.js → 0w--mj7tf-9f-.js} +1 -1
- package/server/.next/static/chunks/131egbz-4xsjl.js +1 -0
- package/server/.next/static/chunks/{3ic7ri5b4ifjp.js → 14dbn6_jif37v.js} +2 -2
- package/server/.next/static/chunks/{1vt_t7dg_-pyu.js → 15l58okvbrc4_.js} +1 -1
- package/server/.next/static/chunks/{378ttzg87hows.js → 1_nuygyg_kes5.js} +2 -2
- package/server/.next/static/chunks/{3-us-wg44ohoc.js → 1bsq3x1wh49bp.js} +1 -1
- package/server/.next/static/chunks/{3n98m8tj20wcf.js → 1esunqtpnjwkw.js} +1 -1
- package/server/.next/static/chunks/{1j_hduntj28ij.js → 1gizey8idqrkt.js} +1 -1
- package/server/.next/static/chunks/{0gxxyq5l_0rp2.js → 1itgjll79qm1l.js} +1 -1
- package/server/.next/static/chunks/{3dktq-qmj2q5b.js → 1o27sfcuph25w.js} +1 -1
- package/server/.next/static/chunks/{31fs88f_h861n.js → 1pz19kzjaj8uw.js} +1 -1
- package/server/.next/static/chunks/{0a9mqrzg8420n.js → 1qzun1-bna-sy.js} +1 -1
- package/server/.next/static/chunks/{3mgd5b39ghc-w.js → 1ugo5ye01racz.js} +1 -1
- package/server/.next/static/chunks/{2gk24b05q4q57.js → 1z5s55o29xqyu.js} +1 -1
- package/server/.next/static/chunks/21gu7xcv8ix3_.js +1 -0
- package/server/.next/static/chunks/{3aglnkhgcl_kq.js → 21p4xz6ysy8mv.js} +1 -1
- package/server/.next/static/chunks/{0ynyx3s7s4mv7.js → 22bdke6t-doqh.js} +1 -1
- package/server/.next/static/chunks/{1nqpnndfmw0tc.js → 28ljlwfuuz5a1.js} +1 -1
- package/server/.next/static/chunks/29lr_ae0uli9o.js +1 -0
- package/server/.next/static/chunks/{1yyigrxptb7jm.js → 2jkqfajf-i0r6.js} +2 -2
- package/server/.next/static/chunks/{2sr03gtef27q0.js → 2mhli3hpy5vr9.js} +1 -1
- package/server/.next/static/chunks/{3u1v2wpzthilq.js → 2ns8p-8ngmi9h.js} +1 -1
- package/server/.next/static/chunks/{0valedxcn7j8k.js → 2vdwhg5fnxmu-.js} +2 -2
- package/server/.next/static/chunks/{1azdri14ocjgg.js → 2xgya43mybqsr.js} +11 -11
- package/server/.next/static/chunks/{3cti7pgg_jjlx.js → 2yv02i0h6tppe.js} +1 -1
- package/server/.next/static/chunks/{3-789qaoce7ff.js → 31gsdl-_t96jr.js} +1 -1
- package/server/.next/static/chunks/{2db0smm21dva_.js → 3_lq_n61v4j3r.js} +1 -1
- package/server/.next/static/chunks/{0_xoojw9q_nof.js → 3a11wypkvc5ey.js} +1 -1
- package/server/.next/static/chunks/{0dn6fty1ilg-n.js → 3g0p8ugqre9ft.js} +1 -1
- package/server/.next/static/chunks/{28_88x_e_ynaj.js → 3jq1ae0_9wu-o.js} +1 -1
- package/server/.next/static/chunks/3o358k-0653gr.js +1 -0
- package/server/.next/static/chunks/{05c15dcfh7cxm.js → 3pnzdk7snuzti.js} +1 -1
- package/server/.next/static/chunks/4114b2ynqr24j.js +1 -0
- package/server/.next/static/chunks/{28qjoy38cp5by.js → 41r6z31pmixbr.js} +1 -1
- package/server/.next/static/chunks/{3lw5n6yzs0665.js → 43wc7pgukn2dp.js} +1 -1
- package/server/.next/static/chunks/{1cd-2y1kwqosv.js → 4451kr05p691g.js} +1 -1
- package/server/.next/static/chunks/{1w51uxl19faw3.js → 44t_7rpq23-bz.js} +1 -1
- package/server/server.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0hm-azhxs9ted._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +0 -3
- package/server/.next/server/chunks/_04oi0m63biyjd._.js +0 -3
- package/server/.next/server/chunks/_0bki3kju_1u1f._.js +0 -3
- package/server/.next/server/chunks/_0djze-128wsu0._.js +0 -3
- package/server/.next/server/chunks/_0hm72d9am2vfs._.js +0 -3
- package/server/.next/server/chunks/_1nuny071s602h._.js +0 -3
- package/server/.next/server/chunks/_1sx70w_rurjin._.js +0 -3
- package/server/.next/server/chunks/_1tl0532dffdm-._.js +0 -3
- package/server/.next/server/chunks/src_0frmhaaejchbk._.js +0 -3
- package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +0 -3
- package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +0 -3
- package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +0 -3
- package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +0 -3
- package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +0 -12
- package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +0 -12
- package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +0 -3
- package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0q7rssq_3unbc._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +0 -3
- package/server/.next/server/chunks/ssr/_0j_qqta7rirh5._.js +0 -3
- package/server/.next/server/chunks/ssr/src_09q8lx_19nta6._.js +0 -3
- package/server/.next/static/chunks/10y41_ed7ty6e.js +0 -1
- package/server/.next/static/chunks/16gt7hkgltvf7.js +0 -1
- package/server/.next/static/chunks/1sjgdu3r0baj-.js +0 -1
- package/server/.next/static/chunks/1velx-cd3d5y1.js +0 -1
- package/server/.next/static/chunks/1xydxxektmjgr.js +0 -1
- package/server/.next/static/chunks/2jflssspiz3-i.js +0 -1
- /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_buildManifest.js +0 -0
- /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[490675,
|
|
1
|
+
module.exports=[490675,e=>{"use strict";var t=e.i(875225),r=e.i(349129),o=e.i(260338),l=e.i(924924),n=e.i(221994),i=e.i(618916),s=e.i(734533),a=e.i(890948),d=e.i(960049),u=e.i(46574),m=e.i(196514);let p=e=>{let[t,r]=e.split("-").map(Number);return 1===r?`${t-1}-12`:`${t}-${String(r-1).padStart(2,"0")}`};async function c(e,t){let r;return function(e,t,r){let o=(0,m.C)(new Date(e.getTime()-864e5*r),t),l=[];for(let r=p((0,m.C)(e,t).slice(0,7));l.length<3&&`${r}-01`>=o;r=p(r))l.push(r);return l}(e,t,Math.min((r=await (0,d.J)()).rollupsHourly,r.alerts,u.F))}async function f(e){let o=e?await (0,l.f)().select().from(n.I).where(e):await (0,l.f)().select().from(n.I).orderBy((0,r.M)(n.I.clientName));if(!o.length)return[];let i=o.map(e=>e.id),[s,a]=await Promise.all([(0,l.f)().select({reportId:n.Z.reportId,monitorId:n.Z.monitorId,displayName:n.Z.displayName,position:n.Z.position}).from(n.Z).where((0,t.y)(n.Z.reportId,i)).orderBy((0,r.M)(n.Z.position)),(0,l.f)().select().from(n.q).where((0,t.y)(n.q.reportId,i)).orderBy((0,r.A)(n.q.month))]);return o.map(e=>{let t=a.find(t=>t.reportId===e.id);return{id:e.id,clientName:e.clientName,title:e.title,lang:e.lang,note:e.note,emailOpening:e.emailOpening,recipients:e.recipients,autoSend:e.autoSend,sender:e.sender,sites:s.filter(t=>t.reportId===e.id).map(({monitorId:e,displayName:t,position:r})=>({monitorId:e,displayName:t,position:r})),lastSend:t?{month:t.month,status:t.status,sentAt:t.sentAt,lastError:t.lastError}:null}})}async function y(e){return/^[0-9a-f-]{36}$/i.test(e)?(await f((0,t.u)(n.I.id,e)))[0]??null:null}async function I(e,r,u,p){let f,I=await y(e);if(!I)return{error:"not-found"};if(!I.sites.length)return{error:"no-sites"};if(r!==(0,m.C)(u,p).slice(0,7)&&!(await c(u,p)).includes(r))return{error:"month-too-old"};let h=(0,m.e)(r),w=(0,m.K)(h[0],p),g=(0,m.K)(`${(e=>{let[t,r]=e.split("-").map(Number);return 12===r?`${t+1}-01`:`${t}-${String(r+1).padStart(2,"0")}`})(r)}-01`,p),A=I.sites.map(e=>e.monitorId),[S,v,M,q,b,[N]]=await Promise.all([(0,l.f)().select({id:i.monitors.id,resourceId:i.monitors.resourceId,intervalS:i.monitors.intervalS}).from(i.monitors).where((0,t.y)(i.monitors.id,A)),(0,a._)(A,u,p),(0,l.f)().select({monitorId:i.rollupsHourly.monitorId,hour:i.rollupsHourly.hour,p50:i.rollupsHourly.p50Ms}).from(i.rollupsHourly).where((0,t.b)((0,t.y)(i.rollupsHourly.monitorId,A),(0,t.B)(i.rollupsHourly.hour,w),(0,t.S)(i.rollupsHourly.hour,g))),(0,l.f)().select({ruleKey:i.alerts.ruleKey,subject:i.alerts.subject,startedAt:i.alerts.startedAt,resolvedAt:i.alerts.resolvedAt}).from(i.alerts).where((0,t.b)((0,t.y)(i.alerts.ruleKey,["MonitorDown","HighLatency"]),(0,t.y)(i.alerts.subject,A),(0,t.S)(i.alerts.startedAt,g),(0,t.F)((0,t.M)(i.alerts.resolvedAt),(0,t.B)(i.alerts.resolvedAt,w)))),(0,l.f)().select().from(n.p).where((0,t.b)((0,t.B)(n.p.day,h[0]),(0,t.n)(n.p.day,h[h.length-1]))),(0,l.f)().select({first:(0,o.t)(n.p.day),last:(0,o.y)(n.p.day)}).from(n.p)]),$=N?.last?(0,m.K)((f=N.last,new Date(Date.parse(`${f}T00:00:00Z`)+864e5).toISOString().slice(0,10)),p):null,[B,H]=await Promise.all([$&&$>=g?[]:(0,l.f)().select({resourceId:i.deployments.resourceId,state:i.deployments.state,createdAtProvider:i.deployments.createdAtProvider}).from(i.deployments).where((0,t.b)((0,t.B)(i.deployments.createdAtProvider,$&&$>w?$:w),(0,t.S)(i.deployments.createdAtProvider,g))),(0,d.J)()]),D=[...b,...(0,s.L)(B,p).filter(e=>e.day>=h[0]&&e.day<=h[h.length-1]&&(!N?.last||e.day>N.last))],K=N?.first??(0,m.C)(new Date(u.getTime()-864e5*H.deployments),p),Z=new Map;for(let e of M){if(null===e.p50)continue;let t=Z.get(e.monitorId)??new Map,r=(0,m.C)(e.hour,p);t.set(r,[...t.get(r)??[],e.p50]),Z.set(e.monitorId,t)}let P=new Map;for(let e of I.sites){let t=S.find(t=>t.id===e.monitorId)?.resourceId;t&&!P.has(t)&&P.set(t,e.monitorId)}let C=I.sites.flatMap(e=>{let t=S.find(t=>t.id===e.monitorId);if(!t)return[];let r=v.get(e.monitorId)??new Map,o=new Map(h.filter(e=>r.has(e)).map(e=>[e,r.get(e)])),l=h.find(e=>(o.get(e)?.checks??0)>0)??null,n=Z.get(e.monitorId),i=new Map(h.map(e=>{let t=n?.get(e);return[e,t?.length?Math.round(t.reduce((e,t)=>e+t,0)/t.length):null]}));return[{monitorId:e.monitorId,name:e.displayName,intervalS:t.intervalS,firstDay:l,days:o,p50ByDay:i}]}),j=I.sites.map(e=>{let t=S.find(t=>t.id===e.monitorId)?.resourceId,r=t&&P.get(t)===e.monitorId?D.filter(e=>e.resourceId===t):[];return{monitorId:e.monitorId,ok:r.reduce((e,t)=>e+t.ok,0),failed:r.reduce((e,t)=>e+t.failed,0),firstDay:r[0]?.day??null}});return{month:r,zone:p,generatedAt:u,sites:C,incidents:q.map(e=>({monitorId:e.subject,kind:"MonitorDown"===e.ruleKey?"down":"slow",startedAt:e.startedAt<w?w:e.startedAt,resolvedAt:e.resolvedAt,endedBy:e.resolvedAt?"resolved":"open"})),deploys:j,dataFrom:{uptime:null,updates:K&&K>h[0]?K:null}}}async function h(){let e=await (0,l.f)().select({reportId:n.q.reportId,month:n.q.month,status:n.q.status,lastError:n.q.lastError,clientName:n.I.clientName}).from(n.q).innerJoin(n.I,(0,t.u)(n.I.id,n.q.reportId)).where((0,t.u)(n.I.autoSend,!0)).orderBy((0,r.A)(n.q.month)),o=new Set;return e.filter(e=>!o.has(e.reportId)&&o.add(e.reportId))}e.s(["K",0,y,"q",0,()=>f(),"D",0,I,"l",0,h])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_data_report-db_ts_0b5f4dpxn08gk._.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports=[396667,
|
|
2
|
-
(select coalesce(jsonb_agg(distinct ${
|
|
3
|
-
exists(select 1 from ${
|
|
4
|
-
${
|
|
1
|
+
module.exports=[396667,e=>{"use strict";var t=e.i(93321),r=e.i(351674),n=e.i(800717),s=e.i(548734),a=e.i(263251),i=e.i(837137),o=e.i(686921),c=e.i(371289),u=e.i(160147),d=e.i(186133);let l=["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],f=e=>{if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return null}},p=(0,n.cache)(async()=>{let e=r.B.join(l.map(e=>r.B`${e}`),r.B`, `),t=await (0,s.f)().execute(r.B`select
|
|
2
|
+
(select coalesce(jsonb_agg(distinct ${i.accounts.provider}::text), '[]'::jsonb) from ${i.accounts}) as providers,
|
|
3
|
+
exists(select 1 from ${i.resources} where ${i.resources.kind}::text in (${e}) and ${i.resources.goneAt} is null) as databases,
|
|
4
|
+
${(0,d.X)()} as off`),[n]=(0,a.f)(t),c=f(n?.providers);return{providers:(Array.isArray(c)?c:[]).filter(e=>o.L.includes(e)),databases:n?.databases===!0||n?.databases==="t",off:(0,u.N)(f(n?.off))}});async function h(){let{providers:e,databases:t,off:r}=await p(),n={databases:t},s=[...(0,u.R)(e,{...n,selfhost:"cloud"!==(0,c.c)()})];return{on:s.filter(e=>!r.includes(e)),available:s,off:r,providers:e,has:n}}async function $(){try{return(0,u.J)((await p()).off)}catch{return new Set}}function b(e){if(!e.size)return;let{ruleKeys:n,providers:s}=(0,u.s)(e),a=[];if(n.length&&a.push(r.B`${i.alerts.ruleKey} in (${r.B.join(n.map(e=>r.B`${e}`),r.B`, `)})`),s.length){let e=r.B.join(s.map(e=>r.B`${e}`),r.B`, `);a.push(r.B`(${i.alerts.ruleKey} = 'CredentialExpiring' and ${i.alerts.accountId} in (select ${i.accounts.id} from ${i.accounts} where ${i.accounts.provider}::text in (${e})))`)}return a.length?(0,t.F)(...a):void 0}async function m(e,r){let n=b(new Set([e]));n&&await (0,s.f)().update(i.alerts).set({pendingSince:r}).where((0,t.b)((0,t.E)(i.alerts.pending),n))}async function B(){let e=await (0,s.f)().select({kind:i.monitors.kind,n:r.B`count(*)::int`}).from(i.monitors).where((0,t.b)((0,t.u)(i.monitors.paused,!1),(0,t.u)(i.monitors.ownerPaused,!1))).groupBy(i.monitors.kind),n=t=>Number(e.find(e=>e.kind===t)?.n??0);return{http:n("http"),heartbeat:n("heartbeat")}}e.s(["s",0,function(e){let r=b(e);return r?(0,t.R)(r):void 0},"F",0,B,"I",0,$,"e",0,m,"Q",0,h])}];
|
|
5
5
|
|
|
6
6
|
//# sourceMappingURL=src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[186133,711251,655206,532971,e=>{"use strict";var t=e.i(93321),n=e.i(351674),r=e.i(548734),s=e.i(837137),l=e.i(160147);let o="budget.limits",a={qstashPerDay:1e3,webAnalyticsEvents:5e4,vercelInvocations:1e6,vercelCpuHours:4,vercelMemoryGbH:360,warnPct:70,errPct:90},i=[{key:"qstashPerDay",label:"Upstash QStash messages",unit:"a day",min:1,max:1e7},{key:"webAnalyticsEvents",label:"Vercel Web Analytics events",unit:"a month",min:1,max:1e8},{key:"vercelInvocations",label:"Vercel function invocations",unit:"a month",min:1,max:1e9},{key:"vercelCpuHours",label:"Vercel active CPU",unit:"hours a month",min:1,max:1e4},{key:"vercelMemoryGbH",label:"Vercel provisioned memory",unit:"GB-hours a month",min:1,max:1e5},{key:"warnPct",label:"Warn from",unit:"% used",min:10,max:99},{key:"errPct",label:"Alarm from",unit:"% used",min:11,max:100}],c=(e,t)=>"number"==typeof t&&Number.isInteger(t)&&t>=e.min&&t<=e.max;function u(e){let t={...a};if(!e||"object"!=typeof e)return t;for(let n of i){let r=e[n.key];c(n,r)&&(t[n.key]=r)}return t.warnPct<t.errPct?t:{...t,warnPct:a.warnPct,errPct:a.errPct}}e.s(["o",0,a,"h",0,o,"S",0,function(e,t){let n=i.filter(n=>e[n.key]!==t[n.key]).map(n=>`${n.label} ${e[n.key].toLocaleString("en-US")} → ${t[n.key].toLocaleString("en-US")}`);return n.length?n.join(", "):null},"X",0,u,"R",0,function(e){let t=e&&"object"==typeof e?e:{},n={...a},r={};for(let e of i){let s=t[e.key],l="string"==typeof s?Number(s.replace(/[,_\s]/g,"")):s;c(e,l)?n[e.key]=l:r[e.key]=`Enter a whole number from ${e.min.toLocaleString("en-US")} to ${e.max.toLocaleString("en-US")}.`}return r.warnPct||r.errPct||!(n.warnPct>=n.errPct)||(r.errPct="Alarm must be above Warn."),Object.keys(r).length?{ok:!1,error:"Check the highlighted fields.",fieldErrors:r}:{ok:!0,value:n}}],711251);let m={checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90};e.s(["f",0,m],655206);let y="retention.days",f={checks:[3,7,14],rollupsHourly:[60,90,180],storedLogs:[3,7,14],deployments:[30,45,60,90],events:[60,90,180],alerts:[60,90,180],collectorRuns:[7,14,30],recommendationDismissals:[30,90,180]},g=Object.keys(f),k={checks:"Raw checks",rollupsHourly:"Hourly rollups",storedLogs:"Stored logs",deployments:"Deployments",events:"Events",alerts:"Alerts",collectorRuns:"Collector runs",recommendationDismissals:"Advisor dismissals"},h=(e,t)=>"number"==typeof t&&f[e].includes(t);function b(e){let t={...m};if(!e||"object"!=typeof e)return t;for(let n of g){let r=e[n];h(n,r)&&(t[n]=r)}return t}async function d(e){let[n]=await (0,r.f)().select({value:s.settings.value}).from(s.settings).where((0,t.u)(s.settings.key,e)).limit(1);return n?.value??null}async function p(e,t){await (0,r.f)().insert(s.settings).values({key:e,value:t}).onConflictDoUpdate({target:s.settings.key,set:{value:t,updatedAt:new Date}})}e.s(["L",0,g,"I",0,k,"H",0,y,"E",0,b,"b",0,function(e,t){let n=g.filter(n=>e[n]!==t[n]).map(n=>`${k[n]} ${e[n]} → ${t[n]} days`);return n.length?n.join(", "):null},"K",0,function(e){let t={},n={...m},r=e&&"object"==typeof e?e:{};for(let e of g){let s="string"==typeof r[e]?Number(r[e]):r[e];h(e,s)?n[e]=s:t[e]=`Pick ${f[e].join(", ")} days.`}return Object.keys(t).length?{ok:!1,error:"Check the highlighted fields.",fieldErrors:t}:{ok:!0,value:n}}],532971);let v=async()=>b(await d(y)),w=async()=>u(await d(o)),P="notify.language",$="sections.off",j=async()=>(0,l.N)(await d($));e.s(["j",0,w,"l",0,()=>d(P),"J",0,v,"W",0,j,"x",0,e=>p(o,e),"U",0,e=>p(P,e),"A",0,e=>p(y,e),"Y",0,e=>p($,(0,l.N)(e)),"X",0,()=>n.B`(select ${s.settings.value} from ${s.settings} where ${s.settings.key} = ${$})`],186133)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_data_settings-db_ts_1to3jtggxlaz4._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[476866,873083,369179,e=>{"use strict";var t=e.i(336763),s=e.i(533102),a=e.i(406212),n=e.i(530298);let o=["home","hosting","database","devops","manage"],i=["hosting","database","devops"],l={vercel:"hosting",cloudflare:"hosting",supabase:"database",neon:"database",firebase:"database",turso:"database",upstash:"database",github:"devops",github_write:"devops"};function r(e){return Array.isArray(e)?o.filter(t=>"string"==typeof t&&o.includes(t)&&i.includes(t)&&e.includes(t)):[]}let u={MonitorDown:"hosting",HighLatency:"hosting",DeploymentFailed:"hosting",CertExpiringSoon:"hosting",DomainExpiringSoon:"hosting",DnsProxiedToVercel:"hosting",DatabasePaused:"database",StorageAlmostFull:"database",NeonComputeHigh:"database",FirestoreQuotaHigh:"database",AutoPauseRisk:"database",ComputeHigh:"database",DbQuotaHigh:"database",VulnerableDependency:"devops",FrameworkVulnerable:"hosting",CiFailing:"devops",OsSecurityUpdate:"devops",ReportSendFailed:null,MonitorDomainMoved:"hosting",CredentialExpiring:"account",CollectorStale:null},d=/^Log/;e.s(["D",0,l,"O",0,(e,t,s)=>{let a;if(!e.size)return!1;let n="account"===(a=u[t])?s?l[s]??null:null:void 0!==a?a:d.test(t)?"hosting":null;return null!==n&&e.has(n)},"N",0,r,"s",0,function(e){return{ruleKeys:Object.entries(u).filter(([,t])=>null!==t&&"account"!==t&&e.has(t)).map(([e])=>e),providers:Object.entries(l).filter(([,t])=>e.has(t)).map(([e])=>e)}},"I",0,e=>new Set(r(e))],873083);let c={checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90};e.s(["f",0,c],369179);let g={checks:[3,7,14],rollupsHourly:[60,90,180],storedLogs:[3,7,14],deployments:[30,45,60,90],events:[60,90,180],alerts:[60,90,180],collectorRuns:[7,14,30],recommendationDismissals:[30,90,180]},h=Object.keys(g),p=(e,t)=>"number"==typeof t&&g[e].includes(t);async function b(e){let[s]=await (0,a.db)().select({value:n.settings.value}).from(n.settings).where((0,t.eq)(n.settings.key,e)).limit(1);return s?.value??null}let m=async()=>(function(e){let t={...c};if(!e||"object"!=typeof e)return t;for(let s of h){let a=e[s];p(s,a)&&(t[s]=a)}return t})(await b("retention.days"));e.s(["l",0,()=>b("notify.language"),"J",0,m,"W",0,()=>s.sql`(select ${n.settings.value} from ${n.settings} where ${n.settings.key} = ${"sections.off"})`],476866)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_data_settings-db_ts_2060-w9nbvitr._.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[601533,e=>{"use strict";var t=e.i(7584),a=e.i(837137),n=e.i(159203),i=e.i(745614),r=e.i(351674),s=e.i(263251),o=e.i(927262),d=e.i(233711),l=e.i(469762),c=e.i(988866),u=e.i(109505);let p=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function m(e,t,n,i,m){let h,g,f,w,A,k,y,{db:I,seed:v,now:$}=e,_=(0,u.k)(v,"alerts"),b=(...e)=>(0,u.T)(v,"alert",...e),S=e=>t.apps.find(t=>t.id===e)?.name??"app",T=(0,s.f)(await I.execute(r.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=T.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:S(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:T.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},M=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:o._[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??(0,c.$)($,1e3*_.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==o._[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+c.E),pending:null,pendingSince:null,...a}},E=m.certSoon,C=(0,d.g)(E.notAfter,$)??0,O=m.zoneSoon,P=(0,d.g)(O.expiresAt,$)??0,B=[M("DeploymentFailed",D.appId,{id:b("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*_.int(60,150))}),M("CertExpiringSoon",E.id,{id:b("firing","cert"),resourceId:E.id,title:E.name,message:`The TLS certificate of ${E.name} expires in ${p(C,"day")}.`,startedAt:new Date(E.notAfter.getTime()-14*c.h+_.int(5,55)*c.E)}),M("DomainExpiringSoon",O.id,{id:b("firing","zone"),resourceId:O.id,title:O.name,message:`${O.name} expires in ${p(P,"day")}.`,startedAt:new Date(O.expiresAt.getTime()-30*c.h+_.int(5,55)*c.E)})],R=n.outage,z=n.monitors.find(e=>e.id===R.monitorId),N=t.apps.find(e=>e.id!==D.appId)??t.apps[0],j=e=>i.dbs.find(t=>t.kind===e),U=(e,t)=>(0,c.$)($,e*c.h+t*c.w+_.int(0,50)*c.E),L=(e,t)=>new Date(e.getTime()+t*c.E),F=(e,t)=>{let a=n.monitors.find(e=>e.id===t.monitorId);return M("HighLatency",a.id,{id:b("resolved",e),resourceId:a.appId,title:`${S(a.appId)} ${a.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},H={start:U(4,_.int(1,9)),sha:(0,u.p)(7,v,"old-failed",N.name)},K=j("upstash_redis"),W=j("firestore"),G=j("supabase_project"),V=i.cloudflare.label,Y={outage:M("MonitorDown",z.id,{id:b("resolved","outage"),resourceId:z.appId,title:`${S(z.appId)} ${z.path}`,message:`${(0,l.F)(z.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*c.E),resolvedAt:R.recoveredAt}),latencyA:F("latency-a",n.slow[0]),latencyB:F("latency-b",n.slow[1]),oldDeploy:M("DeploymentFailed",N.id,{id:b("resolved","old-deploy"),resourceId:N.id,title:N.name,message:`Production deployment ${H.sha} failed.`,startedAt:H.start,resolvedAt:L(H.start,_.int(35,70))}),collector:(h=U(6,_.int(1,10)),M("CollectorStale","collector",{id:b("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:h,resolvedAt:L(h,_.int(4,9))})),autoPause:(g=U(6,_.int(12,20)),M("AutoPauseRisk",G.id,{id:b("resolved","auto-pause"),resourceId:G.id,title:G.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:g,resolvedAt:L(g,60*_.int(20,30))})),quota:(f=U(6,_.int(1,8)),M("DbQuotaHigh",K.id,{id:b("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${_.int(81,88)}% of the free plan.`,startedAt:f,resolvedAt:L(f,60*_.int(3,6))})),firestore:(w=U(3,_.int(1,6)),M("FirestoreQuotaHigh",W.id,{id:b("resolved","firestore"),resourceId:W.id,title:W.name,message:`${W.name} read ${_.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${_.int(81,92)}%).`,startedAt:w,resolvedAt:L(w,60*_.int(2,5))})),proxied:(A=U(5,_.int(12,20)),M("DnsProxiedToVercel",(k=m.vercelRecord).id,{id:b("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:A,resolvedAt:L(A,24*_.int(2,4)*60)})),credential:(y=U(6,_.int(14,22)),M("CredentialExpiring",i.cloudflare.accountId,{id:b("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${V}`,message:`The cloudflare credential ${V} expires in 9 days.`,startedAt:y,resolvedAt:L(y,24*_.int(1,2)*60+_.int(10,300))}))};return await I.insert(a.alerts).values([...B,...Object.values(Y)]),{firing:{deploy:B[0].id,cert:B[1].id,zone:B[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:N.id,appName:N.name,previousExternalId:T.find(e=>e.resource_id===N.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:D}}var h=e.i(646324),g=e.i(306556);let f=e=>`${e}.example`,w=["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"],A=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],k=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],y=["sin1","iad1","fra1","hnd1","sfo1"],I=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],v=["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"],$={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"]},_=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],b=[{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 S(e){let{db:t,seed:n,now:i}=e,r=(0,u.k)(n,"apps"),s=r.pick(A),o={id:`team_${(0,u.g)(24,n,"team")}`,name:s.name,slug:s.slug},d=(0,u.T)(n,"account","vercel"),l=(0,c.$)(i,r.int(120,300)*c.h),p=(0,c.$)(i,r.int(3,50)*c.E);await t.insert(a.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:p,lastSyncAt:p,createdAt:l,updatedAt:p});let m=r.shuffle(w).slice(0,r.int(5,8)).sort().map((e,t)=>({id:(0,u.T)(n,"app",e),index:t,name:e,externalId:`prj_${(0,u.g)(28,n,"project",e)}`,host:f(e),createdAt:(0,c.$)(i,r.int(95,400)*c.h-r.int(0,23)*c.w)}));return await t.insert(a.resources).values(m.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:p,createdAt:e.createdAt,updatedAt:p,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(k),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(y)]}}))),await t.insert(a.deployments).values(T(e,m)),{accountId:d,team:o,apps:m}}function T(e,t){let{seed:a,now:n}=e,i=(0,u.k)(a,"deployments"),r=i.pick(t).id,s=i.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let p=(0,c.$)(n,s),m=new Date(p.getTime()+1e3*i.int(3,12)),h="ready"===d?new Date(m.getTime()+1e3*i.int(25,160)):null,g="production"===r?"main":i.pick(I);o.push({id:(0,u.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,u.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:g,commitSha:(0,u.p)(40,a,"commit",e.name,t),commitMessage:l??i.pick(v),source:"git",url:f(`${e.name}-git-${g.replace(/[^a-z0-9]+/g,"-")}-${(0,u.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:m,readyAt:h,createdAtProvider:p,isCurrent:!1,isPreviousProduction:!1,createdAt:p,updatedAt:h??m})},d=e.id===r,l=i.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*c.w:0,i.int(1,96)*c.w-i.int(0,40)*c.E):i.int(4+4*e,6+6*e)*c.h+i.int(0,23)*c.w;t(e,"production",a,"ready")}let p=i.int(0,3);for(let e=0;e<p;e++)t(10+e,"preview",i.int(2,240)*c.w+i.int(0,59)*c.E,"ready");d&&t(20,"production",i.int(30,240)*c.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",i.int(1,6)*c.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:n}=(0,h.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===n)}return o}async function x(e,t,n){let{db:i,seed:r,now:s}=e,o=(0,u.k)(r,"snapshots"),d=(0,c.$)(s,1e3*o.int(5,40));await i.insert(a.snapshots).values(t.apps.map(e=>{var t,a;let i,r,l,u,p,m=n.filter(t=>t.appId===e.id),h=(0,g.V)({monitors:m.map(e=>e.state),building:!1,dbPaused:!1}),f=m.find(e=>"err"===e.state)??m.find(e=>"warn"===e.state),w=f?.stateSince??new Date(Math.max(...m.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:h,stateSince:w,collectedAt:d,data:{code:f?.lastStatus??null,latencyMs:m[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,a=s,r=Math.floor((i=(0,c.$)(a,t.int(2,25)*c.E)).getTime()/c.w)*c.w,l=t.int(20,400),{enabled:!0,total24h:p=(u=Array.from({length:24},(e,a)=>{let n=r-(23-a)*c.w,i=.15+.85*Math.max(0,Math.sin(((new Date(n).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(n).toISOString(),Math.round(l*i*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(p*(.3+.2*t.next())),hourly:u,readAt:i.toISOString()})}}}))}var D=e.i(169286),M=e.i(273133),E=e.i(688275),C=e.i(697365);let O="demo",P={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function B(e,t){let{db:n,seed:i,now:r}=e,s=(0,u.k)(i,"databases"),o=t.team,d=e=>(0,u.T)(i,"account",e),l=(0,c.$)(r,s.int(4,40)*c.E);await n.insert(a.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,c.$)(r,s.int(60,280)*c.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:O,credentialIv:O,credentialKind:P[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let p=(0,u.p)(32,i,"cloudflare-account"),m=[{kind:"supabase_project",provider:"supabase",externalId:(0,u.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,u.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,u.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,u.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,u.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,u.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let n=s.pick($[e]),l=(0,c.$)(r,s.int(40,300)*c.h),m="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${(0,u.p)(8,i,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:p,createdAt:l.toISOString()};return{id:(0,u.T)(i,"db",e),kind:e,name:n,externalId:a,accountId:d(t),meta:m,createdAt:l}});await n.insert(a.resources).values(m.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let h=e=>m.find(t=>t.kind===e),g=e=>(0,c.$)(r,e*c.E+1e3*s.int(0,50)),f=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),w=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),A=(r.getTime()-f.getTime())/(w.getTime()-f.getTime()),k=[{id:`ep-${(0,u.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,u.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,c.$)(r,s.int(20,300)*c.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,E.p)({endpoints:k,computeSeconds:y}),v=[{id:h("supabase_project").id,state:"ok",since:(0,c.$)(r,s.int(20,90)*c.h),at:g(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,c.$)(r,s.int(3,50)*c.E).toISOString(),trafficAt:(0,c.$)(r,s.int(1,4)*c.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,c.$)(r,s.int(1,4)*c.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,c.$)(r,s.int(4,20)*c.w).toISOString(),lastGoodState:"ok"}},{id:h("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,c.$)(r,s.int(20,300)*c.E),at:g(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:h("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:f.toISOString(),periodEnd:w.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,u.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:h("firestore").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(1),data:{displayName:h("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,c.$)(r,s.int(10,50)*c.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,c.$)(r,s.int(2,20)*c.w).toISOString(),lastGoodState:"ok"}},{id:h("turso_database").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}},{id:h("upstash_redis").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}},{id:h("d1_database").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{accountId:p,createdAt:h("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}}];await n.insert(a.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await n.insert(a.settings).values({key:C.F,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),note:null}},createdAt:(0,c.$)(r,30*c.h),updatedAt:r});let _=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],b=t.apps.slice(0,Math.max(4,t.apps.length-1));return await n.insert(a.links).values(b.map((e,t)=>({id:(0,u.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:h(_[t]).id,kind:"uses_db",source:"manual",createdAt:(0,c.$)(r,s.int(20,90)*c.h),updatedAt:(0,c.$)(r,s.int(1,19)*c.h)}))),await R(e,h("supabase_project").id),await n.insert(a.keepActive).values({resourceId:h("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,c.$)(r,s.int(2,20)*c.w),updatedAt:(0,c.$)(r,12*c.h)}),{dbs:m.map(({id:e,kind:t,name:a,externalId:n,accountId:i})=>({id:e,kind:t,name:a,externalId:n,accountId:i})),cloudflare:{accountId:d("cloudflare"),cfAccountId:p,label:o.name}}}async function R(e,t){let{db:a,seed:n,now:i}=e,r=(0,u.k)(n,"compute"),s=(0,c.$)(i,r.int(1,4)*c.E),o=Array.from({length:24},(e,a)=>{let n=new Date((0,M.b)(i).getTime()-a*c.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10,d=Math.round((58+14*r.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((i.getTime()-n.getTime())/(5*c.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60,memTotalB:0x40000000,memUsedB:Math.round(0x40000000*o/100),memCacheB:Math.round(0x40000000*(.28+.06*r.next())),swapB:Math.round((60+50*r.next())*1048576),commitPct:d,commitMax:Math.round(10*Math.min(84,d+5*r.next()))/10}}),d={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,mem:{totalB:0x40000000,usedB:o[0].memUsedB,cacheB:o[0].memCacheB,swapB:o[0].swapB},commit:{usedB:Math.round(1503238553.6*o[0].commitPct/100),limitB:0x5999999a,pct:o[0].commitPct},recent:Array.from({length:6},(e,t)=>({at:(0,c.$)(s,(5-t)*5*c.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(D.A).values({resourceId:t,keyCiphertext:O,keyIv:O,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,c.$)(i,21*c.h),updatedAt:s}),await a.insert(D.l).values(o.filter(e=>e.hour.getTime()<=i.getTime()))}var z=e.i(245710),N=e.i(615089);let j=7*c.h;async function U(e,t,n,i,o,d){let{db:p,seed:m,now:h}=e,g=(0,u.k)(m,"events"),f=[],w=(e,t)=>f.push({id:(0,u.T)(m,"event",e),count:1,...t});for(let e of(0,s.f)(await p.execute(r.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(h.getTime()-j).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),n=e.building_at?new Date(e.building_at):a;w(`${e.external_id}:start`,{at:n,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&w(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&w(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*g.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=n.outage,k=n.monitors.find(e=>e.id===A.monitorId),y=(e,t,a,n,i,r,s)=>w(e,{at:t,resourceId:a,type:"monitor",kind:n,message:i,detail:r,reason:s});y("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(A.startedAt.getTime()+10*c.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${k.path} answers again`,"MonitorRecovered"),n.degraded&&y("degraded:warn",n.degraded.since,n.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=o.certSoon,v=o.zoneSoon
|
|
1
|
+
module.exports=[601533,e=>{"use strict";var t=e.i(7584),a=e.i(837137),n=e.i(159203),i=e.i(745614),r=e.i(351674),s=e.i(263251),o=e.i(927262),d=e.i(233711),l=e.i(469762),c=e.i(988866),u=e.i(109505);let p=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function m(e,t,n,i,m){let h,g,f,w,A,k,y,{db:I,seed:v,now:_}=e,$=(0,u.k)(v,"alerts"),S=(...e)=>(0,u.T)(v,"alert",...e),b=e=>t.apps.find(t=>t.id===e)?.name??"app",T=(0,s.f)(await I.execute(r.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=T.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:b(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:T.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},M=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:o._[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??(0,c.$)(_,1e3*$.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==o._[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+c.E),pending:null,pendingSince:null,...a}},E=m.certSoon,C=(0,d.g)(E.notAfter,_)??0,O=m.zoneSoon,P=(0,d.g)(O.expiresAt,_)??0,B=[M("DeploymentFailed",D.appId,{id:S("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*$.int(60,150))}),M("CertExpiringSoon",E.id,{id:S("firing","cert"),resourceId:E.id,title:E.name,message:`The TLS certificate of ${E.name} expires in ${p(C,"day")}.`,startedAt:new Date(E.notAfter.getTime()-14*c.h+$.int(5,55)*c.E)}),M("DomainExpiringSoon",O.id,{id:S("firing","zone"),resourceId:O.id,title:O.name,message:`${O.name} expires in ${p(P,"day")}.`,startedAt:new Date(O.expiresAt.getTime()-30*c.h+$.int(5,55)*c.E)})],z=n.outage,R=n.monitors.find(e=>e.id===z.monitorId),N=t.apps.find(e=>e.id!==D.appId)??t.apps[0],j=e=>i.dbs.find(t=>t.kind===e),U=(e,t)=>(0,c.$)(_,e*c.h+t*c.w+$.int(0,50)*c.E),L=(e,t)=>new Date(e.getTime()+t*c.E),F=(e,t)=>{let a=n.monitors.find(e=>e.id===t.monitorId);return M("HighLatency",a.id,{id:S("resolved",e),resourceId:a.appId,title:`${b(a.appId)} ${a.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},H={start:U(4,$.int(1,9)),sha:(0,u.p)(7,v,"old-failed",N.name)},K=j("upstash_redis"),W=j("firestore"),G=j("supabase_project"),V=i.cloudflare.label,q={outage:M("MonitorDown",R.id,{id:S("resolved","outage"),resourceId:R.appId,title:`${b(R.appId)} ${R.path}`,message:`${(0,l.F)(R.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(z.startedAt.getTime()+10*c.E),resolvedAt:z.recoveredAt}),latencyA:F("latency-a",n.slow[0]),latencyB:F("latency-b",n.slow[1]),oldDeploy:M("DeploymentFailed",N.id,{id:S("resolved","old-deploy"),resourceId:N.id,title:N.name,message:`Production deployment ${H.sha} failed.`,startedAt:H.start,resolvedAt:L(H.start,$.int(35,70))}),collector:(h=U(6,$.int(1,10)),M("CollectorStale","collector",{id:S("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:h,resolvedAt:L(h,$.int(4,9))})),autoPause:(g=U(6,$.int(12,20)),M("AutoPauseRisk",G.id,{id:S("resolved","auto-pause"),resourceId:G.id,title:G.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:g,resolvedAt:L(g,60*$.int(20,30))})),quota:(f=U(6,$.int(1,8)),M("DbQuotaHigh",K.id,{id:S("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${$.int(81,88)}% of the free plan.`,startedAt:f,resolvedAt:L(f,60*$.int(3,6))})),firestore:(w=U(3,$.int(1,6)),M("FirestoreQuotaHigh",W.id,{id:S("resolved","firestore"),resourceId:W.id,title:W.name,message:`${W.name} read ${$.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${$.int(81,92)}%).`,startedAt:w,resolvedAt:L(w,60*$.int(2,5))})),proxied:(A=U(5,$.int(12,20)),M("DnsProxiedToVercel",(k=m.vercelRecord).id,{id:S("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:A,resolvedAt:L(A,24*$.int(2,4)*60)})),credential:(y=U(6,$.int(14,22)),M("CredentialExpiring",i.cloudflare.accountId,{id:S("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${V}`,message:`The cloudflare credential ${V} expires in 9 days.`,startedAt:y,resolvedAt:L(y,24*$.int(1,2)*60+$.int(10,300))}))};return await I.insert(a.alerts).values([...B,...Object.values(q)]),{firing:{deploy:B[0].id,cert:B[1].id,zone:B[2].id},resolved:{outage:q.outage.id,oldDeploy:{id:q.oldDeploy.id,appId:N.id,appName:N.name,previousExternalId:T.find(e=>e.resource_id===N.id&&e.is_previous_production)?.external_id??null,startedAt:q.oldDeploy.startedAt,resolvedAt:q.oldDeploy.resolvedAt},credential:{title:q.credential.title,resolvedAt:q.credential.resolvedAt}},failedDeploy:D}}var h=e.i(646324),g=e.i(306556);let f=e=>`${e}.example`,w=["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"],A=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],k=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],y=["sin1","iad1","fra1","hnd1","sfo1"],I=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],v=["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"],_={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"]},$=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],S=[{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 b(e){let{db:t,seed:n,now:i}=e,r=(0,u.k)(n,"apps"),s=r.pick(A),o={id:`team_${(0,u.g)(24,n,"team")}`,name:s.name,slug:s.slug},d=(0,u.T)(n,"account","vercel"),l=(0,c.$)(i,r.int(120,300)*c.h),p=(0,c.$)(i,r.int(3,50)*c.E);await t.insert(a.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:p,lastSyncAt:p,createdAt:l,updatedAt:p});let m=r.shuffle(w).slice(0,r.int(5,8)).sort().map((e,t)=>({id:(0,u.T)(n,"app",e),index:t,name:e,externalId:`prj_${(0,u.g)(28,n,"project",e)}`,host:f(e),createdAt:(0,c.$)(i,r.int(95,400)*c.h-r.int(0,23)*c.w)}));return await t.insert(a.resources).values(m.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:p,createdAt:e.createdAt,updatedAt:p,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(k),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(y)]}}))),await t.insert(a.deployments).values(T(e,m)),{accountId:d,team:o,apps:m}}function T(e,t){let{seed:a,now:n}=e,i=(0,u.k)(a,"deployments"),r=i.pick(t).id,s=i.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let p=(0,c.$)(n,s),m=new Date(p.getTime()+1e3*i.int(3,12)),h="ready"===d?new Date(m.getTime()+1e3*i.int(25,160)):null,g="production"===r?"main":i.pick(I);o.push({id:(0,u.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,u.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:g,commitSha:(0,u.p)(40,a,"commit",e.name,t),commitMessage:l??i.pick(v),source:"git",url:f(`${e.name}-git-${g.replace(/[^a-z0-9]+/g,"-")}-${(0,u.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:m,readyAt:h,createdAtProvider:p,isCurrent:!1,isPreviousProduction:!1,createdAt:p,updatedAt:h??m})},d=e.id===r,l=i.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*c.w:0,i.int(1,96)*c.w-i.int(0,40)*c.E):i.int(4+4*e,6+6*e)*c.h+i.int(0,23)*c.w;t(e,"production",a,"ready")}let p=i.int(0,3);for(let e=0;e<p;e++)t(10+e,"preview",i.int(2,240)*c.w+i.int(0,59)*c.E,"ready");d&&t(20,"production",i.int(30,240)*c.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",i.int(1,6)*c.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:n}=(0,h.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===n)}return o}async function x(e,t,n){let{db:i,seed:r,now:s}=e,o=(0,u.k)(r,"snapshots"),d=(0,c.$)(s,1e3*o.int(5,40));await i.insert(a.snapshots).values(t.apps.map(e=>{var t,a;let i,r,l,u,p,m=n.filter(t=>t.appId===e.id),h=(0,g.V)({monitors:m.map(e=>e.state),building:!1,dbPaused:!1}),f=m.find(e=>"err"===e.state)??m.find(e=>"warn"===e.state),w=f?.stateSince??new Date(Math.max(...m.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:h,stateSince:w,collectedAt:d,data:{code:f?.lastStatus??null,latencyMs:m[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,a=s,r=Math.floor((i=(0,c.$)(a,t.int(2,25)*c.E)).getTime()/c.w)*c.w,l=t.int(20,400),{enabled:!0,total24h:p=(u=Array.from({length:24},(e,a)=>{let n=r-(23-a)*c.w,i=.15+.85*Math.max(0,Math.sin(((new Date(n).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(n).toISOString(),Math.round(l*i*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(p*(.3+.2*t.next())),hourly:u,readAt:i.toISOString()})}}}))}var D=e.i(169286),M=e.i(273133),E=e.i(688275),C=e.i(697365);let O="demo",P={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function B(e,t){let{db:n,seed:i,now:r}=e,s=(0,u.k)(i,"databases"),o=t.team,d=e=>(0,u.T)(i,"account",e),l=(0,c.$)(r,s.int(4,40)*c.E);await n.insert(a.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,c.$)(r,s.int(60,280)*c.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:O,credentialIv:O,credentialKind:P[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let p=(0,u.p)(32,i,"cloudflare-account"),m=[{kind:"supabase_project",provider:"supabase",externalId:(0,u.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,u.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,u.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,u.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,u.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,u.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let n=s.pick(_[e]),l=(0,c.$)(r,s.int(40,300)*c.h),m="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${(0,u.p)(8,i,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:p,createdAt:l.toISOString()};return{id:(0,u.T)(i,"db",e),kind:e,name:n,externalId:a,accountId:d(t),meta:m,createdAt:l}});await n.insert(a.resources).values(m.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let h=e=>m.find(t=>t.kind===e),g=e=>(0,c.$)(r,e*c.E+1e3*s.int(0,50)),f=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),w=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),A=(r.getTime()-f.getTime())/(w.getTime()-f.getTime()),k=[{id:`ep-${(0,u.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,u.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,c.$)(r,s.int(20,300)*c.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,E.p)({endpoints:k,computeSeconds:y}),v=[{id:h("supabase_project").id,state:"ok",since:(0,c.$)(r,s.int(20,90)*c.h),at:g(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,c.$)(r,s.int(3,50)*c.E).toISOString(),trafficAt:(0,c.$)(r,s.int(1,4)*c.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,c.$)(r,s.int(1,4)*c.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,c.$)(r,s.int(4,20)*c.w).toISOString(),lastGoodState:"ok"}},{id:h("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,c.$)(r,s.int(20,300)*c.E),at:g(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:h("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:f.toISOString(),periodEnd:w.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,u.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:h("firestore").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(1),data:{displayName:h("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,c.$)(r,s.int(10,50)*c.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,c.$)(r,s.int(2,20)*c.w).toISOString(),lastGoodState:"ok"}},{id:h("turso_database").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}},{id:h("upstash_redis").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}},{id:h("d1_database").id,state:"ok",since:(0,c.$)(r,s.int(10,60)*c.h),at:g(s.int(5,50)),data:{accountId:p,createdAt:h("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),lastGoodState:"ok"}}];await n.insert(a.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await n.insert(a.settings).values({key:C.F,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,c.$)(r,s.int(5,50)*c.E).toISOString(),note:null}},createdAt:(0,c.$)(r,30*c.h),updatedAt:r});let $=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],S=t.apps.slice(0,Math.max(4,t.apps.length-1));return await n.insert(a.links).values(S.map((e,t)=>({id:(0,u.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:h($[t]).id,kind:"uses_db",source:"manual",createdAt:(0,c.$)(r,s.int(20,90)*c.h),updatedAt:(0,c.$)(r,s.int(1,19)*c.h)}))),await z(e,h("supabase_project").id),await n.insert(a.keepActive).values({resourceId:h("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,c.$)(r,s.int(2,20)*c.w),updatedAt:(0,c.$)(r,12*c.h)}),{dbs:m.map(({id:e,kind:t,name:a,externalId:n,accountId:i})=>({id:e,kind:t,name:a,externalId:n,accountId:i})),cloudflare:{accountId:d("cloudflare"),cfAccountId:p,label:o.name}}}async function z(e,t){let{db:a,seed:n,now:i}=e,r=(0,u.k)(n,"compute"),s=(0,c.$)(i,r.int(1,4)*c.E),o=Array.from({length:24},(e,a)=>{let n=new Date((0,M.b)(i).getTime()-a*c.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10,d=Math.round((58+14*r.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((i.getTime()-n.getTime())/(5*c.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60,memTotalB:0x40000000,memUsedB:Math.round(0x40000000*o/100),memCacheB:Math.round(0x40000000*(.28+.06*r.next())),swapB:Math.round((60+50*r.next())*1048576),commitPct:d,commitMax:Math.round(10*Math.min(84,d+5*r.next()))/10}}),d={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,mem:{totalB:0x40000000,usedB:o[0].memUsedB,cacheB:o[0].memCacheB,swapB:o[0].swapB},commit:{usedB:Math.round(1503238553.6*o[0].commitPct/100),limitB:0x5999999a,pct:o[0].commitPct},recent:Array.from({length:6},(e,t)=>({at:(0,c.$)(s,(5-t)*5*c.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(D.A).values({resourceId:t,keyCiphertext:O,keyIv:O,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,c.$)(i,21*c.h),updatedAt:s}),await a.insert(D.l).values(o.filter(e=>e.hour.getTime()<=i.getTime()))}var R=e.i(245710),N=e.i(615089);let j=7*c.h;async function U(e,t,n,i,o,d){let{db:p,seed:m,now:h}=e,g=(0,u.k)(m,"events"),f=[],w=(e,t)=>f.push({id:(0,u.T)(m,"event",e),count:1,...t});for(let e of(0,s.f)(await p.execute(r.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(h.getTime()-j).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),n=e.building_at?new Date(e.building_at):a;w(`${e.external_id}:start`,{at:n,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&w(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&w(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*g.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=n.outage,k=n.monitors.find(e=>e.id===A.monitorId),y=(e,t,a,n,i,r,s)=>w(e,{at:t,resourceId:a,type:"monitor",kind:n,message:i,detail:r,reason:s});y("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(A.startedAt.getTime()+10*c.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${k.path} answers again`,"MonitorRecovered"),n.degraded&&y("degraded:warn",n.degraded.since,n.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=o.certSoon,v=o.zoneSoon,_=new Date(I.notAfter.getTime()-14*c.h+g.int(5,50)*c.E),$=new Date(v.expiresAt.getTime()-30*c.h+g.int(5,50)*c.E);w("net:cert",{at:_,resourceId:I.id,type:"system",kind:"warn",message:`${I.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),w("net:zone",{at:$,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let S=new Date(h);S.setUTCHours(20,0,0,0),S.getTime()>h.getTime()-5*c.E&&S.setTime(S.getTime()-c.h);for(let e=0;e<7;e++){let t=new Date(S.getTime()-e*c.h+1e3*g.int(20,90));w(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let b=(0,N.demoUserId)(m),T=(e,t,a,n,i=null)=>w(`action:${e}`,{at:(0,c.$)(h,t*c.h+g.int(1,10)*c.w+g.int(0,59)*c.E),resourceId:n,type:"action",kind:"ok",message:a,detail:i,actorUserId:b,reason:"Action"}),x=n.monitors.find(e=>"/api/health"===e.path)??n.monitors[0],D=t.apps[0],M=i.dbs.find(e=>"supabase_project"===e.kind);T("monitor-added",6,`Monitor added: ${(0,l.F)(x.url)}`,x.appId),T("db-link",5,`Database link: ${D.name} → ${M.name}`,D.id),T("keep-active",5,`Keep active on: ${M.name}`,M.id),T("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),T("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,R.D)()}, 30 min`),T("check-now",1,`Check now: ${(0,l.F)(k.url)}`,k.appId);let E=d.resolved.credential;w("action:credential",{at:new Date(E.resolvedAt.getTime()-g.int(2,9)*c.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${E.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:b,reason:"Action"}),w("action:auto-recheck",{at:new Date(A.startedAt.getTime()+11*c.E+3e3),resourceId:k.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,l.F)(k.url)}`,detail:null,actorUserId:null,reason:"Action"}),await p.insert(a.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let L="76.76.21.21";async function F(e,t,n){let{db:i,seed:r,now:s}=e,o=(0,u.k)(r,"network"),l=e=>(0,c.$)(s,o.int(10,60*e)*c.E).toISOString(),p=n.cloudflare,m=o.shuffle($).slice(0,2).map((e,t)=>({id:(0,u.T)(r,"zone",e),name:f(e),expiresAt:new Date(1===t?s.getTime()+o.int(12,24)*c.h+o.int(1,20)*c.w:s.getTime()+o.int(200,600)*c.h)})),h=e=>e.split("-").slice(1).join("-")||e,g=t.apps,w=[{name:m[0].name,app:g[0]},...[0,1,2].map(e=>({name:`${h(g[e].name)}.${m[0].name}`,app:g[e]})),...[3,4].map(e=>({name:`${h(g[e%g.length].name)}.${m[1].name}`,app:g[e%g.length]}))],A=o.int(1,3),k=w.map((e,t)=>({id:(0,u.T)(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===A?s.getTime()+o.int(4,9)*c.h+o.int(1,20)*c.w:s.getTime()+o.int(30,85)*c.h)})),y=(e,t,a,n,i,s=null)=>({id:(0,u.p)(32,r,"dns",e,t,a),type:t,name:a,content:n,proxied:i,ttl:i?1:300,comment:s}),I=m.map(e=>{let t=[...k.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>y(e.name,"A",t.name,L,!1,"Vercel")),y(e.name,"MX",e.name,f("mx1.mail"),!1),y(e.name,"TXT",e.name,`v=spf1 include:_spf.${f("mail")} ~all`,!1),y(e.name,"A",`legacy.${e.name}`,`192.0.2.${o.int(10,200)}`,!0,"Old server, kept for redirects")],a={expiresAt:e.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:l(20)},n={status:"active",paused:!1,nameServers:[f("ada.ns"),f("bob.ns")],accountId:p.cfAccountId,checkedAt:l(1)},i=(0,d.G)({status:n.status,paused:n.paused,rdap:a},s),r={zone:n,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(s.getTime()+o.int(40,80)*c.h).toISOString()}],rdap:a,reasons:i.reasons};return{z:e,records:t,rdap:a,state:i.state,data:r}}),v=(0,c.$)(s,o.int(150,380)*c.h),_=(0,c.$)(s,o.int(5,50)*c.E);await i.insert(a.resources).values(m.map(e=>({id:e.id,accountId:p.accountId,kind:"zone",externalId:(0,u.p)(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:p.cfAccountId,accountName:p.label},firstSeenAt:v,lastSeenAt:_,createdAt:v,updatedAt:_}))),await i.insert(a.resources).values(k.map(e=>{let a=g.find(t=>t.id===e.appId);return{id:e.id,accountId:t.accountId,kind:"domain",externalId:e.name,name:e.name,parentId:e.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:a.externalId},firstSeenAt:v,lastSeenAt:_,createdAt:v,updatedAt:_}}));let S=["Let's Encrypt","Google Trust Services"];await i.insert(a.snapshots).values([...I.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?v:new Date(e.z.expiresAt.getTime()-30*c.h),data:e.data,collectedAt:_})),...k.map(e=>{let t=I.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),a={notAfter:e.notAfter.toISOString(),issuer:o.pick(S),authorized:!0,error:null,checkedAt:l(19)},n={misconfigured:!1,configuredBy:"A",recommendedIps:[L],checkedAt:l(6)},i=(0,d.k)({host:e.name,tls:a,vercel:n,records:(0,d.Q)(e.name,t.records),zoneRdap:t.rdap},s),r="ok"===i.state?v:new Date(Math.min(e.notAfter.getTime()-14*c.h,t.z.expiresAt.getTime()-30*c.h));return{resourceId:e.id,state:i.state,stateSince:r,data:{tls:a,vercel:n,reasons:i.reasons},collectedAt:_}})]);let b=I[0].records.find(e=>"A"===e.type&&e.name===m[0].name&&e.content===L);return{zones:m,domains:k,certSoon:k[A],zoneSoon:m[1],vercelRecord:{id:b.id,name:b.name,zoneId:m[0].id}}}let H=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function K(e,t){let{db:n,seed:i,now:o}=e,d=(0,u.k)(i,"logs"),l=(0,s.f)(await n.execute(r.B`select resource_id, external_id from ops.deployments where is_current`)),p=d.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:d.int(4,8)},(a,n)=>{let r=d.pick(S);return{id:(0,u.T)(i,"log",e.name,n),resourceId:e.id,deploymentId:l.find(t=>t.resource_id===e.id)?.external_id??`dpl_${(0,u.g)(24,i,"log-dpl",t)}`,rowId:`${(0,u.g)(10,i,"log-row",e.name,n).toLowerCase()}-${n}`,at:(0,c.$)(o,d.int(3,2760)*c.E+1e3*d.int(0,59)),level:r.level,message:r.message,requestMethod:r.method,requestPath:r.path,statusCode:r.status,source:"serverless"}}));await n.insert(a.storedLogs).values(p)}async function W(e){let{db:t,seed:n,now:i}=e,r=(0,u.k)(n,"provider-status"),s=(0,c.$)(i,r.int(1,4)*c.E);await t.insert(a.providerStatus).values(H.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,c.$)(i,r.int(1,3)*c.w).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function G(e){let{db:t,seed:a,now:n}=e,i=(0,u.k)(a,"ai-usage"),s=(0,u.T)(a,"ai-agent","console"),o=i.int(70,140),d=[],l=[],p=[],m=[],h=[],g=[];for(let e=0;e<o;e++){d.push(n.getTime()-i.int(2,10080)*c.E);let e=i.chance(.04);h.push(e?429:200),l.push(e?0:i.int(600,4200)),p.push(e?0:i.int(80,700)),m.push(e?i.int(80,300):i.int(700,4800)),g.push(i.int(1,2))}let f=e=>e.reduce((e,t)=>e+t,0),w=new Date(Math.max(...d));await t.execute(r.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
4
|
values (${s}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,c.$)(n,720*c.w).toISOString()}::timestamptz,
|
|
5
5
|
${w.toISOString()}::timestamptz, ${o}, ${f(l)}, ${f(p)}, ${V(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(r.B`
|
|
@@ -9,20 +9,20 @@ module.exports=[601533,e=>{"use strict";var t=e.i(7584),a=e.i(837137),n=e.i(1592
|
|
|
9
9
|
case when t.s = 429 then 'rate_limited · upstream_429' else null end, false
|
|
10
10
|
from unnest(${(0,c._)(d)}::bigint[], ${(0,c._)(g)}::int[], ${(0,c._)(l)}::int[], ${(0,c._)(p)}::int[], ${(0,c._)(m)}::int[],
|
|
11
11
|
${(0,c._)(h)}::int[]) as t(at, m, ti, tout, l, s)
|
|
12
|
-
order by t.at`)}let V=e=>`{${e.join(",")}}`,
|
|
12
|
+
order by t.at`)}let V=e=>`{${e.join(",")}}`,q=2*c.w;async function Y(e,t,a,n){let{db:i,seed:s,now:o}=e,d=(0,u.k)(s,"proposals"),p=e=>(0,u.T)(s,"proposal",e),m=a.certSoon,h=t.failedDeploy,g=n.monitors.find(e=>e.id===n.outage.monitorId),f=new Date(n.outage.startedAt.getTime()+11*c.E),w=t.resolved.oldDeploy,A=new Date(w.startedAt.getTime()+d.int(2,6)*c.E),k=new Date(A.getTime()+d.int(3,15)*c.E),y=(0,c.$)(o,d.int(20,55)*c.E),I=(0,c.$)(o,d.int(8,19)*c.E);for(let e of[{id:p("pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${m.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:m.id,resourceName:m.name,targetRef:m.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+q),claimedAt:null,finishedAt:null},{id:p("pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${h.appName}`,reason:`Production deployment ${h.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:h.appId,resourceName:h.appName,targetRef:h.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:I,decidedAt:null,expiresAt:new Date(I.getTime()+q),claimedAt:null,finishedAt:null},{id:p("done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,l.F)(g.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:g.appId,resourceName:(0,l.F)(g.url),targetRef:g.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:f,decidedAt:f,expiresAt:new Date(f.getTime()+q),claimedAt:new Date(f.getTime()+2e3),finishedAt:new Date(f.getTime()+2e3+d.int(300,1500))},{id:p("rejected"),alertId:w.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${w.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:w.appId,resourceName:w.appName,targetRef:w.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,N.memberRowId)(s),createdAt:A,decidedAt:k,expiresAt:new Date(A.getTime()+q),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await i.execute(r.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 (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
|
|
16
16
|
${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
|
|
17
|
-
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var Q=e.i(263410),X=e.i(617084)
|
|
17
|
+
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var Q=e.i(263410),X=e.i(617084),J=e.i(49440),Z=e.i(15738);async function ee(e,t,n){let{db:i,now:r}=e,s=(0,R.C)();await i.insert(a.settings).values({key:X.k,value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:r,updatedAt:r});let o=T(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),d=(0,J.f)(o,s);d.length&&await i.insert(Q.p).values(d);let l=n.monitors;if(!l.length)return;let[c,u]=await i.insert(Q.I).values([{id:"00000000-0000-4000-8000-0000000000a1",createdAt:r,updatedAt:r,clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{id:"00000000-0000-4000-8000-0000000000a2",createdAt:r,updatedAt:r,clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:Q.I.id}),p=["Toko utama","Toko online","Admin"];await i.insert(Q.Z).values([...l.slice(0,3).map((e,t)=>({reportId:c.id,monitorId:e.id,displayName:p[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let m=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})((0,Z.C)(r,s).slice(0,7));await i.insert(Q.q).values({reportId:c.id,month:m,status:"sent",attempts:1,sentAt:new Date(r.getTime()-2592e5)})}function et(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function ea(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:et(a,.5),p95Ms:et(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}}var en=e.i(655206);let ei=5*c.E,er=c.h/ei,es=en.f.checks*er,eo=en.f.rollupsHourly*er,ed="No answer within 5 s";async function el(e,t){var n;let i,{db:r,seed:s,now:o}=e,d=(0,u.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,u.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*c.h+d.int(2,50)*c.E)});let p=Math.floor((o.getTime()-1e4)/ei)*ei,m=(e,t)=>p-t*ei+2e3+300*e.index,h=l.map(e=>(function(e,t){let a=(0,u.k)(e,"checks",t.id),n={ok:new Uint8Array(eo),status:new Int16Array(eo),latency:new Int32Array(eo)},i=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<eo;e++){let t=Math.round(i*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);ec(n,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else ec(n,e,{ok:!0,status:200,latency:t})}return n})(s,e)),f=(0,u.k)(s,"outage"),w=l.filter(e=>"/"===e.path),A=f.pick(w),k=f.int(96,240),y=f.int(4,7),I=h[A.index];for(let e=k-3;e<k+y+3;e++)ec(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)ec(I,e,{ok:!1,status:e===k+y-1?502:503,latency:f.int(30,140)});let v={monitorId:A.id,appId:A.appId,startedAt:new Date(m(A,k+y-1)),endedAt:new Date(m(A,k)),recoveredAt:new Date(m(A,k-1)),failedChecks:y},_=l.filter(e=>e.appId!==A.appId),$=_.length?f.pick(_):null;$&&ec(h[$.index],0,{ok:!1,status:0,latency:-1});let S=(0,u.k)(s,"slow-windows"),b=l.filter(e=>e.id!==A.id),T=(e,t,a,n)=>{let i=h[e.index],r=t*er+S.int(12,144),s=S.int(a,n),o=[];for(let e=r;e>r-s;e--){let t=S.int(1600,2900);ec(i,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!i.ok[d]||i.latency[d]>=1500)&&ec(i,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(m(e,r-1)),resolvedAt:new Date(m(e,d)),p95:ea(o).p95Ms}},x=b[0]??A,D=b[b.length-1]??A,M=[T(x,2,4,8),T(D,5,3,6)],E=l.map(e=>(function(e,t,a){let n="unknown",i=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,g.G)(i,{ok:1===t.ok[e],statusCode:eu(t,e),latencyMs:ep(t,e),error:em(t,e)});s.state!==n&&(r=a(e)),n=s.state,i=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:n,stateSince:r,failStreak:i,lastCheckedAt:a(0),lastStatus:eu(t,0),lastLatencyMs:ep(t,0),createdAt:e.createdAt}})(e,h[e.index],t=>new Date(m(e,t))));await r.insert(a.monitors).values(E.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:ei/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:em(h[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let C=((i=new Date(n=o)).setUTCHours(20,0,0,0),i.getTime()>n.getTime()-5*c.E&&i.setTime(i.getTime()-c.h),i.getTime());for(let t of l)await eh(e,t,h[t.index],new Date(m(t,0))),await eg(e,t,h[t.index],e=>m(t,e),C);return await ef(e,l.length),{monitors:E,outage:v,degraded:$?{monitorId:$.id,appId:$.appId,since:new Date(m($,0))}:null,slow:M}}function ec(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let eu=(e,t)=>0===e.status[t]?null:e.status[t],ep=(e,t)=>e.latency[t]<0?null:e.latency[t],em=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:ed;async function eh(e,t,a,n){let i=Array.from({length:es},(e,t)=>t);await e.db.execute(r.B`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${n.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,c._)(i)}::int[], ${(0,c._)(i.map(e=>1===a.ok[e]))}::bool[], ${(0,c._)(i.map(e=>
|
|
22
|
-
${(0,c._)(i.map(e=>
|
|
20
|
+
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${ed} else 'HTTP ' || t.s end, false
|
|
21
|
+
from unnest(${(0,c._)(i)}::int[], ${(0,c._)(i.map(e=>1===a.ok[e]))}::bool[], ${(0,c._)(i.map(e=>eu(a,e)))}::int[],
|
|
22
|
+
${(0,c._)(i.map(e=>ep(a,e)))}::int[]) as t(k, ok, s, l)`)}async function eg(e,t,a,n,i){let s=Math.ceil(n(a.ok.length-1)/c.w)*c.w,o=[],d=[],l=[],u=[],p=[],m=[],h=[],g=-1,f=[],w=()=>{if(g<0||!f.length)return;let e=ea(f);o.push(g/1e3),d.push(e.checks),l.push(e.failures),u.push(e.p50Ms),p.push(e.p95Ms),m.push(e.maxMs),h.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=Math.floor(n(e)/c.w)*c.w;if(!(t>=i)){if(t<s)break;t!==g&&(w(),g=t,f=[]),f.push({ok:1===a.ok[e],statusCode:eu(a,e),latencyMs:ep(a,e)})}}w(),o.length&&await e.db.execute(r.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 ${t.id}::uuid, to_timestamp(t.h), t.c, t.f, t.p50, t.p95, t.mx, t.s5, 0
|
|
25
25
|
from unnest(${(0,c._)(o)}::bigint[], ${(0,c._)(d)}::int[], ${(0,c._)(l)}::int[], ${(0,c._)(u)}::int[],
|
|
26
|
-
${(0,c._)(p)}::int[], ${(0,c._)(m)}::int[], ${(0,c._)(h)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function
|
|
26
|
+
${(0,c._)(p)}::int[], ${(0,c._)(m)}::int[], ${(0,c._)(h)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function ef(e,t){let{seed:n,now:i}=e,r=(0,u.k)(n,"collector-runs"),s=Math.floor((i.getTime()-1e4)/c.E)*c.E;await e.db.insert(a.collectorRuns).values(Array.from({length:60},(e,a)=>{let i=s-a*c.E,o=i%ei==0,d=(o?2e3+300*t:600)+r.int(200,1400);return{id:(0,u.T)(n,"collector-run",a),startedAt:new Date(i+1e3),finishedAt:new Date(i+1e3+d),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:d,checks:o?t:0}}))}async function ew(e,t,a,n,{foreignKeyChecks:i=!1}={}){await e.transaction(async e=>{i||await e.execute(r.B`set local session_replication_role = replica`);let s={db:e,seed:t,now:a,email:n};await (0,N.seedMember)(s);let o=await b(s),d=await el(s,o);await x(s,o,d.monitors),await ee(s,o,d);let l=await B(s,o),c=await F(s,o,l),u=await m(s,o,d,l,c);await Y(s,u,c,d),await U(s,o,d,l,c,u),await K(s,o),await W(s),await G(s)})}var eA=e.i(330787),ek=e.i(666680),ey=e.i(902157),eI=e.i(750227),ev=e.i(727028),e_=e.i(632019),e$=e.i(488077),eS=e.i(614755);let eb=globalThis;async function eT(e){let a=await e_.f.create();try{return await (0,e$.f)((0,t.f)({client:a}),{migrationsFolder:e}),{blob:await a.dumpDataDir("none"),from:"process"}}finally{await a.close()}}function ex(e){return eb.__watchbellDemoTemplate=e,e.catch(()=>{eb.__watchbellDemoTemplate===e&&delete eb.__watchbellDemoTemplate}),e}function eD(){if(eb.__watchbellDemoTemplate)return eb.__watchbellDemoTemplate;let e=performance.now(),t=(0,eS.selfhostMigrationsFolder)(),a=function(e){let t=function(e=process.env){return(0,eI.resolve)((0,n.d)(e,"DEMO_SNAPSHOT_DIR")||"demo-snapshot")}();try{if(JSON.parse((0,ey.readFileSync)((0,eI.join)(t,"migrated.json"),"utf8")).migrations!==function(e){let t=(0,ek.createHash)("sha256");for(let a of["meta/_journal.json",...(0,ey.readdirSync)(e).filter(e=>e.endsWith(".sql")).sort()])t.update(`${a}\0`).update((0,ey.readFileSync)((0,eI.join)(e,a))).update("\0");return t.digest("hex")}(e))return null;return{blob:new Blob([(0,ev.gunzipSync)((0,ey.readFileSync)((0,eI.join)(t,"migrated.tar.gz")))],{type:"application/x-tar"}),from:"build"}}catch{return null}}(t),i=ex(a?Promise.resolve(a):eT(t));return i.then(t=>console.info(`demo: schema template ${"build"===t.from?"read from the build's snapshot":"migrated in this process"} in ${Math.round(performance.now()-e)} ms`),()=>void 0),i}async function eM(){let e=eD(),t=await e;try{return await e_.f.create({loadDataDir:t.blob})}catch(a){if("build"!==t.from)throw a;return eb.__watchbellDemoTemplate===e&&(console.warn(`demo: the build's migrated snapshot didn't load (${a instanceof Error?a.message:String(a)}); migrating instead`),ex(eT((0,eS.selfhostMigrationsFolder)()))),e_.f.create({loadDataDir:(await eD()).blob})}}var eE=e.i(904370);let eC=0,eO=()=>Date.now()+eC;function eP(e=process.env){let t=Number(((0,n.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let eB=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function ez(){let e=[...eB.waiters];for(let t of(eB.waiters.clear(),e))t()}function eR(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{eB.live.delete(e),ez()}))}function eN(e){eB.entries.get(e.seed)===e&&eB.entries.delete(e.seed),e.evicted=!0,0===eB.entries.size&&eB.sweeper&&(clearInterval(eB.sweeper),eB.sweeper=void 0),eR(e),ez()}let ej=e=>e.created&&0===e.leases&&!e.evicted,eU=(e,t)=>ej(e)&&t-e.lastUsed>=6e4;function eL(e=eO()){for(let t of[...eB.entries.values()])ej(t)&&e-t.lastUsed>12e5&&eN(t)}async function eF(e){let t=eO()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(eB.live.size<eP())return void eB.live.add(e);let a=eO(),n=[...eB.entries.values()].find(e=>eU(e,a));if(n){eN(n),await n.closing;continue}let r=t-a;if(r<=0)throw(0,i.f)(i.L);await function(e){return new Promise(t=>{let a=setTimeout(n,e);function n(){clearTimeout(a),eB.waiters.delete(n),t()}eB.waiters.add(n)})}(Math.min(r,function(e){let t=1/0;for(let a of eB.entries.values())ej(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function eH(){eB.creating<2?eB.creating++:await new Promise(e=>eB.creationQueue.push(e))}async function eK(e,n){let r=performance.now();if(!eE.demoCreations.take(await (0,eA.R)(),e.seed))throw(0,i.f)(i._);await eF(e);try{let i=n??await (0,eA._)();await eH();try{let n=performance.now(),s=await eM(),o=performance.now();try{let n=(0,t.f)({client:s,schema:a});await ew(n,e.seed,new Date,i)}catch(e){throw await s.close().catch(()=>void 0),e}e.created=!0;let d=(e,t)=>Math.round(t-e),l=performance.now();return console.info(`demo: visitor database ready in ${d(r,l)} ms (waited ${d(r,n)}, schema ${d(n,o)}, seed ${d(o,l)})`),s}finally{let e;(e=eB.creationQueue.shift())?e():eB.creating--}}catch(t){throw eB.live.delete(e),t}finally{ez()}}function eW(e,t){if(!e)throw Error("Demo seed missing");eL();let a=eB.entries.get(e);if(a)eB.entries.delete(e);else{let n={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};n.pglite=eK(n,t),n.pglite.catch(()=>{eB.entries.get(e)===n&&eB.entries.delete(e)}),a=n}return a.lastUsed=eO(),eB.entries.set(e,a),eB.sweeper||(eB.sweeper=setInterval(()=>eL(),6e4),eB.sweeper.unref?.()),a}async function eG(e,t,a){let n=eW(e,a);n.leases++;try{return await t(await n.pglite)}finally{n.leases--,n.lastUsed=eO(),eR(n),ez()}}async function eV(){for(let e of[...eB.entries.values()])eN(e);await Promise.all([...eB.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",()=>i.L,"DEMO_TOO_MANY",()=>i._,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,eV,"demoDbFor",0,function(e,t){return eW(e,t).pglite},"demoPoolMax",0,eP,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");eC=e,ez()},"sweepIdleDemoDbs",0,eL,"withDemoDb",0,eG],601533)}];
|
|
27
27
|
|
|
28
28
|
//# sourceMappingURL=src_lib_demo_pool_ts_0fpn8acsdk64i._.js.map
|
|
@@ -14,7 +14,7 @@ module.exports=[272923,e=>{"use strict";var t=e.i(284180),a=e.i(618916),i=e.i(58
|
|
|
14
14
|
proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
|
|
15
15
|
values (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
|
|
16
16
|
${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
|
|
17
|
-
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var Z=e.i(221994),ee=e.i(936657),et=e.i(734533),ea=e.i(196514);async function ei(e,t,i){let{db:n,now:r}=e,s=(0,U.C)();await n.insert(a.settings).values({key:ee.k,value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:r,updatedAt:r});let o=M(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),d=(0,et.L)(o,s);d.length&&await n.insert(Z.p).values(d);let l=i.monitors;if(!l.length)return;let[c,u]=await n.insert(Z.I).values([{clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:Z.I.id}),p=["Toko utama","Toko online","Admin"];await n.insert(Z.Z).values([...l.slice(0,3).map((e,t)=>({reportId:c.id,monitorId:e.id,displayName:p[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let m=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})((0,ea.C)(r,s).slice(0,7));await n.insert(Z.q).values({reportId:c.id,month:m,status:"sent",attempts:1,sentAt:new Date(r.getTime()-2592e5)})}var en=e.i(938739),er=e.i(273083);let es=5*m.E,eo=m.h/es,ed=er.f.checks*eo,el=er.f.rollupsHourly*eo,ec="No answer within 5 s";async function eu(e,t){var i;let n,{db:r,seed:s,now:o}=e,d=(0,h.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,h.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*m.h+d.int(2,50)*m.E)});let c=Math.floor((o.getTime()-1e4)/es)*es,u=(e,t)=>c-t*es+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,h.k)(e,"checks",t.id),i={ok:new Uint8Array(el),status:new Int16Array(el),latency:new Int32Array(el)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<el;e++){let t=Math.round(n*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);ep(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else ep(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),g=(0,h.k)(s,"outage"),f=l.filter(e=>"/"===e.path),w=g.pick(f),k=g.int(96,240),y=g.int(4,7),I=p[w.index];for(let e=k-3;e<k+y+3;e++)ep(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)ep(I,e,{ok:!1,status:e===k+y-1?502:503,latency:g.int(30,140)});let v={monitorId:w.id,appId:w.appId,startedAt:new Date(u(w,k+y-1)),endedAt:new Date(u(w,k)),recoveredAt:new Date(u(w,k-1)),failedChecks:y},$=l.filter(e=>e.appId!==w.appId),_=$.length?g.pick($):null;_&&ep(p[_.index],0,{ok:!1,status:0,latency:-1});let b=(0,h.k)(s,"slow-windows"),S=l.filter(e=>e.id!==w.id),T=(e,t,a,i)=>{let n=p[e.index],r=t*eo+b.int(12,144),s=b.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=b.int(1600,2900);ep(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&ep(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,en.z)(o).p95Ms}},x=S[0]??w,D=S[S.length-1]??w,M=[T(x,2,4,8),T(D,5,3,6)],E=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,A.G)(n,{ok:1===t.ok[e],statusCode:em(t,e),latencyMs:eh(t,e),error:eg(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:em(t,0),lastLatencyMs:eh(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await r.insert(a.monitors).values(E.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:es/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eg(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((n=new Date(i=o)).setUTCHours(20,0,0,0),n.getTime()>i.getTime()-5*m.E&&n.setTime(n.getTime()-m.h),n.getTime());for(let t of l)await ef(e,t,p[t.index],new Date(u(t,0))),await ew(e,t,p[t.index],e=>u(t,e),O);return await eA(e,l.length),{monitors:E,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:M}}function ep(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let em=(e,t)=>0===e.status[t]?null:e.status[t],eh=(e,t)=>e.latency[t]<0?null:e.latency[t],eg=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:ec;async function ef(e,t,a,i){let n=Array.from({length:ed},(e,t)=>t);await e.db.execute(d.B`
|
|
17
|
+
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var Z=e.i(221994),ee=e.i(936657),et=e.i(734533),ea=e.i(196514);async function ei(e,t,i){let{db:n,now:r}=e,s=(0,U.C)();await n.insert(a.settings).values({key:ee.k,value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:r,updatedAt:r});let o=M(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),d=(0,et.L)(o,s);d.length&&await n.insert(Z.p).values(d);let l=i.monitors;if(!l.length)return;let[c,u]=await n.insert(Z.I).values([{id:"00000000-0000-4000-8000-0000000000a1",createdAt:r,updatedAt:r,clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{id:"00000000-0000-4000-8000-0000000000a2",createdAt:r,updatedAt:r,clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:Z.I.id}),p=["Toko utama","Toko online","Admin"];await n.insert(Z.Z).values([...l.slice(0,3).map((e,t)=>({reportId:c.id,monitorId:e.id,displayName:p[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let m=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})((0,ea.C)(r,s).slice(0,7));await n.insert(Z.q).values({reportId:c.id,month:m,status:"sent",attempts:1,sentAt:new Date(r.getTime()-2592e5)})}var en=e.i(938739),er=e.i(273083);let es=5*m.E,eo=m.h/es,ed=er.f.checks*eo,el=er.f.rollupsHourly*eo,ec="No answer within 5 s";async function eu(e,t){var i;let n,{db:r,seed:s,now:o}=e,d=(0,h.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,h.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*m.h+d.int(2,50)*m.E)});let c=Math.floor((o.getTime()-1e4)/es)*es,u=(e,t)=>c-t*es+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,h.k)(e,"checks",t.id),i={ok:new Uint8Array(el),status:new Int16Array(el),latency:new Int32Array(el)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<el;e++){let t=Math.round(n*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);ep(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else ep(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),g=(0,h.k)(s,"outage"),f=l.filter(e=>"/"===e.path),w=g.pick(f),k=g.int(96,240),y=g.int(4,7),I=p[w.index];for(let e=k-3;e<k+y+3;e++)ep(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)ep(I,e,{ok:!1,status:e===k+y-1?502:503,latency:g.int(30,140)});let v={monitorId:w.id,appId:w.appId,startedAt:new Date(u(w,k+y-1)),endedAt:new Date(u(w,k)),recoveredAt:new Date(u(w,k-1)),failedChecks:y},$=l.filter(e=>e.appId!==w.appId),_=$.length?g.pick($):null;_&&ep(p[_.index],0,{ok:!1,status:0,latency:-1});let b=(0,h.k)(s,"slow-windows"),S=l.filter(e=>e.id!==w.id),T=(e,t,a,i)=>{let n=p[e.index],r=t*eo+b.int(12,144),s=b.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=b.int(1600,2900);ep(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&ep(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,en.z)(o).p95Ms}},x=S[0]??w,D=S[S.length-1]??w,M=[T(x,2,4,8),T(D,5,3,6)],E=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,A.G)(n,{ok:1===t.ok[e],statusCode:em(t,e),latencyMs:eh(t,e),error:eg(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:em(t,0),lastLatencyMs:eh(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await r.insert(a.monitors).values(E.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:es/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eg(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((n=new Date(i=o)).setUTCHours(20,0,0,0),n.getTime()>i.getTime()-5*m.E&&n.setTime(n.getTime()-m.h),n.getTime());for(let t of l)await ef(e,t,p[t.index],new Date(u(t,0))),await ew(e,t,p[t.index],e=>u(t,e),O);return await eA(e,l.length),{monitors:E,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:M}}function ep(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let em=(e,t)=>0===e.status[t]?null:e.status[t],eh=(e,t)=>e.latency[t]<0?null:e.latency[t],eg=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:ec;async function ef(e,t,a,i){let n=Array.from({length:ed},(e,t)=>t);await e.db.execute(d.B`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${i.toISOString()}::timestamptz - t.k * interval '5 minutes',
|
|
20
20
|
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${ec} else 'HTTP ' || t.s end, false
|
|
@@ -14,7 +14,7 @@ module.exports=[218550,e=>{"use strict";let t;var a=e.i(789922),n=e.i(725561),r=
|
|
|
14
14
|
proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
|
|
15
15
|
values (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
|
|
16
16
|
${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
|
|
17
|
-
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var eR=e.i(818467);let eB={createdAt:(0,X._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,X._)("updated_at",{withTimezone:!0}).notNull().defaultNow()},eP=n.ops.table("reports",{id:(0,J.q)("id").primaryKey().defaultRandom(),clientName:(0,Z.f)("client_name").notNull(),title:(0,Z.f)("title"),lang:(0,Z.f)("lang").$type().notNull().default("en"),note:(0,Z.f)("note"),emailOpening:(0,Z.f)("email_opening"),recipients:(0,q.y)("recipients").$type().notNull().default([]),autoSend:(0,eR.f)("auto_send").notNull().default(!1),sender:(0,Z.f)("sender").$type(),...eB}),eU=n.ops.table("report_sites",{reportId:(0,J.q)("report_id").notNull().references(()=>eP.id,{onDelete:"cascade"}),monitorId:(0,J.q)("monitor_id").notNull().references(()=>n.monitors.id,{onDelete:"cascade"}),displayName:(0,Z.f)("display_name").notNull(),position:(0,K.f)("position").notNull().default(0)},e=>[(0,Q._)({columns:[e.reportId,e.monitorId]})]),eL=n.ops.table("report_sends",{reportId:(0,J.q)("report_id").notNull().references(()=>eP.id,{onDelete:"cascade"}),month:(0,Z.f)("month").notNull(),status:(0,Z.f)("status").$type().notNull(),attempts:(0,K.f)("attempts").notNull().default(0),lastError:(0,Z.f)("last_error"),claimedAt:(0,X._)("claimed_at",{withTimezone:!0}),sentAt:(0,X._)("sent_at",{withTimezone:!0})},e=>[(0,Q._)({columns:[e.reportId,e.month]})]),eH=n.ops.table("deploy_days",{resourceId:(0,J.q)("resource_id").notNull().references(()=>n.resources.id,{onDelete:"cascade"}),day:(0,Z.f)("day").notNull(),ok:(0,K.f)("ok").notNull(),failed:(0,K.f)("failed").notNull()},e=>[(0,Q._)({columns:[e.resourceId,e.day]})]);function eF(e,t){let a=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(e),n=e=>a.find(t=>t.type===e)?.value??"";return`${n("year")}-${n("month")}-${n("day")}`}async function eV(e,t,a){let{db:r,now:i}=e,o=eI();await r.insert(n.settings).values({key:"branding",value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:i,updatedAt:i});let s=function(e,t){let a=new Map;for(let n of e){let e=n.state.toUpperCase();if("READY"!==e&&"ERROR"!==e)continue;let r=eF(n.createdAtProvider,t),i=`${n.resourceId}|${r}`,o=a.get(i)??{resourceId:n.resourceId,day:r,ok:0,failed:0};"READY"===e?o.ok++:o.failed++,a.set(i,o)}return[...a.values()].sort((e,t)=>e.resourceId.localeCompare(t.resourceId)||e.day.localeCompare(t.day))}(F(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),o);s.length&&await r.insert(eH).values(s);let l=a.monitors;if(!l.length)return;let[d,u]=await r.insert(eP).values([{clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:eP.id}),c=["Toko utama","Toko online","Admin"];await r.insert(eU).values([...l.slice(0,3).map((e,t)=>({reportId:d.id,monitorId:e.id,displayName:c[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let p=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})(eF(i,o).slice(0,7));await r.insert(eL).values({reportId:d.id,month:p,status:"sent",attempts:1,sentAt:new Date(i.getTime()-2592e5)})}function eW(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function eG(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:eW(a,.5),p95Ms:eW(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}}
|
|
17
|
+
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var eR=e.i(818467);let eB={createdAt:(0,X._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,X._)("updated_at",{withTimezone:!0}).notNull().defaultNow()},eP=n.ops.table("reports",{id:(0,J.q)("id").primaryKey().defaultRandom(),clientName:(0,Z.f)("client_name").notNull(),title:(0,Z.f)("title"),lang:(0,Z.f)("lang").$type().notNull().default("en"),note:(0,Z.f)("note"),emailOpening:(0,Z.f)("email_opening"),recipients:(0,q.y)("recipients").$type().notNull().default([]),autoSend:(0,eR.f)("auto_send").notNull().default(!1),sender:(0,Z.f)("sender").$type(),...eB}),eU=n.ops.table("report_sites",{reportId:(0,J.q)("report_id").notNull().references(()=>eP.id,{onDelete:"cascade"}),monitorId:(0,J.q)("monitor_id").notNull().references(()=>n.monitors.id,{onDelete:"cascade"}),displayName:(0,Z.f)("display_name").notNull(),position:(0,K.f)("position").notNull().default(0)},e=>[(0,Q._)({columns:[e.reportId,e.monitorId]})]),eL=n.ops.table("report_sends",{reportId:(0,J.q)("report_id").notNull().references(()=>eP.id,{onDelete:"cascade"}),month:(0,Z.f)("month").notNull(),status:(0,Z.f)("status").$type().notNull(),attempts:(0,K.f)("attempts").notNull().default(0),lastError:(0,Z.f)("last_error"),claimedAt:(0,X._)("claimed_at",{withTimezone:!0}),sentAt:(0,X._)("sent_at",{withTimezone:!0})},e=>[(0,Q._)({columns:[e.reportId,e.month]})]),eH=n.ops.table("deploy_days",{resourceId:(0,J.q)("resource_id").notNull().references(()=>n.resources.id,{onDelete:"cascade"}),day:(0,Z.f)("day").notNull(),ok:(0,K.f)("ok").notNull(),failed:(0,K.f)("failed").notNull()},e=>[(0,Q._)({columns:[e.resourceId,e.day]})]);e.i(430811),e.i(479586);function eF(e,t){let a=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(e),n=e=>a.find(t=>t.type===e)?.value??"";return`${n("year")}-${n("month")}-${n("day")}`}async function eV(e,t,a){let{db:r,now:i}=e,o=eI();await r.insert(n.settings).values({key:"branding",value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:i,updatedAt:i});let s=function(e,t){let a=new Map;for(let n of e){let e=n.state.toUpperCase();if("READY"!==e&&"ERROR"!==e)continue;let r=eF(n.createdAtProvider,t),i=`${n.resourceId}|${r}`,o=a.get(i)??{resourceId:n.resourceId,day:r,ok:0,failed:0};"READY"===e?o.ok++:o.failed++,a.set(i,o)}return[...a.values()].sort((e,t)=>e.resourceId.localeCompare(t.resourceId)||e.day.localeCompare(t.day))}(F(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),o);s.length&&await r.insert(eH).values(s);let l=a.monitors;if(!l.length)return;let[d,u]=await r.insert(eP).values([{id:"00000000-0000-4000-8000-0000000000a1",createdAt:i,updatedAt:i,clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{id:"00000000-0000-4000-8000-0000000000a2",createdAt:i,updatedAt:i,clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:eP.id}),c=["Toko utama","Toko online","Admin"];await r.insert(eU).values([...l.slice(0,3).map((e,t)=>({reportId:d.id,monitorId:e.id,displayName:c[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let p=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})(eF(i,o).slice(0,7));await r.insert(eL).values({reportId:d.id,month:p,status:"sent",attempts:1,sentAt:new Date(i.getTime()-2592e5)})}function eW(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function eG(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:eW(a,.5),p95Ms:eW(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}}let eK=2016,eq=25920,eQ="No answer within 5 s";async function eY(e,t){var a;let r,{db:i,seed:o,now:s}=e,l=x(o,"monitors"),d=[];for(let e of t.apps)for(let[t,a]of(l.chance(.6)?["/","/api/health"]:["/"]).entries())d.push({id:$(o,"monitor",e.name,a),appId:e.id,index:d.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*l.int(1,3)*864e5+6e4*l.int(2,50))});let u=3e5*Math.floor((s.getTime()-1e4)/3e5),c=(e,t)=>u-3e5*t+2e3+300*e.index,p=d.map(e=>(function(e,t){let a=x(e,"checks",t.id),n={ok:new Uint8Array(eq),status:new Int16Array(eq),latency:new Int32Array(eq)},r=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<eq;e++){let t=Math.round(r*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);eZ(n,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else eZ(n,e,{ok:!0,status:200,latency:t})}return n})(o,e)),m=x(o,"outage"),h=d.filter(e=>"/"===e.path),g=m.pick(h),f=m.int(96,240),y=m.int(4,7),w=p[g.index];for(let e=f-3;e<f+y+3;e++)eZ(w,e,{ok:!0,status:200,latency:w.latency[e]>0?w.latency[e]:180});for(let e=f;e<f+y;e++)eZ(w,e,{ok:!1,status:e===f+y-1?502:503,latency:m.int(30,140)});let b={monitorId:g.id,appId:g.appId,startedAt:new Date(c(g,f+y-1)),endedAt:new Date(c(g,f)),recoveredAt:new Date(c(g,f-1)),failedChecks:y},A=d.filter(e=>e.appId!==g.appId),k=A.length?m.pick(A):null;k&&eZ(p[k.index],0,{ok:!1,status:0,latency:-1});let v=x(o,"slow-windows"),_=d.filter(e=>e.id!==g.id),I=(e,t,a,n)=>{let r=p[e.index],i=288*t+v.int(12,144),o=v.int(a,n),s=[];for(let e=i;e>i-o;e--){let t=v.int(1600,2900);eZ(r,e,{ok:!0,status:200,latency:t}),s.length<2&&s.push({ok:!0,statusCode:200,latencyMs:t})}let l=i-o;return(!r.ok[l]||r.latency[l]>=1500)&&eZ(r,l,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(c(e,i-1)),resolvedAt:new Date(c(e,l)),p95:eG(s).p95Ms}},S=_[0]??g,T=_[_.length-1]??g,D=[I(S,2,4,8),I(T,5,3,6)],M=d.map(e=>(function(e,t,a){let n="unknown",r=0,i=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let o=function(e,t){if(t.ok)return{state:"ok",failStreak:0};let a=e+1;return{state:a>=3?"err":"warn",failStreak:a}}(r,{ok:1===t.ok[e],statusCode:eX(t,e),latencyMs:eJ(t,e),error:e0(t,e)});o.state!==n&&(i=a(e)),n=o.state,r=o.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:n,stateSince:i,failStreak:r,lastCheckedAt:a(0),lastStatus:eX(t,0),lastLatencyMs:eJ(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(c(e,t))));await i.insert(n.monitors).values(M.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:300,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:e0(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let z=((r=new Date(a=s)).setUTCHours(20,0,0,0),r.getTime()>a.getTime()-3e5&&r.setTime(r.getTime()-864e5),r.getTime());for(let t of d)await e1(e,t,p[t.index],new Date(c(t,0))),await e5(e,t,p[t.index],e=>c(t,e),z);return await e6(e,d.length),{monitors:M,outage:b,degraded:k?{monitorId:k.id,appId:k.appId,since:new Date(c(k,0))}:null,slow:D}}function eZ(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let eX=(e,t)=>0===e.status[t]?null:e.status[t],eJ=(e,t)=>e.latency[t]<0?null:e.latency[t],e0=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:eQ;async function e1(e,t,a,n){let r=Array.from({length:eK},(e,t)=>t);await e.db.execute(d.B`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${n.toISOString()}::timestamptz - t.k * interval '5 minutes',
|
|
20
20
|
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${eQ} else 'HTTP ' || t.s end, false
|
|
@@ -14,7 +14,7 @@ module.exports=[907897,e=>{"use strict";var t=e.i(519137),a=e.i(530298),i=e.i(10
|
|
|
14
14
|
proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
|
|
15
15
|
values (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
|
|
16
16
|
${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
|
|
17
|
-
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var J=e.i(306001),ee=e.i(621074),et=e.i(984194),ea=e.i(824009);async function ei(e,t,i){let{db:n,now:r}=e,s=(0,U.timeZone)();await n.insert(a.settings).values({key:ee.k,value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:r,updatedAt:r});let o=M(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),d=(0,et.L)(o,s);d.length&&await n.insert(J.p).values(d);let l=i.monitors;if(!l.length)return;let[c,u]=await n.insert(J.I).values([{clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:J.I.id}),p=["Toko utama","Toko online","Admin"];await n.insert(J.Z).values([...l.slice(0,3).map((e,t)=>({reportId:c.id,monitorId:e.id,displayName:p[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let m=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})((0,ea.C)(r,s).slice(0,7));await n.insert(J.q).values({reportId:c.id,month:m,status:"sent",attempts:1,sentAt:new Date(r.getTime()-2592e5)})}var en=e.i(649297),er=e.i(369179);let es=5*m.E,eo=m.h/es,ed=er.f.checks*eo,el=er.f.rollupsHourly*eo,ec="No answer within 5 s";async function eu(e,t){var i;let n,{db:r,seed:s,now:o}=e,d=(0,h.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,h.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*m.h+d.int(2,50)*m.E)});let c=Math.floor((o.getTime()-1e4)/es)*es,u=(e,t)=>c-t*es+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,h.k)(e,"checks",t.id),i={ok:new Uint8Array(el),status:new Int16Array(el),latency:new Int32Array(el)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<el;e++){let t=Math.round(n*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);ep(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else ep(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),g=(0,h.k)(s,"outage"),f=l.filter(e=>"/"===e.path),w=g.pick(f),k=g.int(96,240),y=g.int(4,7),I=p[w.index];for(let e=k-3;e<k+y+3;e++)ep(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)ep(I,e,{ok:!1,status:e===k+y-1?502:503,latency:g.int(30,140)});let v={monitorId:w.id,appId:w.appId,startedAt:new Date(u(w,k+y-1)),endedAt:new Date(u(w,k)),recoveredAt:new Date(u(w,k-1)),failedChecks:y},$=l.filter(e=>e.appId!==w.appId),_=$.length?g.pick($):null;_&&ep(p[_.index],0,{ok:!1,status:0,latency:-1});let b=(0,h.k)(s,"slow-windows"),S=l.filter(e=>e.id!==w.id),T=(e,t,a,i)=>{let n=p[e.index],r=t*eo+b.int(12,144),s=b.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=b.int(1600,2900);ep(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&ep(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,en.z)(o).p95Ms}},x=S[0]??w,D=S[S.length-1]??w,M=[T(x,2,4,8),T(D,5,3,6)],E=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,A.G)(n,{ok:1===t.ok[e],statusCode:em(t,e),latencyMs:eh(t,e),error:eg(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:em(t,0),lastLatencyMs:eh(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await r.insert(a.monitors).values(E.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:es/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eg(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((n=new Date(i=o)).setUTCHours(20,0,0,0),n.getTime()>i.getTime()-5*m.E&&n.setTime(n.getTime()-m.h),n.getTime());for(let t of l)await ef(e,t,p[t.index],new Date(u(t,0))),await ew(e,t,p[t.index],e=>u(t,e),O);return await eA(e,l.length),{monitors:E,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:M}}function ep(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let em=(e,t)=>0===e.status[t]?null:e.status[t],eh=(e,t)=>e.latency[t]<0?null:e.latency[t],eg=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:ec;async function ef(e,t,a,i){let n=Array.from({length:ed},(e,t)=>t);await e.db.execute(d.sql`
|
|
17
|
+
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var J=e.i(306001),ee=e.i(621074),et=e.i(984194),ea=e.i(824009);async function ei(e,t,i){let{db:n,now:r}=e,s=(0,U.timeZone)();await n.insert(a.settings).values({key:ee.k,value:{name:"Studio Nusa",accent:"#0f766e",senderName:"Studio Nusa",publicUrl:null,poweredBy:!0,hasLogo:!1},createdAt:r,updatedAt:r});let o=M(e,t.apps).map(e=>({resourceId:e.resourceId,state:e.state,createdAtProvider:e.createdAtProvider})),d=(0,et.L)(o,s);d.length&&await n.insert(J.p).values(d);let l=i.monitors;if(!l.length)return;let[c,u]=await n.insert(J.I).values([{id:"00000000-0000-4000-8000-0000000000a1",createdAt:r,updatedAt:r,clientName:"Kopi Senja",lang:"id",recipients:["pemilik@kopi-senja.example"],autoSend:!0,sender:"resend",note:"Gambar toko dipindah ke penyimpanan yang lebih cepat; halaman produk sekarang lebih ringan.",emailOpening:"Halo Bu Rina,"},{id:"00000000-0000-4000-8000-0000000000a2",createdAt:r,updatedAt:r,clientName:"Northwind Studio",lang:"en",recipients:["ops@northwind.example"],autoSend:!1,sender:null}]).returning({id:J.I.id}),p=["Toko utama","Toko online","Admin"];await n.insert(J.Z).values([...l.slice(0,3).map((e,t)=>({reportId:c.id,monitorId:e.id,displayName:p[t],position:t})),{reportId:u.id,monitorId:l[l.length-1].id,displayName:"Website",position:0}]);let m=(e=>{let[t,a]=e.split("-").map(Number);return 1===a?`${t-1}-12`:`${t}-${String(a-1).padStart(2,"0")}`})((0,ea.C)(r,s).slice(0,7));await n.insert(J.q).values({reportId:c.id,month:m,status:"sent",attempts:1,sentAt:new Date(r.getTime()-2592e5)})}var en=e.i(649297),er=e.i(369179);let es=5*m.E,eo=m.h/es,ed=er.f.checks*eo,el=er.f.rollupsHourly*eo,ec="No answer within 5 s";async function eu(e,t){var i;let n,{db:r,seed:s,now:o}=e,d=(0,h.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,h.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*m.h+d.int(2,50)*m.E)});let c=Math.floor((o.getTime()-1e4)/es)*es,u=(e,t)=>c-t*es+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,h.k)(e,"checks",t.id),i={ok:new Uint8Array(el),status:new Int16Array(el),latency:new Int32Array(el)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<el;e++){let t=Math.round(n*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);ep(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else ep(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),g=(0,h.k)(s,"outage"),f=l.filter(e=>"/"===e.path),w=g.pick(f),k=g.int(96,240),y=g.int(4,7),I=p[w.index];for(let e=k-3;e<k+y+3;e++)ep(I,e,{ok:!0,status:200,latency:I.latency[e]>0?I.latency[e]:180});for(let e=k;e<k+y;e++)ep(I,e,{ok:!1,status:e===k+y-1?502:503,latency:g.int(30,140)});let v={monitorId:w.id,appId:w.appId,startedAt:new Date(u(w,k+y-1)),endedAt:new Date(u(w,k)),recoveredAt:new Date(u(w,k-1)),failedChecks:y},$=l.filter(e=>e.appId!==w.appId),_=$.length?g.pick($):null;_&&ep(p[_.index],0,{ok:!1,status:0,latency:-1});let b=(0,h.k)(s,"slow-windows"),S=l.filter(e=>e.id!==w.id),T=(e,t,a,i)=>{let n=p[e.index],r=t*eo+b.int(12,144),s=b.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=b.int(1600,2900);ep(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&ep(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,en.z)(o).p95Ms}},x=S[0]??w,D=S[S.length-1]??w,M=[T(x,2,4,8),T(D,5,3,6)],E=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,A.G)(n,{ok:1===t.ok[e],statusCode:em(t,e),latencyMs:eh(t,e),error:eg(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:em(t,0),lastLatencyMs:eh(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await r.insert(a.monitors).values(E.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:es/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eg(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((n=new Date(i=o)).setUTCHours(20,0,0,0),n.getTime()>i.getTime()-5*m.E&&n.setTime(n.getTime()-m.h),n.getTime());for(let t of l)await ef(e,t,p[t.index],new Date(u(t,0))),await ew(e,t,p[t.index],e=>u(t,e),O);return await eA(e,l.length),{monitors:E,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:M}}function ep(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let em=(e,t)=>0===e.status[t]?null:e.status[t],eh=(e,t)=>e.latency[t]<0?null:e.latency[t],eg=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:ec;async function ef(e,t,a,i){let n=Array.from({length:ed},(e,t)=>t);await e.db.execute(d.sql`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${i.toISOString()}::timestamptz - t.k * interval '5 minutes',
|
|
20
20
|
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${ec} else 'HTTP ' || t.s end, false
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[861600,294965,598513,e=>{"use strict";var r=e.i(137936),t=e.i(118558),n=e.i(600079),a=e.i(109307),o=e.i(221084),i=e.i(312573),s=e.i(323878),d=e.i(920274),u=e.i(713095);async function l(e){return(0,n.F)("owner",async r=>{if("string"!=typeof e||!(0,d.b)(e))return{ok:!1,error:"Something in that request wasn't valid."};let n=await (0,s.C)(i.t.monitorWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};let a=await (0,d.$)(e,r.userId,new Date);if(!a)return{ok:!1,error:"That note was already dismissed."};try{await (0,o.f)({kind:"ok",message:`AI note dismissed: ${a.title.slice(0,120)}`,detail:`AiNoteDismissed \xb7 from ${a.from.slice(0,60)}`,resourceId:a.appId&&(0,d.b)(a.appId)?a.appId:null,actorUserId:r.userId})}catch{console.warn("audit event failed")}return(0,t.refresh)(),{ok:!0,message:"Note dismissed."}},{requireActionMember:a.g},"local")}async function c(e){return(0,n.F)("owner",async r=>{if(!Array.isArray(e)||!e.length||e.length>d.Z||!e.every(e=>"string"==typeof e&&(0,d.b)(e)))return{ok:!1,error:"Something in that request wasn't valid."};let n=await (0,s.C)(i.t.monitorWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};let a=await (0,d.d)([...new Set(e)],r.userId,new Date);if(!a)return{ok:!1,error:"Those notes were already dismissed."};try{await (0,o.f)({kind:"ok",message:`${a} AI ${1===a?"note":"notes"} dismissed`,detail:"AiNotesDismissed",resourceId:null,actorUserId:r.userId})}catch{console.warn("audit event failed")}return(0,t.refresh)(),{ok:!0,message:1===a?"Note dismissed.":`${a} notes dismissed.`}},{requireActionMember:a.g},"local")}(0,u.ensureServerEntryExports)([l,c]),(0,r.registerServerReference)(l,"
|
|
1
|
+
module.exports=[861600,294965,598513,e=>{"use strict";var r=e.i(137936),t=e.i(118558),n=e.i(600079),a=e.i(109307),o=e.i(221084),i=e.i(312573),s=e.i(323878),d=e.i(920274),u=e.i(713095);async function l(e){return(0,n.F)("owner",async r=>{if("string"!=typeof e||!(0,d.b)(e))return{ok:!1,error:"Something in that request wasn't valid."};let n=await (0,s.C)(i.t.monitorWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};let a=await (0,d.$)(e,r.userId,new Date);if(!a)return{ok:!1,error:"That note was already dismissed."};try{await (0,o.f)({kind:"ok",message:`AI note dismissed: ${a.title.slice(0,120)}`,detail:`AiNoteDismissed \xb7 from ${a.from.slice(0,60)}`,resourceId:a.appId&&(0,d.b)(a.appId)?a.appId:null,actorUserId:r.userId})}catch{console.warn("audit event failed")}return(0,t.refresh)(),{ok:!0,message:"Note dismissed."}},{requireActionMember:a.g},"local")}async function c(e){return(0,n.F)("owner",async r=>{if(!Array.isArray(e)||!e.length||e.length>d.Z||!e.every(e=>"string"==typeof e&&(0,d.b)(e)))return{ok:!1,error:"Something in that request wasn't valid."};let n=await (0,s.C)(i.t.monitorWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};let a=await (0,d.d)([...new Set(e)],r.userId,new Date);if(!a)return{ok:!1,error:"Those notes were already dismissed."};try{await (0,o.f)({kind:"ok",message:`${a} AI ${1===a?"note":"notes"} dismissed`,detail:"AiNotesDismissed",resourceId:null,actorUserId:r.userId})}catch{console.warn("audit event failed")}return(0,t.refresh)(),{ok:!0,message:1===a?"Note dismissed.":`${a} notes dismissed.`}},{requireActionMember:a.g},"local")}(0,u.ensureServerEntryExports)([l,c]),(0,r.registerServerReference)(l,"409f5ef8025336f14bba9c409eed2b7c7e59c55692",null),(0,r.registerServerReference)(c,"403fbebb1853b3a651a20f501aa76219246f570935",null),e.s(["R",0,c,"B",0,l],861600);var f=e.i(462820),m=e.i(109336),w=e.i(86657),y=e.i(502330),g=e.i(425238);let k="That model isn't available. Pick another one or Default.";var v=e.i(918962),h=e.i(962230),b=e.i(779704);let p={ok:!1,error:"Something in that request wasn't valid."},A=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;async function I(e){return(0,n.F)("owner",async r=>{if("string"!=typeof e||!A.test(e))return p;let t=await (0,m.A)(r.id);if(t)return{ok:!1,error:t};if(!await w.f.provider())return{ok:!1,error:f.B.noProvider};let n=await w.f.appSnapshot(e,new Date);if(!n)return{ok:!1,error:"That application wasn't found."};try{let e=await w.f.complete((0,y.r)(n),{purpose:"ask-ai",maxTokens:500}),r=e.text.trim();if(!r)return{ok:!1,error:"The model returned no text. Try again."};return{ok:!0,data:{text:r,model:e.model,ms:e.ms}}}catch(e){return{ok:!1,error:(0,m.W)(e)}}},{requireActionMember:a.g},"local")}async function q(e){return(0,n.F)("owner",async r=>{if("string"!=typeof e||!A.test(e))return p;let n=await (0,m.A)(r.id);if(n)return{ok:!1,error:n};let a=new Date,i=await w.f.appSnapshot(e,a);if(!i)return{ok:!1,error:"That application wasn't found."};let s=(0,y.R)(i),d=await (0,v.c)(a);if(!d.agConnected)return d.providerReady?S({kind:"app",contextId:e,question:s,by:r.userId,askedAt:a}):{ok:!1,error:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."};let u=await (0,h._)({kind:"app",contextId:e,question:s,by:r.userId,now:a});if(!u.ok)return{ok:!1,error:u.error};if(!u.reused)try{await (0,o.f)({kind:"ok",message:f.B.queuedAudit(i.id.slice(0,80)),resourceId:e,actorUserId:r.userId})}catch{console.warn("audit event failed")}return(0,t.refresh)(),{ok:!0,message:u.reused?f.B.alreadyWaiting:f.B.sentApp,data:{id:u.id,status:"pending"}}},{requireActionMember:a.g})}async function S(e){let r;try{r=await (0,v.L)(e.question,{model:e.model,now:e.askedAt})}catch(e){return console.warn("ask: provider failed:",e instanceof Error?e.name:"unknown"),{ok:!1,error:(0,m.W)(e)}}let n=await (0,h.Y)({kind:e.kind,contextId:e.contextId,question:e.question,by:e.by,askedAt:e.askedAt,answeredAt:new Date,answer:r.text,client:v.q,model:r.model});return(0,t.refresh)(),{ok:!0,message:`Answered by ${r.model} in ${(r.ms/1e3).toFixed(1)} s.`,data:{id:n.id,status:"answered",text:r.text,model:r.model,ms:r.ms}}}async function T(e,r){return(0,n.F)("owner",async n=>{let a,i=(a="string"==typeof e?e.trim():"")?a.length>2e3?{ok:!1,error:"A question can be up to 2000 characters."}:(0,g.G)(a)?{ok:!1,error:"That looks like a key or token. Remove it before sending."}:{ok:!0,question:a}:{ok:!1,error:"Type a question first."};if(!i.ok)return{ok:!1,error:i.error};let s=new Date,d=function(e,r){let t="string"==typeof e?e.trim():"";if(!t)return r.providerReady?{via:"provider"}:r.agConnected?{via:"antigravity",model:null}:{via:"none",error:"No AI provider is connected. Connect one under AI Gateway › Bring your own key."};if(t.length>200)return{via:"none",error:k};if(t.startsWith("ag/")){let e=t.slice(3);return r.agConnected&&r.agEnabled.includes(e)?{via:"antigravity",model:e}:{via:"none",error:k}}return r.agConnected&&r.agEnabled.includes(t)?{via:"antigravity",model:t}:{via:"provider",model:t}}(r,await (0,v.c)(s));if("none"===d.via)return{ok:!1,error:d.error};let u=await (0,m.A)(n.id);if(u)return{ok:!1,error:u};if("provider"===d.via)return S({kind:"general",contextId:null,question:i.question,by:n.userId,askedAt:s,model:d.model});let l=d.model,c=await (0,h._)({kind:"general",contextId:null,question:i.question,by:n.userId,now:s,model:l});if(!c.ok)return{ok:!1,error:c.error};if(!c.reused)try{await (0,o.f)({kind:"ok",message:f.B.queuedAudit("general"),resourceId:null,actorUserId:n.userId})}catch{console.warn("audit event failed")}return(0,t.refresh)(),{ok:!0,message:c.reused?f.B.alreadyWaiting:f.B.sentGeneral,data:{id:c.id,status:"pending"}}},{requireActionMember:a.g})}async function x(e){return(0,n.F)("owner",async r=>{if("string"!=typeof e||!A.test(e))return p;let t=await (0,h.F)(e,r.userId,new Date);return t?{ok:!0,data:{status:t.status,answer:t.answer,model:t.model??t.requestedModel,answeredAt:t.answeredAt?t.answeredAt.toISOString():null}}:{ok:!1,error:"That question wasn't found. It may have been cleaned up."}},{requireActionMember:a.g})}async function $(){return(0,n.F)("owner",async e=>{let r=await (0,m.A)(e.id);if(r)return{ok:!1,error:r};try{let e=await (0,b.E)(new Date,{force:!0});if("no-provider"===e.status)return{ok:!1,error:"No AI provider is connected."};if("empty"===e.status)return{ok:!1,error:"There are no recommendations to summarise."}}catch(e){return{ok:!1,error:(0,m.W)(e)}}return(0,t.refresh)(),{ok:!0,message:"Summary updated."}},{requireActionMember:a.g})}(0,u.ensureServerEntryExports)([I,q,T,x,$]),(0,r.registerServerReference)(I,"4067ebec0ec1ed798180beaad7c65d27163cc0c78a",null),(0,r.registerServerReference)(q,"4082301e721fe4c678dd9c8df82ca67ef42b907931",null),(0,r.registerServerReference)(T,"6058b9cc54044ab34cecdf058329e8a6c266494433",null),(0,r.registerServerReference)(x,"40a3c9d4d51bd1002451f45c698581dff4b6abf680",null),(0,r.registerServerReference)($,"00b81521a8a9504bb3553a9c0fa13022d615182fd3",null),e.s(["G",0,q,"B",0,T,"T",0,I,"P",0,x,"E",0,$],294965);var R=e.i(94473),F=e.i(188282);let C={requireActionMember:e=>(0,a.g)(e)};async function B(e){return(0,n.F)("owner",async r=>{let n=await (0,s.C)(i.t.alertWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};try{let n=await (0,R.m)(e,r);(0,t.revalidatePath)("/settings");let a=Object.keys(e??{}),o=1===a.length&&F.H[a[0]]?.risk==="safe"?`${F.H[a[0]].label}: auto-run ${n[a[0]]?"on":"off"}.`:f.X.autoRunSaved;return{ok:!0,message:o,data:n}}catch(e){if(e instanceof R.s)return{ok:!1,error:"Something in that request wasn't valid."};throw e}},C,"local")}async function D(e){return(0,n.F)("owner",async r=>{let n=await (0,s.C)(i.t.alertWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};try{let n=await (0,R.C)(e,r);return(0,t.revalidatePath)("/settings"),{ok:!0,message:`Auto-rollback ${n.enabled?"on":"off"} \xb7 first ${n.windowMin} minutes.`,data:n}}catch(e){if(e instanceof R.s)return{ok:!1,error:"Something in that request wasn't valid."};throw e}},C,"local")}async function E(e){return(0,n.F)("owner",async r=>{let n=await (0,s.C)(i.t.alertWrite,r.id);if(!n.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,i.H)(n.retryAfter)}.`};try{let n=await (0,R.o)(e,r);return(0,t.revalidatePath)("/settings"),{ok:!0,message:`Automatic security fixes ${n.enabled?"on":"off"}.`,data:n}}catch(e){if(e instanceof R.s)return{ok:!1,error:"Something in that request wasn't valid."};throw e}},C,"local")}(0,u.ensureServerEntryExports)([B,D,E]),(0,r.registerServerReference)(B,"402da8cbc73ce480198e64be2839b432e18f63bb41",null),(0,r.registerServerReference)(D,"408529dcfea1e91e1f3a5b9bbdd2e4042541c9f196",null),(0,r.registerServerReference)(E,"409572a5f19d448b5e88444994a7da2671a129468d",null),e.s(["G",0,D,"m",0,B,"F",0,E],598513)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_private_notes_notes-actions_ts_1g63g8u965fhc._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[271997,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(379416),k=a.i(427221),l=a.i(600079),m=a.i(109307),n=a.i(411350),o=a.i(249431),p=a.i(713095);let q={requireActionMember:m.g},r="That agent is already gone. It reappears with its next request.";async function s(a,b){return(0,l.F)("owner",async c=>{let d=j.z.uuid().safeParse(a);if(!d.success)return{ok:!1,error:r};let e=k.z.string().trim().regex(o.p).safeParse(b);return e.success?await (0,n.o)(d.data,e.data,c.id)?((0,i.revalidatePath)("/ai/agents"),{ok:!0,message:e.data?"Agent renamed.":"Agent name reset."}):{ok:!1,error:r}:{ok:!1,error:"Check the highlighted fields.",fieldErrors:{name:"Use up to 40 letters, digits, spaces, dots, dashes or underscores."}}},q,"local")}async function t(a){return(0,l.F)("owner",async b=>{let c=j.z.uuid().safeParse(a);return c.success&&await (0,n.U)(c.data,b.id)?((0,i.revalidatePath)("/ai/agents"),{ok:!0,message:"Agent forgotten. It reappears with its next request."}):{ok:!1,error:r}},q,"local")}(0,p.ensureServerEntryExports)([s,t]),(0,h.registerServerReference)(s,"
|
|
1
|
+
module.exports=[271997,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(379416),k=a.i(427221),l=a.i(600079),m=a.i(109307),n=a.i(411350),o=a.i(249431),p=a.i(713095);let q={requireActionMember:m.g},r="That agent is already gone. It reappears with its next request.";async function s(a,b){return(0,l.F)("owner",async c=>{let d=j.z.uuid().safeParse(a);if(!d.success)return{ok:!1,error:r};let e=k.z.string().trim().regex(o.p).safeParse(b);return e.success?await (0,n.o)(d.data,e.data,c.id)?((0,i.revalidatePath)("/ai/agents"),{ok:!0,message:e.data?"Agent renamed.":"Agent name reset."}):{ok:!1,error:r}:{ok:!1,error:"Check the highlighted fields.",fieldErrors:{name:"Use up to 40 letters, digits, spaces, dots, dashes or underscores."}}},q,"local")}async function t(a){return(0,l.F)("owner",async b=>{let c=j.z.uuid().safeParse(a);return c.success&&await (0,n.U)(c.data,b.id)?((0,i.revalidatePath)("/ai/agents"),{ok:!0,message:"Agent forgotten. It reappears with its next request."}):{ok:!1,error:r}},q,"local")}(0,p.ensureServerEntryExports)([s,t]),(0,h.registerServerReference)(s,"605c5cfb27dd48174a42f3d6b852b8e43970d82aaa",null),(0,h.registerServerReference)(t,"4064e5070c88b8e289b20e89ecdcf1099ad2a42286",null),a.s(["0000a4e88b64cf5650f40ca250d8af9df2a8c09136",()=>c.f,"008fc603247ef5551048fa08175f7ec684daba9f6b",()=>g.f,"00b81521a8a9504bb3553a9c0fa13022d615182fd3",()=>e.E,"00c4e3d107431d83f1a2498e976a3bbf13773ca448",()=>b.f,"402da8cbc73ce480198e64be2839b432e18f63bb41",()=>f.m,"403fbebb1853b3a651a20f501aa76219246f570935",()=>d.R,"4064e5070c88b8e289b20e89ecdcf1099ad2a42286",0,t,"4067ebec0ec1ed798180beaad7c65d27163cc0c78a",()=>e.T,"4082301e721fe4c678dd9c8df82ca67ef42b907931",()=>e.G,"408529dcfea1e91e1f3a5b9bbdd2e4042541c9f196",()=>f.G,"409572a5f19d448b5e88444994a7da2671a129468d",()=>f.F,"409f5ef8025336f14bba9c409eed2b7c7e59c55692",()=>d.B,"605c5cfb27dd48174a42f3d6b852b8e43970d82aaa",0,s],271997)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=1oeh_server_app_%28console%29_%28private%29_ai_agents_page_actions_21atz5tidps07.js.map
|