watchbell 1.2.2 → 1.2.4
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/bin/watchbell.mjs +5 -2
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +105 -105
- package/server/.next/prerender-manifest.json +4 -4
- package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +32 -22
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +34 -24
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +48 -38
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/(private)/ai/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +34 -24
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +40 -30
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +83 -81
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +85 -82
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +84 -44
- package/server/.next/server/app/(console)/alerts/page.js +84 -81
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +62 -52
- package/server/.next/server/app/(console)/apps/[id]/page.js +87 -85
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +34 -24
- package/server/.next/server/app/(console)/apps/page.js +83 -81
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +34 -24
- package/server/.next/server/app/(console)/backups/page.js +84 -82
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/catalog/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +50 -40
- package/server/.next/server/app/(console)/connections/page.js +85 -83
- package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/d1/page.js +83 -81
- package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +40 -30
- package/server/.next/server/app/(console)/deployments/page.js +83 -81
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +42 -32
- package/server/.next/server/app/(console)/dns/page.js +86 -84
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +32 -22
- package/server/.next/server/app/(console)/domains/page.js +85 -83
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/events/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +42 -32
- package/server/.next/server/app/(console)/firebase/page.js +84 -82
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/logs/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/manage/sections/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +50 -40
- package/server/.next/server/app/(console)/neon/page.js +86 -84
- package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +44 -34
- package/server/.next/server/app/(console)/overview/page.js +90 -88
- package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +30 -20
- package/server/.next/server/app/(console)/repos/[id]/page.js +84 -82
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/repos/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +48 -38
- package/server/.next/server/app/(console)/settings/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +42 -32
- package/server/.next/server/app/(console)/sql/page.js +81 -79
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/status/page.js +84 -81
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +66 -56
- package/server/.next/server/app/(console)/supabase/page.js +91 -90
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/topology/page.js +83 -81
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/turso/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +28 -18
- package/server/.next/server/app/(console)/upstash/page.js +82 -80
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +56 -46
- package/server/.next/server/app/(console)/uptime/page.js +84 -82
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +38 -28
- package/server/.next/server/app/(console)/welcome/page.js +81 -79
- 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/build-manifest.json +3 -3
- 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 +3 -3
- package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
- package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
- package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_not-found/page.js +14 -11
- 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 +28 -23
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +28 -23
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +26 -23
- package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
- package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/account/password/page.js +17 -18
- 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 +7 -7
- package/server/.next/server/app/api/collect/route.js +38 -37
- 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 +7 -7
- package/server/.next/server/app/api/daily/route.js +38 -37
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
- package/server/.next/server/app/api/telegram/webhook/route.js +63 -62
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +2 -2
- package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/route.js +2 -2
- package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/mcp/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +13 -13
- 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/invite/page/build-manifest.json +3 -3
- package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/invite/page.js +22 -22
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/mfa/page.js +40 -29
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page.js +40 -29
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/page.js +14 -11
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js +23 -21
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/setup/page.js +20 -18
- 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/build-manifest.json +3 -3
- package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/signin/page.js +47 -33
- 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]__0y_x27mdj85p4._.js → [externals]__0ia-wyj5qrosx._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1fzfzd0ia0sk6._.js → [externals]__0igl_rsv6z3fr._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1qqyrxnupegg3._.js → [externals]__0mh8e6gkgfswq._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0hblpf7wqke-j._.js → [root-of-the-server]__0-ftc1hhcjcl2._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0x487cn6dsn12._.js → [root-of-the-server]__0-st5xltl53h9._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__03i6yscmtbhhg._.js → [root-of-the-server]__0-u9oeob2sa7f._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0_nljmqhjcept._.js → [root-of-the-server]__0070gc9ml0mf7._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__07bw6o0jc31yr._.js → [root-of-the-server]__0185dne3slx7e._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0v-gc-c_e8pwl._.js → [root-of-the-server]__040ix5fqb_zb-._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__07mzeijv31avl._.js → [root-of-the-server]__05jzua9637vlo._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1_or7dycvkseg._.js → [root-of-the-server]__06uaa_2zbg57p._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1brl5otpkvgd3._.js → [root-of-the-server]__07byme21uj5ln._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1lerees-l5-6c._.js → [root-of-the-server]__07g16s_wi2sai._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0lu91s5izfu0p._.js → [root-of-the-server]__08-puk3_gawjd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0hnljrh9qi9t-._.js → [root-of-the-server]__0_e2eoq7w3ff_._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0zni_2pv2fdgb._.js → [root-of-the-server]__0cc32xnniktg9._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__213bsllf-9ztc._.js → [root-of-the-server]__0cz3da2wx3_wd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0noc6l63d3l9w._.js → [root-of-the-server]__0dvuy3ibsyiik._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1xxmlb3soqzom._.js → [root-of-the-server]__0e2utnqdim70d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ihedjvt-l2-u._.js → [root-of-the-server]__0exicuoq6gmph._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__10wbld2tja51-._.js → [root-of-the-server]__0ezd1s2862iob._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0gmn5s40au84-._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0i75m0es1m3hf._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0awtaloe4_8am._.js → [root-of-the-server]__0ikiyg3u02ofv._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1xl6_spngp6k3._.js → [root-of-the-server]__0ms1uw85c5wg2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0o0z59_jylzvy._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1zvoez8iapsem._.js → [root-of-the-server]__0oqltt9cni6m0._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1lj1f2w2-w8nw._.js → [root-of-the-server]__0quiawzx_nww0._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0r1men25anfgb._.js → [root-of-the-server]__0r88w3qhrtzz_._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0kp0yx909wtab._.js → [root-of-the-server]__0rb1-3538-pq9._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0g1cifa7hd790._.js → [root-of-the-server]__0sabwm3w1rm0q._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0hlyn_aj72sn5._.js → [root-of-the-server]__0tykhzqhwdx_k._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0yuyew8m9dc6-._.js → [root-of-the-server]__0w_og0zl6hqzj._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0wdxw44t9l9o_._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__16waq6rapvngp._.js → [root-of-the-server]__0x47i6wm-cd1z._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0s8vjz6urzn76._.js → [root-of-the-server]__0x6qqr79pq_j9._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0nrg8zzqizk69._.js → [root-of-the-server]__0xqgsjnebebv8._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0q-x05ekhpohj._.js → [root-of-the-server]__0y99cuuxm0xs3._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0zflnh-2nol66._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0l6_iao04u72h._.js → [root-of-the-server]__0znmcklxfccvk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__10dp33pb5e0ml._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__12xl6ax-q8s93._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__090in165mp6av._.js → [root-of-the-server]__14sac3h4sfhh7._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0oy0hcm48kl-q._.js → [root-of-the-server]__16md_196q9s8a._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__17xbg7cngebwp._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0hrtz5c_46jkw._.js → [root-of-the-server]__186-sa38csgot._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__18lfi0w0e_h0k._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0u3un538__ca5._.js → [root-of-the-server]__1a7_3nq1jjab-._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__15dhjj384tuw_._.js → [root-of-the-server]__1bce11artflky._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1c1wqmzm65xo8._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1adw_bv2u89kc._.js → [root-of-the-server]__1g4iy2tasmn0f._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1gry2nrq5xhxl._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1dh4di29mjq9y._.js → [root-of-the-server]__1gt_-h9n48pwi._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1hl9k6e1o7xh2._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1kk_s-q90445m._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__02ldm_7l9zld8._.js → [root-of-the-server]__1lfsf7un8kdbr._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1nusfevn1z4nm._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0l9ja3579qrju._.js → [root-of-the-server]__1ny8nr52qvr4i._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__125fkw52kl2ty._.js → [root-of-the-server]__1o9v_499yd5k8._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1oc55uo0ax787._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1w7dv8zm-k_oa._.js → [root-of-the-server]__1qdbn4gdg7ndr._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1uqxnb7qfqcms._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1dbz126yujh44._.js → [root-of-the-server]__1vqs8o9bv1wbk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1vxtt1favjdfr._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1xwgj26z5f7ih._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1ooxluowhatjt._.js → [root-of-the-server]__20ng0hgzxagf_._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0032rbj2s87zo._.js → [root-of-the-server]__20r_62r36t28o._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__20sv90-2ei08l._.js +3 -0
- package/server/.next/server/chunks/_0-fp57b-utmuw._.js +1 -1
- package/server/.next/server/chunks/_004j-wbs3yn84._.js +1 -1
- package/server/.next/server/chunks/_01x32f51v50y7._.js +3 -0
- package/server/.next/server/chunks/_03qlijpos6a21._.js +1 -1
- package/server/.next/server/chunks/_06gv0srpbf_lk._.js +3 -0
- package/server/.next/server/chunks/_06lf75x-xhl7v._.js +1 -1
- package/server/.next/server/chunks/_0brb2454uen18._.js +1 -1
- package/server/.next/server/chunks/_0dkhprw6wsizx._.js +1 -1
- package/server/.next/server/chunks/_0ffsv993spriq._.js +3 -0
- package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +3 -0
- package/server/.next/server/chunks/{_1-pcsy2hkg0il._.js → _0ljdeybzgdyai._.js} +1 -1
- package/server/.next/server/chunks/_0ls7sornjrg95._.js +5 -0
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
- package/server/.next/server/chunks/{_0duxuj4kmjibl._.js → _0nt4ifc48vl34._.js} +28 -21
- package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
- package/server/.next/server/chunks/{_113ebzq_9i756._.js → _0rkn5gstaj2d0._.js} +28 -21
- package/server/.next/server/chunks/_0s2odl9xacsg0._.js +1 -1
- package/server/.next/server/chunks/_0sy878k2ywjbq._.js +1 -1
- package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +2 -2
- package/server/.next/server/chunks/_0zj10_al6r59j._.js +2 -2
- package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
- package/server/.next/server/chunks/_17aiz6zt-yv52._.js +2 -2
- package/server/.next/server/chunks/_18p-vw2zmdx9f._.js +1 -1
- package/server/.next/server/chunks/{_1ihndlef8r00f._.js → _1_4jb754aeifp._.js} +28 -21
- package/server/.next/server/chunks/{_0if5sw58tii_3._.js → _1_9n8x5ncta29._.js} +2 -2
- package/server/.next/server/chunks/_1_son1yzo5xvl._.js +1 -1
- package/server/.next/server/chunks/_1_xsrlijknnh3._.js +1 -1
- package/server/.next/server/chunks/{_16urxazbgm48y._.js → _1cq1vvbp6pglr._.js} +3 -3
- package/server/.next/server/chunks/_1e_rbkrukj0x9._.js +2 -2
- package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
- package/server/.next/server/chunks/_1h73gul79s8pi._.js +1 -1
- package/server/.next/server/chunks/{_0ry4553j-m5fp._.js → _1myv9csc_in08._.js} +3 -3
- package/server/.next/server/chunks/{_1g8r-7wcf8sy3._.js → _1n-fm2bdo9t2m._.js} +3 -3
- package/server/.next/server/chunks/{_1mwb214-ablfo._.js → _1qsryafbujfwn._.js} +28 -21
- package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +1 -1
- package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
- package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
- package/server/.next/server/chunks/src_088gmyaew7ds0._.js +1 -1
- package/server/.next/server/chunks/{src_09cgjvch02173._.js → src_0_l3dzp06o4x5._.js} +2 -2
- package/server/.next/server/chunks/{src_0c7qu5adpm3gv._.js → src_0m6xxpw2u-xv_._.js} +2 -2
- package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +1 -1
- package/server/.next/server/chunks/{src_20ilndq84j3b3._.js → src_15fupbs9-n8q9._.js} +2 -2
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +1 -1
- package/server/.next/server/chunks/src_1p24c-nz35cov._.js +3 -0
- package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
- package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
- package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +1 -1
- package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
- package/server/.next/server/chunks/src_lib_001zhbfd1zeuk._.js +3 -0
- package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +3 -0
- package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
- package/server/.next/server/chunks/{src_lib_206j7lyff31-g._.js → src_lib_0k_aposzvy1c8._.js} +2 -2
- package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +21 -14
- package/server/.next/server/chunks/{src_lib_1-u7dbsavbtb0._.js → src_lib_0vjapfdxkooq5._.js} +2 -2
- package/server/.next/server/chunks/{src_lib_0krdzz8eu9xh3._.js → src_lib_0yn0bj14ih0id._.js} +2 -2
- package/server/.next/server/chunks/src_lib_103kimc1xvc_0._.js +3 -3
- package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +21 -14
- package/server/.next/server/chunks/{src_lib_0ayxuk4ftzf2f._.js → src_lib_1qbgm0zu8q1rr._.js} +2 -2
- package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +21 -14
- package/server/.next/server/chunks/src_lib_1sdusf16f07x-._.js +3 -3
- package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
- package/server/.next/server/chunks/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +4 -4
- package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
- package/server/.next/server/chunks/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
- package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +6 -6
- package/server/.next/server/chunks/src_lib_local-auth_setup_ts_10d8-k_e6pvft._.js +2 -2
- package/server/.next/server/chunks/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
- package/server/.next/server/chunks/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
- package/server/.next/server/chunks/src_private_assist_questions-db_ts_1l-wvmlexd7tr._.js +1 -1
- package/server/.next/server/chunks/src_private_assist_questions-db_ts_1pc4g504t-qmu._.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 +3 -0
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +3 -0
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +4 -0
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +3 -0
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +3 -0
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +3 -0
- package/server/.next/server/chunks/ssr/{[externals]__0jv_q8g96gubg._.js → [externals]__01kgu896o9-9t._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1d_fn156y1kzg._.js → [externals]__0i0hmh-a743jn._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1neu6qld_ilyx._.js → [externals]__0irbihjwcc9is._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0yzs5m5hot2o2._.js → [externals]__0qc7l-41h018j._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0et8619os7o06._.js → [externals]__0vlxry7jq5j1j._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0x50_fipcza3k._.js → [externals]__0yyslm1ka5px3._.js} +1 -1
- package/server/.next/server/chunks/ssr/[externals]__194b54tqm6qaq._.js +3 -0
- package/server/.next/server/chunks/ssr/[externals]__1mol6ksxmtkv6._.js +3 -0
- package/server/.next/server/chunks/ssr/[externals]__1prfp5pzeoflz._.js +3 -0
- package/server/.next/server/chunks/ssr/[externals]__1zxtjc2qr2epg._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p7d9dfmuhnvv._.js → [root-of-the-server]__004q78ed0nf0_._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__01zthkv8nrlct._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__00wwav5k7xmy0._.js → [root-of-the-server]__04_prmhm_cts4._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_677ii9bahoy._.js → [root-of-the-server]__056nm27ib-x1m._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khp_gsot3jh_._.js → [root-of-the-server]__06b1pw15-_hv5._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0khvq0xdah931._.js → [root-of-the-server]__09blzlbsxqvy9._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0-o5i-5pqjk5v._.js → [root-of-the-server]__0_6on4a5w76va._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__15wwi1pda8ims._.js → [root-of-the-server]__0c_q6tvcmsmt9._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__050d99bknjdvq._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0e8ya6wyy2plv._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0p5znbfo0wgsu._.js → [root-of-the-server]__0eaqsql69fhf8._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1kieqcc6kdywx._.js → [root-of-the-server]__0ek1-s5z9ggq2._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0h0txd7z3sxq7._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__08w3ad-xux1g4._.js → [root-of-the-server]__0h1vffivfh242._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0_1130gx52k-9._.js → [root-of-the-server]__0hzlz_t5eect2._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jkttbe1yoai._.js → [root-of-the-server]__0jgapr1cnvhi6._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__11ham42w_feik._.js → [root-of-the-server]__0k29b_kblv6sv._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0bn_thc_vtf_i._.js → [root-of-the-server]__0keo0-hwsnkw9._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__12-a3tcnfdcyq._.js → [root-of-the-server]__0l50vsk8enxzj._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0exp042uqhyqs._.js → [root-of-the-server]__0l_cl2qk_xmmr._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0y84mqfn13ss4._.js → [root-of-the-server]__0n-sc7pzu7fpz._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0nxyo70ahj7tk._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0o0cpvobd-u0n._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1096-q3_trmm9._.js → [root-of-the-server]__0oon1p2_04l7s._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0qnly-gjvfntd._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0qqcz9ynsgmgl._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ptdec0sozaqm._.js → [root-of-the-server]__0sj92w6mg92ds._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__05hw89gap74cw._.js → [root-of-the-server]__0uxychcp_pldy._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1k_hi9mbd4_by._.js → [root-of-the-server]__0wi2grctadbk8._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0xjg51t1__v-s._.js +3 -0
- 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]__15keslh0ov5mv._.js → [root-of-the-server]__0z_1k5876-_wx._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ua-p_wz8epv9._.js → [root-of-the-server]__1-d88ogkwql_b._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__10kuehp7saz8h._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__10rhqv5xq9jaj._.js → [root-of-the-server]__110158s15r7mi._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__113zn8es2wp67._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__14ept-_l8j32m._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__15s9onrf73-k8._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0tjab3yn0asf7._.js → [root-of-the-server]__193nmh09rrpbx._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_b_k8wgqyxy7._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_h_ya1h8efdj._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0kr_tvfgqtb-o._.js → [root-of-the-server]__1a0b_dbx4uans._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ctkj-25wt37o._.js +4 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1d5tbv79yjhqm._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1hek7tjixcjch._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ijizmc3ga_6o._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1itgt83qo1e77._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1kfivch_kfesn._.js +4 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1nat8lbog5imr._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ogwz1buruc_x._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0llh-w4ta1qbp._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__06uaa_2zbg57p._.js → [root-of-the-server]__1tj-iwvrxfd1a._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xwqrik2sugmi._.js → [root-of-the-server]__1u_13nhw3kuz3._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1wr4__6rvsb3b._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1yx8ayym979jd._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmavjo5fhryp._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__20of6xa16fwqa._.js +1 -1
- package/server/.next/server/chunks/ssr/_0-wc6f6p0c8lv._.js +3 -0
- package/server/.next/server/chunks/ssr/_01x32f51v50y7._.js +3 -0
- package/server/.next/server/chunks/ssr/{_04ltmruop4rt3._.js → _02eudwc8ieb2r._.js} +3 -3
- package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +3 -0
- package/server/.next/server/chunks/ssr/_03od6e8ibcxtf._.js +3 -0
- package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +3 -0
- package/server/.next/server/chunks/ssr/{_1_gydx19bikgo._.js → _08d4hz_ddxc02._.js} +2 -2
- package/server/.next/server/chunks/ssr/_08e6i1zuyz-ns._.js +3 -0
- package/server/.next/server/chunks/ssr/{_090fib2x989oc._.js → _08xqk3eibu5aw._.js} +2 -2
- package/server/.next/server/chunks/ssr/{_01irlde8uxva8._.js → _0_8v3-nq-b4ug._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
- package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
- package/server/.next/server/chunks/ssr/_0c7stbntpuyt_._.js +3 -0
- package/server/.next/server/chunks/ssr/{_1ag8axv14phju._.js → _0cbbks0ms7i_u._.js} +3 -3
- package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
- package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
- package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +4 -0
- package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
- package/server/.next/server/chunks/ssr/_0e4xfzm8oecc-._.js +3 -0
- package/server/.next/server/chunks/ssr/_0ffsv993spriq._.js +3 -0
- package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +4 -0
- package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +3 -0
- package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +4 -0
- package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +4 -0
- package/server/.next/server/chunks/ssr/{_0tqc0bsnybvva._.js → _0ipnb60-_660b._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_lib_0-nc33gvdtkg5._.js → _0ls7sornjrg95._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
- package/server/.next/server/chunks/ssr/{_18lgd6o04ugow._.js → _0oub-njkja8gu._.js} +3 -3
- package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +4 -0
- package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
- package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
- package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +4 -0
- package/server/.next/server/chunks/ssr/_0uvkx5n0kf7r2._.js +3 -0
- package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +4 -0
- package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
- package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +4 -0
- package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +3 -0
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
- package/server/.next/server/chunks/ssr/_11llsmv578p2i._.js +3 -0
- package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +4 -0
- package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
- 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/_1_xsrlijknnh3._.js +1 -1
- package/server/.next/server/chunks/ssr/_1b1t9p1xljuql._.js +5 -0
- package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +4 -0
- package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1de6e6l7599fp._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +4 -0
- package/server/.next/server/chunks/ssr/_1e5kqt081d8yt._.js +3 -0
- package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +4 -0
- package/server/.next/server/chunks/ssr/{_1w_rq6clcs0ft._.js → _1fuywfexex2s8._.js} +3 -3
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
- package/server/.next/server/chunks/ssr/_1h93joqd_-1og._.js +1 -1
- package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +4 -0
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jclq5d7tposb._.js +3 -0
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +4 -0
- package/server/.next/server/chunks/ssr/{_0hmxyfx7su4uk._.js → _1m4km_w39x5e9._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1o94cw0ml7xu7._.js +3 -0
- package/server/.next/server/chunks/ssr/_1ok868mr1th-7._.js +3 -0
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +4 -0
- package/server/.next/server/chunks/ssr/_1qdox4yn1u4pc._.js +1 -1
- package/server/.next/server/chunks/ssr/_1qdqc9j_skd1q._.js +1 -1
- package/server/.next/server/chunks/ssr/_1r7o1vx4875hu._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1gk334l49puy-._.js → _1rinsar6bp6ul._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +4 -0
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_20wy2moxkzhf0._.js +3 -0
- package/server/.next/server/chunks/ssr/{_026w_ig6vy9bt._.js → _218164gkxgum_._.js} +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
- package/server/.next/server/chunks/ssr/node_modules_0bqq4kab3lt4c._.js +3 -0
- package/server/.next/server/chunks/ssr/{node_modules_05z64qbskywkh._.js → node_modules_1-uce_v-roeci._.js} +1 -1
- package/server/.next/server/chunks/ssr/node_modules_@base-ui_react_dialog_index_parts_mjs_0wvx70_xziwkw._.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0p8s4lhdi0ir6._.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kkewzcx4540.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00t5_cu_8xco2.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_028rm32yw9745.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02tytjla8gfpw.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_05tff2l0grv3d.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08qavwdx-gipt.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_09jdr97vksmwk.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c3z69fbbz6-a.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d4hxwzkts-8z.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq-zslzf2s94.js +3 -0
- package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_1q_82vyl-q7u6.js → node_modules_next_dist_esm_build_templates_app-page_0e-rjmezj0qkk.js} +2 -2
- package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0ivgh76j_tu2x.js → node_modules_next_dist_esm_build_templates_app-page_0e50mslm8ys4t.js} +2 -2
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0esqulnipbhj7.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0icasmc2qvtfa.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0idohkgskbja5.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ii2a6tud83pj.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ivr2dcq7hh5t.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mcwghl-di24f.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0n05qgf2t9o6n.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ntej2bo95ns3.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0o1l93c0tj-p8.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ollx_iq739y6.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0v16m5nv0x43b.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0wa_9ywaoqxrf.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0y94b-zvw0vrq.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ydzswpddtx9q.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zwpkpyuh6z99.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14t5-0abqp0sm.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18h3ke4tl-fzl.js +3 -0
- package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_14-4y3i6c1vxc.js → node_modules_next_dist_esm_build_templates_app-page_19kqs-fc2i0zv.js} +2 -2
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_s_25znkg8mz.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_ysa6fs0tt59.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b4hixza89i52.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1brrqdx4msjzf.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e74o7dar2z12.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eqpqmdz9jgs0.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1f3932777ye1o.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1kx1n5-wqjvko.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6umnmh89nvy.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mdyuengydtxm.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qmm1wm-dfm_v.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1t-fn8blx1hp8.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tf9xiz17b3cq.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1tffdbiasnszd.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uisz6sszlhwp.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1umag21mbk-rs.js +3 -0
- package/server/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_0i3p3qfjihm3f.js → node_modules_next_dist_esm_build_templates_app-page_1vakvu0qtsn07.js} +2 -2
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wmviw4zw6t_r.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1xq449tjypb4s.js +3 -0
- package/server/.next/server/chunks/ssr/src_02ynbzyh8nn02._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +3 -0
- package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_1xjlp4oxlprxb._.js → src_0jxjbvkvg0bjg._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0txyv7r1zns16._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_071xsnvnzlvj8._.js → src_1751lvujjc-tz._.js} +2 -2
- package/server/.next/server/chunks/ssr/{src_0905fjqu0qv57._.js → src_186l56gdeizg8._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1f1x6508qetmp._.js +3 -0
- package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_0i-1ohush6mui._.js → src_1p24c-nz35cov._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1pd5lqhm1x4yf._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_0widudneyf0oq._.js → src_1wnx8vxv7nd04._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1xoua7wkmyfkn._.js +3 -0
- package/server/.next/server/chunks/ssr/src_1y827m5-ojdib._.js +6 -0
- 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 +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_1co5pna1vfflj._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_1shtcv6hidi4-._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1jme7fm7ej_lr._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.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)_domains_1ut499n11u8_r._.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_17htk-vea5fna._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_overview_page_tsx_0se3f3ln9q-42._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_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)_status_page_tsx_1zvj799nv4kah._.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_0hb58isfg-2yx._.js → src_app_signin_0ko968fxahf6u._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_components_0-x11r8_844pu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_0_xymno8nakru._.js +3 -0
- package/server/.next/server/chunks/ssr/src_components_0ozvphxxwb7d-._.js +3 -0
- package/server/.next/server/chunks/ssr/src_components_0tmtbf2etsx03._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_charts_tsx_0u0c5sxi3-7ug._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_live_tsx_1p2s3b807w0jt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_001zhbfd1zeuk._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_04orn7u7ufxp1._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +23 -0
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_auth_ts_11yt3pae6wy-o._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_data_github-db_ts_02xuh84m-__8z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_data_provider-status-db_ts_09oo6p4m7x7te._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_lib_demo_1wu-a6lubzph6._.js → src_lib_demo_0ftmf3wmtezvl._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_local-auth_setup_ts_05zj7z33ne4f5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_security_node-runtime_ts_1jei00s21d6v0._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_view_databases_ts_1ovdbo8spjhf9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_view_labels_ts_1uxs84z7vclz5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_view_network_ts_0toa7t-gw9cup._.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_assist_questions-db_ts_1l-wvmlexd7tr._.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 +105 -105
- 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 +868 -672
- package/server/.next/static/chunks/0-6om8-d7itz8.js +1 -0
- package/server/.next/static/chunks/00oeu_tbjky7m.js +1 -0
- package/server/.next/static/chunks/0181phyuecg9b.js +1 -0
- package/server/.next/static/chunks/{36js6cf9c-53b.js → 01u9q07wu6-x1.js} +1 -1
- package/server/.next/static/chunks/0_5_9w6m-xwd0.js +1 -0
- package/server/.next/static/chunks/{0rgn3-cks0udn.js → 0a-rekt06v0sv.js} +1 -1
- package/server/.next/static/chunks/0hj1-5zruyih6.js +1 -0
- package/server/.next/static/chunks/0krhehmzgigx5.js +1 -0
- package/server/.next/static/chunks/0md0jy9rztofl.js +1 -0
- package/server/.next/static/chunks/0mp6prf1hx5mx.js +1 -0
- package/server/.next/static/chunks/0t66sf4vvalei.js +1 -0
- package/server/.next/static/chunks/{1o1lidcbrrh92.js → 0v_-lu_cx7f91.js} +1 -1
- package/server/.next/static/chunks/0x_wb_w6fgkyt.js +1 -0
- package/server/.next/static/chunks/0xcpi35p5fa83.js +1 -0
- package/server/.next/static/chunks/0z0may9twpt-j.js +1 -0
- package/server/.next/static/chunks/{2yjh4ytp-sedv.js → 149lk0boxihnl.js} +1 -1
- package/server/.next/static/chunks/{0i8-ofb4wfcch.js → 16yvy9zkjac5c.js} +1 -1
- package/server/.next/static/chunks/17lwu-2id6c_-.js +1 -0
- package/server/.next/static/chunks/18johpgap0xmw.js +1 -0
- package/server/.next/static/chunks/18mkhwl0zlvnp.js +1 -0
- package/server/.next/static/chunks/1_8g4usrgjnnu.js +1 -0
- package/server/.next/static/chunks/1c0s-ejiwfy2u.js +1 -0
- package/server/.next/static/chunks/{319s97ka6eaex.js → 1gt3cagsbgx4w.js} +1 -1
- package/server/.next/static/chunks/1q-m7qgrvvzwb.js +1 -0
- package/server/.next/static/chunks/{1qxc6cck2xkbs.js → 1rkrtrvwbbnjf.js} +1 -1
- package/server/.next/static/chunks/{12fo0pcbpv7lw.js → 1sc1vz_ygak9u.js} +1 -1
- package/server/.next/static/chunks/1tg1mstvws8rj.css +3 -0
- package/server/.next/static/chunks/1ukyjy13dwy_z.js +1 -0
- package/server/.next/static/chunks/1urtw14pwufsv.js +1 -0
- package/server/.next/static/chunks/1xm6ay06cjchs.js +1 -0
- package/server/.next/static/chunks/{3orhi-m-n-ra4.js → 1y_6crandf_3f.js} +1 -1
- package/server/.next/static/chunks/1ys80h6x541kn.js +5 -0
- package/server/.next/static/chunks/2-m982u6v7z8m.js +1 -0
- package/server/.next/static/chunks/20ujg0hz_need.js +1 -0
- package/server/.next/static/chunks/2a3tky__z9q4j.js +1 -0
- package/server/.next/static/chunks/2cipdjdkoq312.js +1 -0
- package/server/.next/static/chunks/{0-_zjfssid86w.js → 2ect0ww0gtoad.js} +2 -2
- package/server/.next/static/chunks/2s-_9p0-395sm.js +1 -0
- package/server/.next/static/chunks/{0a5vchcarwyam.js → 2ue_c6tww95_c.js} +1 -1
- package/server/.next/static/chunks/2xio-kspedw69.js +1 -0
- package/server/.next/static/chunks/2z6gojfx3lqvt.js +1 -0
- package/server/.next/static/chunks/31v3igne_z-0k.js +1 -0
- package/server/.next/static/chunks/33ddsp07_9o1d.js +7 -0
- package/server/.next/static/chunks/340qccog2_uge.js +2 -0
- package/server/.next/static/chunks/35ua22np4u9jr.js +1 -0
- package/server/.next/static/chunks/{2q88116332v43.js → 37zqf9hef7g0k.js} +1 -1
- package/server/.next/static/chunks/38ao1jq4zw-nd.js +1 -0
- package/server/.next/static/chunks/{3xo5igjfumqip.js → 38g-5wiggu6__.js} +1 -1
- package/server/.next/static/chunks/{05p62k_8g05pm.js → 3a5a2iizetq9b.js} +11 -11
- package/server/.next/static/chunks/3f1td0b-oy-sr.js +1 -0
- package/server/.next/static/chunks/{1pre7l9hmk-b6.js → 3imk3dh9_4wd5.js} +1 -1
- package/server/.next/static/chunks/3jhh47vezwohc.js +1 -0
- package/server/.next/static/chunks/3letbzhf_1srv.js +1 -0
- package/server/.next/static/chunks/{3u3h2mlon2qu7.js → 3qedt96akbcad.js} +1 -1
- package/server/.next/static/chunks/3vpy-ra0rib9m.js +1 -0
- package/server/.next/static/chunks/3wi930ujb_5_z.js +1 -0
- package/server/.next/static/chunks/40n6mtthd3_sh.js +1 -0
- package/server/drizzle-selfhost/0007_webhook_channel.sql +5 -0
- package/server/drizzle-selfhost/meta/_journal.json +7 -0
- package/tools/reset-login.mjs +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0f5bt0o1k41ft._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0hedtycoyydoc._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0zmvf4j8e2gno._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1-9hjrgvj0fpb._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__13hrm9c61i7uk._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__14eyo4i2tm93k._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__14ou3bydfm0ms._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__19ylbgd65iej4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1dyith2r4bacm._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1e1l75cf48ph2._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1eu2_f44as742._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1mim39ea6-dm1._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1p0zd1rtbkj9r._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1pvx0izh1m_0_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1v4i7ytwadml8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1vwz2r58cojht._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zg653esm3__p._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zrqz88a2lkx5._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zwi7po5_xe8-._.js +0 -3
- package/server/.next/server/chunks/_0qyupoc7u5hr7._.js +0 -3
- package/server/.next/server/chunks/_1-ior_ot6mgxg._.js +0 -3
- package/server/.next/server/chunks/_1-pw7jw52sbti._.js +0 -3
- package/server/.next/server/chunks/src_0i-1ohush6mui._.js +0 -3
- package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +0 -3
- package/server/.next/server/chunks/src_lib_0-nc33gvdtkg5._.js +0 -5
- package/server/.next/server/chunks/src_lib_0-xd6p5793qdu._.js +0 -3
- package/server/.next/server/chunks/src_lib_0qbcg988i_-ee._.js +0 -3
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +0 -3
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +0 -3
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +0 -4
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +0 -3
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +0 -3
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +0 -3
- package/server/.next/server/chunks/ssr/[externals]__1hqh7fi0-rtlc._.js +0 -3
- package/server/.next/server/chunks/ssr/[externals]__1mmmc4yhx5fm6._.js +0 -3
- package/server/.next/server/chunks/ssr/[externals]__1nv-uycpa6_lh._.js +0 -3
- package/server/.next/server/chunks/ssr/[externals]__1p5zuqwmfkoo1._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0-jx3t8dg8n5t._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__01mgajn73iwc7._.js +0 -5
- package/server/.next/server/chunks/ssr/[root-of-the-server]__04klr3-4qi7-t._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__04zgt2t-w6-75._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__05q-laapy00sk._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0dd9rci1isdjf._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ejxk0jlgi4eb._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0lehuiyzxp78t._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0nlfip3wc3l2z._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0tp9vtckbkk9o._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__10y2ig7dg3f-k._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__18xb7pbdmiyiz._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__194546bqpq02e._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1bvp2ia3h9qbs._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1dyjzbqwy6o12._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1fj33_xkainxk._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1l695djsioelp._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1pfk0fqey3ipf._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1pgpryg9lkmoz._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1rvdnoxnu0ddf._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1t4thrxlv4zre._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1tco2ec6ha1k6._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1tcu4-eowz9vt._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1tuftf7fags7x._.js +0 -5
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1vyste6xyyu37._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1yf4_oyl-3xp7._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__2195hg4329yfp._.js +0 -3
- package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +0 -4
- package/server/.next/server/chunks/ssr/_06kn13xh_13da._.js +0 -3
- package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +0 -4
- package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +0 -3
- package/server/.next/server/chunks/ssr/_0ad3y3l77xkxe._.js +0 -3
- package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +0 -4
- package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +0 -4
- package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +0 -4
- package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +0 -4
- package/server/.next/server/chunks/ssr/_0qcvpnwa1u3vr._.js +0 -3
- package/server/.next/server/chunks/ssr/_0qyupoc7u5hr7._.js +0 -3
- package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +0 -3
- package/server/.next/server/chunks/ssr/_0ufjz7kfd4jbd._.js +0 -3
- package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +0 -4
- package/server/.next/server/chunks/ssr/_0wzg8e30al7bu._.js +0 -3
- package/server/.next/server/chunks/ssr/_0ymtfa6vo-yz5._.js +0 -3
- package/server/.next/server/chunks/ssr/_0yn1xeumiigj0._.js +0 -3
- package/server/.next/server/chunks/ssr/_1-ior_ot6mgxg._.js +0 -3
- package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +0 -4
- package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +0 -4
- package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +0 -4
- package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +0 -4
- package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +0 -4
- package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +0 -4
- package/server/.next/server/chunks/ssr/_1e5zfwgdf0mm5._.js +0 -3
- package/server/.next/server/chunks/ssr/_1gvbcfoah__sl._.js +0 -3
- package/server/.next/server/chunks/ssr/_1h5tfqxzqd2tz._.js +0 -3
- package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +0 -4
- package/server/.next/server/chunks/ssr/_1k8rjvzlscs56._.js +0 -3
- package/server/.next/server/chunks/ssr/_1l-vlfiltmzu3._.js +0 -3
- package/server/.next/server/chunks/ssr/_1rf_mwfkk_9oa._.js +0 -3
- package/server/.next/server/chunks/ssr/_1uae0vl2c6fz7._.js +0 -3
- package/server/.next/server/chunks/ssr/_1y8wer5tpgiqw._.js +0 -3
- package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +0 -4
- package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +0 -4
- package/server/.next/server/chunks/ssr/_217qa04yo70zg._.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1zw_mdh2ep6vs.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_217-u-dmlzx6a.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_1_u5afwqp6brs._.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-kg_ige9ehqj.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00k37tbaia8dh.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_00z_p6szkga15.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01-utr59mtfg1.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_055hw7kwif935.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06fg_efdkc3kx.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08f3d08smwt6_.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcfro9qovjn.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0c8wd69fns_0d.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0cha-3kg99u4h.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d_0he72lzkh9.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0f6chw8z5cuyg.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j9-_xhs21abp.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0kwpdjujljna-.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rer2akuum5r-.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0umt_achusjjb.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0un7wq602mt3n.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vrdl9n7guitd.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0vse2cboy4cms.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0x7ey4_8b48_o.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0z8l8t55t65t_.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0zap6p0vuv-fp.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-m49cfu6a7gl.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1-w3hswsbrppl.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1167zbjp4ys_a.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_129serqqq3xyq.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_12en3pdvxu0dy.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1596hk9t3r1a5.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17us24ry0om-z.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_8xi22-aoxu1.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1_l32aoya75_m.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ar0v26274uhj.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1dkgfjoaf_1g3.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1eg14m09zdg__.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1h_y671y1la_8.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mkokmyyp47hd.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1msjiuu45famw.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mw7isdchouml.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1n4cotiug2a_r.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1njl24pr6dwrt.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o1_3bydb-3j5.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1pjor42_s9imf.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qta4yeufzpz7.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1qxbl6k6dji0s.js +0 -3
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_21a3kf8buivxw.js +0 -3
- package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0ixeyy74fe5jy._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0jdurlhzhcg5x._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0ley8c3htc2q9._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0oagnv9_4qww7._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +0 -3
- package/server/.next/server/chunks/ssr/src_0ubtruqmercw2._.js +0 -3
- package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +0 -3
- package/server/.next/server/chunks/ssr/src_12sdm7skn8fr1._.js +0 -3
- package/server/.next/server/chunks/ssr/src_16lx0qdi44evh._.js +0 -3
- package/server/.next/server/chunks/ssr/src_17yq6_bqlwgvy._.js +0 -3
- package/server/.next/server/chunks/ssr/src_1n-6pz04odixj._.js +0 -3
- package/server/.next/server/chunks/ssr/src_1nse4o3frj33x._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_08pmfte22v8vg._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_1rx84pcbevbbk._.js +0 -3
- package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +0 -3
- package/server/.next/server/chunks/ssr/src_components_1yp2m9j9dnsv-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_components_ui_dropdown-menu_tsx_1xyz_k6bpdu_5._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_0-xd6p5793qdu._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +0 -16
- package/server/.next/server/chunks/ssr/src_lib_0qbcg988i_-ee._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_18e550s395xn5._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_1_5ea0kxdn6zt._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_collector_node-runtime_ts_0778fef3fi3zj._.js +0 -3
- package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +0 -6
- package/server/.next/static/chunks/02-edmd1oolf2.css +0 -3
- package/server/.next/static/chunks/02e07gc948zdh.js +0 -1
- package/server/.next/static/chunks/073u0a0mfexc8.js +0 -1
- package/server/.next/static/chunks/09fx7h5vm68up.js +0 -1
- package/server/.next/static/chunks/0ao7_ov9mlvqp.js +0 -1
- package/server/.next/static/chunks/0cvmbpyjages7.js +0 -5
- package/server/.next/static/chunks/0hnhf3barhk90.js +0 -1
- package/server/.next/static/chunks/0id261ol_gl6f.js +0 -1
- package/server/.next/static/chunks/0q2ogu5cn9q9p.js +0 -1
- package/server/.next/static/chunks/0z_fqwq62_95p.js +0 -1
- package/server/.next/static/chunks/12l7tr29-a97t.js +0 -1
- package/server/.next/static/chunks/16d1ws92me6_q.js +0 -1
- package/server/.next/static/chunks/1__8cm_-lydee.js +0 -1
- package/server/.next/static/chunks/1hmur12m0hx3z.js +0 -1
- package/server/.next/static/chunks/205s3z3_jvp5m.js +0 -1
- package/server/.next/static/chunks/20cpkauaj8e6x.js +0 -7
- package/server/.next/static/chunks/23scyaimkowfl.js +0 -1
- package/server/.next/static/chunks/25meucm7i1e7b.js +0 -1
- package/server/.next/static/chunks/2oy7awlquezq_.js +0 -1
- package/server/.next/static/chunks/2pj8subq20y-_.js +0 -1
- package/server/.next/static/chunks/2qcurt9u9shwc.js +0 -1
- package/server/.next/static/chunks/2scf40c-_g_q1.js +0 -1
- package/server/.next/static/chunks/2tnx5isef9ryw.js +0 -1
- package/server/.next/static/chunks/2v_f39dz8sa3-.js +0 -1
- package/server/.next/static/chunks/2whojv56qi3ke.js +0 -1
- package/server/.next/static/chunks/2wlen-jacsbqv.js +0 -1
- package/server/.next/static/chunks/36bqhxadlfbfn.js +0 -1
- package/server/.next/static/chunks/372gugw4ldy47.js +0 -1
- package/server/.next/static/chunks/39n_1gky-xh0a.js +0 -1
- package/server/.next/static/chunks/3fv862m8cvcoe.js +0 -1
- package/server/.next/static/chunks/3g73nar6-7bqk.js +0 -1
- package/server/.next/static/chunks/3sg_npfod25zq.js +0 -1
- package/server/.next/static/chunks/3vacue9vhoqag.js +0 -1
- package/server/.next/static/chunks/3x8-w_p0n-gsd.js +0 -1
- package/server/.next/static/chunks/3yljsdgzvrkdf.js +0 -1
- package/server/.next/static/chunks/415ijq-anmr2o.js +0 -1
- package/server/.next/static/chunks/43wm4_0-0-eej.js +0 -1
- package/server/.next/static/chunks/44bizq7fli9cp.js +0 -1
- /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → 2_t4xVgbum1rtVSQxAYYV}/_buildManifest.js +0 -0
- /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → 2_t4xVgbum1rtVSQxAYYV}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{90CuiGzddaxNn9lvRkGlH → 2_t4xVgbum1rtVSQxAYYV}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[801789,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("005da9444f5ce6ecb22655b910c997cfd6bfe273e0",f.callServer,void 0,f.findSourceMapURL,"dismissWhatsNew");a.s(["WhatsNewDismiss",0,function(){let[a,f]=(0,c.useTransition)();return(0,b.jsx)(e.K,{size:"sm",onClick:()=>f(async()=>{try{let a=await g();a.ok||d.c.error(a.error)}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:a,children:a?"Saving…":"Got it"})}],801789)},480761,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(728951),f=a.i(368114),g=a.i(50944),h=a.i(405050);let i=(0,h.createServerReference)("00e343b0b5923c36d9d3e347e04a780a022cf89dba",h.callServer,void 0,h.findSourceMapURL,"loadPaletteSource"),j={home:{label:"Home",holds:"Overview, Topology, Events and Provider status.",appears:"Always on."},hosting:{label:"Hosting",holds:"Applications, Deployments, Domains, DNS records, Uptime and Logs.",appears:"On from the start, so Uptime is always in the menu."},database:{label:"Database",holds:"Supabase, Neon, Firebase, Turso, Upstash Redis, Cloudflare D1, the SQL console and Free databases.",appears:"Appears when you connect Supabase, Neon, Firebase, Turso or Upstash, or once a database is watched.",keeps:"Keep active and Auto-restore keep running while it is off, so your free Supabase projects aren't paused."},devops:{label:"DevOps",holds:"Automation: GitHub repositories, their Actions runs and dependency advisories.",appears:"Appears when you connect GitHub."},manage:{label:"Manage",holds:"Connections, Alerts, Auto-actions, Sections, Settings, AI gateway, API explorer, Status page and Backups.",appears:"Always on."}},k={home:[{key:"overview",label:"Overview",href:"/overview",icon:"dashboard",stage:2},{key:"topology",label:"Topology",href:"/topology",icon:"topology",stage:4},{key:"events",label:"Events",href:"/events",icon:"activity",stage:2},{key:"status",label:"Provider status",href:"/status",icon:"broadcast",stage:5}],hosting:[{key:"apps",label:"Applications",href:"/apps",icon:"apps",stage:2},{key:"deployments",label:"Deployments",href:"/deployments",icon:"rocket",stage:2},{key:"domains",label:"Domains",href:"/domains",icon:"world",stage:4},{key:"dns",label:"DNS records",href:"/dns",icon:"sitemap",stage:4},{key:"uptime",label:"Uptime",href:"/uptime",icon:"heartbeat",stage:2},{key:"logs",label:"Logs",href:"/logs",icon:"file",stage:5,hideForViewer:!0}],database:[{key:"supabase",label:"Supabase",href:"/supabase",icon:"bolt",stage:3},{key:"neon",label:"Neon",href:"/neon",icon:"database",stage:3},{key:"firebase",label:"Firebase",href:"/firebase",icon:"flame",stage:3},{key:"turso",label:"Turso",href:"/turso",icon:"database",stage:8},{key:"upstash",label:"Upstash Redis",href:"/upstash",icon:"bolt",stage:8},{key:"d1",label:"Cloudflare D1",href:"/d1",icon:"cloud",stage:8},{key:"sql",label:"SQL console",href:"/sql",icon:"terminal",stage:9,ownerOnly:!0},{key:"catalog",label:"Free databases",href:"/catalog",icon:"books",stage:7}],devops:[{key:"repos",label:"Repositories",href:"/repos",icon:"github",stage:9,sub:"Automation"}],manage:[{key:"alerts",label:"Alerts",href:"/alerts",icon:"bell",stage:5,sub:"Alerting"},{key:"status-page",label:"Status page",href:"/settings?tab=status-page",icon:"page",stage:7,ownerOnly:!0,sub:"Alerting"},{key:"connections",label:"Connections",href:"/connections",icon:"plug",stage:1,ownerOnly:!0,sub:"Setup"},{key:"settings",label:"Settings",href:"/settings",icon:"settings",stage:1,ownerOnly:!0,sub:"Setup"},{key:"sections",label:"Sections",href:"/manage/sections",icon:"layout",stage:12,ownerOnly:!0,sub:"Setup"},{key:"backups",label:"Backups",href:"/backups",icon:"cloud-upload",stage:7,ownerOnly:!0,sub:"Setup"}]},l=["home","hosting","database","devops","manage"].map(a=>({section:a,group:j[a].label,items:k[a]})),m={nav:[]};function n(a=m){let b=l.map(a=>({...a,items:[...a.items]}));for(let c of a.nav){let a=b.find(a=>a.section===c.section)??b.find(a=>"manage"===a.section),d=c.after?a.items.findIndex(a=>a.key===c.after):-1;d<0?a.items.push(...c.items):a.items.splice(d+1,0,...c.items)}return b}function o(a,b=m,c){let d=c?new Set(c):null;return n(b).filter(a=>!d||d.has(a.section)).map(b=>({...b,items:b.items.filter(b=>b.ownerOnly?"owner"===a:!b.hideForViewer||"viewer"!==a)})).filter(a=>a.items.length>0)}let p=a=>a.split("?")[0];function q(a,b){let c=b.trim().toLowerCase(),d=a.toLowerCase(),e=d.indexOf(c);if(e<0)return null;if(0===e)return 0;for(let a=d.indexOf(c);a>=0;a=d.indexOf(c,a+1))if(!/[a-z0-9]/.test(d[a-1]??" "))return 1;return 2}var r=a.i(424567),s=a.i(742089),t=a.i(449862);let u=(0,t.f)("outline","apps","Apps",[["path",{d:"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-0"}],["path",{d:"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-1"}],["path",{d:"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-2"}],["path",{d:"M14 7l6 0",key:"svg-3"}],["path",{d:"M17 4l0 6",key:"svg-4"}]]);var v=a.i(896293),w=a.i(133004);let x=(0,t.f)("outline","books","Books",[["path",{d:"M5 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-0"}],["path",{d:"M9 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-1"}],["path",{d:"M5 8h4",key:"svg-2"}],["path",{d:"M9 16h4",key:"svg-3"}],["path",{d:"M13.803 4.56l2.184 -.53c.562 -.135 1.133 .19 1.282 .732l3.695 13.418a1.02 1.02 0 0 1 -.634 1.219l-.133 .041l-2.184 .53c-.562 .135 -1.133 -.19 -1.282 -.732l-3.695 -13.418a1.02 1.02 0 0 1 .634 -1.219l.133 -.041",key:"svg-4"}],["path",{d:"M14 9l4 -1",key:"svg-5"}],["path",{d:"M16 16l3.923 -.98",key:"svg-6"}]]);var y=a.i(36600);let z=(0,t.f)("outline","broadcast","Broadcast",[["path",{d:"M18.364 19.364a9 9 0 1 0 -12.728 0",key:"svg-0"}],["path",{d:"M15.536 16.536a5 5 0 1 0 -7.072 0",key:"svg-1"}],["path",{d:"M11 13a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),A=(0,t.f)("outline","browser","Browser",[["path",{d:"M4 8h16",key:"svg-0"}],["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-1"}],["path",{d:"M8 4v4",key:"svg-2"}]]);var B=a.i(786581);let C=(0,t.f)("outline","cloud-upload","CloudUpload",[["path",{d:"M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1",key:"svg-0"}],["path",{d:"M9 15l3 -3l3 3",key:"svg-1"}],["path",{d:"M12 12l0 9",key:"svg-2"}]]);var D=a.i(713352);let E=(0,t.f)("outline","file-text","FileText",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",key:"svg-1"}],["path",{d:"M9 9l1 0",key:"svg-2"}],["path",{d:"M9 13l6 0",key:"svg-3"}],["path",{d:"M9 17l6 0",key:"svg-4"}]]);var F=a.i(471941),G=a.i(614548);let H=(0,t.f)("outline","hierarchy-3","Hierarchy3",[["path",{d:"M10 5a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M6 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M10 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-2"}],["path",{d:"M18 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M2 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-4"}],["path",{d:"M14 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-5"}],["path",{d:"M5 17l2 -3",key:"svg-6"}],["path",{d:"M9 10l2 -3",key:"svg-7"}],["path",{d:"M13 7l2 3",key:"svg-8"}],["path",{d:"M17 14l2 3",key:"svg-9"}],["path",{d:"M15 14l-2 3",key:"svg-10"}],["path",{d:"M9 14l2 3",key:"svg-11"}]]);var I=a.i(615016);let J=(0,t.f)("outline","layout-list","LayoutList",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-0"}],["path",{d:"M4 16a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-1"}]]);var K=a.i(335371);let L=(0,t.f)("outline","rocket","Rocket",[["path",{d:"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3",key:"svg-0"}],["path",{d:"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3",key:"svg-1"}],["path",{d:"M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),M=(0,t.f)("outline","route-2","Route2",[["path",{d:"M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4",key:"svg-1"}],["path",{d:"M14 5a2 2 0 0 0 -2 2v10a2 2 0 0 1 -2 2",key:"svg-2"}]]),N=(0,t.f)("outline","settings","Settings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]);var O=a.i(105084);let P=(0,t.f)("outline","terminal-2","Terminal2",[["path",{d:"M8 9l3 3l-3 3",key:"svg-0"}],["path",{d:"M13 15l3 0",key:"svg-1"}],["path",{d:"M3 6a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -12",key:"svg-2"}]]),Q=(0,t.f)("outline","world","World",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M3.6 9h16.8",key:"svg-1"}],["path",{d:"M3.6 15h16.8",key:"svg-2"}],["path",{d:"M11.5 3a17 17 0 0 0 0 18",key:"svg-3"}],["path",{d:"M12.5 3a17 17 0 0 1 0 18",key:"svg-4"}]]),R={dashboard:I.f,topology:H,activity:r.f,apps:u,rocket:L,world:Q,sitemap:O.f,bolt:w.f,database:D.f,flame:F.f,books:x,heartbeat:G.f,bell:v.f,file:E,broadcast:z,plug:K.f,"cloud-upload":C,cloud:B.f,settings:N,route:M,api:s.f,github:y.f,terminal:P,layout:J,page:A};function S({role:a,ext:d,sections:e,open:f,opener:g,onOpen:h,onClose:k}){let[l,m]=(0,c.useState)(null),[n,p]=(0,c.useState)(!1),q=(0,c.useRef)(!1);(0,c.useEffect)(()=>{function a(a){"k"!==a.key.toLowerCase()||!(a.ctrlKey||a.metaKey)||a.shiftKey||a.altKey||(a.preventDefault(),a.repeat||(f?k():h(document.activeElement)))}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[f,h,k]),(0,c.useEffect)(()=>{f&&!q.current&&(q.current=!0,i().then(a=>{a.ok&&a.data?(m(a.data),p(!1)):p(!0)}).catch(()=>p(!0)).finally(()=>{q.current=!1}))},[f]);let r=(0,c.useMemo)(()=>(function(a,b,c={nav:[],palette:[]},d){let e=o(a,c,d).flatMap(a=>a.items.map(b=>({id:`page:${b.key}`,label:b.label,hint:a.group,href:b.href,icon:b.icon}))),f="owner"!==a?[]:c.palette.filter(a=>!e.some(b=>b.href===a.href)).map(a=>{let b=c.nav.flatMap(a=>a.items.map(b=>({g:a,i:b}))).find(({i:b})=>a.href===b.href||a.href.startsWith(`${b.href}/`));return{id:`ext:${a.href}`,label:a.label,hint:b?`${j[b.g.section].label} \xb7 ${b.i.label}`:"Page",href:a.href,icon:b?.i.icon??"dashboard",keywords:a.keywords}}),g=[...e,...f];if(!b)return g;let h=b.apps.map(a=>({id:`app:${a.id}`,label:a.name,hint:a.domain,href:`/apps/${a.id}`,icon:"apps"})),i=b.monitors.map(a=>({id:`monitor:${a.id}`,label:`${a.appName}${a.path}`,hint:"Monitor",href:`/apps/${a.appId}`,icon:"heartbeat"}));return[...g,...h,...(b.domains??[]).map(a=>({id:`domain:${a.id}`,label:a.name,hint:"Domain",href:"/domains",icon:"world"})),...i]})(a,l,d,e),[a,l,d,e]);return f?(0,b.jsx)(T,{items:r,loading:null===l&&!n,opener:g,onClose:k}):null}function T({items:a,loading:e,opener:h=null,onClose:i}){let j=(0,g.useRouter)(),k=(0,c.useId)(),l=(0,c.useRef)(null),[m,n]=(0,c.useState)(""),[o,p]=(0,c.useState)(0),{shot:r}=(0,d.usePrivacy)(),s=(0,d.useMask)(),t=(0,c.useMemo)(()=>a.map(a=>a.id.startsWith("page:")?a:{...a,label:s("text",a.label),hint:s("text",a.hint)}),[a,s]),u=(0,c.useMemo)(()=>(function(a,b,c,d=20){if(!c.trim())return b.slice(0,d);let e=a=>(function(a,b){let c=q(a.label,b);if(null!==c)return c;let d=q(a.hint,b);if(null!==d)return d+3;let e=(a.keywords??[]).map(a=>q(a,b)).filter(a=>null!==a);return e.length?Math.min(...e)+6:null})(a,c),f=[];return a.forEach((a,c)=>{let d=e(a),g=e(b[c]),h=null===d?g:null===g?d:Math.min(d,g);null!==h&&f.push({item:b[c],score:h})}),f.sort((a,b)=>a.score-b.score).slice(0,d).map(a=>a.item)})(a,r?t:a,m),[a,t,r,m]),v=Math.min(o,Math.max(0,u.length-1)),w=a=>`${k}-opt-${a}`;function x(a){a&&(i(),j.push(a.href))}return(0,c.useEffect)(()=>{l.current?.focus()},[]),(0,c.useEffect)(()=>()=>{h instanceof HTMLElement&&h.isConnected&&h.focus()},[h]),(0,c.useEffect)(()=>{document.getElementById(`${k}-opt-${v}`)?.scrollIntoView?.({block:"nearest"})},[k,v,u]),(0,c.useEffect)(()=>{function a(a){"Escape"===a.key&&i(),"Tab"===a.key&&a.preventDefault()}return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[i]),(0,b.jsx)("div",{className:"fixed inset-0 z-[80] flex items-start justify-center bg-black/45 pt-[12vh]",onMouseDown:a=>{a.target===a.currentTarget&&i()},children:(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Search",onMouseDown:a=>{a.target!==l.current&&a.preventDefault()},className:"w-[560px] max-w-[calc(100vw-32px)] overflow-hidden rounded-[10px] border border-line-strong bg-surface shadow-[0_16px_48px_rgba(0,0,0,.25)]",children:[(0,b.jsx)("input",{ref:l,role:"combobox","aria-expanded":u.length>0,"aria-controls":u.length>0?`${k}-list`:void 0,"aria-activedescendant":u.length>0?w(v):void 0,"aria-autocomplete":"list","aria-label":"Search",autoComplete:"off",placeholder:"Jump to a page, app, database, or domain",value:m,onChange:a=>{n(a.target.value),p(0)},onKeyDown:function(a){a.nativeEvent.isComposing||("ArrowDown"===a.key&&(p(Math.min(v+1,u.length-1)),a.preventDefault()),"ArrowUp"===a.key&&(p(Math.max(v-1,0)),a.preventDefault()),"Enter"===a.key&&(x(u[v]),a.preventDefault()))},className:"w-full border-0 border-b border-line bg-transparent px-4 py-3.5 text-[15px] text-ink outline-none placeholder:text-ink-faint"}),u.length>0?(0,b.jsx)("ul",{id:`${k}-list`,role:"listbox","aria-label":"Results",className:"m-0 max-h-[360px] list-none overflow-y-auto p-1.5",children:u.map((a,c)=>{let d=R[a.icon];return(0,b.jsxs)("li",{id:w(c),role:"option","aria-selected":c===v,onMouseMove:()=>{c!==v&&p(c)},onClick:()=>x(a),className:(0,f.f)("flex cursor-pointer items-center gap-2.5 rounded-md px-2.5 py-2",c===v&&"bg-brand-soft"),children:[(0,b.jsx)(d,{size:17,className:"shrink-0 text-ink-faint"}),(0,b.jsx)("span",{className:"min-w-0 truncate",children:a.label}),(0,b.jsx)("small",{className:"ml-auto shrink-0 pl-3 text-[12.5px] text-ink-faint",children:a.hint})]},a.id)})}):(0,b.jsx)("p",{role:"status",className:"m-0 p-4 text-ink-soft",children:e&&m.trim()?"Loading apps…":"No matches"})]})})}function U(){return(0,b.jsx)("div",{role:"note",className:"border-b border-line bg-brand-soft px-6 py-1.5 text-[12.5px] text-nav-active-text max-[720px]:px-3.5",children:"Demo — data is made up and resets. Results of your actions can disappear when the demo restarts."})}function V({size:a=28,title:c,className:d}){return(0,b.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",width:a,height:a,className:(0,f.f)("shrink-0",d),role:c?"img":void 0,"aria-hidden":!c||void 0,focusable:"false",children:[c?(0,b.jsx)("title",{children:c}):null,(0,b.jsx)("rect",{x:"0.5",y:"0.5",width:"31",height:"31",rx:"7",fill:"#14213d",strokeWidth:"1",className:"stroke-transparent dark:stroke-[#2f4372]"}),(0,b.jsxs)("g",{transform:"rotate(-14 15 16)",fill:"#fcc419",children:[(0,b.jsx)("rect",{x:"13.7",y:"5.4",width:"2.6",height:"2.4",rx:"1.1"}),(0,b.jsx)("path",{d:"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z"}),(0,b.jsx)("circle",{cx:"15",cy:"24.3",r:"2.3"})]}),(0,b.jsxs)("g",{fill:"none",stroke:"#fcc419",strokeWidth:"2.2",strokeLinecap:"round",children:[(0,b.jsx)("path",{d:"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2"}),(0,b.jsx)("path",{d:"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9"})]})]})}let W=(0,t.f)("outline","chevron-right","ChevronRight",[["path",{d:"M9 6l6 6l-6 6",key:"svg-0"}]]);var X=a.i(238246),Y=a.i(507504);let Z={ok:"bg-ok",warn:"bg-warn-icon",err:"bg-err",idle:"bg-idle"};function $({initialLastRunAt:a,initialNow:d,demo:e=!1}){let[g,h]=(0,c.useState)(a),[i,j]=(0,c.useState)(d);(0,c.useEffect)(()=>{(0,Y.markCollectorRun)(e||!g?null:Date.parse(g))},[g,e]),(0,c.useEffect)(()=>{if(e)return;let a=()=>{fetch("/api/status",{cache:"no-store"}).then(a=>a.ok&&!a.redirected&&(a.headers.get("content-type")??"").includes("application/json")?a.json():null).then(a=>{a&&"object"==typeof a&&"lastRunAt"in a&&(h(a.lastRunAt??null),j(Date.now()))}).catch(()=>void 0)},b=()=>{"visible"===document.visibilityState&&a()},c=()=>{"visible"===document.visibilityState&&a()};b();let d=setInterval(()=>j(Date.now()),5e3),f=setInterval(b,3e4);return document.addEventListener("visibilitychange",c),()=>{clearInterval(d),clearInterval(f),document.removeEventListener("visibilitychange",c)}},[e]);let k=e?{state:"ok",text:"Demo · no live collector"}:function(a,b){if(!a)return{state:"idle",text:"Collector hasn't run yet"};let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3)),d=Math.floor(c/60);return c<60?{state:"ok",text:`Collector ran ${c}s ago`}:c<120?{state:"ok",text:`Collector ran ${d} min ago`}:c<300?{state:"warn",text:`Collector late \xb7 ran ${d} min ago`}:{state:"err",text:`Collector stopped ${d} min ago`}}(g?new Date(g):null,new Date(i));return(0,b.jsxs)("div",{className:"flex items-center gap-2 border-t border-line px-4 py-3 text-xs text-ink-soft","aria-live":"off",children:[(0,b.jsx)("span",{className:(0,f.f)("size-2 shrink-0 rounded-full",Z[k.state]),"aria-hidden":!0}),k.text]})}function _({role:a,ext:d,sections:e,collector:h,alerts:i,mobileOpen:j,onNavigate:k,navRef:l}){let q=function(a,b=m,c){return function(a,b=m,c){let[d,e]=a.split("?"),f=d.replace(/\/+$/,"")||"/",g=null!=c?new URLSearchParams(c):void 0!==e?new URLSearchParams(e):null,h=null;for(let a of n(b).flatMap(a=>a.items)){let b=p(a.href);if(f!==b&&!f.startsWith(`${b}/`))continue;let c=a.href.includes("?");if(c&&(f!==b||!function(a,b){let c=a.split("?")[1];return!c||!!b&&[...new URLSearchParams(c)].every(([a,c])=>b.get(a)===c)}(a.href,g)))continue;let d=h?p(h.href).length:-1;(!h||b.length>d||b.length===d&&c&&!h.href.includes("?"))&&(h=a)}return h}(a,b,c)?.key??null}((0,g.usePathname)(),d,(0,g.useSearchParams)()),[r,s]=(0,c.useState)({});return(0,b.jsxs)("nav",{ref:l,tabIndex:-1,"aria-label":"Main navigation",className:(0,f.f)("sticky top-0 flex h-screen flex-col overflow-y-auto border-r border-line bg-nav focus:outline-none","max-[1000px]:fixed max-[1000px]:inset-y-0 max-[1000px]:left-0 max-[1000px]:z-50 max-[1000px]:w-[264px]",!j&&"max-[1000px]:invisible max-[1000px]:-translate-x-full"),children:[(0,b.jsxs)(X.default,{href:"/",className:"flex items-center gap-2.5 border-b border-line px-4 py-3.5 text-ink hover:no-underline",children:[(0,b.jsx)(V,{}),(0,b.jsxs)("span",{children:[(0,b.jsx)("b",{className:"font-semibold",children:"Watchbell"}),(0,b.jsx)("small",{className:"block text-xs text-ink-faint",children:"Personal"})]})]}),(0,b.jsx)("div",{className:"flex-1 px-2 pb-4 pt-2",children:o(a,d,e).map(a=>{let d=!r[a.section];return(0,b.jsxs)("div",{className:"mt-1.5",children:[(0,b.jsxs)("button",{type:"button","aria-expanded":d,onClick:()=>s(b=>({...b,[a.section]:d})),className:"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium text-ink-faint hover:text-ink",children:[a.group,(0,b.jsx)(W,{size:14,className:(0,f.f)("ml-auto transition-transform",d&&"rotate-90")})]}),d&&(0,b.jsx)("ul",{children:a.items.map((d,e)=>{let g=R[d.icon],h=d.key===q,j=d.sub&&d.sub!==a.items[e-1]?.sub?d.sub:null;return(0,b.jsxs)(c.Fragment,{children:[j&&(0,b.jsx)("li",{"aria-hidden":!0,className:"px-2.5 pb-0.5 pt-1.5 text-[11px] uppercase tracking-[0.06em] text-ink-faint",children:j}),(0,b.jsx)("li",{children:(0,b.jsxs)(X.default,{href:d.href,onClick:k,"aria-current":h?"page":void 0,className:(0,f.f)("flex items-center gap-2.5 rounded-md px-2.5 py-[7px] text-nav-text hover:bg-hover hover:no-underline",h&&"bg-nav-active font-medium text-nav-active-text"),children:[(0,b.jsx)(g,{size:17,className:h?"text-nav-active-text":"text-ink-faint"}),d.label,"alerts"===d.key&&i>0&&(0,b.jsxs)("span",{className:"ml-auto rounded-[10px] bg-err-soft px-1.5 font-mono text-[11px] font-medium text-err",children:[i,(0,b.jsx)("span",{className:"sr-only",children:" firing"})]})]})})]},d.key)})})]},a.section)})}),(0,b.jsx)($,{initialLastRunAt:h.lastRunAt,initialNow:h.now,demo:h.demo})]})}let aa=(0,t.f)("outline","eye","Eye",[["path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6",key:"svg-1"}]]),ab=(0,t.f)("outline","eye-off","EyeOff",[["path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828",key:"svg-0"}],["path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),ac=(0,t.f)("outline","layout-sidebar","LayoutSidebar",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M9 4l0 16",key:"svg-1"}]]),ad=(0,t.f)("outline","search","Search",[["path",{d:"M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0",key:"svg-0"}],["path",{d:"M21 21l-6 -6",key:"svg-1"}]]),ae=(0,t.f)("outline","tag","Tag",[["path",{d:"M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592 -5.592a2.41 2.41 0 0 0 0 -3.408l-7.71 -7.71a2 2 0 0 0 -1.414 -.586h-5.172a3 3 0 0 0 -3 3",key:"svg-1"}]]);var af=a.i(619089),ag=a.i(403990);let ah=(0,t.f)("outline","sun","Sun",[["path",{d:"M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7",key:"svg-1"}]]);var ai=a.i(678464);function aj(a){let b=new MutationObserver(a);return b.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>b.disconnect()}function ak(){return"dark"===document.documentElement.dataset.theme?"dark":"light"}function al(){return"light"}function am(){let a=(0,c.useSyncExternalStore)(aj,ak,al);return(0,b.jsx)("button",{type:"button",onClick:function(){let b=(0,ai.w)(a);document.documentElement.dataset.theme=b;try{localStorage.setItem(ai.K,b)}catch{}},"aria-label":"Toggle theme",title:"Toggle theme",className:"relative inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:"dark"===a?(0,b.jsx)(ah,{size:18}):(0,b.jsx)(ag.f,{size:18})})}var an=a.i(740197),ao=a.i(521341),ap=a.i(768758),aq=a.i(505358),ar=a.i(749867),as=a.i(532489);let at=(0,t.f)("outline","building-skyscraper","BuildingSkyscraper",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M5 21v-14l8 -4v18",key:"svg-1"}],["path",{d:"M19 21v-10l-6 -4",key:"svg-2"}],["path",{d:"M9 9l0 .01",key:"svg-3"}],["path",{d:"M9 12l0 .01",key:"svg-4"}],["path",{d:"M9 15l0 .01",key:"svg-5"}],["path",{d:"M9 18l0 .01",key:"svg-6"}]]);var au=a.i(851519);function av({link:a}){let[d,e]=(0,c.useState)(!1);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(af._,{label:a.label,pressed:d,onClick:()=>e(!0),children:(0,b.jsx)(at,{size:18})}),(0,b.jsx)(an.f.Root,{open:d,onOpenChange:e,children:(0,b.jsxs)(ao.f.Portal,{children:[(0,b.jsx)(ap.f.Backdrop,{className:"fixed inset-0 z-50 bg-black/10"}),(0,b.jsxs)(aq.f.Popup,{"aria-describedby":void 0,className:"fixed inset-y-0 right-0 z-50 flex w-1/2 min-w-[560px] flex-col border-l border-line bg-surface text-ink shadow-lg outline-none max-[900px]:w-full max-[900px]:min-w-0",children:[(0,b.jsxs)("div",{className:"flex h-[52px] shrink-0 items-center gap-3 border-b border-line px-4",children:[(0,b.jsx)(ar.f.Title,{className:"text-[15px] font-semibold",children:a.title}),(0,b.jsx)(X.default,{href:a.href,onClick:()=>e(!1),className:"ml-auto text-[13px] font-medium text-brand hover:underline",children:a.openLabel}),(0,b.jsx)(as.f.Close,{"aria-label":"Close",title:"Close",className:"inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,b.jsx)(au.f,{size:18})})]}),(0,b.jsx)("iframe",{src:a.frame,title:a.title,className:"min-h-0 w-full flex-1 border-0"})]})]})})]})}var aw=a.i(236024),ax=a.i(335732);let ay={owner:"Owner",operator:"Operator",viewer:"Viewer"};function az({email:a,role:e,hasPassword:f=!1}){let[g,h]=(0,c.useTransition)(),i=(0,d.useMask)()("email",a),j=i!==a;return(0,b.jsxs)(ax.G,{children:[(0,b.jsx)(ax.X,{"aria-label":"Account menu",className:"ml-1 grid size-[30px] place-items-center rounded-full border border-line bg-sunken font-mono text-[11px] font-medium uppercase focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:j?"··":a.slice(0,2)}),(0,b.jsxs)(ax.L,{align:"end",className:"min-w-[200px]",children:[(0,b.jsx)(ax.P,{children:(0,b.jsxs)(ax.B,{children:[(0,b.jsx)("span",{className:"block truncate",children:i}),(0,b.jsx)("span",{className:"block text-xs font-normal text-ink-faint",children:ay[e]})]})}),(0,b.jsx)(ax.U,{}),f&&(0,b.jsx)(ax.r,{render:(0,b.jsx)(X.default,{href:"/account/password"}),children:"Change password"}),(0,b.jsx)(ax.r,{className:"text-err",disabled:g,onClick:()=>h(()=>(0,aw.f)()),children:"Sign out"})]})]})}function aA({user:a,office:c,alerts:f,onToggleNav:g,onOpenPalette:h,navButtonRef:i}){let{show:j,toggle:k}=(0,e.useSources)(),{shot:l,setShot:m}=(0,d.usePrivacy)();return(0,b.jsxs)("header",{className:"sticky top-0 z-20 flex h-[52px] items-center gap-2 border-b border-line bg-surface px-4",children:[(0,b.jsx)(af._,{ref:i,label:"Toggle navigation",onClick:g,children:(0,b.jsx)(ac,{size:18})}),(0,b.jsxs)("button",{type:"button",onClick:a=>h(a.currentTarget),"aria-label":"Search","aria-keyshortcuts":"Control+K Meta+K",className:"ml-2 flex w-[280px] items-center gap-2 whitespace-nowrap rounded-[7px] border border-line bg-surface-2 px-2.5 py-1.5 text-ink-faint max-[720px]:w-auto",children:[(0,b.jsx)(ad,{size:16}),(0,b.jsx)("span",{className:"max-[720px]:hidden",children:"Search apps, databases, pages"}),(0,b.jsx)("kbd",{className:"ml-auto rounded border border-line-strong px-[5px] font-mono text-[11px] text-ink-soft max-[720px]:hidden",children:"Ctrl K"})]}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-0.5",children:[l&&(0,b.jsxs)("button",{type:"button",onClick:()=>m(!1),title:"Screenshot mode is on. Click to turn it off.","aria-label":"Screenshot mode is on. Turn it off",className:"mr-1.5 inline-flex items-center gap-1 whitespace-nowrap rounded-full border border-warn/40 bg-warn-soft px-2.5 py-0.5 text-[12.5px] font-medium text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:[(0,b.jsx)(ab,{size:14,"aria-hidden":!0,className:"text-warn-icon"}),(0,b.jsx)("span",{className:"max-[480px]:hidden",children:"Screenshot mode"})]}),(0,b.jsx)(Y.LiveIndicator,{}),(0,b.jsx)(af._,{label:"Show data sources",pressed:j,onClick:k,children:(0,b.jsx)(ae,{size:18})}),c&&"owner"===a.role&&(0,b.jsx)(av,{link:c}),(0,b.jsx)(af._,{label:"Screenshot mode",pressed:l,onClick:()=>m(!l),children:l?(0,b.jsx)(ab,{size:18}):(0,b.jsx)(aa,{size:18})}),(0,b.jsx)(am,{}),(0,b.jsxs)(X.default,{href:"/alerts","aria-label":f?`Alerts, ${f} firing`:"Alerts",className:"relative inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink",children:[(0,b.jsx)(v.f,{size:18}),f>0&&(0,b.jsx)("span",{"aria-hidden":!0,className:"absolute right-0.5 top-[3px] rounded-[9px] bg-err px-1 font-mono text-[10px] font-medium leading-[15px] text-white",children:f})]}),(0,b.jsx)(az,{email:a.email,role:a.role,hasPassword:a.hasPassword})]})]})}let aB={nav:[],palette:[]};a.s(["Shell",0,function({user:a,collector:g,alerts:h,book:i,shot:j,ext:k=aB,sections:l,children:m}){let[n,o]=(0,c.useState)(!1),[p,q]=(0,c.useState)(!1),[r,s]=(0,c.useState)(!1),[t,u]=(0,c.useState)(null),v=(0,c.useRef)(null),w=(0,c.useRef)(null),x=(0,c.useRef)(!1);function y(a){u(a),s(!0)}return(0,c.useEffect)(()=>{n?(x.current=!0,v.current?.focus()):x.current&&(x.current=!1,w.current?.focus())},[n]),(0,c.useEffect)(()=>{if(n)return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a);function a(a){"Escape"===a.key&&o(!1)}},[n]),(0,b.jsx)(d.AliasProvider,{book:i,shot:j,children:(0,b.jsxs)(e.SourcesProvider,{children:[(0,b.jsxs)("div",{className:(0,f.f)("grid min-h-screen grid-cols-1",!p&&"min-[1001px]:grid-cols-[248px_minmax(0,1fr)]"),children:[(!p||n)&&(0,b.jsx)(_,{role:a.role,ext:k,sections:l,collector:g,alerts:h,mobileOpen:n,onNavigate:()=>o(!1),navRef:v}),n&&(0,b.jsx)("button",{type:"button","aria-label":"Close navigation",className:"fixed inset-0 z-40 bg-black/45 min-[1001px]:hidden",onClick:()=>o(!1)}),(0,b.jsxs)("main",{className:"min-w-0",children:[g.demo&&(0,b.jsx)(U,{}),(0,b.jsx)(aA,{user:a,office:k.office,alerts:h,onToggleNav:function(){window.matchMedia("(max-width: 1000px)").matches?o(a=>!a):q(a=>!a)},onOpenPalette:y,navButtonRef:w}),(0,b.jsx)("div",{className:"flex max-w-[1480px] flex-col gap-4 px-6 pb-10 pt-5 max-[720px]:px-3.5",children:m})]})]}),(0,b.jsx)(S,{role:a.role,ext:k,sections:l,open:r,opener:t,onOpen:y,onClose:()=>s(!1)})]})})}],480761)},299233,a=>{var b=a.i(147474);a.s(["TimeZoneSync",0,function({zone:a}){return(0,b.k)(a),null}])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_0330uf9pdfco9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[388474,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("
|
|
1
|
+
(()=>{"use strict";module.exports=[388474,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(619089),f=a.i(405050);let g=(0,f.createServerReference)("4052d29a779f0c60d4dc8bd2a4961f82b1afbc6323",f.callServer,void 0,f.findSourceMapURL,"recheck");a.s(["RecheckButton",0,function({domainId:a,name:f}){let[h,i]=(0,c.useTransition)(),j=(0,c.useRef)(!1);return(0,b.jsx)(e.K,{size:"sm",onClick:()=>{if(j.current)return;j.current=!0;let b=d.c.loading(`Checking ${f}. This takes a few seconds.`);i(async()=>{try{let c=await g(a);c.ok?d.c.success(c.message??"",{id:b}):d.c.error(c.error,{id:b})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b})}finally{j.current=!1}})},disabled:h,"aria-label":`Re-check ${f}`,children:h?"Checking…":"Re-check"})}],388474)},54901,45830,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(771378),e=a.i(611619),f=a.i(619089);function g(a,b=a=>a){return a.ok?{ok:!0,message:b(a.message??"Done.")}:{ok:!1,message:b(a.error)}}function h(){let a=(0,d.useMask)();return b=>g(b,b=>a("text",b))}a.s(["f",0,g],45830),a.s(["p",0,function({label:a,title:c,body:d,cta:g,danger:i=!1,run:j}){let k=h();return(0,b.jsx)(e.f,{trigger:(0,b.jsx)(f.K,{variant:i?"danger":"secondary",children:a}),title:c,body:d,cta:g,danger:i,onConfirm:async()=>k(await j())})},"W",0,function(){let[a,d]=(0,c.useState)(null),f=h(),g=a?(0,b.jsx)(e.f,{open:!0,onOpenChange:a=>{a||d(null)},title:a.title,body:a.body,cta:a.cta,danger:a.danger,onConfirm:async()=>f(await a.run())}):null;return{open:d,dialog:g}}],54901)}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_06tjy8wljego8._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[813627,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(894198),e=a.i(900037),f=a.i(651467);let g=0,h=0;a.s(["default",0,function({error:a,retry:i}){return(0,c.useEffect)(()=>{let a=Date.now();a-h>12e4&&(g=0);let b=setInterval(()=>(function(a,b){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let c=Date.now();c-Math.max(a,h)<(0,f.$)(g)||(g+=1,h=c,b())})(a,i),1e3);return()=>clearInterval(b)},[i]),(0,b.jsx)(d.f,{digest:a.digest,retry:i,note:"Retrying…",notice:(0,e.f)(a.digest)??void 0})}])},894198,a=>{var b=a.i(187924),c=a.i(890206),d=a.i(
|
|
1
|
+
(()=>{"use strict";module.exports=[813627,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(894198),e=a.i(900037),f=a.i(651467);let g=0,h=0;a.s(["default",0,function({error:a,retry:i}){return(0,c.useEffect)(()=>{let a=Date.now();a-h>12e4&&(g=0);let b=setInterval(()=>(function(a,b){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let c=Date.now();c-Math.max(a,h)<(0,f.$)(g)||(g+=1,h=c,b())})(a,i),1e3);return()=>clearInterval(b)},[i]),(0,b.jsx)(d.f,{digest:a.digest,retry:i,note:"Retrying…",notice:(0,e.f)(a.digest)??void 0})}])},894198,a=>{var b=a.i(187924),c=a.i(890206),d=a.i(236024),e=a.i(619089);a.s(["f",0,function({digest:a,retry:f,withSignOut:g=!1,note:h,notice:i}){return(0,b.jsx)(e.N,{children:(0,b.jsxs)(e.k,{icon:c.f,title:i?"Try again soon":"This page didn't load",action:(0,b.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,b.jsx)(e.K,{variant:"primary",onClick:()=>f(),children:"Try again"}),g&&(0,b.jsx)("form",{action:d.f,children:(0,b.jsx)(e.K,{type:"submit",children:"Sign out"})})]}),children:[i??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",h&&(0,b.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:h}),a&&!i&&(0,b.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",a]})]})})}])},900037,a=>{let b=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...b].map(([a,b])=>[b,a])),a.s(["f",0,function(a){return"string"==typeof a?b.get(a)??null:null}])}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_084tdkx3c_yqi._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[138984,a=>{var b=a.i(26972),c=a.i(427221),d=a.i(827857),e=a.i(899370),f=a.i(371289);let g=b.z.object({COLLECTOR_SECRET:c.z.string().min(32),CRON_SECRET:c.z.string().min(16),QSTASH_CURRENT_SIGNING_KEY:c.z.string().min(10),QSTASH_NEXT_SIGNING_KEY:c.z.string().min(10)}),h=g.extend({QSTASH_CURRENT_SIGNING_KEY:d.z.union([e.z.literal(""),c.z.string().min(10)]).default(""),QSTASH_NEXT_SIGNING_KEY:d.z.union([e.z.literal(""),c.z.string().min(10)]).default("")}),i=!1;a.s(["f",0,function(){try{var a=process.env;let b=("selfhost"===(0,f.c)(a)?h:g).safeParse(a);if(!b.success)throw Error(`Missing or invalid scheduler settings: ${b.error.issues.map(a=>a.path.join(".")).join(", ")}`);return b.data}catch(a){return i||(i=!0,console.warn(a instanceof Error?a.message:"Missing or invalid scheduler settings")),null}}])},736780,664892,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(358179),g=a.i(912283),h=a.i(117859),i=a.i(876808),j=a.i(521050),k=a.i(679662);let l={checks:"waiting for CI",preview:"waiting for preview",smoke:"smoke test",merging:"merging…",merged:"merged ✅","ready-manual":"ready to merge (manual)",failed:"needs a look ⚠️",timeout:"needs a look ⚠️",closed:"closed"},m=(a,b,c)=>{let d=`PR #${a}: ${l[b]}${c?` — ${c}`:""}`;return d.length>200?`${d.slice(0,199)}…`:d},n=new Set(["success","neutral","skipped"]),o=a=>"completed"!==a.status?"pending":n.has(a.conclusion??"")?"success":"failure",p={name:"watchbell[bot]",email:"watchbell-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchbell)"},q={name:"watchpost[bot]",email:"watchpost-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchpost)"},r=a=>[p,q].some(b=>a.name===b.name&&a.email.toLowerCase()===b.email&&a.message.trim()===b.message),s=/^[\^~]?[0-9][0-9A-Za-z.+-]*$/,t=a=>Array.isArray(a)?a.map(t):a&&"object"==typeof a?Object.fromEntries(Object.keys(a).sort().map(b=>[b,t(a[b])])):a,u=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,v=/^sha512-[A-Za-z0-9+/]{86}==$/,w="(?:@[a-z0-9][a-z0-9._~-]*/)?[a-z0-9][a-z0-9._~-]*",x=RegExp(`^(?:[A-Za-z0-9_-][A-Za-z0-9._-]*/)*?node_modules/${w}(?:/node_modules/${w})*$`,"i"),y=new Set(["dev","optional","devOptional","peer"]),z=a=>!!a&&"object"==typeof a&&!Array.isArray(a),A=a=>a.slice(a.lastIndexOf("node_modules/")+13),B=(a,b,c)=>`${a}/${b}/-/${b.split("/").pop()}-${c}.tgz`,C=(a,b)=>JSON.stringify(t(a))===JSON.stringify(t(b)),D=a=>Object.fromEntries(Object.entries(a).filter(([a])=>!y.has(a))),E=a=>{try{let b=JSON.parse(a);return z(b)&&z(b.packages)?b:null}catch{return null}};a.s(["y",0,20,"X",0,["checks","preview","smoke","merging"],"w",0,15e3,"R",0,27e5,"j",0,function(a){let b=(a.checkRuns??a.actionRuns??[]).map(o);return(a.combined&&a.combined.total>0&&b.push("success"===a.combined.state?"success":"pending"===a.combined.state?"pending":"failure"),b.includes("failure"))?"failure":b.includes("pending")?"pending":"success"},"L",0,function(a){if(!a.length||a.some(a=>a.authWall))return null;let b=a.find(a=>null===a.status||a.status<200||a.status>399);return b?{mode:"http",result:"fail",reason:null===b.status?`${b.path} didn't answer within 15 seconds`:`${b.path} answered ${b.status}`}:{mode:"http",result:"pass",reason:null}},"S",0,function(a,b,c){return(401===a||403===a)&&(/vercel\.com\/(sso|login)|Authentication Required|_vercel_sso|vercel-authentication/i.test(b)||/_vercel_sso/i.test(c.get("set-cookie")??"")||"vercel"===(c.get("server")??"").toLowerCase())},"T",0,function(a,b,c){if([a,b].some(a=>null!==a&&(a=>{if(a.length>0x1900000)return!0;if(3*a.length<=0x1900000)return!1;let b=0;for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);d<128?b+=1:d<2048?b+=2:d>=55296&&d<56320&&(64512&a.charCodeAt(c+1))==56320?(b+=4,c++):b+=3}return b>0x1900000})(a)))return`lockfile too large to check (over 25 MB): ${c}`.slice(0,150);try{return function(a,b,c){let d=a=>`unexpected lockfile change ${a}`.slice(0,150),e=null===b?null:E(b),f=null===a?{packages:{}}:E(a);if(!e||!f)return d(c);if(2!==e.lockfileVersion&&3!==e.lockfileVersion||null!==a&&e.lockfileVersion!==f.lockfileVersion)return d("lockfileVersion");let g=new Set;for(let[a,b]of Object.entries(f.packages)){if(!x.test(a)||!z(b)||"string"!=typeof b.resolved||"string"!=typeof b.version)continue;let c=B("","string"==typeof b.name?b.name:A(a),b.version);b.resolved.startsWith("https://")&&b.resolved.endsWith(c)&&g.add(b.resolved.slice(0,-c.length))}for(let[a,b]of(g.size||g.add("https://registry.npmjs.org"),Object.entries(e.packages))){let e=Object.hasOwn(f.packages,a)?f.packages[a]:void 0;if(void 0!==e&&C(e,b))continue;let h=z(e)?e:null;if(""===a||!a.includes("node_modules/")){let e=""===a?z(b)&&"string"==typeof b.name?b.name:c:a;if(!z(b)||""!==a&&!h||"resolved"in b||"link"in b)return d(e);continue}if(!x.test(a)||!z(b))return d(x.test(a)?A(a):a);let i=A(a);if(void 0!==b.name&&b.name!==i&&(!h||h.name!==b.name))return d(i);let j="string"==typeof b.name?b.name:i,k=b.version;if(void 0!==b.link||"string"!=typeof k||!u.test(k)||"string"!=typeof b.integrity||!v.test(b.integrity)||"string"!=typeof b.resolved||![...g].some(a=>b.resolved===B(a,j,k))||h&&h.version===k&&!C(D(h),D(b)))return d(i)}return null}(a,b,c)}catch{return`unexpected lockfile change ${c} (couldn't be checked)`.slice(0,150)}},"H",0,a=>!!a.lockfileRequired&&!!a.lockfile&&!a.files.some(b=>b.filename===a.lockfile),"n",0,function(a,b,c){return null!==c&&c>0?{mode:"logs",result:"fail",reason:`${c} errors in the preview logs`}:b.getTime()-a.getTime()<18e4||null===c?{mode:"logs",result:"wait",reason:null}:{mode:"logs",result:"pass",reason:null}},"C",0,function(a,b,c){let d,e;try{d=JSON.parse(a),e=JSON.parse(b)}catch{return"unexpected change: package.json isn't valid JSON"}if(!d||!e||"object"!=typeof d||"object"!=typeof e)return"unexpected change: package.json isn't an object";let f=a=>{let b=structuredClone(a);for(let a of["dependencies","devDependencies"]){let d=b[a];if(d&&"object"==typeof d)for(let a of c)delete d[a]}return b};if(JSON.stringify(t(f(d)))!==JSON.stringify(t(f(e))))return"unexpected change in package.json beyond the bumped versions";for(let a of["dependencies","devDependencies"]){let b=d[a]??{},f=e[a]??{};for(let a of c){if(a in b!=a in f)return`unexpected change in package.json: ${a} added or removed`;if(a in f&&f[a]!==b[a]&&("string"!=typeof f[a]||!s.test(f[a])))return`unexpected change in package.json: ${a} isn't a plain version`}}return null},"E",0,function(a){let b=["/"];for(let c of a){let a;try{a=new URL(c).pathname||"/"}catch{continue}!b.includes(a)&&b.length<4&&b.push(a)}return b},"m",0,m,"k",0,function(a){let b=new Set([a.manifest,...a.lockfile?[a.lockfile]:[]]);for(let c of a.files)for(let a of[c.filename,c.previous])if(a&&!b.has(a))return`unexpected change in ${a}`.slice(0,150);if(!a.files.some(b=>b.filename===a.manifest))return`unexpected change: ${a.manifest} isn't changed`.slice(0,150);if(a.manifestProblem)return a.manifestProblem.slice(0,150);if(a.lockfileProblem)return a.lockfileProblem.slice(0,150);if(!a.tokenLogin||!a.commits.length||a.commits.length>20)return"couldn't confirm who wrote the PR's commits";if(a.headSha&&a.commits[a.commits.length-1].sha!==a.headSha)return"the PR's head moved while it was checked";for(let b of a.commits){if(null!==b.login&&b.login.toLowerCase()===a.tokenLogin.toLowerCase())continue;let c=b.sha.slice(0,7);if(!r(b)||!b.files||!a.lockfile)return`unexpected commit ${c} by ${b.login??b.name}`.slice(0,150);let d=b.files.find(b=>b!==a.lockfile);if(d)return`unexpected change in ${d} by commit ${c}`.slice(0,150)}return null},"f",0,function(a,b){let c=a.getTime();return(null===b||!(c-b<1e5))&&(Math.floor(c/6e4)%2==0||null!==b&&c-b>=24e4)},"M",0,function(a){if(a.pr.merged)return{kind:"done",stage:"merged"};if("closed"===a.pr.state)return{kind:"done",stage:"closed"};if(void 0!==a.pr.base&&void 0!==a.recordedBase&&a.pr.base!==a.recordedBase)return{kind:"stop",stage:"failed",reason:`the PR's base changed to ${a.pr.base}`};if(a.pr.headSha!==a.recordedSha)return{kind:"wait",stage:"checks",reason:"new commit on the PR branch, checking again",resetSha:a.pr.headSha};let b=a.now.getTime()-a.openedAt.getTime()>27e5;return"failure"===a.checks?{kind:"stop",stage:"failed",reason:"CI failed"}:!1===a.pr.mergeable?{kind:"stop",stage:"failed",reason:"conflicts with the main branch"}:"error"===a.preview.state||"canceled"===a.preview.state?{kind:"stop",stage:"failed",reason:"Vercel preview failed"}:"pending"===a.checks||null===a.pr.mergeable?b?{kind:"stop",stage:"timeout",reason:"CI not finished within 45 minutes"}:{kind:"wait",stage:"checks",reason:null}:"ready"!==a.preview.state?b?{kind:"stop",stage:"timeout",reason:"preview not ready within 45 minutes"}:{kind:"wait",stage:"preview",reason:null}:a.smoke&&"wait"!==a.smoke.result?"fail"===a.smoke.result?{kind:"stop",stage:"failed",reason:`preview smoke test failed: ${a.smoke.reason??"?"}`}:a.autoRollbackOn?{kind:"merge"}:{kind:"stop",stage:"ready-manual",reason:"PR is ready to merge, but auto-rollback is off; merge it manually"}:b?{kind:"stop",stage:"timeout",reason:"preview smoke test not finished within 45 minutes"}:{kind:"wait",stage:"smoke",reason:null}}],664892);var F=a.i(120213),G=a.i(492665),H=a.i(683439),I=a.i(751263),J=a.i(812092),K=a.i(75105),L=a.i(322145),M=a.i(976937);let N=a=>({done:!1,message:a});async function O(){let[a]=await (0,d.f)().select().from(e.accounts).where((0,b.u)(e.accounts.provider,"github_write")).orderBy((0,c.M)(e.accounts.createdAt)).limit(1);if(!a)return null;let g=(0,f.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,G.f)().OPS_ENCRYPTION_KEY);return g?{id:a.id,token:g}:"unreadable"}let P={severity:"no package at the selected severity",major:"an update jumps a major version",nothing:"nothing can be updated"};async function Q(a){let[c]=await (0,d.f)().select({version:e.appSecurity.version,status:e.appSecurity.status,findings:e.appSecurity.findings}).from(e.appSecurity).where((0,b.u)(e.appSecurity.resourceId,a)).limit(1);return c?(0,i.p)({version:c.version,status:c.status,findings:Array.isArray(c.findings)?c.findings:[]}):null}async function R(a){let c=await (0,d.f)().select({package:e.dependencyVulns.package,installedVersion:e.dependencyVulns.installedVersion,fixedVersion:e.dependencyVulns.fixedVersion,vulnId:e.dependencyVulns.vulnId,aliases:e.dependencyVulns.aliases,severity:e.dependencyVulns.severity,direct:e.dependencyVulns.direct,dev:e.dependencyVulns.dev}).from(e.dependencyVulns).where((0,b.b)((0,b.u)(e.dependencyVulns.repoId,a),(0,b.M)(e.dependencyVulns.resolvedAt))).limit(2e3);return{upgrades:(0,F.B)(c),installed:(0,g.D)(c)}}async function S(a,b,c,d,e){for(let f of(0,I.a)(d,c)){if(f===c)break;let d=await (0,J.M)(a,b,f,e);if(!d.ok)return d;if(d.data)return{ok:!0,data:{base:f,head:d}}}return{ok:!0,data:{base:c,head:await (0,J.M)(a,b,c,e)}}}async function T(c,f,l,n=L.W,o={}){let p;if(!(0,H.f)(f)||!(0,H.f)(l))return n(N("Something in that request wasn't valid."),c,"");let q=await (0,L.q)(c.id,"github_bump_pr",f);if(q)return n(N(q),c,"");let r=await O();if(null===r)return n(N('A GitHub PR-write token is needed: connect "GitHub (PR write)" on Connections (fine-grained, this repository only, Contents and Pull requests: Read and write; Commit statuses: Read for automatic merges), then ask again.'),c,"");if("unreadable"===r)return n(N("Can't read the stored GitHub PR-write credential. Replace it on Connections."),c,"");let[s]=await (0,d.f)().select({app:e.resources.name,meta:e.resources.meta,fullName:e.githubRepos.fullName,owner:e.githubRepos.owner,goneAt:e.githubRepos.goneAt,lockfilePath:e.dependencyScans.lockfilePath,lockfileSha:e.dependencyScans.lockfileSha}).from(e.appRepos).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).innerJoin(e.resources,(0,b.u)(e.resources.id,e.appRepos.appId)).leftJoin(e.dependencyScans,(0,b.u)(e.dependencyScans.repoId,e.appRepos.repoId)).where((0,b.b)((0,b.u)(e.appRepos.appId,f),(0,b.u)(e.appRepos.repoId,l))).limit(1);if(!s||s.goneAt)return n(N(K.G),c,r.id);let t=s.meta??{},u=(0,j.l)(t.rootDirectoryUnsupported);if(u)return n(N(`The Vercel Root Directory "${u}" of ${s.app} couldn't be used (Watchbell reads plain folder names, at most 4 deep). Update its package.json yourself.`),c,r.id);let v=(0,j.Q)(t.rootDirectory),w=(0,j.H)(v,"package.json"),x=v?`in ${v}`:"at the repository root";if(o.framework){let a=await Q(f);if(!a)return n(N(`Nothing to update in ${s.app}: its Next.js check shows no advisory with a fixed version.`),c,r.id);p=a}else if(!(p=await R(l)).upgrades.length)return n(N(`Nothing to update in ${s.app}: no direct package has a fixed version for its open advisories.`),c,r.id);let y=p.upgrades;if(o.auto){let a=(0,g.a)(y,p.installed,o.auto.severities);if(!a.ok)return n(N(`Automatic PR not opened: ${P[a.why]}. The proposal waits for your approval.`),c,r.id);y=a.upgrades}y=(0,i.F)(y);let{auto:z,proposalId:A,framework:B,...C}=o,D={timeoutMs:8e3,...C},E=await (0,J.H)(r.token,s.fullName,D);if(!E.ok)return n({done:!1,failed:E,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);let F=await S(r.token,s.fullName,E.data.defaultBranch,t,D);if(!F.ok)return n({done:!1,failed:F,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);let G=F.data.base,U=(0,I.B)(t.productionSource,G,new Date);if(U&&z)return n(N(`Automatic PR not opened: ${U} The proposal waits for your approval.`),c,r.id);let V=B?null:(0,I.y)(s.lockfileSha,E.data.defaultBranch,v);if(V&&V!==G)return n(N(`The dependency scan of ${s.app} read ${V}, but this pull request would go to ${G}. Scan again (Dependencies › Scan now on the app page), then ask again.`),c,r.id);let W=F.data.head;if(!W.ok)return n({done:!1,failed:W,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(!W.data)return n(N(`The default branch ${G} wasn't found.`),c,r.id);let X=await (0,J.E)(r.token,s.fullName,W.data,D,w);if(!X.ok)return n({done:!1,failed:X,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(!X.data)return n(N(`There is no package.json ${x}.`),c,r.id);let Y=(0,h.k)(X.data.text,y);if(!Y?.length||B&&!Y.some(a=>"next"===a.package))return n(N(`${w} in ${s.app} already allows the fixed versions (or its ranges can't be rewritten). Run npm install there.`),c,r.id);if(z){let a=Y.find(a=>{let b=(0,k.Y)(a.from);return!b||!(0,g.J)(b,a.fixed)});if(a)return n(N(`Automatic PR not opened: ${a.package} ${a.from} → ${a.to} jumps a major version. The proposal waits for your approval.`),c,r.id)}let Z=(0,h.M)(X.data.text,Y);if(!Z)return n(N("package.json couldn't be edited safely."),c,r.id);let $=(0,h.U)(Y,v);if(!(0,h.c)($,G))return n(N("Refused: the PR branch would be the default branch."),c,r.id);let _=await (0,J.x)(r.token,s.fullName,s.owner,$,G,D);if(_.ok&&_.data)return{ok:!0,message:`Pull request #${_.data.number} for these updates is already open.`};let aa=await (0,J.e)(r.token,s.fullName,D);if(!aa.ok)return n({done:!1,failed:aa,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(aa.data.length){let a=new Map((await (0,d.f)().select({number:e.dependencyPrs.number,packages:e.dependencyPrs.packages}).from(e.dependencyPrs).where((0,b.b)((0,b.u)(e.dependencyPrs.repoId,l),(0,b.y)(e.dependencyPrs.number,aa.data.map(a=>a.number))))).map(a=>[a.number,a.packages])),f=(0,g.U)(Y.map(a=>a.package),aa.data.map(b=>({number:b.number,branch:b.branch,title:b.title,packages:a.get(b.number)??null})),v);if(f)return n(N(`Pull request #${f.number} for the same package is already open in ${s.app}. Merge or close it first.`),c,r.id)}let ab=await (0,J.M)(r.token,s.fullName,$,D);if(ab.ok&&ab.data)return n(N(`Branch ${$} already exists without an open pull request. Delete it on GitHub, then ask again.`),c,r.id);let ac=s.lockfilePath??(v?(0,j.H)(v,"package-lock.json"):null),ad=k.a.find(a=>a.path===ac?.split("/").pop())?.kind??null,ae=a=>n({done:!1,failed:a,audit:{message:`Package update PR failed \xb7 ${s.app} \xb7 ${$}`,resourceId:f}},c,r.id),af=await (0,J.k)(r.token,s.fullName,$,W.data,G,D);if(!af.ok)return ae(af);let ag=await (0,J.D)(r.token,s.fullName,$,G,Z,X.data.sha,(0,h.G)(Y),D,w);if(!ag.ok)return ae(ag);let ah=(0,h.f)(Y,v),ai=(U?`> [!WARNING]
|
|
1
|
+
(()=>{"use strict";module.exports=[138984,a=>{var b=a.i(26972),c=a.i(427221),d=a.i(827857),e=a.i(899370),f=a.i(371289);let g=b.z.object({COLLECTOR_SECRET:c.z.string().min(32),CRON_SECRET:c.z.string().min(16),QSTASH_CURRENT_SIGNING_KEY:c.z.string().min(10),QSTASH_NEXT_SIGNING_KEY:c.z.string().min(10)}),h=g.extend({QSTASH_CURRENT_SIGNING_KEY:d.z.union([e.z.literal(""),c.z.string().min(10)]).default(""),QSTASH_NEXT_SIGNING_KEY:d.z.union([e.z.literal(""),c.z.string().min(10)]).default("")}),i=!1;a.s(["f",0,function(){try{var a=process.env;let b=("selfhost"===(0,f.c)(a)?h:g).safeParse(a);if(!b.success)throw Error(`Missing or invalid scheduler settings: ${b.error.issues.map(a=>a.path.join(".")).join(", ")}`);return b.data}catch(a){return i||(i=!0,console.warn(a instanceof Error?a.message:"Missing or invalid scheduler settings")),null}}])},736780,664892,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(548734),e=a.i(837137),f=a.i(358179),g=a.i(912283),h=a.i(117859),i=a.i(876808),j=a.i(521050),k=a.i(679662);let l={checks:"waiting for CI",preview:"waiting for preview",smoke:"smoke test",merging:"merging…",merged:"merged ✅","ready-manual":"ready to merge (manual)",failed:"needs a look ⚠️",timeout:"needs a look ⚠️",closed:"closed"},m=(a,b,c)=>{let d=`PR #${a}: ${l[b]}${c?` — ${c}`:""}`;return d.length>200?`${d.slice(0,199)}…`:d},n=new Set(["success","neutral","skipped"]),o=a=>"completed"!==a.status?"pending":n.has(a.conclusion??"")?"success":"failure",p={name:"watchbell[bot]",email:"watchbell-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchbell)"},q={name:"watchpost[bot]",email:"watchpost-bot@users.noreply.github.com",message:"chore(deps): update package-lock.json (Watchpost)"},r=a=>[p,q].some(b=>a.name===b.name&&a.email.toLowerCase()===b.email&&a.message.trim()===b.message),s=/^[\^~]?[0-9][0-9A-Za-z.+-]*$/,t=a=>Array.isArray(a)?a.map(t):a&&"object"==typeof a?Object.fromEntries(Object.keys(a).sort().map(b=>[b,t(a[b])])):a,u=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,v=/^sha512-[A-Za-z0-9+/]{86}==$/,w="(?:@[a-z0-9][a-z0-9._~-]*/)?[a-z0-9][a-z0-9._~-]*",x=RegExp(`^(?:[A-Za-z0-9_-][A-Za-z0-9._-]*/)*?node_modules/${w}(?:/node_modules/${w})*$`,"i"),y=new Set(["dev","optional","devOptional","peer"]),z=a=>!!a&&"object"==typeof a&&!Array.isArray(a),A=a=>a.slice(a.lastIndexOf("node_modules/")+13),B=(a,b,c)=>`${a}/${b}/-/${b.split("/").pop()}-${c}.tgz`,C=(a,b)=>JSON.stringify(t(a))===JSON.stringify(t(b)),D=a=>Object.fromEntries(Object.entries(a).filter(([a])=>!y.has(a))),E=a=>{try{let b=JSON.parse(a);return z(b)&&z(b.packages)?b:null}catch{return null}};a.s(["y",0,20,"X",0,["checks","preview","smoke","merging"],"w",0,15e3,"R",0,27e5,"j",0,function(a){let b=(a.checkRuns??a.actionRuns??[]).map(o);return(a.combined&&a.combined.total>0&&b.push("success"===a.combined.state?"success":"pending"===a.combined.state?"pending":"failure"),b.includes("failure"))?"failure":b.includes("pending")?"pending":"success"},"L",0,function(a){if(!a.length||a.some(a=>a.authWall))return null;let b=a.find(a=>null===a.status||a.status<200||a.status>399);return b?{mode:"http",result:"fail",reason:null===b.status?`${b.path} didn't answer within 15 seconds`:`${b.path} answered ${b.status}`}:{mode:"http",result:"pass",reason:null}},"S",0,function(a,b,c){return(401===a||403===a)&&(/vercel\.com\/(sso|login)|Authentication Required|_vercel_sso|vercel-authentication/i.test(b)||/_vercel_sso/i.test(c.get("set-cookie")??"")||"vercel"===(c.get("server")??"").toLowerCase())},"T",0,function(a,b,c){if([a,b].some(a=>null!==a&&(a=>{if(a.length>0x1900000)return!0;if(3*a.length<=0x1900000)return!1;let b=0;for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);d<128?b+=1:d<2048?b+=2:d>=55296&&d<56320&&(64512&a.charCodeAt(c+1))==56320?(b+=4,c++):b+=3}return b>0x1900000})(a)))return`lockfile too large to check (over 25 MB): ${c}`.slice(0,150);try{return function(a,b,c){let d=a=>`unexpected lockfile change ${a}`.slice(0,150),e=null===b?null:E(b),f=null===a?{packages:{}}:E(a);if(!e||!f)return d(c);if(2!==e.lockfileVersion&&3!==e.lockfileVersion||null!==a&&e.lockfileVersion!==f.lockfileVersion)return d("lockfileVersion");let g=new Set;for(let[a,b]of Object.entries(f.packages)){if(!x.test(a)||!z(b)||"string"!=typeof b.resolved||"string"!=typeof b.version)continue;let c=B("","string"==typeof b.name?b.name:A(a),b.version);b.resolved.startsWith("https://")&&b.resolved.endsWith(c)&&g.add(b.resolved.slice(0,-c.length))}for(let[a,b]of(g.size||g.add("https://registry.npmjs.org"),Object.entries(e.packages))){let e=Object.hasOwn(f.packages,a)?f.packages[a]:void 0;if(void 0!==e&&C(e,b))continue;let h=z(e)?e:null;if(""===a||!a.includes("node_modules/")){let e=""===a?z(b)&&"string"==typeof b.name?b.name:c:a;if(!z(b)||""!==a&&!h||"resolved"in b||"link"in b)return d(e);continue}if(!x.test(a)||!z(b))return d(x.test(a)?A(a):a);let i=A(a);if(void 0!==b.name&&b.name!==i&&(!h||h.name!==b.name))return d(i);let j="string"==typeof b.name?b.name:i,k=b.version;if(void 0!==b.link||"string"!=typeof k||!u.test(k)||"string"!=typeof b.integrity||!v.test(b.integrity)||"string"!=typeof b.resolved||![...g].some(a=>b.resolved===B(a,j,k))||h&&h.version===k&&!C(D(h),D(b)))return d(i)}return null}(a,b,c)}catch{return`unexpected lockfile change ${c} (couldn't be checked)`.slice(0,150)}},"H",0,a=>!!a.lockfileRequired&&!!a.lockfile&&!a.files.some(b=>b.filename===a.lockfile),"n",0,function(a,b,c){return null!==c&&c>0?{mode:"logs",result:"fail",reason:`${c} errors in the preview logs`}:b.getTime()-a.getTime()<18e4||null===c?{mode:"logs",result:"wait",reason:null}:{mode:"logs",result:"pass",reason:null}},"C",0,function(a,b,c){let d,e;try{d=JSON.parse(a),e=JSON.parse(b)}catch{return"unexpected change: package.json isn't valid JSON"}if(!d||!e||"object"!=typeof d||"object"!=typeof e)return"unexpected change: package.json isn't an object";let f=a=>{let b=structuredClone(a);for(let a of["dependencies","devDependencies"]){let d=b[a];if(d&&"object"==typeof d)for(let a of c)delete d[a]}return b};if(JSON.stringify(t(f(d)))!==JSON.stringify(t(f(e))))return"unexpected change in package.json beyond the bumped versions";for(let a of["dependencies","devDependencies"]){let b=d[a]??{},f=e[a]??{};for(let a of c){if(a in b!=a in f)return`unexpected change in package.json: ${a} added or removed`;if(a in f&&f[a]!==b[a]&&("string"!=typeof f[a]||!s.test(f[a])))return`unexpected change in package.json: ${a} isn't a plain version`}}return null},"E",0,function(a){let b=["/"];for(let c of a){let a;try{a=new URL(c).pathname||"/"}catch{continue}!b.includes(a)&&b.length<4&&b.push(a)}return b},"m",0,m,"k",0,function(a){let b=new Set([a.manifest,...a.lockfile?[a.lockfile]:[]]);for(let c of a.files)for(let a of[c.filename,c.previous])if(a&&!b.has(a))return`unexpected change in ${a}`.slice(0,150);if(!a.files.some(b=>b.filename===a.manifest))return`unexpected change: ${a.manifest} isn't changed`.slice(0,150);if(a.manifestProblem)return a.manifestProblem.slice(0,150);if(a.lockfileProblem)return a.lockfileProblem.slice(0,150);if(!a.tokenLogin||!a.commits.length||a.commits.length>20)return"couldn't confirm who wrote the PR's commits";if(a.headSha&&a.commits[a.commits.length-1].sha!==a.headSha)return"the PR's head moved while it was checked";for(let b of a.commits){if(null!==b.login&&b.login.toLowerCase()===a.tokenLogin.toLowerCase())continue;let c=b.sha.slice(0,7);if(!r(b)||!b.files||!a.lockfile)return`unexpected commit ${c} by ${b.login??b.name}`.slice(0,150);let d=b.files.find(b=>b!==a.lockfile);if(d)return`unexpected change in ${d} by commit ${c}`.slice(0,150)}return null},"f",0,function(a,b){let c=a.getTime();return(null===b||!(c-b<1e5))&&(Math.floor(c/6e4)%2==0||null!==b&&c-b>=24e4)},"M",0,function(a){if(a.pr.merged)return{kind:"done",stage:"merged"};if("closed"===a.pr.state)return{kind:"done",stage:"closed"};if(void 0!==a.pr.base&&void 0!==a.recordedBase&&a.pr.base!==a.recordedBase)return{kind:"stop",stage:"failed",reason:`the PR's base changed to ${a.pr.base}`};if(a.pr.headSha!==a.recordedSha)return{kind:"wait",stage:"checks",reason:"new commit on the PR branch, checking again",resetSha:a.pr.headSha};let b=a.now.getTime()-a.openedAt.getTime()>27e5;return"failure"===a.checks?{kind:"stop",stage:"failed",reason:"CI failed"}:!1===a.pr.mergeable?{kind:"stop",stage:"failed",reason:"conflicts with the main branch"}:"error"===a.preview.state?{kind:"stop",stage:"failed",reason:"Vercel preview failed"}:"canceled"===a.preview.state?{kind:"stop",stage:"failed",reason:"Vercel canceled the preview (an Ignored Build Step that skips previews does this), so the update wasn't smoke-tested; check it and merge by hand"}:"pending"===a.checks||null===a.pr.mergeable?b?{kind:"stop",stage:"timeout",reason:"CI not finished within 45 minutes"}:{kind:"wait",stage:"checks",reason:null}:"ready"!==a.preview.state?b?{kind:"stop",stage:"timeout",reason:"preview not ready within 45 minutes"}:{kind:"wait",stage:"preview",reason:null}:a.smoke&&"wait"!==a.smoke.result?"fail"===a.smoke.result?{kind:"stop",stage:"failed",reason:`preview smoke test failed: ${a.smoke.reason??"?"}`}:a.autoRollbackOn?{kind:"merge"}:{kind:"stop",stage:"ready-manual",reason:"PR is ready to merge, but auto-rollback is off; merge it manually"}:b?{kind:"stop",stage:"timeout",reason:"preview smoke test not finished within 45 minutes"}:{kind:"wait",stage:"smoke",reason:null}}],664892);var F=a.i(120213),G=a.i(492665),H=a.i(683439),I=a.i(751263),J=a.i(812092),K=a.i(75105),L=a.i(322145),M=a.i(976937);let N=a=>({done:!1,message:a});async function O(){let[a]=await (0,d.f)().select().from(e.accounts).where((0,b.u)(e.accounts.provider,"github_write")).orderBy((0,c.M)(e.accounts.createdAt)).limit(1);if(!a)return null;let g=(0,f.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,G.f)().OPS_ENCRYPTION_KEY);return g?{id:a.id,token:g}:"unreadable"}let P={severity:"no package at the selected severity",major:"an update jumps a major version",nothing:"nothing can be updated"};async function Q(a){let[c]=await (0,d.f)().select({version:e.appSecurity.version,status:e.appSecurity.status,findings:e.appSecurity.findings}).from(e.appSecurity).where((0,b.u)(e.appSecurity.resourceId,a)).limit(1);return c?(0,i.p)({version:c.version,status:c.status,findings:Array.isArray(c.findings)?c.findings:[]}):null}async function R(a){let c=await (0,d.f)().select({package:e.dependencyVulns.package,installedVersion:e.dependencyVulns.installedVersion,fixedVersion:e.dependencyVulns.fixedVersion,vulnId:e.dependencyVulns.vulnId,aliases:e.dependencyVulns.aliases,severity:e.dependencyVulns.severity,direct:e.dependencyVulns.direct,dev:e.dependencyVulns.dev}).from(e.dependencyVulns).where((0,b.b)((0,b.u)(e.dependencyVulns.repoId,a),(0,b.M)(e.dependencyVulns.resolvedAt))).limit(2e3);return{upgrades:(0,F.B)(c),installed:(0,g.D)(c)}}async function S(a,b,c,d,e){for(let f of(0,I.a)(d,c)){if(f===c)break;let d=await (0,J.M)(a,b,f,e);if(!d.ok)return d;if(d.data)return{ok:!0,data:{base:f,head:d}}}return{ok:!0,data:{base:c,head:await (0,J.M)(a,b,c,e)}}}async function T(c,f,l,n=L.W,o={}){let p;if(!(0,H.f)(f)||!(0,H.f)(l))return n(N("Something in that request wasn't valid."),c,"");let q=await (0,L.q)(c.id,"github_bump_pr",f);if(q)return n(N(q),c,"");let r=await O();if(null===r)return n(N('A GitHub PR-write token is needed: connect "GitHub (PR write)" on Connections (fine-grained, this repository only, Contents and Pull requests: Read and write; Commit statuses: Read for automatic merges), then ask again.'),c,"");if("unreadable"===r)return n(N("Can't read the stored GitHub PR-write credential. Replace it on Connections."),c,"");let[s]=await (0,d.f)().select({app:e.resources.name,meta:e.resources.meta,fullName:e.githubRepos.fullName,owner:e.githubRepos.owner,goneAt:e.githubRepos.goneAt,lockfilePath:e.dependencyScans.lockfilePath,lockfileSha:e.dependencyScans.lockfileSha}).from(e.appRepos).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).innerJoin(e.resources,(0,b.u)(e.resources.id,e.appRepos.appId)).leftJoin(e.dependencyScans,(0,b.u)(e.dependencyScans.repoId,e.appRepos.repoId)).where((0,b.b)((0,b.u)(e.appRepos.appId,f),(0,b.u)(e.appRepos.repoId,l))).limit(1);if(!s||s.goneAt)return n(N(K.G),c,r.id);let t=s.meta??{},u=(0,j.l)(t.rootDirectoryUnsupported);if(u)return n(N(`The Vercel Root Directory "${u}" of ${s.app} couldn't be used (Watchbell reads plain folder names, at most 4 deep). Update its package.json yourself.`),c,r.id);let v=(0,j.Q)(t.rootDirectory),w=(0,j.H)(v,"package.json"),x=v?`in ${v}`:"at the repository root";if(o.framework){let a=await Q(f);if(!a)return n(N(`Nothing to update in ${s.app}: its Next.js check shows no advisory with a fixed version.`),c,r.id);p=a}else if(!(p=await R(l)).upgrades.length)return n(N(`Nothing to update in ${s.app}: no direct package has a fixed version for its open advisories.`),c,r.id);let y=p.upgrades;if(o.auto){let a=(0,g.a)(y,p.installed,o.auto.severities);if(!a.ok)return n(N(`Automatic PR not opened: ${P[a.why]}. The proposal waits for your approval.`),c,r.id);y=a.upgrades}y=(0,i.F)(y);let{auto:z,proposalId:A,framework:B,...C}=o,D={timeoutMs:8e3,...C},E=await (0,J.H)(r.token,s.fullName,D);if(!E.ok)return n({done:!1,failed:E,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);let F=await S(r.token,s.fullName,E.data.defaultBranch,t,D);if(!F.ok)return n({done:!1,failed:F,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);let G=F.data.base,U=(0,I.B)(t.productionSource,G,new Date);if(U&&z)return n(N(`Automatic PR not opened: ${U} The proposal waits for your approval.`),c,r.id);let V=B?null:(0,I.y)(s.lockfileSha,E.data.defaultBranch,v);if(V&&V!==G)return n(N(`The dependency scan of ${s.app} read ${V}, but this pull request would go to ${G}. Scan again (Dependencies › Scan now on the app page), then ask again.`),c,r.id);let W=F.data.head;if(!W.ok)return n({done:!1,failed:W,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(!W.data)return n(N(`The default branch ${G} wasn't found.`),c,r.id);let X=await (0,J.E)(r.token,s.fullName,W.data,D,w);if(!X.ok)return n({done:!1,failed:X,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(!X.data)return n(N(`There is no package.json ${x}.`),c,r.id);let Y=(0,h.k)(X.data.text,y);if(!Y?.length||B&&!Y.some(a=>"next"===a.package))return n(N(`${w} in ${s.app} already allows the fixed versions (or its ranges can't be rewritten). Run npm install there.`),c,r.id);if(z){let a=Y.find(a=>{let b=(0,k.Y)(a.from);return!b||!(0,g.J)(b,a.fixed)});if(a)return n(N(`Automatic PR not opened: ${a.package} ${a.from} → ${a.to} jumps a major version. The proposal waits for your approval.`),c,r.id)}let Z=(0,h.M)(X.data.text,Y);if(!Z)return n(N("package.json couldn't be edited safely."),c,r.id);let $=(0,h.U)(Y,v);if(!(0,h.c)($,G))return n(N("Refused: the PR branch would be the default branch."),c,r.id);let _=await (0,J.x)(r.token,s.fullName,s.owner,$,G,D);if(_.ok&&_.data)return{ok:!0,message:`Pull request #${_.data.number} for these updates is already open.`};let aa=await (0,J.e)(r.token,s.fullName,D);if(!aa.ok)return n({done:!1,failed:aa,audit:{message:`Package update PR failed \xb7 ${s.app}`,resourceId:f}},c,r.id);if(aa.data.length){let a=new Map((await (0,d.f)().select({number:e.dependencyPrs.number,packages:e.dependencyPrs.packages}).from(e.dependencyPrs).where((0,b.b)((0,b.u)(e.dependencyPrs.repoId,l),(0,b.y)(e.dependencyPrs.number,aa.data.map(a=>a.number))))).map(a=>[a.number,a.packages])),f=(0,g.U)(Y.map(a=>a.package),aa.data.map(b=>({number:b.number,branch:b.branch,title:b.title,packages:a.get(b.number)??null})),v);if(f)return n(N(`Pull request #${f.number} for the same package is already open in ${s.app}. Merge or close it first.`),c,r.id)}let ab=await (0,J.M)(r.token,s.fullName,$,D);if(ab.ok&&ab.data)return n(N(`Branch ${$} already exists without an open pull request. Delete it on GitHub, then ask again.`),c,r.id);let ac=s.lockfilePath??(v?(0,j.H)(v,"package-lock.json"):null),ad=k.a.find(a=>a.path===ac?.split("/").pop())?.kind??null,ae=a=>n({done:!1,failed:a,audit:{message:`Package update PR failed \xb7 ${s.app} \xb7 ${$}`,resourceId:f}},c,r.id),af=await (0,J.k)(r.token,s.fullName,$,W.data,G,D);if(!af.ok)return ae(af);let ag=await (0,J.D)(r.token,s.fullName,$,G,Z,X.data.sha,(0,h.G)(Y),D,w);if(!ag.ok)return ae(ag);let ah=(0,h.f)(Y,v),ai=(U?`> [!WARNING]
|
|
2
2
|
> ${U} Check where production is built from before you merge; Watchbell won't merge this pull request itself.
|
|
3
3
|
|
|
4
4
|
`:"")+(0,h.y)(Y,ad,!!z,v),aj=await (0,J.y)(r.token,s.fullName,$,G,ah,ai,D,{draft:!!U}),ak=!!U;if(U&&!aj.ok&&422===aj.status&&(aj=await (0,J.y)(r.token,s.fullName,$,G,ah,ai,D),ak=!1),!aj.ok)return ae(aj);let al=U?ak?` Opened as a draft: ${U}`:` Opened as a normal pull request (this repository can't have drafts), with the warning on top: ${U}`:"",am=Y.map(a=>`${a.package} ${a.from} → ${a.to}`).join(", "),an=await (0,J.M)(r.token,s.fullName,$,D).catch(()=>null),ao=!1;if(an?.ok&&an.data){await (0,d.f)().insert(e.dependencyPrs).values({repoId:l,appId:f,proposalId:A??null,number:aj.data.number,branch:$,baseBranch:G,headSha:an.data,title:ah.slice(0,200),packages:Y.map(a=>a.package),auto:!!z,stage:"checks",stageText:m(aj.data.number,"checks")}).onConflictDoNothing().catch(()=>console.warn("deps: recording the PR failed"));let{extensions:b}=await a.A(414785),c=await b.runner?.queueLockfileJob({repoId:l,branch:$,headSha:an.data,prNumber:aj.data.number,lockfilePath:ac,targets:Y.map(a=>({name:a.package,version:a.fixed}))}).catch(()=>(console.warn("deps: queueing the lockfile job failed"),null)),g=await (0,M.U)(r.token,{repo:s.fullName,branch:$,lockfilePath:ac,prNumber:aj.data.number});ao=c?.queued===!0||g.sent}return n({done:!0,message:`Pull request #${aj.data.number} opened for ${s.app}: ${am}.${ao?"":` Run npm install${v?` in ${v}`:""} on the branch before merging.`}${al}`,audit:{message:`Package update PR opened \xb7 ${s.app} \xb7 #${aj.data.number}`,resourceId:f,detail:am}},c,r.id)}async function U(a,b,c){if(!(0,H.f)(a)||c&&!(0,H.f)(c.appId))return{ok:!1,why:"target"};let d=await O();if(!d||"unreadable"===d)return{ok:!1,why:"no write token"};let e=c?await Q(c.appId):await R(a);if(!e)return{ok:!1,why:"nothing"};let f=(0,g.a)(e.upgrades,e.installed,b);return f.ok?{ok:!0}:{ok:!1,why:f.why}}async function V(a,c){let f=a.filter(a=>(0,H.f)(a.appId)&&(0,H.f)(a.repoId)),g=new Map;if(!f.length)return g;let h=await (0,d.f)().select({appId:e.appRepos.appId,repoId:e.appRepos.repoId,meta:e.resources.meta,defaultBranch:e.githubRepos.defaultBranch}).from(e.appRepos).innerJoin(e.resources,(0,b.u)(e.resources.id,e.appRepos.appId)).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).where((0,b.y)(e.appRepos.appId,[...new Set(f.map(a=>a.appId))])).limit(4*f.length);for(let a of f){let b=h.find(b=>b.appId===a.appId&&b.repoId===a.repoId),d=b?.meta??{},e=b?(0,I.B)(d.productionSource,(0,I.q)(d,b.defaultBranch??null),c):null;e&&g.set(a.appId,e)}return g}async function W(a,c=[]){let f=a.filter(H.f),g=new Map;if(!f.length)return g;let h=await (0,d.f)().select({appId:e.appRepos.appId,repoId:e.appRepos.repoId,version:e.appSecurity.version,status:e.appSecurity.status,findings:e.appSecurity.findings}).from(e.appRepos).innerJoin(e.githubRepos,(0,b.u)(e.githubRepos.id,e.appRepos.repoId)).innerJoin(e.appSecurity,(0,b.u)(e.appSecurity.resourceId,e.appRepos.appId)).where((0,b.b)((0,b.y)(e.appRepos.appId,f),(0,b.M)(e.githubRepos.goneAt),(0,b.u)(e.appSecurity.status,"vulnerable"))).limit(f.length),j=new Set(c),k=h.filter(a=>j.has(a.appId)),l=k.length?new Set((await (0,d.f)().selectDistinct({repoId:e.dependencyVulns.repoId}).from(e.dependencyVulns).where((0,b.b)((0,b.y)(e.dependencyVulns.repoId,[...new Set(k.map(a=>a.repoId))]),(0,b.M)(e.dependencyVulns.resolvedAt),(0,b.u)(e.dependencyVulns.package,"next"),(0,b.u)(e.dependencyVulns.direct,!0),(0,b.E)(e.dependencyVulns.fixedVersion))).limit(k.length)).map(a=>a.repoId)):new Set;for(let a of h){if(j.has(a.appId)&&l.has(a.repoId))continue;let b=(0,i.p)({version:a.version,status:a.status,findings:Array.isArray(a.findings)?a.findings:[]});b&&g.set(a.appId,{repoId:a.repoId,from:b.from,to:b.to})}return g}a.s(["J",0,U,"W",0,T,"h",0,W,"H",0,V,"G",0,O],736780)},313235,a=>{var b=a.i(927262),c=a.i(462820);let d={workloads:"Workloads",databases:"Databases",network:"Network",observe:"Observe",ai:"AI & API",admin:"Administration"},e={MonitorDown:"workloads",HighLatency:"workloads",DeploymentFailed:"workloads",DatabasePaused:"databases",StorageAlmostFull:"databases",NeonComputeHigh:"databases",FirestoreQuotaHigh:"databases",AutoPauseRisk:"databases",ComputeHigh:"databases",DbQuotaHigh:"databases",CertExpiringSoon:"network",DomainExpiringSoon:"network",DnsProxiedToVercel:"network",CollectorStale:"observe",CredentialExpiring:"admin",VulnerableDependency:"workloads",FrameworkVulnerable:"workloads",MonitorDomainMoved:"workloads"},f=new Set(["MonitorDown","HighLatency","DeploymentFailed","VulnerableDependency","FrameworkVulnerable","MonitorDomainMoved"]);a.s(["H",0,d,"p",0,function(a){if((0,b.h)(a.ruleKey))return f.has(a.ruleKey)&&null!==a.resourceKind&&"app"!==a.resourceKind?"observe":e[a.ruleKey];let c=new Set(a.ruleKey.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)),d=(...a)=>a.some(a=>c.has(a));return d("ai","router","gateway","model","models","provider","quota","llm","gemini")?"ai":d("key","keys","member","members","security","audit","credential","credentials","mfa","token")?"admin":d("database","db","storage","compute","neon","supabase","firestore","firebase")?"databases":d("domain","domains","dns","cert","certificate","tls","zone")?"network":"app"===a.resourceKind?"workloads":"observe"},"y",0,a=>c.X.proposedBy(d[a])])},247881,649031,a=>{var b=a.i(488345),c=a.i(342634),d=a.i(313235),e=a.i(188282),f=a.i(416454);let g=["LogErrorSpike","LogErrors","LogDbErrors"],h="timeout|ECONNREFUSED|too many connections|terminating connection|connection terminated|endpoint is disabled|compute.*suspend";RegExp(h,"i");let i=/^dpl_[A-Za-z0-9]{8,40}$/,j=/^ep-[a-z0-9-]{3,60}$/,k=/^[a-z0-9]{8,40}$/;function l(a,d,e){let f=d?(0,b.g)(d,e,120):"";return(0,c.l)((0,b.g)(f?`${a}. Most common: ${f}`:a,e,c.j)||a,c.j)}let m=a=>`${a.ruleKey}:${a.resourceId??""}:${a.action}`,n=new Set(["pending","approved","running"]);a.s(["s",0,864e5,"b",0,72e5,"V",0,3,"N",0,h,"G",0,20,"T",0,g,"v",0,72e5,"H",0,18e5,"w",0,10,"I",0,72e5,"x",0,function(a,b,c){let d=new Set(b.filter(a=>n.has(a.status)||null!==a.closedAt&&c.getTime()-a.closedAt.getTime()<72e5).map(m)),e=new Set;return a.filter(a=>{let b=m(a);return!(d.has(b)||e.has(b))&&(e.add(b),!0)})},"t",0,function(a,b,g){return(function(a,b,d){let e=[],g=d.getTime(),h=null!==a.liveAt&&g-a.liveAt.getTime()<72e5&&a.liveAt.getTime()<=g,m=a.previousNext?.status??"unknown";if(h&&a.errorsSinceLive>=Math.max(10,Math.ceil(5*a.baselineErrors/24))&&a.currentId&&a.previousId&&i.test(a.previousId)&&a.previousId!==a.currentId&&"vulnerable"!==m){let d=l(`${a.errorsSinceLive} errors since the deploy went live ${Math.max(1,Math.round((g-a.liveAt.getTime())/6e4))} min ago (${a.baselineErrors} in the 24 h before)`,a.topSinceLive,b);e.push({ruleKey:"LogErrorSpike",room:"workloads",action:"vercel_rollback",resourceKind:"app",resourceId:a.appId,targetRef:a.previousId,reason:"ok"===m?d:(0,c.l)(`${f.B} ${d}`)})}let n=null!==a.lastDeployAt&&g-a.lastDeployAt.getTime()<72e5;if(a.errors30>=20&&!n&&a.httpMonitorId&&e.push({ruleKey:"LogErrors",room:"workloads",action:"recheck",resourceKind:"app",resourceId:a.appId,targetRef:a.httpMonitorId,reason:l(`${a.errors30} errors in the last 30 min`,a.top30,b)}),a.dbErrors30>=3&&a.db){let c=l(`${a.dbErrors30} database connection errors in the last 30 min`,a.topDb,b),d=a.db;("neon_project"===d.kind||"neon_branch"===d.kind)&&d.wakeEndpoint&&j.test(d.wakeEndpoint)?e.push({ruleKey:"LogDbErrors",room:"databases",action:"neon_wake",resourceKind:d.kind,resourceId:d.resourceId,targetRef:d.wakeEndpoint,reason:c}):"supabase_project"===d.kind&&d.supabasePaused&&d.supabaseRef&&k.test(d.supabaseRef)&&e.push({ruleKey:"LogDbErrors",room:"databases",action:"supabase_restore",resourceKind:d.kind,resourceId:d.resourceId,targetRef:d.supabaseRef,reason:c})}return e})(a,b,g).map(f=>{let h="app"===f.resourceKind?(0,c.J)("app",a.appId,a.appName,b):(0,c.J)(f.resourceKind,f.resourceId,null,b);return{alertId:null,ruleKey:f.ruleKey,room:f.room,action:f.action,risk:e.H[f.action].risk,title:(0,c.M)(f.action,h),reason:f.reason,resourceKind:f.resourceKind,resourceId:f.resourceId,resourceName:h,targetRef:f.targetRef,proposedBy:(0,d.y)(f.room),expiresAt:new Date(g.getTime()+e.V)}})},"D",0,function(a,b){let c=a.getTime();return(null===b||!(c-b<27e4))&&(Math.floor(c/6e4)%5==0||null!==b&&c-b>=6e5)},"W",0,function(a,b){let c=new Set(b.map(m));return a.filter(a=>{let b;return"pending"===a.status&&(b=a.ruleKey,g.includes(b))&&!c.has(m(a))}).map(a=>a.id)}],247881);let o=new Set(["MonitorDown","LogErrorSpike"]);a.s(["r",0,72e5,"M",0,o,"s",0,function(a,b){let c=a=>({ok:!1,why:a});if(!a.setting.enabled)return c("off");if(!a.ruleKey||!o.has(a.ruleKey))return c("rule");let d=a.deploy;if(!d||!d.liveAt)return c("no live deploy");let e=b.getTime()-d.liveAt.getTime();return e<0||e>6e4*a.setting.windowMin?c("outside the window"):d.previousId&&a.targetRef===d.previousId&&d.previousId!==d.currentId?d.newestProdCreatedAt&&d.currentCreatedAt.getTime()<d.newestProdCreatedAt.getTime()?c("live deploy is a rollback"):a.rolledOrPromotedLately?c("live deploy came from a rollback or promote"):"ready"!==(d.previousState??"").toLowerCase()?c("previous not ready"):!d.previousCreatedAt||b.getTime()-d.previousCreatedAt.getTime()>2592e6?c("previous too old"):"vulnerable"===a.previousNext?c("previous Next.js has advisories"):"ok"!==a.previousNext?c("previous Next.js unknown"):a.autoLately?c("auto-rollback within 2 h"):a.sameDeployBefore?c("already rolled back once"):a.inFlight?c("another auto-rollback is running"):{ok:!0}:c("target changed")},"u",0,(a,b,d)=>(0,c.l)(`Automatic: the new deploy ${a} errored in the first ${b} minutes. ${d}`),"E",0,a=>a.currentSha&&/^[0-9a-f]{7,40}$/i.test(a.currentSha)?a.currentSha.slice(0,7):a.currentId.slice(0,16)],649031)},691100,a=>{let b;var c,d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(548734),h=a.i(462820),i=a.i(837137),j=a.i(247730),k=a.i(455317),l=a.i(930270),m=a.i(396667),n=a.i(160147),o=a.i(767163),p=a.i(757902),q=a.i(436357),r=a.i(893893),s=a.i(556987),t=a.i(142754),u=a.i(342634),v=a.i(247881),w=a.i(649031),x=a.i(381544),y=a.i(138984),z=a.i(492665),A=a.i(221084),B=a.i(736780),C=a.i(560954),D=a.i(895176),E=a.i(305731),F=a.i(30184),G=a.i(721170),H=a.i(322145),I=a.i(248358),J=a.i(915598),K=a.i(312573),L=a.i(323878),M=a.i(19809),N=a.i(371289),O=a.i(94473),P=a.i(188282);let Q={checkMonitorNow:D.X,keepAliveNow:C.v,wakeAs:G.v,supabaseAct:I.Q,redeployAs:J.B,rollbackAs:J.U,finish:H.W,recordAction:A.f,limit:L.C,bumpPrAs:B.W,autoSecurity:()=>(0,O.X)(),recheckDomain:F._,moveMonitorToDomain:E.f};async function R(){let[a]=await (0,g.f)().select({at:i.collectorRuns.startedAt}).from(i.collectorRuns).where(f.B`(${i.collectorRuns.trigger} = 'vercel_cron' or (${i.collectorRuns.trigger} = 'manual' and ${i.collectorRuns.tasks} ? 'rollups'))`).orderBy((0,e.A)(i.collectorRuns.startedAt)).limit(1);return a?.at??null}async function S(a){let b=await (a.lastDailyRunAt??R)(),c=(a.now??(()=>new Date))();if(b&&c.getTime()-b.getTime()<216e5)return{ok:!1,error:"The daily job ran less than 6 hours ago."};let d=(a.dailyTarget??function(){let a=(0,y.f)();return a?{url:`${(0,z.f)().SITE_URL.replace(/\/+$/,"")}/api/daily`,secret:a.CRON_SECRET}:null})();if(!d)return{ok:!1,error:"The scheduler settings are missing, so the daily job can't be started."};try{let b=await (a.fetch??fetch)(d.url,{headers:{Authorization:`Bearer ${d.secret}`},signal:AbortSignal.timeout(4e4),redirect:"manual"});if(!b.ok||b.status>=300)return{ok:!1,error:`The daily job route answered ${b.status}.`};return{ok:!0,message:`Daily job ran again (${b.status}).`}}catch(a){if(a instanceof Error&&("TimeoutError"===a.name||"AbortError"===a.name))return{ok:!0,message:"Daily job started; it's still running — the heartbeat turns Up when it finishes."};throw a}}let T="The proposal's target is missing, so it can't run.";async function U(a,b,c=Q){let d="auto"===b,e=d?{id:u.e,userId:null}:{id:b.id,userId:b.userId},f=(a,b,e)=>c.finish(a,b,e,{refresh:!1,...d?{auditPrefix:u.v}:{}});try{if(!a.resourceId||!a.targetRef)return{ok:!1,error:T};if((0,N.W)()&&"recheck"!==a.action)return await c.recordAction({kind:"ok",message:`${d?u.v:""}${P.H[a.action].label} (simulated)`,detail:"Simulated in the demo",resourceId:a.resourceId,actorUserId:e.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:M.r};switch(a.action){case"recheck":{let b=await c.limit(K.t.check,e.id);if(!b.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,K.H)(b.retryAfter)}.`};let f=await c.checkMonitorNow(a.targetRef);if(!f.ok)return{ok:!1,error:f.error};if(f.audit)try{await c.recordAction({kind:!1===f.passed?"err":"ok",...f.audit,message:`${d?u.v:""}${f.audit.message}`,actorUserId:e.userId})}catch{console.warn("audit event failed")}return{ok:!0,message:f.message}}case"domain_recheck":{let b=await c.limit(K.t.domainCheck,e.id);if(!b.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,K.H)(b.retryAfter)}.`};let f=await (c.recheckDomain??F._)(a.targetRef);if(!f.ok)return f;return await c.recordAction({kind:"ok",...f.audit,message:`${d?u.v:""}${f.audit.message}`,actorUserId:e.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:f.message}}case"monitor_update_url":{let b=await c.limit(K.t.monitorWrite,e.id);if(!b.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,K.H)(b.retryAfter)}.`};let f=await (c.moveMonitorToDomain??E.f)(a.targetRef);if(!f.ok)return f;return f.audit&&await c.recordAction({kind:"ok",...f.audit,message:`${d?u.v:""}${f.audit.message}`,actorUserId:e.userId}).catch(()=>console.warn("audit event failed")),{ok:!0,message:f.message}}case"daily_rerun":return await S(c);case"neon_wake":return await c.wakeAs(e,a.resourceId,a.targetRef,f);case"supabase_keepalive":return await c.keepAliveNow(e,a.resourceId,f);case"supabase_restore":return await c.supabaseAct("restore",e,a.resourceId,a.targetRef,f);case"vercel_redeploy":return await c.redeployAs(e,a.resourceId,a.targetRef,f);case"vercel_rollback":return await c.rollbackAs(e,a.resourceId,a.targetRef,f);case"github_bump_pr":{let b=d?await (c.autoSecurity??O.X)():null;if(d&&!b?.enabled)return{ok:!1,error:"Automatic security fixes is off."};return await (c.bumpPrAs??B.W)(e,a.resourceId,a.targetRef,f,{proposalId:a.proposalId??null,...b?{auto:{severities:b.severities}}:{},..."FrameworkVulnerable"===a.ruleKey?{framework:!0}:{}})}default:return{ok:!1,error:T}}}catch(a){return console.warn(`${h.X.logTag}/proposals run failed:`,a instanceof Error?a.name:"error"),{ok:!1,error:"Something went wrong while running it. Check the console page before trying again."}}}var V=a.i(416454);let W={id:t.O.id,room:t.O.room,action:t.O.action,risk:t.O.risk,title:t.O.title,reason:t.O.reason,resourceName:t.O.resourceName,proposedBy:t.O.proposedBy,status:t.O.status,auto:t.O.auto,result:t.O.result,createdAt:t.O.createdAt,decidedAt:t.O.decidedAt,expiresAt:t.O.expiresAt},X={...W,resourceId:t.O.resourceId,targetRef:t.O.targetRef,ruleKey:t.O.ruleKey,alertId:t.O.alertId};async function Y(a,b,c){let e=(0,u.z)(a,b),h=new Set(e.deployApps),j=a.filter(a=>("MonitorDown"===a.ruleKey||"HighLatency"===a.ruleKey)&&a.resourceId&&h.has(a.resourceId)&&a.startedAt),[k,m,n,o,p,r,s,t,v]=await Promise.all([e.monitorIds.length?(0,g.f)().select({id:i.monitors.id,kind:i.monitors.kind,url:i.monitors.url,lastError:i.monitors.lastError,appId:i.monitors.resourceId,appName:i.resources.name,appMeta:i.resources.meta}).from(i.monitors).innerJoin(i.resources,(0,d.u)(i.resources.id,i.monitors.resourceId)).where((0,d.y)(i.monitors.id,e.monitorIds)):[],e.deployApps.length?(0,g.f)().select({app:i.deployments.resourceId,id:i.deployments.externalId,isCurrent:i.deployments.isCurrent,isPrevious:i.deployments.isPreviousProduction,readyAt:i.deployments.readyAt,createdAt:i.deployments.createdAtProvider}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,e.deployApps),(0,d.F)((0,d.u)(i.deployments.isCurrent,!0),(0,d.u)(i.deployments.isPreviousProduction,!0)))):[],e.supabaseIds.length?(0,g.f)().select({id:i.resources.id,ref:i.resources.externalId}).from(i.resources).where((0,d.b)((0,d.y)(i.resources.id,e.supabaseIds),(0,d.u)(i.resources.kind,"supabase_project"),f.B`${i.resources.goneAt} is null`)):[],e.monitorApps.length?ac(e.monitorApps):new Map,e.depApps.length?aa(a,e.depApps).catch(()=>new Set).then(a=>(0,l.C)(e.depApps,a)).catch(()=>new Map):new Map,e.monitorIds.length?ab(e.monitorIds):null,e.frameworkApps.length?(0,B.h)(e.frameworkApps,e.depApps).catch(()=>new Map):new Map,j.length?Z(j.map(a=>a.subject),b).catch(()=>[]):[],$(e.deployApps)]),w=k.some(a=>null!==(0,q.Y)(a.appMeta)),x=w?await (0,g.f)().select({id:i.resources.id,name:i.resources.name,meta:i.resources.meta}).from(i.resources).where((0,d.b)((0,d.u)(i.resources.kind,"app"),(0,d.u)(i.resources.monitored,!0),(0,d.M)(i.resources.goneAt))).limit(500):[],y=w?(0,q.P)(k,x):new Map,z=[...[...p].map(([a,b])=>({appId:a,repoId:b})),...[...s].map(([a,b])=>({appId:a,repoId:b.repoId}))],A=z.length?await Promise.resolve().then(()=>(0,B.H)(z,b)).catch(()=>new Map):new Map,C=new Map,D=new Map;for(let a of m){let b=C.get(a.app)??{currentId:null,previousId:null,liveAt:null};a.isCurrent?(b.currentId=a.id,b.liveAt=a.readyAt??a.createdAt??null):a.isPrevious&&(b.previousId=a.id,D.set(a.app,a.readyAt??a.createdAt??null)),C.set(a.app,b)}let E=new Map;for(let[a,b]of C)b.previousId&&E.set(a,_(v,a,b.liveAt,D.get(a)??null));let F=new Map(j.map(a=>[a.id,(0,V.g)(a.startedAt,t.filter(b=>b.ruleKey===a.ruleKey&&b.subject===a.subject),{ruleKey:a.ruleKey,liveAt:C.get(a.resourceId)?.liveAt??null})]));return{monitorKinds:new Map(k.map(a=>[a.id,String(a.kind)])),deploys:C,...void 0!==c?{rollbackWindowMs:c}:{},supabaseRefs:new Map(n.map(a=>[a.id,a.ref])),neonSuspended:o,fixableRepos:p,dailyHeartbeatId:r,frameworkFixes:s,monitorMoves:y,problemSince:F,previousNext:E,...A.size?{productionMismatch:A}:{}}}async function Z(a,b){return(0,g.f)().select({ruleKey:i.alerts.ruleKey,subject:i.alerts.subject,startedAt:i.alerts.startedAt,resolvedAt:i.alerts.resolvedAt}).from(i.alerts).where((0,d.b)((0,d.y)(i.alerts.ruleKey,["MonitorDown","HighLatency"]),(0,d.y)(i.alerts.subject,[...new Set(a)]),(0,d.E)(i.alerts.resolvedAt),(0,d.B)(i.alerts.resolvedAt,new Date(b.getTime()-V.A)))).orderBy((0,e.A)(i.alerts.startedAt)).limit(500)}async function $(a){let b={checks:new Map,events:new Map,frameworks:new Map};if(!a.length)return b;try{let[c,f,h]=await Promise.all([(0,g.f)().select({app:i.appSecurity.resourceId,version:i.appSecurity.version,status:i.appSecurity.status,findings:i.appSecurity.findings,checkedAt:i.appSecurity.checkedAt,reason:i.appSecurity.reason}).from(i.appSecurity).where((0,d.y)(i.appSecurity.resourceId,a)).limit(a.length),(0,g.f)().select({app:i.events.resourceId,at:i.events.at,reason:i.events.reason,message:i.events.message}).from(i.events).where((0,d.b)((0,d.y)(i.events.reason,[...V.Y]),(0,d.y)(i.events.resourceId,a))).orderBy((0,e.A)(i.events.at)).limit(Math.min(500,50*a.length)),(0,g.f)().select({app:i.resources.id,meta:i.resources.meta}).from(i.resources).where((0,d.y)(i.resources.id,a)).limit(a.length)]);for(let a of c)b.checks.set(a.app,{version:a.version,status:a.status,findings:Array.isArray(a.findings)?a.findings:[],checkedAt:a.checkedAt,reason:a.reason});for(let a of f)a.app&&b.events.set(a.app,[...b.events.get(a.app)??[],{at:a.at,reason:a.reason,message:a.message}]);for(let a of h){let c=a.meta&&"object"==typeof a.meta?a.meta.framework:null;b.frameworks.set(a.app,"string"==typeof c?c:null)}}catch{return{checks:new Map,events:new Map,frameworks:new Map}}return b}let _=(a,b,c,d)=>(0,V.Q)({currentLiveAt:c,previousLiveAt:d,check:a.checks.get(b)??null,events:a.events.get(b)??[],framework:a.frameworks.get(b)??null});async function aa(a,b){let c=new Set(b),e=a.filter(a=>"FrameworkVulnerable"===a.ruleKey&&"app"===a.resourceKind&&a.resourceId&&c.has(a.resourceId)).map(a=>a.id);return e.length?new Set((await (0,g.f)().selectDistinct({resourceId:t.O.resourceId}).from(t.O).where((0,d.b)((0,d.u)(t.O.ruleKey,"FrameworkVulnerable"),(0,d.u)(t.O.action,"github_bump_pr"),(0,d.y)(t.O.status,["pending","approved","running","done"]),(0,d.y)(t.O.alertId,e),(0,d.y)(t.O.resourceId,[...c]))).limit(e.length)).flatMap(a=>a.resourceId?[a.resourceId]:[])):new Set}async function ab(a){let b=(0,o.i)(process.env.DAILY_HEARTBEAT_TOKEN);if(!b)return null;let[c]=await (0,g.f)().select({id:i.monitors.id}).from(i.monitors).where((0,d.b)((0,d.y)(i.monitors.id,a),(0,d.u)(i.monitors.kind,"heartbeat"),(0,d.u)(i.monitors.tokenHash,(0,p.C)(b)))).limit(1).catch(()=>[]);return c?.id??null}async function ac(a){let b=await (0,g.f)().select({app:i.links.fromResourceId,id:i.resources.id,kind:i.resources.kind,externalId:i.resources.externalId,parentId:i.resources.parentId}).from(i.links).innerJoin(i.resources,(0,d.u)(i.resources.id,i.links.toResourceId)).where((0,d.b)((0,d.y)(i.links.fromResourceId,a),(0,d.u)(i.links.kind,"uses_db"),(0,d.y)(i.resources.kind,["neon_project","neon_branch"]),f.B`${i.resources.goneAt} is null`)),c=new Map;if(!b.length)return c;let e=a=>"neon_branch"===a.kind?a.parentId:a.id,h=[...new Set(b.map(e).filter(a=>!!a))];if(!h.length)return c;let j=new Map((await (0,g.f)().select({id:i.snapshots.resourceId,data:i.snapshots.data}).from(i.snapshots).where((0,d.y)(i.snapshots.resourceId,h))).map(a=>[a.id,(0,r.k)(r.s,a.data)]));for(let a of b){let b=e(a),d=b?j.get(b):void 0,f=d?(0,u.Z)(d.endpoints,d.branches,"neon_branch"===a.kind?a.externalId:null):null;f&&c.set(a.app,{resourceId:a.id,resourceKind:a.kind,endpointId:f})}return c}async function ad(a){if(!a.length)return[];let b=new Set((await (0,g.f)().select({alertId:t.O.alertId,action:t.O.action}).from(t.O).where((0,d.y)(t.O.alertId,[...new Set(a.map(a=>a.alertId))]))).map(a=>`${a.alertId}:${a.action}`)),c=a.filter(a=>!b.has(`${a.alertId}:${a.action}`));return c.length?(0,g.f)().insert(t.O).values(c.map(a=>({...a,status:"pending"}))).onConflictDoNothing().returning(X):[]}async function ae(a,b){return(await (0,g.f)().select(W).from(t.O).where(f.B`${t.O.createdAt} >= ${new Date(a.getTime()-6048e5).toISOString()}::timestamptz`).orderBy(f.B`case when ${t.O.status} = 'pending' then 0 else 1 end`,(0,e.A)(t.O.createdAt),(0,e.A)(t.O.id)).limit(b)).map(u.E)}async function af(a){let[b]=await (0,g.f)().select(W).from(t.O).where((0,d.u)(t.O.id,a)).limit(1);return b?(0,u.E)(b):null}async function ag(a,b,c,e){let[h]=await (0,g.f)().update(t.O).set({status:"approve"===b?"approved":"rejected",decidedBy:c,decidedAt:e}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),f.B`${t.O.expiresAt} > ${e.toISOString()}::timestamptz`)).returning(X);if(h)return{status:"ok",proposal:(0,u.E)(h),row:h};let[i]=await (0,g.f)().select(W).from(t.O).where((0,d.u)(t.O.id,a)).limit(1);return i?{status:"conflict",proposal:(0,u.E)(i)}:{status:"missing"}}async function ah(a,b){let[c]=await (0,g.f)().update(t.O).set({status:"running",claimedAt:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"approved"))).returning(X);return c??null}async function ai(a,b,c,e){let[f]=await (0,g.f)().update(t.O).set({status:b?"done":"failed",result:c,finishedAt:e}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"running"))).returning(X);return f??null}let aj={run:(a,b)=>U(a,b),book:()=>(0,j.f)()};async function ak(a,b,c,d=aj){let e=await ah(a,c);if(!e)return null;let f=await d.run({action:e.action,resourceId:e.resourceId,targetRef:e.targetRef,proposalId:e.id,ruleKey:e.ruleKey??null},b),g=await d.book().catch(()=>s.a),h=await ai(a,f.ok,(0,u.x)(f,g),new Date);return h?(0,u.E)(h):null}async function al(a,b){let c=await (0,g.f)().update(t.O).set({status:"expired",result:"Expired: nobody decided in time, or the alert stopped firing."}).where((0,d.b)((0,d.u)(t.O.status,"pending"),(0,d.F)((0,d.S)(t.O.expiresAt,new Date(b.getTime()+1)),(0,d.b)((0,d.E)(t.O.alertId),a.length?(0,d.$)(t.O.alertId,a):f.B`true`)))).returning({id:t.O.id});return await (0,g.f)().update(t.O).set({status:"failed",result:"The run was interrupted. Check the console page before trying again.",finishedAt:b}).where((0,d.b)((0,d.u)(t.O.status,"running"),(0,d.S)(t.O.claimedAt,new Date(b.getTime()-u.L)))),c.length}async function am(a){await (0,g.f)().delete(t.O).where((0,d.b)((0,d.S)(t.O.createdAt,new Date(a.getTime()-2592e6)),(0,d.$)(t.O.status,["pending","approved","running"])))}let an=f.B`(${i.storedLogs.level} in ('error', 'fatal') or coalesce(${i.storedLogs.statusCode}, 0) >= 500)`,ao=f.B`coalesce(${i.deployments.readyAt}, ${i.deployments.createdAtProvider})`;async function ap(a){let b=await (0,g.f)().select({app:i.links.fromResourceId,id:i.resources.id,kind:i.resources.kind,externalId:i.resources.externalId,parentId:i.resources.parentId}).from(i.links).innerJoin(i.resources,(0,d.u)(i.resources.id,i.links.toResourceId)).where((0,d.b)((0,d.y)(i.links.fromResourceId,a),(0,d.u)(i.links.kind,"uses_db"),(0,d.y)(i.resources.kind,["neon_project","neon_branch","supabase_project"]),(0,d.M)(i.resources.goneAt))),c=new Map;if(!b.length)return c;let e=a=>"neon_branch"===a.kind?a.parentId:a.id,f=[...new Set(b.map(e).filter(a=>!!a))],h=new Map((f.length?await (0,g.f)().select({id:i.snapshots.resourceId,data:i.snapshots.data}).from(i.snapshots).where((0,d.y)(i.snapshots.resourceId,f)):[]).map(a=>[a.id,a.data]));for(let a of b){let b=h.get(e(a)??"");if("supabase_project"===a.kind){let d=(0,r.k)(r.B,b);c.set(a.app,{resourceId:a.id,kind:a.kind,wakeEndpoint:null,supabaseRef:a.externalId,supabasePaused:"INACTIVE"===d.status})}else{let d=(0,r.k)(r.s,b);c.set(a.app,{resourceId:a.id,kind:a.kind,wakeEndpoint:(0,u.Z)(d.endpoints,d.branches,"neon_branch"===a.kind?a.externalId:null),supabaseRef:null,supabasePaused:!1})}}return c}let aq={apps:async function(a){let b=new Date(a.getTime()-v.I-v.s),c=f.B`${i.storedLogs.at} >= ${new Date(a.getTime()-v.H).toISOString()}::timestamptz`,e=f.B`${i.storedLogs.message} ~* ${v.N}`,h=f.B`left(${i.storedLogs.message}, 200)`,j=(await (0,g.f)().select({appId:i.storedLogs.resourceId,appName:f.B`max(${i.resources.name})`,liveAt:f.B`max(${ao})`.mapWith(i.deployments.readyAt),currentId:f.B`max(${i.deployments.externalId})`,errorsSinceLive:f.B`count(*) filter (where ${an} and ${i.storedLogs.at} >= ${ao})`.mapWith(Number),baselineErrors:f.B`count(*) filter (where ${an} and ${i.storedLogs.at} >= ${ao} - interval '24 hours' and ${i.storedLogs.at} < ${ao})`.mapWith(Number),topSinceLive:f.B`mode() within group (order by ${h}) filter (where ${an} and ${i.storedLogs.at} >= ${ao})`,errors30:f.B`count(*) filter (where ${an} and ${c})`.mapWith(Number),top30:f.B`mode() within group (order by ${h}) filter (where ${an} and ${c})`,dbErrors30:f.B`count(*) filter (where ${c} and ${e})`.mapWith(Number),topDb:f.B`mode() within group (order by ${h}) filter (where ${c} and ${e})`}).from(i.storedLogs).innerJoin(i.resources,(0,d.u)(i.resources.id,i.storedLogs.resourceId)).leftJoin(i.deployments,(0,d.b)((0,d.u)(i.deployments.resourceId,i.storedLogs.resourceId),(0,d.u)(i.deployments.isCurrent,!0))).where((0,d.b)((0,d.B)(i.storedLogs.at,b),(0,d.u)(i.resources.kind,"app"),(0,d.M)(i.resources.goneAt))).groupBy(i.storedLogs.resourceId)).filter(a=>a.errorsSinceLive>=v.w||a.errors30>=v.G||a.dbErrors30>=v.V);if(!j.length)return[];let k=j.map(a=>a.appId),[l,m,n]=await Promise.all([(0,g.f)().select({app:i.deployments.resourceId,previousId:f.B`max(${i.deployments.externalId}) filter (where ${i.deployments.isPreviousProduction})`,previousLiveAt:f.B`max(${ao}) filter (where ${i.deployments.isPreviousProduction})`.mapWith(i.deployments.readyAt),lastDeployAt:f.B`max(${i.deployments.createdAtProvider}) filter (where ${i.deployments.target} = 'production')`.mapWith(i.deployments.createdAtProvider)}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,k),(0,d.F)((0,d.u)(i.deployments.isPreviousProduction,!0),(0,d.B)(i.deployments.createdAtProvider,new Date(a.getTime()-v.v))))).groupBy(i.deployments.resourceId),(0,g.f)().select({app:i.monitors.resourceId,id:i.monitors.id}).from(i.monitors).where((0,d.b)((0,d.y)(i.monitors.resourceId,k),(0,d.u)(i.monitors.kind,"http"),(0,d.u)(i.monitors.paused,!1),(0,d.u)(i.monitors.ownerPaused,!1))).orderBy(i.monitors.createdAt),ap(k)]),o=new Map(l.map(a=>[a.app,a])),p=new Map;for(let a of m)p.has(a.app)||p.set(a.app,a.id);let q=j.filter(a=>a.errorsSinceLive>=v.w&&a.liveAt&&o.get(a.appId)?.previousId).map(a=>a.appId),r=q.length?await $(q):null;return j.map(a=>({...a,appName:a.appName??"",previousId:o.get(a.appId)?.previousId??null,lastDeployAt:o.get(a.appId)?.lastDeployAt??null,httpMonitorId:p.get(a.appId)??null,db:n.get(a.appId)??null,...r&&q.includes(a.appId)?{previousNext:_(r,a.appId,a.liveAt,o.get(a.appId)?.previousLiveAt??null)}:{}}))},rows:async function(a){let b=f.B`coalesce(${t.O.finishedAt}, ${t.O.decidedAt}, ${t.O.expiresAt})`;return(0,g.f)().select({id:t.O.id,ruleKey:t.O.ruleKey,resourceId:t.O.resourceId,action:t.O.action,status:t.O.status,closedAt:b.mapWith(t.O.finishedAt)}).from(t.O).where((0,d.b)((0,d.M)(t.O.alertId),(0,d.y)(t.O.ruleKey,[...v.T]),(0,d.F)((0,d.y)(t.O.status,["pending","approved","running"]),f.B`${b} > ${new Date(a.getTime()-v.b).toISOString()}::timestamptz`)))}};async function ar(a,b,c=aq){let[e,f]=await Promise.all([c.apps(a),c.rows(a)]),h=e.flatMap(c=>(0,v.t)(c,b,a)),i=(0,v.W)(f,h),j=0;i.length&&(j=(await (0,g.f)().update(t.O).set({status:"expired",result:"Expired: the logs no longer show it.",finishedAt:a}).where((0,d.b)((0,d.y)(t.O.id,i),(0,d.u)(t.O.status,"pending"))).returning({id:t.O.id})).length);let k=(0,v.x)(h,f,a);return k.length?{created:await (0,g.f)().insert(t.O).values(k.map(a=>({...a,status:"pending"}))).onConflictDoNothing().returning(X),expired:j}:{created:[],expired:j}}let as=null;async function at(a,b){return(0,v.D)(a,as)?(as=a.getTime(),ar(a,await b())):{created:[],expired:0}}async function au(a,b){return(await (0,g.f)().update(t.O).set({status:"approved",auto:!0,decidedAt:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),(0,d.u)(t.O.risk,"safe"))).returning({id:t.O.id})).length>0}async function av(a,b){let c=new Date(b.getTime()-w.r),[e,h,j,k,l]=await Promise.all([(0,g.f)().select({app:i.deployments.resourceId,id:i.deployments.externalId,sha:i.deployments.commitSha,state:i.deployments.state,isCurrent:i.deployments.isCurrent,isPrevious:i.deployments.isPreviousProduction,readyAt:i.deployments.readyAt,createdAt:i.deployments.createdAtProvider}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,a),(0,d.F)((0,d.u)(i.deployments.isCurrent,!0),(0,d.u)(i.deployments.isPreviousProduction,!0)))),(0,g.f)().select({app:i.deployments.resourceId,at:f.B`max(${i.deployments.createdAtProvider})`.mapWith(i.deployments.createdAtProvider)}).from(i.deployments).where((0,d.b)((0,d.y)(i.deployments.resourceId,a),(0,d.u)(i.deployments.target,"production"),(0,d.u)(i.deployments.state,"ready"))).groupBy(i.deployments.resourceId),(0,g.f)().select({app:i.events.resourceId}).from(i.events).where((0,d.b)((0,d.u)(i.events.type,"action"),(0,d.y)(i.events.resourceId,a),(0,d.B)(i.events.at,c),f.B`${i.events.message} ~ ${aw}`)),(0,g.f)().select({app:t.O.resourceId,targetRef:t.O.targetRef,status:t.O.status,decidedAt:t.O.decidedAt}).from(t.O).where((0,d.b)((0,d.u)(t.O.action,"vercel_rollback"),(0,d.u)(t.O.auto,!0),(0,d.B)(t.O.createdAt,new Date(b.getTime()-26784e5)))),$(a)]),m=new Map;for(let b of a){let a=e.find(a=>a.app===b&&a.isCurrent),d=e.find(a=>a.app===b&&a.isPrevious&&!a.isCurrent),f=k.filter(a=>a.app===b);m.set(b,{deploy:a?{currentId:a.id,currentSha:a.sha,liveAt:a.readyAt??a.createdAt,currentCreatedAt:a.createdAt,newestProdCreatedAt:h.find(a=>a.app===b)?.at??null,previousId:d?.id??null,previousState:d?.state??null,previousCreatedAt:d?.createdAt??null}:null,rolledOrPromotedLately:j.some(a=>a.app===b),autoLately:f.some(a=>null!==a.decidedAt&&a.decidedAt.getTime()>=c.getTime()),sameDeployBefore:!!d&&f.some(a=>a.targetRef===d.id),previousNext:a&&d?_(l,b,a.readyAt??a.createdAt,d.readyAt??d.createdAt).status:"unknown"})}return{apps:m,inFlight:k.some(a=>"approved"===a.status||"running"===a.status)}}let aw="(Rolled back|Promoted|Preview promoted) ·";async function ax(a,b,c){return(await (0,g.f)().update(t.O).set({status:"approved",auto:!0,decidedAt:c,reason:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),(0,d.u)(t.O.action,"vercel_rollback"),f.B`not exists (select 1 from ops.action_proposals x where x.action = 'vercel_rollback' and x.auto and x.status in ('approved', 'running'))`)).returning({id:t.O.id})).length>0}async function ay(a,b,c,d){let e=a.filter(a=>"vercel_rollback"===a.action&&a.ruleKey&&w.M.has(a.ruleKey)&&a.resourceId);if(!e.length||!d.autoRollback||!d.rollbackContext||!d.approveAutoRollback)return[];let f=await d.autoRollback().catch(()=>null);if(!f?.enabled||15e3>c())return[];let g=[];try{let a=await d.rollbackContext([...new Set(e.map(a=>a.resourceId))],b),i=a.inFlight;for(let j of e){let e=a.apps.get(j.resourceId);if(!e||12e3>c())continue;let k=(0,w.s)({setting:f,ruleKey:j.ruleKey??null,targetRef:j.targetRef,inFlight:i,...e},b);if(!k.ok){console.log(`${h.X.logTag}/auto-rollback: skipped (${k.why})`);continue}let l=(0,w.E)(e.deploy);if(!await d.approveAutoRollback(j.id,(0,w.u)(l,f.windowMin,j.reason),new Date))continue;i=!0;let m=await d.execute(j.id,new Date);if(m){g.push(m),await (d.notifyRollback??x.q)(m,{reason:j.reason,newRef:l},{},{alertId:j.alertId??null}).catch(()=>void 0);break}}}catch(a){console.warn(`${h.X.logTag}/auto-rollback failed:`,a instanceof Error?a.name:"error")}return g}async function az(a,b){return(await (0,g.f)().update(t.O).set({status:"approved",auto:!0,decidedAt:b}).where((0,d.b)((0,d.u)(t.O.id,a),(0,d.u)(t.O.status,"pending"),(0,d.u)(t.O.action,"github_bump_pr"))).returning({id:t.O.id})).length>0}async function aA(a,b,c){let d=a.filter(a=>"github_bump_pr"===a.action&&a.targetRef);if(!d.length||!c.autoSecurity||!c.bumpReady||!c.approveAutoBump)return[];let e=await c.autoSecurity().catch(()=>null);if(!e?.enabled||!e.severities.length)return[];let f=[];for(let a of d){if(15e3>b())break;try{if(a.resourceId&&c.prodMismatch?await c.prodMismatch(a.resourceId,a.targetRef).catch(()=>"unknown"):null){console.log(`${h.X.logTag}/auto-security: waits for the owner (production source)`);continue}let b="FrameworkVulnerable"===a.ruleKey&&a.resourceId?await c.bumpReady(a.targetRef,e.severities,{appId:a.resourceId}):await c.bumpReady(a.targetRef,e.severities);if(!b.ok){console.log(`${h.X.logTag}/auto-security: waits for the owner (${b.why})`);continue}if(!await c.approveAutoBump(a.id,new Date))continue;let d=await c.execute(a.id,new Date);d&&f.push(d)}catch(a){console.warn(`${h.X.logTag}/auto-security failed:`,a instanceof Error?a.name:"error")}}return f}async function aB(a,b){return(await (0,B.H)([{appId:a,repoId:b}],new Date)).get(a)??null}async function aC(a){return new Map((await (0,g.f)().select({id:i.accounts.id,provider:i.accounts.provider}).from(i.accounts).where((0,d.y)(i.accounts.id,a))).map(a=>[a.id,a.provider]))}let aD={firing:()=>(0,k.q)(),book:()=>(0,j.f)(),facts:Y,create:ad,expire:al,autoRun:O.I,approveAuto:au,execute:(a,b)=>ak(a,"auto",b),notifyNew:x.i,notifyResult:x.b,logs:at,autoRollback:()=>(0,O.K)(),rollbackContext:av,approveAutoRollback:ax,notifyRollback:x.q,autoSecurity:()=>(0,O.X)(),bumpReady:B.J,approveAutoBump:az,paused:m.I,providers:aC,prodMismatch:aB};async function aE(a,b={},c=aD){let d={created:0,expired:0,autoRan:0},e=()=>(b.deadline??1/0)-Date.now(),f=await c.firing();d.expired=await c.expire(f.map(a=>a.id),a);let g=c.paused?await c.paused().catch(()=>new Set):new Set,i=[...new Set(f.flatMap(a=>a.accountId?[a.accountId]:[]))],j=g.size&&i.length&&c.providers?await c.providers(i).catch(()=>new Map):new Map,k=f.filter(a=>!(0,n.O)(g,a.ruleKey,a.accountId?j.get(a.accountId):null)),l=null,m=()=>l??=c.book().catch(()=>s.a),o=[],p=(0,u.z)(k,a);if(Object.values(p).some(a=>a.length>0)){let b=p.deployApps.length&&c.autoRollback?await c.autoRollback().catch(()=>null):null,d=await c.facts(k,a,b?6e4*b.windowMin:void 0),e=await m(),f=k.flatMap(b=>(0,u.t)(b,d,e,a)).filter(a=>!("github_bump_pr"===a.action&&g.has("devops")));o.push(...await c.create(f))}if(e()>1e4&&!g.has("hosting"))try{let b=await c.logs(a,m);o.push(...b.created),d.expired+=b.expired}catch(a){console.warn(`${h.X.logTag}/proposals logs failed:`,a instanceof Error?a.name:"error")}if(d.created=o.length,!o.length)return d;let q=await c.autoRun().catch(()=>null),r=await ay(o,a,e,c);d.autoRan+=r.length;let t=await aA(o.filter(a=>!r.some(b=>b.id===a.id)),e,c),v=new Set(r.map(a=>a.id)),w=[...t];for(let a of(d.autoRan+=t.length,t))v.add(a.id);for(let a of o){if(v.has(a.id)||!q||!(0,u.I)(a.action,q)||8e3>e()||!await c.approveAuto(a.id,new Date))continue;let b=await c.execute(a.id,new Date);b&&(w.push(b),d.autoRan++)}let x=new Set([...w.map(a=>a.id),...v]),y=o.filter(a=>"LogErrorSpike"===a.ruleKey&&a.resourceId).map(a=>({proposalId:a.id,appId:a.resourceId})),z=y.length&&c.queueDev?await c.queueDev(y,a).catch(()=>new Set):new Set,A=new Map(o.map(a=>[a.id,a.alertId??null]));for(let a of(await c.notifyNew(o.filter(a=>!x.has(a.id)).map(u.E),{},{devQueued:z,alertIds:A}).catch(()=>void 0),w))await c.notifyResult(a,{},{alertId:A.get(a.id)??null}).catch(()=>void 0);return d}let aF=(c={},b={...aD,queueDev:c.queueDev},async(a,c)=>{try{let d=await aE(a,c??{},b);(d.created||d.expired||d.autoRan)&&console.log(`${h.X.logTag}/proposals: ${d.created} new, ${d.expired} expired, ${d.autoRan} auto-ran`)}catch(a){console.warn(`${h.X.logTag}/proposals failed:`,a instanceof Error?a.name:"error")}});a.s(["V",0,ag,"N",0,ak,"Q",0,ae,"Z",0,aF,"t",0,am,"K",0,af],691100)},381544,a=>{var b=a.i(462820),c=a.i(532620),d=a.i(49146),e=a.i(390626),f=a.i(192738),g=a.i(492665),h=a.i(552543),i=a.i(446914),j=a.i(556987),k=a.i(488345),l=a.i(94473),m=a.i(188282);let n={target:d.Q,book:()=>(0,c.e)(),siteUrl:()=>(0,g.f)().SITE_URL,autoRun:()=>(0,l.I)(),send:(a,b,c,d,e)=>(0,i.I)(a,b,c,{...d?{replyMarkup:d}:{},...e?{replyTo:e}:{}}),record:(a,b)=>(0,d.P)("telegram",a,b),lang:()=>(0,h.I)("telegram"),discord:()=>(0,d.G)(),sendDiscord:(a,b)=>(0,e.$)(a,b,{timeoutMs:w}),recordDiscord:(a,b)=>(0,d.P)("discord",a,b),discordLang:()=>(0,h.I)("discord"),buttons:()=>a.A(801116).then(a=>a.approvalButtons()),thread:a=>(0,d.M)(a)},o={en:{pending:"Status: ⏳ waiting",dev:"🧑💻 Dev is checking the code",proposer:b.X.notifyFallback.en,app:"app",safe:"safe",risky:"needs care",proposes:"proposes",why:"Why",risk:"Risk",open:"Open in Auto-actions",waitingN:"new proposals waiting for approval:",moreN:"more proposals",automatic:"Automatic",rollbackWhy:"the app errored after the new deploy",succeeded:"Succeeded",failed:"Failed",stopFallback:"something failed"},id:{pending:"Status: ⏳ menunggu",dev:"🧑💻 Dev lagi cek kodenya",proposer:b.X.notifyFallback.id,app:"aplikasi",safe:"aman",risky:"perlu hati-hati",proposes:"usul",why:"Kenapa",risk:"Risiko",open:"Buka di Auto-actions",waitingN:"usulan baru menunggu persetujuan:",moreN:"usulan lagi",automatic:"Otomatis",rollbackWhy:"app-nya error setelah deploy baru",succeeded:"Berhasil",failed:"Gagal",stopFallback:"ada yang gagal"}},p={recheck:"Cek ulang sekarang",neon_wake:"Bangunin Neon",supabase_keepalive:"Kirim keep-alive Supabase",supabase_restore:"Restore project Supabase",vercel_redeploy:"Redeploy production",vercel_rollback:"Rollback ke deploy sebelumnya",github_bump_pr:"Bikin PR update paket",domain_recheck:"Cek ulang sertifikat domain",daily_rerun:"Jalanin ulang daily job",monitor_update_url:"Arahin monitor ke domain baru"},q=(a="en")=>(0,h.t)(o,a,"dev"),r=(a,b)=>("id"===b?p[a.action]:void 0)??m.H[a.action]?.label??a.actionLabel,s=(a,b)=>(0,h.t)(o,b,"risky"===a.risk||m.H[a.action]?.risk==="risky"?"risky":"safe"),t=(a,b)=>`${a.replace(/\/+$/,"")}/auto-actions${b?`?proposal=${encodeURIComponent(b)}`:""}`;function u(a,b,c,d=!1,e="en"){let g=a=>(0,h.t)(o,e,a),i=(0,k.R)(a.proposedBy,b,60)||g("proposer"),j=(0,k.R)(a.title,b,120),l=(0,k.R)(a.reason,b,200)||"-";return[`🧑✈️ ${(0,f.H)(i)} ${g("proposes")}: ${(0,f.H)(r(a,e))} — ${(0,f.H)(j)}`,`${g("why")}: ${(0,f.H)(l)}`,`${g("risk")}: ${s(a,e)}`,...d?[q(e)]:[],`${g("open")}: ${(0,f.H)(t(c,a.id))}`].join("\n")}let v=new Set(["recheck","domain_recheck"]),w=3e3,x={en:{proposed:"📝 Proposed",approved:"✅ Approved by the owner",rejected:"🚫 Rejected by the owner",done:"⚙️ Ran",failed:"❌ Failed",waiting:"waiting for approval on Telegram.",newN:"new proposals"},id:{proposed:"📝 Usulan",approved:"✅ Disetujui owner",rejected:"🚫 Ditolak owner",done:"⚙️ Dijalankan",failed:"❌ Gagal",waiting:"nunggu persetujuan di Telegram.",newN:"usulan baru"}};function y(a,b,c,d="en"){let e=a=>(0,h.t)(x,d,a);if(Array.isArray(b))return`📝 ${b.length} ${e("newN")} — ${e("waiting")}`;let f=((0,k.g)(b.title,c,120)||r(b,d)).replace(/[*_`~|\[\]<>]/g,"");if("proposed"===a)return`${e("proposed")}: ${f} — ${e("waiting")}`;if("approved"===a||"rejected"===a)return`${e(a)}: ${f}`;let g=b.result?(0,k.g)(b.result,c,200).replace(/[*_`~|\[\]<>]/g,""):"";return`${e(a)}: ${f}${g?` — ${g}`:""}`}async function z(a,c,d){try{let e,f=await c.discord();if(!f)return;let g=await c.book().catch(()=>j.a),h=await c.discordLang().catch(()=>"en"),i=a(g,h);if(!i.length)return;try{e=await c.sendDiscord(f.url,i.join("\n"))}catch{e={ok:!1,kind:"transient",error:"Discord didn't answer."}}await c.recordDiscord(e,d).catch(()=>console.warn(`${b.X.logTag}/discord: recording the result failed`))}catch{console.warn(`${b.X.logTag}/discord: sending the action history failed`)}}async function A(a,b,c={},d={}){let e={...n,...c};await C(()=>z((c,d)=>[y(a,b,c,d)],e,d.now??new Date),d.timeoutMs??w)}async function B(a,c,d){let e=await c.target();if(!e)return;let f=await c.book().catch(()=>j.a),g=await c.lang().catch(()=>"en");for(let h of(await a(f,g))){let a;try{a="string"==typeof h?await c.send(e.token,e.chatId,h):await c.send(e.token,e.chatId,h.text,h.keyboard,h.replyTo??void 0)}catch{a={ok:!1,kind:"transient",error:"Telegram didn't answer."}}await c.record(a,d).catch(()=>console.warn(`${b.X.logTag}/telegram: recording the result failed`))}}async function C(a,c){try{var d;let b;await (d=a(),Promise.race([d,new Promise((a,d)=>{b=setTimeout(()=>d(Object.assign(Error("timeout"),{name:"TimeoutError"})),c)})]).finally(()=>clearTimeout(b)))}catch(a){console.warn(`${b.X.logTag}/telegram: sending the proposal notice failed:`,a instanceof Error?a.name:"error")}}let D=async(a,b)=>b&&a.thread?a.thread(b).catch(()=>null):null;async function E(a,b={},c={}){if(!a.length)return;let d={...n,...b};await C(async()=>{let b=await d.autoRun().catch(()=>null),e=a.filter(a=>{var c;return c=b??{},"pending"===a.status&&!a.auto&&(m.H[a.action]?.risk!=="safe"||"risky"===a.risk||!c[a.action])});if(!e.length)return;let g=e.length>3||!d.buttons?null:await d.buttons().catch(()=>null),i=c.now??new Date;await Promise.all([B(async(a,b)=>e.length>3?[function(a,b,c,d=new Set,e="en"){let g=a=>(0,h.t)(o,e,a),i=a.slice(0,10).map(a=>{let h=(0,k.R)(a.proposedBy,b,60)||g("proposer");return`• ${(0,f.H)(h)}: ${(0,f.H)(r(a,e))} — ${(0,f.H)((0,k.R)(a.title,b,120))} (${s(a,e)})${d.has(a.id)?` \xb7 ${q(e)}`:""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[270044,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("
|
|
1
|
+
(()=>{"use strict";module.exports=[270044,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(823292),e=a.i(771378),f=a.i(619089),g=a.i(405050);let h=(0,g.createServerReference)("4085a513212a8d020b1b18880a063b8e6a4295daa5",g.callServer,void 0,g.findSourceMapURL,"scanDependencies");a.s(["DepsScanButton",0,function({appId:a,appName:g}){let[i,j]=(0,c.useTransition)(),k=(0,c.useRef)(!1),l=(0,e.useMask)();return(0,b.jsx)(f.K,{size:"sm",onClick:()=>{if(k.current)return;k.current=!0;let b=d.c.loading(`Scanning the dependencies of ${l("app",g)}. This can take up to half a minute.`);j(async()=>{try{let c=await h(a);c.ok?c.data?.vulns?d.c.warning(c.message??"",{id:b}):d.c.success(c.message??"",{id:b}):d.c.error(c.error,{id:b})}catch{d.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:b})}finally{k.current=!1}})},disabled:i,children:i?"Scanning…":"Scan now"})}],270044)},585709,a=>{var b=a.i(187924),c=a.i(572131),d=a.i(486747),e=a.i(462007),f=a.i(427110);a.s(["PlainTable",0,function({head:a,rows:g}){let[h,i]=(0,c.useState)(1),j=(0,f.$)(g,h);return j.page!==h&&i(j.page),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsxs)("table",{className:e.o,children:[(0,b.jsx)(e.U,{head:a}),(0,b.jsx)("tbody",{children:j.rows.map(a=>(0,b.jsx)(c.Fragment,{children:a.row},a.key))})]})}),(0,b.jsx)(d.f,{page:j.page,pages:j.pages,text:(0,f.z)(j),onPage:i})]})}])},683874,a=>{var b=a.i(187924);a.i(238246),a.i(771378);var c=a.i(368114);let d={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};a.s(["f",0,function({kind:a}){let[e,f]=d[a];return(0,b.jsx)("span",{className:(0,c.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",f),children:e})}])}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_0abts6wp5ucc0._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[[790053,a=>{var b=a.i(907997),c=a.i(905246),d=a.i(410328),e=a.i(676882),f=a.i(109307),g=a.i(534908);a.i(270432);var h=a.i(569057),i=a.i(288950),j=a.i(414280),k=a.i(803681),l=a.i(511233),m=a.i(843162);function n({notice:a}){return a?"update"===a.kind?(0,b.jsxs)(k.M,{tone:"info",title:`Watchbell ${a.latest} is available (this is ${a.running})`,children:["Update with ",(0,b.jsx)("code",{className:"font-mono text-[12.5px]",children:"watchbell update"})," in a terminal on the machine that runs it, then start it again."," ",(0,b.jsx)(j.f,{href:(0,l.G)(a.latest),target:"_blank",rel:"noopener",children:"What's new"})]}):(0,b.jsx)(k.M,{tone:"info",title:`Updated to Watchbell ${a.version}`,action:(0,b.jsx)(m.WhatsNewDismiss,{}),children:(0,b.jsxs)(j.f,{href:(0,l.G)(a.version),target:"_blank",rel:"noopener",children:["See what's new in ",a.version]})}):null}var o=a.i(455317),p=a.i(532620),q=a.i(396667),r=a.i(371289),s=a.i(245710),t=a.i(556987);async function u({children:j}){(0,r.W)()&&await (await a.A(734864)).openDemoDb();let k=await (0,f.I)(),l=new Date,[m,v,w,x,y,z]=await Promise.all([(0,h.D)().catch(()=>null),(0,o.X)().catch(()=>0),(0,p.e)().catch(()=>t.a),(0,c.cookies)(),(0,q.Q)().then(a=>a.on).catch(()=>void 0),"owner"===k.role?(0,i.C)().catch(()=>null):null]),A=x.get(t.k)?.value==="1",B="owner"===k.role?{nav:g.extensions.nav,palette:g.extensions.palette,office:g.extensions.office}:{nav:[],palette:[]},C="selfhost"===(0,r.c)()?{email:k.email,role:k.role,hasPassword:!0}:{email:k.email,role:k.role};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(e.TimeZoneSync,{zone:(0,s.C)()}),(0,b.jsxs)(d.Shell,{user:C,collector:{lastRunAt:m?.toISOString()??null,now:l.getTime(),demo:(0,r.W)()},alerts:v,book:w,shot:A,ext:B,sections:y,children:[(0,b.jsx)(n,{notice:z}),j]})]})}a.s(["default",0,u],790053)},356198,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call WhatsNewDismiss() from the server but WhatsNewDismiss is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(console)/whats-new-dismiss.tsx","WhatsNewDismiss");a.s(["WhatsNewDismiss",0,b])},843162,a=>{var b=a.i(356198);a.n(b)},855160,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call Shell() from the server but Shell is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/shell/shell.tsx","Shell");a.s(["Shell",0,b])},410328,a=>{var b=a.i(855160);a.n(b)},638588,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call TimeZoneSync() from the server but TimeZoneSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/time-zone-sync.tsx","TimeZoneSync");a.s(["TimeZoneSync",0,b])},676882,a=>{var b=a.i(638588);a.n(b)}],7987,function(a){a.n(a.i(790053))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_0etvjdinp5urq._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},
|
|
1
|
+
(()=>{"use strict";module.exports=[263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},656298,a=>{function b(a){return"RESOURCE_EXHAUSTED"===a.reason?{state:"err",label:"Daily quota used up"}:"SERVICE_DISABLED"===a.reason?{state:"err",label:"Firestore API is off in this project"}:"scope"===a.kind||"PERMISSION_DENIED"===a.reason||"scope"===a.reason?{state:"err",label:"No access: needs datastore.viewer"}:{state:"unknown",label:"Unknown"}}a.s(["T",0,{reads:5e4,writes:2e4,deletes:2e4},"_",0,"The stored data size (1 GiB free) isn't read on any plan: the row's Open usage page shows it in the Firebase console.","f",0,"Storage (1 GiB): not read; the Firebase console's usage page shows it.","z",0,b,"g",0,function(a){return a.ok?a.data.noDatabase?{state:"off",label:"No Firestore database"}:{state:"ok",label:`Reachable \xb7 ${a.data.latencyMs} ms`}:b(a)},"a",0,function(a){let b=new Intl.DateTimeFormat("en-US",{timeZone:"America/Los_Angeles",hour:"numeric",minute:"numeric",second:"numeric",hourCycle:"h23"}).formatToParts(a),c=a=>Number(b.find(b=>b.type===a)?.value??0),d=(3600*c("hour")+60*c("minute")+c("second"))*1e3+a.getUTCMilliseconds();return new Date(a.getTime()-d)}])},688275,a=>{let b={cuHours:100,storageBytes:0x40000000,transferBytes:0x140000000,branches:10,scaleToZeroMin:5};function c(a){return a.disabled?{state:"err",label:"Suspended"}:"init"===a.state||a.pendingState&&a.pendingState!==a.state?{state:"build",label:"Starting"}:"active"===a.state?{state:"ok",label:"Active"}:"idle"===a.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}a.s(["a",0,b,"c",0,(a,b)=>a===b?`${a} CU`:`${a}–${b} CU`,"g",0,a=>Math.round(a/360)/10,"T",0,c,"p",0,function(a){if((a.computeSeconds??0)>=3600*b.cuHours)return{state:"err",label:"CU-hours used up"};if(!a.endpoints.length)return{state:"unknown",label:"No compute"};let d=a.endpoints.map(c);return d.some(a=>"err"===a.state)?{state:"err",label:"Compute suspended"}:d.some(a=>"ok"===a.state)?{state:"ok",label:"Active"}:d.some(a=>"build"===a.state)?{state:"build",label:"Starting"}:d.every(a=>"idle"===a.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}])},84877,a=>{function b(a){let[b,...c]=a.trim().split("-"),d=b.split(".").map(a=>Number.parseInt(a,10)||0);return{nums:[d[0]??0,d[1]??0,d[2]??0],pre:c.length?c.join("-").split("."):[]}}a.s(["f",0,function(a,c){let d=b(a),e=b(c);for(let a=0;a<3;a++)if(d.nums[a]!==e.nums[a])return d.nums[a]-e.nums[a];return function(a,b){if(!a.length||!b.length)return a.length?-1:+!!b.length;for(let c=0;c<Math.max(a.length,b.length);c++){if(void 0===a[c])return -1;if(void 0===b[c])return 1;let d=/^\d+$/.test(a[c])?Number(a[c]):null,e=/^\d+$/.test(b[c])?Number(b[c]):null;if(null!==d&&null!==e){if(d!==e)return d-e}else if(null!==d||null!==e)return null!==d?-1:1;else if(a[c]!==b[c])return a[c]<b[c]?-1:1}return 0}(d.pre,e.pre)}])}]})();
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=src_0jxjbvkvg0bjg._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[630718,a=>{var b=a.i(187924),c=a.i(218024),d=a.i(572131),e=a.i(823292),f=a.i(405050);let g=(0,f.createServerReference)("
|
|
1
|
+
(()=>{"use strict";module.exports=[630718,a=>{var b=a.i(187924),c=a.i(218024),d=a.i(572131),e=a.i(823292),f=a.i(405050);let g=(0,f.createServerReference)("6004fac472ab5753c86c2bb8ad360ec9ce7f092f16",f.callServer,void 0,f.findSourceMapURL,"approveCreateAction"),h=(0,f.createServerReference)("408db3a5d38d1d7c7a4a03d938ee250f3ffa82bd38",f.callServer,void 0,f.findSourceMapURL,"rejectCreateAction");var i=a.i(771378),j=a.i(611619),k=a.i(619089),l=a.i(507504),m=a.i(814574),n=a.i(486583);let o=new Set(["requested","approved","running"]),p=a=>o.has(a.status);var q=a.i(147474),r=a.i(368114);let s={requested:"Waiting for approval",approved:"Approved",running:"Creating…",done:"Created",failed:"Failed",rejected:"Rejected",expired:"Expired"};function t({items:a,owner:c,focus:d,quiet:e}){let f=(0,i.useMask)();return(0,b.jsx)("ul",{className:"divide-y divide-line",children:a.map(a=>{var g;let h;return(0,b.jsxs)("li",{id:`create-${a.id}`,className:(0,r.f)("flex flex-wrap items-center gap-x-3 gap-y-1.5 px-[18px] py-2.5",e&&"py-2 text-[13px]",d===a.id&&"bg-brand-soft"),children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("b",{className:(0,r.f)("font-medium",e&&"text-ink-soft"),children:n.S[a.type]}),(0,b.jsx)(k.E,{children:n.E[a.type]}),(0,b.jsx)("span",{className:(0,r.f)("text-[12.5px]","failed"===a.status?"text-err":"text-ink-soft"),children:s[a.status]})]}),(0,b.jsx)("p",{className:"font-mono text-[12.5px] text-ink-soft [overflow-wrap:anywhere]",children:f("text",a.summary)}),"requested"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:[a.mine?"You asked":"Another member asked"," · expires ",(g=new Date(a.expiresAt),h=(0,q.e)(g),`${h.day} ${h.month} ${h.year}, ${(0,q.U)(g)}`)]}),a.error&&"requested"!==a.status&&(0,b.jsx)("p",{className:"text-[12.5px] text-err",children:f("text",a.error)}),a.result?.id&&"done"===a.status&&(0,b.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["Created: ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.result.id)}),"firebase-pending"===a.result.note?" · Firebase still needs adding in the Firebase console":""]})]}),c&&"requested"===a.status&&(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)(u,{item:a}),(0,b.jsx)(v,{item:a})]})]},a.id)})})}function u({item:a}){return(0,b.jsx)(j.f,{trigger:(0,b.jsx)(k.K,{size:"sm",children:"Reject"}),title:`Reject this ${n.S[a.type]}?`,body:"Nothing is created. The person who asked can ask again.",cta:"Reject",onConfirm:async()=>{let b=await h(a.id);return b.ok?{ok:!0,message:b.message??"Rejected."}:{ok:!1,message:b.error}}})}function v({item:a}){let[c,e]=(0,d.useState)(!1);return(0,l.useHoldRefresh)(c),(0,b.jsxs)(m.N,{open:c,onOpenChange:e,children:[(0,b.jsx)(m.a,{render:(0,b.jsx)(k.K,{size:"sm",variant:"primary"}),children:"Approve…"}),(0,b.jsx)(m.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:c&&(0,b.jsx)(w,{item:a,onDone:()=>e(!1)})})]})}function w({item:a,onDone:c}){let f=(0,i.useMask)(),[h,j]=(0,d.useState)(""),[l,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useTransition)();return p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:"Copy the database password now"}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[r," It is shown only here, only once."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,b.jsx)(x,{value:p}),(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(k.M,{tone:"warning",title:"The console doesn't keep it",children:"Save it in your password manager. If it's lost, reset it in Supabase → Project settings → Database."})})]}),(0,b.jsx)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:(0,b.jsx)(k.K,{variant:"primary",onClick:()=>{q(null),c()},children:"I've saved it"})})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(m.F,{className:"text-base",children:f("text",`Create ${n.S[a.type]} ${a.confirmName}?`)}),(0,b.jsxs)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:["The console checks the free tier at ",n.E[a.type]," again now, then makes one create call. ",(0,n.d)(a.type)]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-2",children:[(0,b.jsx)("p",{className:"mb-3 rounded-md border border-line bg-sunken px-3 py-2 font-mono text-[12.5px] [overflow-wrap:anywhere]",children:f("text",a.summary)}),(0,b.jsx)(k.O,{id:`ap-${a.id}`,label:(0,b.jsxs)(b.Fragment,{children:["Type ",(0,b.jsx)("span",{className:"font-mono",children:f("text",a.confirmName)})," to approve"]}),error:l??void 0,children:(0,b.jsx)("input",{id:`ap-${a.id}`,className:k.S,value:h,autoComplete:"off",spellCheck:!1,onChange:a=>j(a.target.value)})})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(k.K,{onClick:c,disabled:t,children:"Cancel"}),(0,b.jsx)(k.K,{variant:"primary",onClick:function(){u(async()=>{try{let b=await g(a.id,h);if(!b.ok)return o(f("text",b.error));o(null),b.data?.secret?(q(b.data.secret),s(f("text",b.message??"Created."))):(e.c.success(f("text",b.message??"Created.")),c())}catch{o("Something went wrong. Check the provider's dashboard before trying again.")}})},disabled:t||h.trim()!==a.confirmName,children:t?"Checking and creating…":"Approve and create"})]})]})}function x({value:a}){let[f,g]=(0,d.useState)(!1),{shot:h}=(0,i.usePrivacy)(),[j,l]=(0,d.useState)(!1);return(0,b.jsxs)("div",{className:"mb-3 flex items-center gap-2 rounded-md border border-line-strong bg-sunken px-3 py-2",children:[h&&!j?(0,b.jsx)("button",{type:"button",className:"min-w-0 flex-1 text-left text-[13px] text-ink-soft",onClick:()=>l(!0),children:"Hidden in screenshot mode. Click to show it."}):(0,b.jsx)("code",{className:"min-w-0 flex-1 select-all font-mono text-[13px] [overflow-wrap:anywhere]",children:a}),(0,b.jsxs)(k.K,{size:"sm",onClick:()=>{navigator.clipboard.writeText(a).then(()=>g(!0),()=>e.c.error("Copy didn't work; select the text and copy it."))},children:[(0,b.jsx)(c.f,{size:14,"aria-hidden":!0,className:"mr-1 inline"}),f?"Copied":"Copy"]})]})}a.s(["CreateRequestList",0,function({items:a,owner:c,focus:d,title:e="Waiting for approval"}){let{pending:f,finished:g}={pending:a.filter(p),finished:a.filter(a=>!p(a))};if(!f.length&&!g.length)return null;let h=f.filter(a=>"requested"===a.status).length;return(0,b.jsxs)(b.Fragment,{children:[f.length>0&&(0,b.jsx)(k.N,{title:e,meta:h?`${h} waiting`:void 0,flush:!0,children:(0,b.jsx)(t,{items:f,owner:c,focus:d})}),g.length>0&&(0,b.jsx)(k.N,{title:"Recent requests",flush:!0,children:(0,b.jsx)(t,{items:g,owner:!1,focus:d,quiet:!0})})]})}],630718)},486583,a=>{let b={dns_record:"Cloudflare",neon_branch:"Neon",supabase_project:"Supabase",firebase_project:"Firebase"};a.s(["E",0,b,"S",0,{dns_record:"DNS record",neon_branch:"Neon branch",supabase_project:"Supabase project",firebase_project:"Firebase project"},"d",0,a=>`The console can't remove this later; remove it in ${b[a]}'s dashboard.`])}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_0ph020gy78gi9._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[263251,a=>{a.s(["f",0,function(a){if(Array.isArray(a))return a;let b=a?.rows;return Array.isArray(b)?b:[]}])},655206,a=>{a.s(["f",0,{checks:7,rollupsHourly:90,deployments:30,events:90,alerts:90,collectorRuns:14,storedLogs:7,recommendationDismissals:90}])},615089,988866,109505,a=>{var b=a.i(837137);a.s(["h",0,864e5,"w",0,36e5,"E",0,6e4,"$",0,(a,b)=>new Date(a.getTime()-b),"_",0,a=>`{${a.map(a=>null===a?"NULL":"boolean"==typeof a?a?"t":"f":String(a)).join(",")}}`],988866);var c=a.i(666680);let d=(...a)=>(0,c.createHash)("sha256").update(a.join("\0")).digest();function e(a,...b){let c=d(a,"id",...b);c[6]=15&c[6]|64,c[8]=63&c[8]|128;let f=c.subarray(0,16).toString("hex");return`${f.slice(0,8)}-${f.slice(8,12)}-${f.slice(12,16)}-${f.slice(16,20)}-${f.slice(20)}`}function f(a){return e(a,"member","user")}function g(a){return e(a,"member","row")}async function h(a){let{now:c,seed:d}=a,e=new Date(c.getTime()-35424e6);await a.db.insert(b.members).values({id:g(d),userId:f(d),email:a.email,role:"owner",lastSeenAt:c,createdAt:e,updatedAt:e})}a.s(["k",0,function(a,...b){let c,e=(c=d(a,...b).readUInt32LE(0)>>>0,()=>{let a=c=c+0x6d2b79f5>>>0;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000});return{next:e,int:(a,b)=>a+Math.floor(e()*(b-a+1)),pick:a=>a[Math.floor(e()*a.length)],chance:a=>e()<a,shuffle:a=>{let b=[...a];for(let a=b.length-1;a>0;a--){let c=Math.floor(e()*(a+1));[b[a],b[c]]=[b[c],b[a]]}return b}}},"p",0,function(a,b,...c){let e="";for(let f=0;e.length<a;f++)e+=d(b,"hex",f,...c).toString("hex");return e.slice(0,a)},"T",0,e,"g",0,function(a,b,...c){let e="";for(let f=0;e.length<a;f++)for(let a of d(b,"token",f,...c))e+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[a%62];return e.slice(0,a)}],109505),a.s(["demoUserId",0,f,"memberRowId",0,g,"seedMember",0,h],615089)},904370,a=>{let b="shared";function c(a){if(!a.includes(":")||a.includes("."))return a;let[b,c]=a.toLowerCase().split("::"),d=b?b.split(":"):[],e=void 0===c?[]:c?c.split(":"):[],f=void 0===c?d:[...d,...Array(Math.max(0,8-d.length-e.length)).fill("0"),...e];return 8===f.length&&f.every(a=>/^[0-9a-f]{1,4}$/.test(a))?`${f.slice(0,4).map(a=>a.replace(/^0+(?=.)/,"")).join(":")}::/64`:a}function d(a,c=6e5){let e=new Map;return{take(d,f,g=Date.now()){let h=e.get(d);if(h){var i=h;for(let[a,b]of i)g-b>=c&&i.delete(a);e.delete(d)}else h=new Map;return e.set(d,h),e.size>1e4&&e.delete(e.keys().next().value),!!h.has(f)||!(h.size>=(d===b?a.shared:a.perClient))&&(h.set(f,g),!0)},reset(){e.clear()}}}let e=globalThis.__watchpostDemoLimits??={creations:d({perClient:5,shared:60}),signIns:d({perClient:10,shared:120})},f=e.creations,g=e.signIns;a.s(["CREATIONS_PER_CLIENT",0,5,"CREATIONS_SHARED",0,60,"DEMO_LIMIT_WINDOW_MS",0,6e5,"DEMO_SIGN_IN_LIMITED",0,"Too many demo sign-ins from your network. Try again in a few minutes.","SHARED_CLIENT",0,b,"SIGN_INS_PER_CLIENT",0,10,"SIGN_INS_SHARED",0,120,"clientNetwork",0,c,"demoClientKey",0,function(a,d=process.env){if("1"!==d.VERCEL)return b;let e=a.get("x-forwarded-for")?.split(",")[0]?.trim();return`ip:${e?c(e):"unknown"}`},"demoCreations",0,f,"demoSignIns",0,g,"resetDemoLimitsForTests",0,function(){if(!process.env.VITEST)throw Error("resetDemoLimitsForTests is for tests only");f.reset(),g.reset()},"windowLimiter",0,d])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_0txyv7r1zns16._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[534908,a=>{let b;var c,d,e=a.i(462820),f=a.i(411350),g=a.i(61017),h=a.i(330863),i=a.i(779704);async function j(a){await (0,i.E)(a,{force:!1})}var k=a.i(907997),l=a.i(109307),m=a.i(920274);let n=(0,a.i(377269).f)("outline","notes","Notes",[["path",{d:"M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -14",key:"svg-0"}],["path",{d:"M9 7l6 0",key:"svg-1"}],["path",{d:"M9 11l6 0",key:"svg-2"}],["path",{d:"M9 15l4 0",key:"svg-3"}]]);var o=a.i(701702),p=a.i(245710),q=a.i(668495),r=a.i(191397),s=a.i(791450);let t={crit:"err",warn:"warn",info:"brand"};function u({note:a,now:b,showApp:c}){let d=["AI note",`from ${a.from}`,a.model,(0,p.$)(a.at,b),c&&a.appName?a.appName:null,"written by an agent, can be wrong"].filter(Boolean).join(" · ");return(0,k.jsxs)(r.f,{icon:(0,k.jsx)(n,{size:18,"aria-hidden":!0}),tone:t[a.severity]??"brand",meta:d,action:(0,k.jsx)(s.DismissNoteButton,{id:a.id}),children:[(0,k.jsx)("b",{className:"font-medium",children:(0,k.jsx)(o.MaskedText,{text:a.title})}),(0,k.jsx)(q.f,{source:a.body})]})}async function v({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,d=await (0,m.N)(a,c).catch(()=>[]);return d.length?(0,k.jsx)("div",{className:"mb-3 flex flex-col gap-2.5",children:d.map(b=>(0,k.jsx)(u,{note:b,now:c,showApp:void 0===a},b.id))}):null}var w=a.i(694874),x=a.i(395936),y=a.i(86657),z=a.i(185538);async function A({count:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;if(!await y.f.provider().catch(()=>null))return(await (0,m.N)(void 0,new Date).catch(()=>[])).length?null:(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(n,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),(0,k.jsx)(x.default,{href:"/ai/connect",children:e.v.recConnect})]});if(0===a)return null;let c=await (0,i.h)().catch(()=>null);if(!c)return(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(w.f,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),"No AI summary yet. ",(0,k.jsx)(z.RegenerateButton,{label:"Summarise"})]});let d=new Date;return(0,k.jsxs)(r.f,{className:"mb-3",icon:(0,k.jsx)(w.f,{size:18,"aria-hidden":!0}),meta:(0,k.jsxs)(k.Fragment,{children:[`AI \xb7 ${c.model} \xb7 ${(0,p.$)(new Date(c.at),d)} \xb7 from ${c.count} items, names aliased \xb7 can be wrong, check the items below \xb7 `,(0,k.jsx)(z.RegenerateButton,{label:"Regenerate"})]}),children:[(0,k.jsx)("b",{className:"font-medium",children:"Summary"}),(0,k.jsx)(q.f,{source:c.text})]})}var B=a.i(918962),C=a.i(962230),D=a.i(976517);async function E({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,[d,e,f]=await Promise.all([y.f.provider().catch(()=>null),(0,C.N)("app",a,c).catch(()=>null),(0,B.c)(c).catch(()=>null)]),g=e?{...e,createdAt:e.createdAt.toISOString(),answeredAt:e.answeredAt?.toISOString()??null}:null;return(0,k.jsx)(D.WhyAi,{appId:a,provider:d?{model:d.model}:null,question:g,nowMs:c.getTime(),agConnected:f?.agConnected??!1})}var F=a.i(243446),G=a.i(803681),H=a.i(581156),I=a.i(411642),J=a.i(65932),K=a.i(94473),L=a.i(188282);let M={recheck:"Runs the monitor's check once, like Check now on the monitor.",neon_wake:"Wakes a suspended Neon compute, like Wake on the database page.",supabase_keepalive:"Sends one keep-alive query to a Supabase project close to auto-pause, like Keep active.",supabase_restore:"Restores a paused Supabase project.",vercel_redeploy:"Redeploys the current production deployment.",vercel_rollback:"Rolls production back to the previous ready deployment.",github_bump_pr:"Opens a pull request on a new branch that raises vulnerable packages to their fixed versions (needs the GitHub PR-write token).",daily_rerun:"Calls the console's daily job again when its heartbeat is down. Always asks for approval.",domain_recheck:"Re-reads a domain's TLS certificate and expiry when its certificate looks close to expiry, like Re-check on Domains.",monitor_update_url:"Points an uptime monitor at its app's new domain when the app moved, keeping the path, like Update monitor on Uptime."};async function N(){let[a,b,c]=await Promise.all([(0,K.I)(),(0,K.K)(),(0,K.X)()]),d=[10,15,20,30,45,60,90,120].filter(a=>a>=K.l&&a<=K.n),e=K.r.map(a=>({kind:a,label:L.H[a].label,risky:"risky"===L.H[a].risk,what:M[a]}));return(0,k.jsxs)(G.N,{title:"Auto-actions",flush:!0,meta:"All off by default",children:[(0,k.jsxs)("p",{className:"px-[18px] pb-3 text-ink-soft",children:["When a firing alert brings a proposal for one of these actions, a switched-on kind runs without asking and you get a short Telegram line afterwards. Everything else waits for you on ",(0,k.jsx)(x.default,{href:"/auto-actions",children:"Auto-actions"}),". Auto-run only does what the console button does, through the same checks, and every run is in the audit log (Events)."]}),(0,k.jsx)(H.AutoRunForm,{saved:a,rows:e}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Auto-rollback after a bad deploy"}),(0,k.jsxs)("p",{className:"mb-2.5 text-ink-soft",children:["Off by default. When on, a new production deploy that breaks the app is rolled back to the previous one without asking. Only ",(0,k.jsx)("span",{className:"font-mono text-[12.5px]",children:"vercel_rollback"}),", only within the first N minutes after a new production deploy goes live, only when a monitor is down or the logs show an error spike, at most once per deployment (and never twice for one app within 2 hours), and every run is reported on Telegram and in Events. Failed builds never go live on Vercel, so this is for builds that succeed but break at runtime."]}),(0,k.jsx)(I.AutoRollbackForm,{saved:b,choices:d})]}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Automatic security fixes"}),(0,k.jsx)("p",{className:"mb-2 text-ink-soft",children:"On by default. When a dependency scan finds a critical, high or moderate advisory with a fix, Watchbell fixes it end to end (the scan and the Next.js check run every 6 hours and right after each production deploy):"}),(0,k.jsxs)("ol",{className:"mb-2.5 list-decimal pl-5 text-ink-soft [&_li]:mt-0.5",children:[(0,k.jsx)("li",{children:"opens the update PR itself (package.json only, on a new watchpost/deps-… branch), only for direct packages that stay in their major version, never twice for the same package while a PR is open;"}),(0,k.jsx)("li",{children:"waits for GitHub's checks (all green), then Vercel's preview of the PR (READY);"}),(0,k.jsx)("li",{children:'tests the preview: "/" and up to 3 monitor paths must answer 200–399 within 15 s (behind Vercel Authentication: 3 minutes without error lines in the preview\'s logs);'}),(0,k.jsx)("li",{children:"squash-merges it, only while auto-rollback is on: the production deploy then runs on Vercel and auto-rollback guards its first minutes."})]}),(0,k.jsx)("p",{className:"mb-2.5 text-ink-soft",children:'Anything failing, or not done within 45 minutes, leaves the PR open marked "needs a look". A major update, a transitive package or a severity you switched off waits for your approval on Auto-actions, as before. Every PR opened and every merge or stop is sent to Telegram and logged in Events. Needs the GitHub PR-write token on Connections.'}),(0,k.jsx)(J.AutoSecurityForm,{saved:c,rollbackOn:b.enabled})]})]})}var O=a.i(93321),P=a.i(530385),Q=a.i(548734),R=a.i(837137),S=a.i(247730),T=a.i(221084),U=a.i(396667),V=a.i(976937),W=a.i(736780),X=a.i(944571),Y=a.i(322145),Z=a.i(664892),$=a.i(751263),_=a.i(521050),aa=a.i(760417),ab=a.i(812092),ac=a.i(572134),ad=a.i(658739),ae=a.i(556987),af=a.i(142754),ag=a.i(342634),ah=a.i(381544);let ai="waiting: Vercel didn't say which deployment is live";async function aj(a){let b=Date.now();try{let c=await fetch(a,{redirect:"manual",signal:AbortSignal.timeout(Z.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),d=401===c.status||403===c.status?(await c.text().catch(()=>"")).slice(0,8192):"";return{status:c.status,ms:Date.now()-b,authWall:(0,Z.S)(c.status,d,c.headers)}}catch{return{status:null,ms:Date.now()-b,authWall:!1}}}async function ak(b,c){let{extensions:d}=await a.A(414785);return await d.runner?.lockfileJobActive(b,c).catch(()=>!1)??!1}let al=null;async function am(a,b){let c=(0,_.Q)(b.meta?.rootDirectory),d=(0,_.H)(c,"package.json"),e=b.lockfilePath??(0,_.H)(c,"package-lock.json");if(al?.token!==a){let b=await (0,ab.z)(a);if(!b.ok)return null;al={token:a,login:b.data}}let f=al.login,[g,h]=await Promise.all([(0,ab.O)(a,b.fullName,b.number),(0,ab.P)(a,b.fullName,b.number)]);if(!g.ok||!h.ok)return null;let i=[];for(let c of h.data.slice(0,Z.y+1)){let d=null!==c.login&&c.login.toLowerCase()===f.toLowerCase()?null:await (0,ab.h)(a,b.fullName,c.sha);if(d&&!d.ok)return null;i.push({...c,files:d?d.data:null})}let[j,k]=await Promise.all([(0,ab.E)(a,b.fullName,b.baseBranch,{},d),(0,ab.E)(a,b.fullName,b.headSha,{},d)]);if(!j.ok||!k.ok)return null;let l=j.data&&k.data?(0,Z.C)(j.data.text,k.data.text,b.packages):"unexpected change: package.json is missing",m=null;if(e!==d&&g.data.some(a=>a.filename===e||a.previous===e))if((0,ab.$)(e)){let[c,d]=await Promise.all([(0,ab.l)(a,b.fullName,b.baseBranch,e),(0,ab.l)(a,b.fullName,b.headSha,e)]);if(!c.ok||!d.ok)return null;m=(0,Z.T)(c.data,d.data,e)}else m=`unexpected lockfile change ${e} (only package-lock.json can be checked)`;return{manifest:d,lockfile:e,lockfileRequired:!!b.lockfilePath,manifestProblem:l,lockfileProblem:m,headSha:b.headSha,tokenLogin:f,files:g.data,commits:i}}async function an(a,b={}){let c=await (b.vercel??ao.vercel)(a);if(!c)return null;let d=await (b.serving??ac.k)(c.token,c.teamId,c.projectId);if(!d.ok)return null;let e=d.data.currentId,f=null;if(!e){let a=d.data.latest?.readyState??null;if("ERROR"!==a&&"CANCELED"!==a)return null;let g=await (b.running??ac.N)(c.token,c.teamId,c.projectId);if(!g.ok||g.data)return null;let h=await (b.ready??ac.r)(c.token,c.teamId,c.projectId);if(!h.ok)return null;let i=[...h.data].sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime()),j=d.data.promote;j?(f=i.find(a=>a.createdAt.getTime()>j.requestedAt)??null)||(e=j.toDeploymentId):f=i[0]??null}if(!f&&e){let a=await (b.deployment??ac.S)(c.token,{id:c.teamId,slug:c.teamId,name:c.teamId},e);if(!a.ok)return null;f=a.data}return f?{source:(0,$.s)({source:f.source,branch:f.branch,sha:f.sha,branchFrom:f.branchFrom??null,gitDirty:!0===f.gitDirty})}:null}let ao={rows:async()=>await (0,Q.f)().select({id:R.dependencyPrs.id,repoId:R.dependencyPrs.repoId,appId:R.dependencyPrs.appId,proposalId:R.dependencyPrs.proposalId,number:R.dependencyPrs.number,branch:R.dependencyPrs.branch,baseBranch:R.dependencyPrs.baseBranch,headSha:R.dependencyPrs.headSha,title:R.dependencyPrs.title,packages:R.dependencyPrs.packages,auto:R.dependencyPrs.auto,stage:R.dependencyPrs.stage,smokeMode:R.dependencyPrs.smokeMode,previewReadyAt:R.dependencyPrs.previewReadyAt,openedAt:R.dependencyPrs.openedAt,fullName:R.githubRepos.fullName,appName:R.resources.name,meta:R.resources.meta,lockfilePath:R.dependencyScans.lockfilePath,appMonitored:R.resources.monitored,appGone:R.resources.goneAt,stageText:R.dependencyPrs.stageText}).from(R.dependencyPrs).innerJoin(R.githubRepos,(0,O.u)(R.githubRepos.id,R.dependencyPrs.repoId)).leftJoin(R.resources,(0,O.u)(R.resources.id,R.dependencyPrs.appId)).leftJoin(R.dependencyScans,(0,O.u)(R.dependencyScans.repoId,R.dependencyPrs.repoId)).where((0,O.y)(R.dependencyPrs.stage,[...Z.X])).orderBy((0,P.M)(R.dependencyPrs.openedAt)).limit(10),security:K.X,rollback:K.K,writeToken:async()=>{let a=await (0,W.G)();return a&&"unreadable"!==a?a.token:null},readToken:async a=>{let b=await (0,X.l)(a);return b.ok?b.token:null},vercel:async a=>{let b=await (0,Y.p)(a,"app"),c=b?.resource.meta.teamId;return b&&"string"==typeof c&&b.resource.externalId?{token:b.token,teamId:c,projectId:b.resource.externalId}:null},monitorUrls:async a=>(await (0,Q.f)().select({url:R.monitors.url}).from(R.monitors).where((0,O.b)((0,O.u)(R.monitors.resourceId,a),(0,O.u)(R.monitors.kind,"http"))).limit(10)).map(a=>a.url),pull:ab.b,checks:ab.s,runs:aa.L,previews:ac.C,probe:aj,errorLogs:async(a,b,c,d)=>{let e=await (0,ad.f)(a.token,a.teamId,a.projectId,{since:c,until:d,now:d,deploymentId:b,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return e.ok?e.lines.length:null},merge:ab.C,review:am,save:async(a,b,c,d)=>{await (0,Q.f)().update(R.dependencyPrs).set({...b,stageText:d,checkedAt:new Date}).where((0,O.u)(R.dependencyPrs.id,a)),c&&await (0,Q.f)().update(af.O).set({result:d}).where((0,O.u)(af.O.id,c)).catch(()=>void 0)},notify:a=>(0,ah.y)(a),liveSource:a=>an(a),lockfileBusy:async(a,b,c)=>await ak(a,b)||await (0,V.W)(c,b),audit:(a,b)=>(0,T.f)({kind:"ok",message:a,resourceId:b,actorUserId:null}),book:()=>(0,S.f)()};async function ap(a,b,c=ao){let d={watched:0,merged:0,stopped:0},e=()=>b-Date.now(),f=await c.rows();if(!f.length)return d;let[g,h,i]=await Promise.all([c.security().catch(()=>null),c.rollback().catch(()=>null),c.writeToken().catch(()=>null)]);if(!i)return d;let j=await c.book().catch(()=>ae.a);for(let b of f){if(15e3>e())break;if(b.auto||g?.enabled)try{let e=await aq(b,a,i,h?.enabled===!0,c);if(!e)continue;d.watched++;let f=b.appName?(0,ae.r)(j,b.appName):"app";await as(b,e,f,h?.windowMin??30,a,i,c,d)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}return d}async function aq(a,b,c,d,e){let f=await e.pull(c,a.fullName,a.number);if(!f.ok)return null;let g=await e.checks(c,a.fullName,f.data.headSha),h=null;if(g.ok&&null===g.data.checkRuns&&a.appId){let b=await e.readToken(a.appId),c=b?await e.runs(b,a.fullName,f.data.headSha):null;h=c?.ok?c.data:null}g.ok||(g={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let i=(0,Z.j)({...g.data,actionRuns:h}),j={state:null,readyAt:null},k=null,l=a.appId?await e.vercel(a.appId):null;if(l&&"success"===i&&f.data.headSha===a.headSha){let c=await e.previews(l.token,l.teamId,l.projectId,f.data.headSha),d=c.ok?c.data.find(a=>"preview"===a.target)??c.data[0]??null:null;if(d&&(j={state:d.state,readyAt:d.readyAt??("ready"===d.state?b:null)},"ready"===d.state&&d.url)){let c=a.previewReadyAt??j.readyAt??b;if("logs"!==a.smokeMode){let b=(0,Z.E)(a.appId?await e.monitorUrls(a.appId):[]),c=await Promise.all(b.map(async a=>({path:a,...await e.probe(`https://${d.url}${a}`)})));k=(0,Z.L)(c)}k||(k=(0,Z.n)(c,b,await e.errorLogs(l,d.id,c,b).catch(()=>null))),j.readyAt=c}}return{step:(0,Z.M)({now:b,openedAt:a.openedAt,pr:{state:f.data.state,merged:f.data.merged,mergeable:f.data.mergeable,headSha:f.data.headSha,base:f.data.base},recordedSha:a.headSha,recordedBase:a.baseBranch,checks:i,preview:j,smoke:k,autoRollbackOn:d}),smoke:k,previewReadyAt:j.readyAt,headSha:f.data.headSha}}function ar(a,b){if(!a.appId||!1===a.appMonitored||a.appGone)return"the app is gone or no longer watched, so Watchbell can't confirm what production is built from. Merging this PR could replace what is live";let c=(0,$.B)(a.meta?.productionSource,a.baseBranch,b);if(c)return c;let d=(0,$.O)(a.meta?.productionSource),e=a.meta?.productionBranch;return d?.kind==="git"&&d.ref===a.baseBranch&&"string"==typeof e&&e!==a.baseBranch?`Merging into ${a.baseBranch} won't deploy to production by itself: production was promoted from a ${a.baseBranch} preview. Merge, then promote the new preview.`:null}async function as(a,b,c,d,e,f,g,h){let{step:i}=b,j=b.smoke?{smokeMode:b.smoke.mode}:{},k=b.previewReadyAt?{previewReadyAt:b.previewReadyAt}:{},l={app:c,number:a.number,packages:a.packages};if("wait"===i.kind)return void await g.save(a.id,{stage:i.stage,...j,...k,...i.resetSha?{headSha:i.resetSha,previewReadyAt:null,smokeMode:null}:{}},a.proposalId,(0,Z.m)(a.number,i.stage,i.reason));if("done"===i.kind)return void await g.save(a.id,{stage:i.stage,finishedAt:e},a.proposalId,(0,Z.m)(a.number,i.stage));if("stop"===i.kind&&("CI gagal"===i.reason||"CI failed"===i.reason)&&await g.lockfileBusy?.(a.repoId,a.branch,a.fullName).catch(()=>!1))return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","waiting for the lockfile from the runner"));let m=async b=>{await g.save(a.id,{stage:"failed",finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,"failed",b)),h.stopped++,await g.notify({...l,kind:"stopped",reason:b.replace(/\.$/,"")}).catch(()=>void 0)},n="merge"===i.kind||"stop"===i.kind&&"ready-manual"===i.stage?ar(a,e):null;if(n)return m(n);let o=async()=>{let c=a.appId?await g.liveSource(a.appId).catch(()=>null):null;if(!c){let c=b.previewReadyAt??a.previewReadyAt??a.openedAt;if((a.stageText??"").includes(ai)&&e.getTime()-c.getTime()>Z.R)return await m("Vercel didn't say which deployment is live for 45 minutes, so Watchbell can't confirm what production is built from. Check it, then merge yourself"),!0;let d="checks"===a.stage||"preview"===a.stage||"smoke"===a.stage?a.stage:"smoke";return await g.save(a.id,{stage:d,...j,...k},a.proposalId,(0,Z.m)(a.number,d,ai)),!0}let d=c.source?ar({...a,meta:{...a.meta??{},productionSource:{...c.source,at:e.toISOString()}}},e):`Watchbell can't confirm what production is built from (Vercel names no branch for it). Merging this PR could deploy ${a.baseBranch} to production and replace what is live.`;return!!d&&(await m(d),!0)};if("stop"===i.kind&&"ready-manual"===i.stage&&await o())return;if("stop"===i.kind){await g.save(a.id,{stage:i.stage,finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,i.stage,"ready-manual"===i.stage?null:i.reason)),h.stopped++,await g.notify({...l,kind:"ready-manual"===i.stage?"ready-manual":"stopped",reason:i.reason}).catch(()=>void 0);return}let p=await g.review(f,a).catch(()=>null);if(!p)return;let q=(0,Z.k)(p);if(!q&&(0,Z.H)(p)&&e.getTime()-a.openedAt.getTime()>Z.R){let b="the lockfile wasn't added within 45 minutes";await g.save(a.id,{stage:"timeout",finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,"timeout",b)),h.stopped++,await g.notify({...l,kind:"stopped",reason:b}).catch(()=>void 0);return}if(!q&&(0,Z.H)(p))return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","waiting for the lockfile"));if(q){await g.save(a.id,{stage:"failed",finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,"failed",q)),h.stopped++,await g.notify({...l,kind:"stopped",reason:q}).catch(()=>void 0);return}if(await o())return;await g.save(a.id,{stage:"merging",...j,...k},a.proposalId,(0,Z.m)(a.number,"merging"));let r=await g.merge(f,a.fullName,a.number,a.branch,a.baseBranch,a.headSha,a.title);if(r.ok){await g.save(a.id,{stage:"merged",mergedSha:r.data.sha,finishedAt:e},a.proposalId,(0,Z.m)(a.number,"merged")),h.merged++,await g.audit(`${ag.v}PR #${a.number} merged \xb7 ${a.packages.join(", ")}`.slice(0,200),a.appId).catch(()=>void 0),await g.notify({...l,kind:"merged",windowMin:d}).catch(()=>void 0);return}if(409===r.status)return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","new commit on the PR branch, checking again"));let s=405===r.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${r.error}`.slice(0,150);await g.save(a.id,{stage:"failed",finishedAt:e},a.proposalId,(0,Z.m)(a.number,"failed",s)),h.stopped++,await g.notify({...l,kind:"stopped",reason:s}).catch(()=>void 0)}let at=null;async function au(a,b,c=U.I){if((0,Z.f)(a,at)&&!(await c()).has("devops")){at=a.getTime();try{let c=await ap(a,b?.deadline??a.getTime()+5e4);c.watched&&console.log(`deps/watch: ${c.watched} PR, ${c.merged} merged, ${c.stopped} stopped`)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}}var av=a.i(691100),aw=a.i(624065);let ax={nav:[{section:"manage",after:"settings",items:[{key:"ai",label:"AI Gateway",href:"/ai",icon:"route",stage:5,ownerOnly:!0},{key:"api-docs",label:"API explorer",href:"/api-docs",icon:"api",stage:5,ownerOnly:!0}]}],palette:[{label:"AI Gateway",href:"/ai",keywords:["ai","gateway","overview"]},{label:"API keys",href:"/ai/keys",keywords:["key","token","wb_","wp_"]},{label:"Agents",href:"/ai/agents",keywords:["agent","client","mcp"]},{label:"Connect an agent",href:"/ai/connect",keywords:["mcp",...e.I.palette.connectKeywords,"gemini cli","quick start"]},{label:"Bring your own key",href:"/ai/providers",keywords:["provider","byok","cloudflare","groq","openrouter","gemini"]},{label:"Quota",href:"/ai/quota",keywords:["limit","usage","rate"]},{label:"AI logs",href:"/ai/logs",keywords:["logs","requests","usage"]},{label:"Models",href:"/ai/models",keywords:["model","llm"]},{label:"Playground",href:"/ai/playground",keywords:["chat","try","prompt"]},{label:"API explorer",href:"/api-docs",keywords:["openapi","swagger","api","v1"]}]},ay={dailySteps:[{name:"ai-usage-retention",run:g.$}]},az={WhyAiSlot:E,RecSummarySlot:A,AiNotesSlot:v,dailySteps:[{name:"advisor-summary",run:j}],minuteSteps:[{name:"advisor-notes",run:h.I}]},aA={dailySteps:[{name:"ai-notes-retention",run:F.v}]},aB={nav:[{section:"manage",after:"alerts",items:[{key:"auto-actions",label:"Auto-actions",href:"/auto-actions",icon:"bolt",stage:9,ownerOnly:!0}]}],palette:[{label:"Auto-actions",href:"/auto-actions",keywords:["proposal","approve","reject","auto-run","rollback"]}],dailySteps:[{name:"auto-actions-retention",run:av.t}],minuteSteps:[{name:"auto-actions",run:av.Z},{name:"deps-pr-watch",run:au}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:N}]},aC={telegramCallback:aw.proposalCallback},aD=function(...a){let b={nav:[],palette:[]};for(let c of a){for(let a of c.nav??[]){let c=b.nav.find(b=>b.section===a.section&&b.after===a.after);c?c.items=[...c.items,...a.items]:b.nav.push({...a,items:[...a.items]})}b.palette.push(...c.palette??[]),c.dailySteps?.length&&(b.dailySteps=[...b.dailySteps??[],...c.dailySteps]),c.minuteSteps?.length&&(b.minuteSteps=[...b.minuteSteps??[],...c.minuteSteps]),c.WhyAiSlot&&(b.WhyAiSlot=c.WhyAiSlot),c.RecSummarySlot&&(b.RecSummarySlot=c.RecSummarySlot),c.AiNotesSlot&&(b.AiNotesSlot=c.AiNotesSlot),c.DevNotesSlot&&(b.DevNotesSlot=c.DevNotesSlot),c.office&&(b.office=c.office),c.settingsTabs?.length&&(b.settingsTabs=[...b.settingsTabs??[],...c.settingsTabs]),c.telegramCallback&&(b.telegramCallback=c.telegramCallback),c.runner&&(b.runner=c.runner),c.RepoPreviewSlot&&(b.RepoPreviewSlot=c.RepoPreviewSlot)}return b}({...ax,palette:(c=ax.palette??[],d={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(b=c.findIndex(a=>"/ai"===a.href))<0?[...c,d]:[...c.slice(0,b+1),d,...c.slice(b+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,f.w)()}]},ay,{},{},aA,aB,az,aC);a.s(["extensions",0,aD],534908)},285138,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRollbackForm() from the server but AutoRollbackForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-rollback-form.tsx","AutoRollbackForm");a.s(["AutoRollbackForm",0,b])},411642,a=>{var b=a.i(285138);a.n(b)},305093,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRunForm() from the server but AutoRunForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-run-form.tsx","AutoRunForm");a.s(["AutoRunForm",0,b])},581156,a=>{var b=a.i(305093);a.n(b)},173666,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoSecurityForm() from the server but AutoSecurityForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-security-form.tsx","AutoSecurityForm");a.s(["AutoSecurityForm",0,b])},65932,a=>{var b=a.i(173666);a.n(b)},140025,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DismissNoteButton() from the server but DismissNoteButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/dismiss-note-button.tsx","DismissNoteButton");a.s(["DismissNoteButton",0,b])},791450,a=>{var b=a.i(140025);a.n(b)},581542,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RegenerateButton() from the server but RegenerateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/regenerate-button.tsx","RegenerateButton");a.s(["RegenerateButton",0,b])},185538,a=>{var b=a.i(581542);a.n(b)},402242,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call WhyAi() from the server but WhyAi is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/why-ai.tsx","WhyAi");a.s(["WhyAi",0,b])},976517,a=>{var b=a.i(402242);a.n(b)}]})();
|
|
1
|
+
(()=>{"use strict";module.exports=[534908,a=>{let b;var c,d,e=a.i(462820),f=a.i(411350),g=a.i(61017),h=a.i(330863),i=a.i(779704);async function j(a){await (0,i.E)(a,{force:!1})}var k=a.i(907997),l=a.i(109307),m=a.i(920274);let n=(0,a.i(377269).f)("outline","notes","Notes",[["path",{d:"M5 5a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -14",key:"svg-0"}],["path",{d:"M9 7l6 0",key:"svg-1"}],["path",{d:"M9 11l6 0",key:"svg-2"}],["path",{d:"M9 15l4 0",key:"svg-3"}]]);var o=a.i(701702),p=a.i(245710),q=a.i(668495),r=a.i(191397),s=a.i(791450);let t={crit:"err",warn:"warn",info:"brand"};function u({note:a,now:b,showApp:c}){let d=["AI note",`from ${a.from}`,a.model,(0,p.$)(a.at,b),c&&a.appName?a.appName:null,"written by an agent, can be wrong"].filter(Boolean).join(" · ");return(0,k.jsxs)(r.f,{icon:(0,k.jsx)(n,{size:18,"aria-hidden":!0}),tone:t[a.severity]??"brand",meta:d,action:(0,k.jsx)(s.DismissNoteButton,{id:a.id}),children:[(0,k.jsx)("b",{className:"font-medium",children:(0,k.jsx)(o.MaskedText,{text:a.title})}),(0,k.jsx)(q.f,{source:a.body})]})}async function v({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,d=await (0,m.N)(a,c).catch(()=>[]);return d.length?(0,k.jsx)("div",{className:"mb-3 flex flex-col gap-2.5",children:d.map(b=>(0,k.jsx)(u,{note:b,now:c,showApp:void 0===a},b.id))}):null}var w=a.i(694874),x=a.i(395936),y=a.i(86657),z=a.i(185538);async function A({count:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;if(!await y.f.provider().catch(()=>null))return(await (0,m.N)(void 0,new Date).catch(()=>[])).length?null:(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(n,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),(0,k.jsx)(x.default,{href:"/ai/connect",children:e.v.recConnect})]});if(0===a)return null;let c=await (0,i.h)().catch(()=>null);if(!c)return(0,k.jsxs)("p",{className:"mb-3 flex items-center gap-1.5 text-[13px] text-ink-soft",children:[(0,k.jsx)(w.f,{size:16,"aria-hidden":!0,className:"text-ink-faint"}),"No AI summary yet. ",(0,k.jsx)(z.RegenerateButton,{label:"Summarise"})]});let d=new Date;return(0,k.jsxs)(r.f,{className:"mb-3",icon:(0,k.jsx)(w.f,{size:18,"aria-hidden":!0}),meta:(0,k.jsxs)(k.Fragment,{children:[`AI \xb7 ${c.model} \xb7 ${(0,p.$)(new Date(c.at),d)} \xb7 from ${c.count} items, names aliased \xb7 can be wrong, check the items below \xb7 `,(0,k.jsx)(z.RegenerateButton,{label:"Regenerate"})]}),children:[(0,k.jsx)("b",{className:"font-medium",children:"Summary"}),(0,k.jsx)(q.f,{source:c.text})]})}var B=a.i(918962),C=a.i(962230),D=a.i(976517);async function E({appId:a}){let{ok:b}=await (0,l.B)("owner");if(!b)return null;let c=new Date,[d,e,f]=await Promise.all([y.f.provider().catch(()=>null),(0,C.N)("app",a,c).catch(()=>null),(0,B.c)(c).catch(()=>null)]),g=e?{...e,createdAt:e.createdAt.toISOString(),answeredAt:e.answeredAt?.toISOString()??null}:null;return(0,k.jsx)(D.WhyAi,{appId:a,provider:d?{model:d.model}:null,question:g,nowMs:c.getTime(),agConnected:f?.agConnected??!1})}var F=a.i(243446),G=a.i(803681),H=a.i(581156),I=a.i(411642),J=a.i(65932),K=a.i(94473),L=a.i(188282);let M={recheck:"Runs the monitor's check once, like Check now on the monitor.",neon_wake:"Wakes a suspended Neon compute, like Wake on the database page.",supabase_keepalive:"Sends one keep-alive query to a Supabase project close to auto-pause, like Keep active.",supabase_restore:"Restores a paused Supabase project.",vercel_redeploy:"Redeploys the current production deployment.",vercel_rollback:"Rolls production back to the previous ready deployment.",github_bump_pr:"Opens a pull request on a new branch that raises vulnerable packages to their fixed versions (needs the GitHub PR-write token).",daily_rerun:"Calls the console's daily job again when its heartbeat is down. Always asks for approval.",domain_recheck:"Re-reads a domain's TLS certificate and expiry when its certificate looks close to expiry, like Re-check on Domains.",monitor_update_url:"Points an uptime monitor at its app's new domain when the app moved, keeping the path, like Update monitor on Uptime."};async function N(){let[a,b,c]=await Promise.all([(0,K.I)(),(0,K.K)(),(0,K.X)()]),d=[10,15,20,30,45,60,90,120].filter(a=>a>=K.l&&a<=K.n),e=K.r.map(a=>({kind:a,label:L.H[a].label,risky:"risky"===L.H[a].risk,what:M[a]}));return(0,k.jsxs)(G.N,{title:"Auto-actions",flush:!0,meta:"All off by default",children:[(0,k.jsxs)("p",{className:"px-[18px] pb-3 text-ink-soft",children:["When a firing alert brings a proposal for one of these actions, a switched-on kind runs without asking and you get a short Telegram line afterwards. Everything else waits for you on ",(0,k.jsx)(x.default,{href:"/auto-actions",children:"Auto-actions"}),". Auto-run only does what the console button does, through the same checks, and every run is in the audit log (Events)."]}),(0,k.jsx)(H.AutoRunForm,{saved:a,rows:e}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Auto-rollback after a bad deploy"}),(0,k.jsxs)("p",{className:"mb-2.5 text-ink-soft",children:["Off by default. When on, a new production deploy that breaks the app is rolled back to the previous one without asking. Only ",(0,k.jsx)("span",{className:"font-mono text-[12.5px]",children:"vercel_rollback"}),", only within the first N minutes after a new production deploy goes live, only when a monitor is down or the logs show an error spike, at most once per deployment (and never twice for one app within 2 hours), and every run is reported on Telegram and in Events. Failed builds never go live on Vercel, so this is for builds that succeed but break at runtime."]}),(0,k.jsx)(I.AutoRollbackForm,{saved:b,choices:d})]}),(0,k.jsxs)("div",{className:"border-t border-line px-[18px] pb-4 pt-3.5",children:[(0,k.jsx)("h3",{className:"mb-1.5 text-[14px]",children:"Automatic security fixes"}),(0,k.jsx)("p",{className:"mb-2 text-ink-soft",children:"On by default. When a dependency scan finds a critical, high or moderate advisory with a fix, Watchbell fixes it end to end (the scan and the Next.js check run every 6 hours and right after each production deploy):"}),(0,k.jsxs)("ol",{className:"mb-2.5 list-decimal pl-5 text-ink-soft [&_li]:mt-0.5",children:[(0,k.jsx)("li",{children:"opens the update PR itself (package.json only, on a new watchpost/deps-… branch), only for direct packages that stay in their major version, never twice for the same package while a PR is open;"}),(0,k.jsx)("li",{children:"waits for GitHub's checks (all green), then Vercel's preview of the PR (READY);"}),(0,k.jsx)("li",{children:'tests the preview: "/" and up to 3 monitor paths must answer 200–399 within 15 s (behind Vercel Authentication: 3 minutes without error lines in the preview\'s logs);'}),(0,k.jsx)("li",{children:"squash-merges it, only while auto-rollback is on: the production deploy then runs on Vercel and auto-rollback guards its first minutes."})]}),(0,k.jsx)("p",{className:"mb-2.5 text-ink-soft",children:'Anything failing, or not done within 45 minutes, leaves the PR open marked "needs a look". A major update, a transitive package or a severity you switched off waits for your approval on Auto-actions, as before. Every PR opened and every merge or stop is sent to Telegram and logged in Events. Needs the GitHub PR-write token on Connections.'}),(0,k.jsx)(J.AutoSecurityForm,{saved:c,rollbackOn:b.enabled})]})]})}var O=a.i(93321),P=a.i(530385),Q=a.i(548734),R=a.i(837137),S=a.i(247730),T=a.i(221084),U=a.i(396667),V=a.i(976937),W=a.i(736780),X=a.i(944571),Y=a.i(322145),Z=a.i(664892),$=a.i(751263),_=a.i(521050),aa=a.i(760417),ab=a.i(812092),ac=a.i(572134),ad=a.i(658739),ae=a.i(556987),af=a.i(142754),ag=a.i(342634),ah=a.i(381544);let ai="waiting: Vercel didn't say which deployment is live";async function aj(a){let b=Date.now();try{let c=await fetch(a,{redirect:"manual",signal:AbortSignal.timeout(Z.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),d=401===c.status||403===c.status?(await c.text().catch(()=>"")).slice(0,8192):"";return{status:c.status,ms:Date.now()-b,authWall:(0,Z.S)(c.status,d,c.headers)}}catch{return{status:null,ms:Date.now()-b,authWall:!1}}}async function ak(b,c){let{extensions:d}=await a.A(414785);return await d.runner?.lockfileJobActive(b,c).catch(()=>!1)??!1}let al=null;async function am(a,b){let c=(0,_.Q)(b.meta?.rootDirectory),d=(0,_.H)(c,"package.json"),e=b.lockfilePath??(0,_.H)(c,"package-lock.json");if(al?.token!==a){let b=await (0,ab.z)(a);if(!b.ok)return null;al={token:a,login:b.data}}let f=al.login,[g,h]=await Promise.all([(0,ab.O)(a,b.fullName,b.number),(0,ab.P)(a,b.fullName,b.number)]);if(!g.ok||!h.ok)return null;let i=[];for(let c of h.data.slice(0,Z.y+1)){let d=null!==c.login&&c.login.toLowerCase()===f.toLowerCase()?null:await (0,ab.h)(a,b.fullName,c.sha);if(d&&!d.ok)return null;i.push({...c,files:d?d.data:null})}let[j,k]=await Promise.all([(0,ab.E)(a,b.fullName,b.baseBranch,{},d),(0,ab.E)(a,b.fullName,b.headSha,{},d)]);if(!j.ok||!k.ok)return null;let l=j.data&&k.data?(0,Z.C)(j.data.text,k.data.text,b.packages):"unexpected change: package.json is missing",m=null;if(e!==d&&g.data.some(a=>a.filename===e||a.previous===e))if((0,ab.$)(e)){let[c,d]=await Promise.all([(0,ab.l)(a,b.fullName,b.baseBranch,e),(0,ab.l)(a,b.fullName,b.headSha,e)]);if(!c.ok||!d.ok)return null;m=(0,Z.T)(c.data,d.data,e)}else m=`unexpected lockfile change ${e} (only package-lock.json can be checked)`;return{manifest:d,lockfile:e,lockfileRequired:!!b.lockfilePath,manifestProblem:l,lockfileProblem:m,headSha:b.headSha,tokenLogin:f,files:g.data,commits:i}}async function an(a,b={}){let c=await (b.vercel??ao.vercel)(a);if(!c)return null;let d=await (b.serving??ac.k)(c.token,c.teamId,c.projectId);if(!d.ok)return null;let e=d.data.currentId,f=null;if(!e){let a=d.data.latest?.readyState??null;if("ERROR"!==a&&"CANCELED"!==a)return null;let g=await (b.running??ac.N)(c.token,c.teamId,c.projectId);if(!g.ok||g.data)return null;let h=await (b.ready??ac.r)(c.token,c.teamId,c.projectId);if(!h.ok)return null;let i=[...h.data].sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime()),j=d.data.promote;j?(f=i.find(a=>a.createdAt.getTime()>j.requestedAt)??null)||(e=j.toDeploymentId):f=i[0]??null}if(!f&&e){let a=await (b.deployment??ac.S)(c.token,{id:c.teamId,slug:c.teamId,name:c.teamId},e);if(!a.ok)return null;f=a.data}return f?{source:(0,$.s)({source:f.source,branch:f.branch,sha:f.sha,branchFrom:f.branchFrom??null,gitDirty:!0===f.gitDirty})}:null}let ao={rows:async()=>await (0,Q.f)().select({id:R.dependencyPrs.id,repoId:R.dependencyPrs.repoId,appId:R.dependencyPrs.appId,proposalId:R.dependencyPrs.proposalId,number:R.dependencyPrs.number,branch:R.dependencyPrs.branch,baseBranch:R.dependencyPrs.baseBranch,headSha:R.dependencyPrs.headSha,title:R.dependencyPrs.title,packages:R.dependencyPrs.packages,auto:R.dependencyPrs.auto,stage:R.dependencyPrs.stage,smokeMode:R.dependencyPrs.smokeMode,previewReadyAt:R.dependencyPrs.previewReadyAt,openedAt:R.dependencyPrs.openedAt,fullName:R.githubRepos.fullName,appName:R.resources.name,meta:R.resources.meta,lockfilePath:R.dependencyScans.lockfilePath,appMonitored:R.resources.monitored,appGone:R.resources.goneAt,stageText:R.dependencyPrs.stageText}).from(R.dependencyPrs).innerJoin(R.githubRepos,(0,O.u)(R.githubRepos.id,R.dependencyPrs.repoId)).leftJoin(R.resources,(0,O.u)(R.resources.id,R.dependencyPrs.appId)).leftJoin(R.dependencyScans,(0,O.u)(R.dependencyScans.repoId,R.dependencyPrs.repoId)).where((0,O.y)(R.dependencyPrs.stage,[...Z.X])).orderBy((0,P.M)(R.dependencyPrs.openedAt)).limit(10),security:K.X,rollback:K.K,writeToken:async()=>{let a=await (0,W.G)();return a&&"unreadable"!==a?a.token:null},readToken:async a=>{let b=await (0,X.l)(a);return b.ok?b.token:null},vercel:async a=>{let b=await (0,Y.p)(a,"app"),c=b?.resource.meta.teamId;return b&&"string"==typeof c&&b.resource.externalId?{token:b.token,teamId:c,projectId:b.resource.externalId}:null},monitorUrls:async a=>(await (0,Q.f)().select({url:R.monitors.url}).from(R.monitors).where((0,O.b)((0,O.u)(R.monitors.resourceId,a),(0,O.u)(R.monitors.kind,"http"))).limit(10)).map(a=>a.url),pull:ab.b,checks:ab.s,runs:aa.L,previews:ac.C,probe:aj,errorLogs:async(a,b,c,d)=>{let e=await (0,ad.f)(a.token,a.teamId,a.projectId,{since:c,until:d,now:d,deploymentId:b,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return e.ok?e.lines.length:null},merge:ab.C,review:am,save:async(a,b,c,d)=>{await (0,Q.f)().update(R.dependencyPrs).set({...b,stageText:d,checkedAt:new Date}).where((0,O.u)(R.dependencyPrs.id,a)),c&&await (0,Q.f)().update(af.O).set({result:d}).where((0,O.u)(af.O.id,c)).catch(()=>void 0)},notify:a=>(0,ah.y)(a),liveSource:a=>an(a),lockfileBusy:async(a,b,c)=>await ak(a,b)||await (0,V.W)(c,b),audit:(a,b)=>(0,T.f)({kind:"ok",message:a,resourceId:b,actorUserId:null}),book:()=>(0,S.f)()};async function ap(a,b,c=ao){let d={watched:0,merged:0,stopped:0},e=()=>b-Date.now(),f=await c.rows();if(!f.length)return d;let[g,h,i]=await Promise.all([c.security().catch(()=>null),c.rollback().catch(()=>null),c.writeToken().catch(()=>null)]);if(!i)return d;let j=await c.book().catch(()=>ae.a);for(let b of f){if(15e3>e())break;if(b.auto||g?.enabled)try{let e=await aq(b,a,i,h?.enabled===!0,c);if(!e)continue;d.watched++;let f=b.appName?(0,ae.r)(j,b.appName):"app";await as(b,e,f,h?.windowMin??30,a,i,c,d)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}return d}async function aq(a,b,c,d,e){let f=await e.pull(c,a.fullName,a.number);if(!f.ok)return null;let g=await e.checks(c,a.fullName,f.data.headSha),h=null;if(g.ok&&null===g.data.checkRuns&&a.appId){let b=await e.readToken(a.appId),c=b?await e.runs(b,a.fullName,f.data.headSha):null;h=c?.ok?c.data:null}g.ok||(g={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let i=(0,Z.j)({...g.data,actionRuns:h}),j={state:null,readyAt:null},k=null,l=a.appId?await e.vercel(a.appId):null;if(l&&"success"===i&&f.data.headSha===a.headSha){let c=await e.previews(l.token,l.teamId,l.projectId,f.data.headSha),d=c.ok?c.data.find(a=>"preview"===a.target)??c.data[0]??null:null;if(d&&(j={state:d.state,readyAt:d.readyAt??("ready"===d.state?b:null)},"ready"===d.state&&d.url)){let c=a.previewReadyAt??j.readyAt??b;if("logs"!==a.smokeMode){let b=(0,Z.E)(a.appId?await e.monitorUrls(a.appId):[]),c=await Promise.all(b.map(async a=>({path:a,...await e.probe(`https://${d.url}${a}`)})));k=(0,Z.L)(c)}k||(k=(0,Z.n)(c,b,await e.errorLogs(l,d.id,c,b).catch(()=>null))),j.readyAt=c}}return{step:(0,Z.M)({now:b,openedAt:a.openedAt,pr:{state:f.data.state,merged:f.data.merged,mergeable:f.data.mergeable,headSha:f.data.headSha,base:f.data.base},recordedSha:a.headSha,recordedBase:a.baseBranch,checks:i,preview:j,smoke:k,autoRollbackOn:d}),smoke:k,previewReadyAt:j.readyAt,headSha:f.data.headSha}}function ar(a,b){if(!a.appId||!1===a.appMonitored||a.appGone)return"the app is gone or no longer watched, so Watchbell can't confirm what production is built from. Merging this PR could replace what is live";let c=(0,$.B)(a.meta?.productionSource,a.baseBranch,b);if(c)return c;let d=(0,$.O)(a.meta?.productionSource),e=a.meta?.productionBranch;return d?.kind==="git"&&d.ref===a.baseBranch&&"string"==typeof e&&e!==a.baseBranch?`Merging into ${a.baseBranch} won't deploy to production by itself: production was promoted from a ${a.baseBranch} preview. Merge, then promote the new preview.`:null}async function as(a,b,c,d,e,f,g,h){let{step:i}=b,j=b.smoke?{smokeMode:b.smoke.mode}:{},k=b.previewReadyAt?{previewReadyAt:b.previewReadyAt}:{},l={app:c,number:a.number,packages:a.packages};if("wait"===i.kind)return void await g.save(a.id,{stage:i.stage,...j,...k,...i.resetSha?{headSha:i.resetSha,previewReadyAt:null,smokeMode:null}:{}},a.proposalId,(0,Z.m)(a.number,i.stage,i.reason));if("done"===i.kind)return void await g.save(a.id,{stage:i.stage,finishedAt:e},a.proposalId,(0,Z.m)(a.number,i.stage));if("stop"===i.kind&&("CI gagal"===i.reason||"CI failed"===i.reason)&&await g.lockfileBusy?.(a.repoId,a.branch,a.fullName).catch(()=>!1))return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","waiting for the lockfile from the runner"));let m=async b=>{await g.save(a.id,{stage:"failed",finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,"failed",b)),h.stopped++,await g.notify({...l,kind:"stopped",reason:b.replace(/\.$/,"")}).catch(()=>void 0)},n="merge"===i.kind||"stop"===i.kind&&"ready-manual"===i.stage?ar(a,e):null;if(n)return m(n);let o=async()=>{let c=a.appId?await g.liveSource(a.appId).catch(()=>null):null;if(!c){let c=b.previewReadyAt??a.previewReadyAt??a.openedAt;if((a.stageText??"").includes(ai)&&e.getTime()-c.getTime()>Z.R)return await m("Vercel didn't say which deployment is live for 45 minutes, so Watchbell can't confirm what production is built from. Check it, then merge yourself"),!0;let d="checks"===a.stage||"preview"===a.stage||"smoke"===a.stage?a.stage:"smoke";return await g.save(a.id,{stage:d,...j,...k},a.proposalId,(0,Z.m)(a.number,d,ai)),!0}let d=c.source?ar({...a,meta:{...a.meta??{},productionSource:{...c.source,at:e.toISOString()}}},e):`Watchbell can't confirm what production is built from (Vercel names no branch for it). Merging this PR could deploy ${a.baseBranch} to production and replace what is live.`;return!!d&&(await m(d),!0)};if("stop"===i.kind&&"ready-manual"===i.stage&&await o())return;if("stop"===i.kind){await g.save(a.id,{stage:i.stage,finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,i.stage,"ready-manual"===i.stage?null:i.reason)),h.stopped++,await g.notify({...l,kind:"ready-manual"===i.stage?"ready-manual":"stopped",reason:i.reason}).catch(()=>void 0);return}let p=await g.review(f,a).catch(()=>null);if(!p)return;let q=(0,Z.k)(p);if(!q&&(0,Z.H)(p)&&e.getTime()-a.openedAt.getTime()>Z.R){let b="the lockfile wasn't added within 45 minutes";await g.save(a.id,{stage:"timeout",finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,"timeout",b)),h.stopped++,await g.notify({...l,kind:"stopped",reason:b}).catch(()=>void 0);return}if(!q&&(0,Z.H)(p))return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","waiting for the lockfile"));if(q){await g.save(a.id,{stage:"failed",finishedAt:e,...j},a.proposalId,(0,Z.m)(a.number,"failed",q)),h.stopped++,await g.notify({...l,kind:"stopped",reason:q}).catch(()=>void 0);return}if(await o())return;await g.save(a.id,{stage:"merging",...j,...k},a.proposalId,(0,Z.m)(a.number,"merging"));let r=await g.merge(f,a.fullName,a.number,a.branch,a.baseBranch,a.headSha,a.title);if(r.ok){await g.save(a.id,{stage:"merged",mergedSha:r.data.sha,finishedAt:e},a.proposalId,(0,Z.m)(a.number,"merged")),h.merged++,await g.audit(`${ag.v}PR #${a.number} merged \xb7 ${a.packages.join(", ")}`.slice(0,200),a.appId).catch(()=>void 0),await g.notify({...l,kind:"merged",windowMin:d}).catch(()=>void 0);return}if(409===r.status)return void await g.save(a.id,{stage:"checks"},a.proposalId,(0,Z.m)(a.number,"checks","new commit on the PR branch, checking again"));let s=405===r.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${r.error}`.slice(0,150);await g.save(a.id,{stage:"failed",finishedAt:e},a.proposalId,(0,Z.m)(a.number,"failed",s)),h.stopped++,await g.notify({...l,kind:"stopped",reason:s}).catch(()=>void 0)}let at=null;async function au(a,b,c=U.I){if((0,Z.f)(a,at)&&!(await c()).has("devops")){at=a.getTime();try{let c=await ap(a,b?.deadline??a.getTime()+5e4);c.watched&&console.log(`deps/watch: ${c.watched} PR, ${c.merged} merged, ${c.stopped} stopped`)}catch(a){console.warn("deps/watch failed:",a instanceof Error?a.name:"error")}}}var av=a.i(691100),aw=a.i(624065);let ax={nav:[{section:"manage",after:"backups",items:[{key:"ai",label:"AI Gateway",href:"/ai",icon:"route",stage:5,ownerOnly:!0,sub:"AI & API"},{key:"api-docs",label:"API explorer",href:"/api-docs",icon:"api",stage:5,ownerOnly:!0,sub:"AI & API"}]}],palette:[{label:"AI Gateway",href:"/ai",keywords:["ai","gateway","overview"]},{label:"API keys",href:"/ai/keys",keywords:["key","token","wb_","wp_"]},{label:"Agents",href:"/ai/agents",keywords:["agent","client","mcp"]},{label:"Connect an agent",href:"/ai/connect",keywords:["mcp",...e.I.palette.connectKeywords,"gemini cli","quick start"]},{label:"Bring your own key",href:"/ai/providers",keywords:["provider","byok","cloudflare","groq","openrouter","gemini"]},{label:"Quota",href:"/ai/quota",keywords:["limit","usage","rate"]},{label:"AI logs",href:"/ai/logs",keywords:["logs","requests","usage"]},{label:"Models",href:"/ai/models",keywords:["model","llm"]},{label:"Playground",href:"/ai/playground",keywords:["chat","try","prompt"]},{label:"API explorer",href:"/api-docs",keywords:["openapi","swagger","api","v1"]}]},ay={dailySteps:[{name:"ai-usage-retention",run:g.$}]},az={WhyAiSlot:E,RecSummarySlot:A,AiNotesSlot:v,dailySteps:[{name:"advisor-summary",run:j}],minuteSteps:[{name:"advisor-notes",run:h.I}]},aA={dailySteps:[{name:"ai-notes-retention",run:F.v}]},aB={nav:[{section:"manage",after:"alerts",items:[{key:"auto-actions",label:"Auto-actions",href:"/auto-actions",icon:"bolt",stage:9,ownerOnly:!0,sub:"Alerting"}]}],palette:[{label:"Auto-actions",href:"/auto-actions",keywords:["proposal","approve","reject","auto-run","rollback"]}],dailySteps:[{name:"auto-actions-retention",run:av.t}],minuteSteps:[{name:"auto-actions",run:av.Z},{name:"deps-pr-watch",run:au}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:N}]},aC={telegramCallback:aw.proposalCallback},aD=function(...a){let b={nav:[],palette:[]};for(let c of a){for(let a of c.nav??[]){let c=b.nav.find(b=>b.section===a.section&&b.after===a.after);c?c.items=[...c.items,...a.items]:b.nav.push({...a,items:[...a.items]})}b.palette.push(...c.palette??[]),c.dailySteps?.length&&(b.dailySteps=[...b.dailySteps??[],...c.dailySteps]),c.minuteSteps?.length&&(b.minuteSteps=[...b.minuteSteps??[],...c.minuteSteps]),c.WhyAiSlot&&(b.WhyAiSlot=c.WhyAiSlot),c.RecSummarySlot&&(b.RecSummarySlot=c.RecSummarySlot),c.AiNotesSlot&&(b.AiNotesSlot=c.AiNotesSlot),c.DevNotesSlot&&(b.DevNotesSlot=c.DevNotesSlot),c.office&&(b.office=c.office),c.settingsTabs?.length&&(b.settingsTabs=[...b.settingsTabs??[],...c.settingsTabs]),c.telegramCallback&&(b.telegramCallback=c.telegramCallback),c.runner&&(b.runner=c.runner),c.RepoPreviewSlot&&(b.RepoPreviewSlot=c.RepoPreviewSlot)}return b}({...ax,palette:(c=ax.palette??[],d={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(b=c.findIndex(a=>"/ai"===a.href))<0?[...c,d]:[...c.slice(0,b+1),d,...c.slice(b+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,f.w)()}]},ay,{},{},aA,aB,az,aC);a.s(["extensions",0,aD],534908)},285138,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRollbackForm() from the server but AutoRollbackForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-rollback-form.tsx","AutoRollbackForm");a.s(["AutoRollbackForm",0,b])},411642,a=>{var b=a.i(285138);a.n(b)},305093,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoRunForm() from the server but AutoRunForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-run-form.tsx","AutoRunForm");a.s(["AutoRunForm",0,b])},581156,a=>{var b=a.i(305093);a.n(b)},173666,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call AutoSecurityForm() from the server but AutoSecurityForm is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/actions/auto-security-form.tsx","AutoSecurityForm");a.s(["AutoSecurityForm",0,b])},65932,a=>{var b=a.i(173666);a.n(b)},140025,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call DismissNoteButton() from the server but DismissNoteButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/dismiss-note-button.tsx","DismissNoteButton");a.s(["DismissNoteButton",0,b])},791450,a=>{var b=a.i(140025);a.n(b)},581542,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call RegenerateButton() from the server but RegenerateButton is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/regenerate-button.tsx","RegenerateButton");a.s(["RegenerateButton",0,b])},185538,a=>{var b=a.i(581542);a.n(b)},402242,a=>{let b=(0,a.i(211857).registerClientReference)(function(){throw Error("Attempted to call WhyAi() from the server but WhyAi is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/private/slots/why-ai.tsx","WhyAi");a.s(["WhyAi",0,b])},976517,a=>{var b=a.i(402242);a.n(b)}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_0uitfl3c1mdqb._.js.map
|