watchbell 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/app-path-routes-manifest.json +1 -0
- package/server/.next/build-manifest.json +116 -105
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/routes-manifest.json +6 -0
- 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 +11 -11
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +54 -52
- 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 +10 -10
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +54 -52
- 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 +12 -12
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +54 -52
- 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 +10 -10
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +54 -52
- 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 +19 -19
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/(private)/ai/page.js +54 -52
- 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 +12 -12
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +54 -52
- 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 +15 -15
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +54 -52
- 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 +10 -10
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +54 -52
- 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 +10 -10
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +54 -52
- 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 +10 -10
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +54 -52
- 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)/[...slug]/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/[...slug]/page.js +55 -53
- package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/[...slug]/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 +22 -22
- package/server/.next/server/app/(console)/alerts/page.js +54 -52
- 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 +23 -23
- package/server/.next/server/app/(console)/apps/[id]/page.js +54 -52
- 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 +11 -11
- package/server/.next/server/app/(console)/apps/page.js +54 -52
- 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 +12 -12
- package/server/.next/server/app/(console)/backups/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/catalog/page.js +54 -52
- 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 +54 -54
- package/server/.next/server/app/(console)/connections/page.js +60 -58
- 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 +9 -9
- package/server/.next/server/app/(console)/d1/page.js +54 -52
- 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 +14 -14
- package/server/.next/server/app/(console)/deployments/page.js +54 -52
- 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 +16 -16
- package/server/.next/server/app/(console)/dns/page.js +54 -52
- 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 +11 -11
- package/server/.next/server/app/(console)/domains/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/events/page.js +54 -52
- 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 +15 -15
- package/server/.next/server/app/(console)/firebase/page.js +55 -53
- 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 +10 -10
- package/server/.next/server/app/(console)/logs/page.js +54 -52
- 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/app-paths-manifest.json +3 -0
- package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +22 -0
- package/server/.next/server/app/(console)/manage/sections/page/next-font-manifest.json +11 -0
- package/server/.next/server/app/(console)/manage/sections/page/react-loadable-manifest.json +1 -0
- package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +105 -0
- package/server/.next/server/app/(console)/manage/sections/page.js +104 -0
- package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -0
- package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +3 -0
- 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 +20 -20
- package/server/.next/server/app/(console)/neon/page.js +54 -52
- 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 +18 -18
- package/server/.next/server/app/(console)/overview/page.js +54 -52
- 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 +10 -10
- package/server/.next/server/app/(console)/repos/[id]/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/repos/page.js +54 -52
- 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 +19 -19
- package/server/.next/server/app/(console)/settings/page.js +54 -52
- 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 +16 -16
- package/server/.next/server/app/(console)/sql/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/status/page.js +54 -52
- 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 +29 -29
- package/server/.next/server/app/(console)/supabase/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/topology/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/turso/page.js +54 -52
- 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 +9 -9
- package/server/.next/server/app/(console)/upstash/page.js +54 -52
- 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 +22 -22
- package/server/.next/server/app/(console)/uptime/page.js +54 -52
- 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 +14 -14
- package/server/.next/server/app/(console)/welcome/page.js +55 -53
- 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.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 +4 -4
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- 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.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 +74 -71
- package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
- package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
- package/server/.next/server/app/api/daily/route.js +66 -63
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/health/route.js.nft.json +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js.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 +71 -68
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +4 -4
- 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 +2 -2
- 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 +2 -2
- 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 +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 +5 -5
- 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 +5 -5
- package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/me/route.js +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 +1 -1
- package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js +4 -4
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/route.js +4 -4
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +19 -18
- 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/favicon.ico/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.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.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.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.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.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.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.nft.json +1 -1
- package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app-paths-manifest.json +1 -0
- package/server/.next/server/chunks/{[externals]__0fbnlnnial7w5._.js → [externals]__0qo8lpb70m87u._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1e0dmqhilgze5._.js → [externals]__100hq0n2xtenb._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1jhautmcwmgii._.js → [externals]__1irgb5qz1s3gv._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0hju4mctdmvz9._.js → [root-of-the-server]__06ek056i_j_uk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0rak0ce6prxwp._.js → [root-of-the-server]__06r-019fixp3f._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1-q6_msattgcu._.js → [root-of-the-server]__07uknh5b-embq._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0vctt_0kj1gz4._.js → [root-of-the-server]__07v5e0vzgl4n2._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__14zpwd7xntffk._.js → [root-of-the-server]__08fyoixg__c7n._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__15tt645jfx-br._.js → [root-of-the-server]__0b_4w-5x5u7ag._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1-37ctpn8yw_m._.js → [root-of-the-server]__0bnasoi-x21jc._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__08i_or_xyqg4g._.js → [root-of-the-server]__0d8ypilha-el8._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0f5l9--3_wjvx._.js → [root-of-the-server]__0flqwe7amc3mz._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__11kfkk5yxz4ge._.js → [root-of-the-server]__0fw19tsgp-vbq._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1_l4gp3r2d-7x._.js → [root-of-the-server]__0fw7l5y58_xcd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0j68ia9q425ff._.js → [root-of-the-server]__0g1tldn4xjewd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__03pc2mot62sow._.js → [root-of-the-server]__0h1qhdjpfq1d4._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0hpdrg-m0n6ty._.js → [root-of-the-server]__0h4n81_nqdr4j._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0i3n8l6ecdb4u._.js → [root-of-the-server]__0hty-wue10pro._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0mui3wh3lfb6m._.js → [root-of-the-server]__0npmbdrxybln5._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__010exlr_efe2h._.js → [root-of-the-server]__0nqw6z6fp8wad._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0_iz9zh9e_mov._.js → [root-of-the-server]__0olmk-rbbhxlo._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0nsie5dba69e6._.js → [root-of-the-server]__0owyb9lr5t5u-._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0v1kcolrxwmob._.js → [root-of-the-server]__0si9k9jhdc0bm._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ul6-jnt2oco7._.js → [root-of-the-server]__0t8d8b4qkw3y-._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0i1de88cj5y-p._.js → [root-of-the-server]__0tl5pxttllr4d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0m7_0rarf_x86._.js → [root-of-the-server]__0uyh4jgcd9092._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__15j_u2bz3jc-a._.js → [root-of-the-server]__0wy38l7k36j6g._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0j53mir12jire._.js → [root-of-the-server]__0xiz361p5kdhf._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ogbwvwpnlx0b._.js → [root-of-the-server]__0z-07azr3zk8s._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0x0x6v75re5_e._.js → [root-of-the-server]__0zxyfd7u67hmv._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1czhdqbxj_3ov._.js → [root-of-the-server]__10x3lu8jeqgbt._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0gs-x779qi1ba._.js → [root-of-the-server]__11-van59e9p2a._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__12uj0887q1ayr._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__13h--47xmg706._.js +5 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1rf3slum5swk2._.js → [root-of-the-server]__145gadwk31inl._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0qesn8t6k9y_n._.js → [root-of-the-server]__14luo1ecxoqh-._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__15ddlx_ma_1iu._.js → [root-of-the-server]__162cm9ds1c5y2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0292lwnmh4wtc._.js → [root-of-the-server]__1aza-7l2pl-pm._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1flvcyht5uk7h._.js → [root-of-the-server]__1cla4k3dqtcfb._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__03e141znq0hr-._.js → [root-of-the-server]__1iv6vg3z9ho81._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1jh0el-zvg4hp._.js → [root-of-the-server]__1j3-sv7eqyhjb._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0alnp_0qkhzze._.js → [root-of-the-server]__1j_iy13gp2-on._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1objhlwwrjfjk._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1vi0u2vkv3tk0._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1hw6s0e7p2-6g._.js → [root-of-the-server]__1w3svzao_gnxp._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__08l1x_plf4dil._.js → [root-of-the-server]__1xdi98xyay6bn._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1qzor1nqajuyp._.js → [root-of-the-server]__20_1nfa6fiz-q._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +3 -0
- package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
- package/server/.next/server/chunks/_008zv66xvj7ey._.js +37 -0
- package/server/.next/server/chunks/{_12uzjq-fbcuvb._.js → _01s3_8ssosvqi._.js} +1 -1
- package/server/.next/server/chunks/_03qlijpos6a21._.js +3 -0
- package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
- package/server/.next/server/chunks/_0a7533vs89s78._.js +7 -0
- package/server/.next/server/chunks/_0ejcrge5k4quv._.js +1 -1
- package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +37 -0
- package/server/.next/server/chunks/_0kmhvts35imzs._.js +1 -1
- package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +1 -1
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
- package/server/.next/server/chunks/_0nt4hve0bi30h._.js +37 -0
- package/server/.next/server/chunks/_0op74d4yyc3ma._.js +1 -1
- package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +3 -0
- package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +1 -1
- package/server/.next/server/chunks/_0qr77omrkuewo._.js +3 -0
- package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +3 -0
- package/server/.next/server/chunks/_0sy878k2ywjbq._.js +3 -0
- package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
- package/server/.next/server/chunks/_0voowig3y32v1._.js +1 -1
- package/server/.next/server/chunks/_0wxm_716tjorj._.js +3 -0
- package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +1 -1
- package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +3 -0
- package/server/.next/server/chunks/_1-pw7jw52sbti._.js +3 -0
- package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
- package/server/.next/server/chunks/_14ymj3uzawde4._.js +7 -0
- package/server/.next/server/chunks/_15g-opioju_ju._.js +3 -0
- package/server/.next/server/chunks/_17aiz6zt-yv52._.js +1 -1
- package/server/.next/server/chunks/_1_son1yzo5xvl._.js +3 -0
- package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +1 -1
- package/server/.next/server/chunks/_1g_prqb_u33e3._.js +1 -1
- package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +37 -0
- package/server/.next/server/chunks/_1luzeov9x87mg._.js +7 -0
- package/server/.next/server/chunks/{_1jz6k3wy_s8br._.js → _1p0ced3sr0i_8._.js} +1 -1
- package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +1 -1
- package/server/.next/server/chunks/_1zx_54or1pubb._.js +1 -1
- package/server/.next/server/chunks/node_modules_next_dist_1i-_xribpwttd._.js +313 -0
- package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +3 -0
- package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
- package/server/.next/server/chunks/src_088gmyaew7ds0._.js +3 -0
- package/server/.next/server/chunks/{src_08bzavsfds295._.js → src_0kwnhwi77unm7._.js} +2 -2
- package/server/.next/server/chunks/src_0xqorb3-ef3ub._.js +1 -1
- package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +3 -0
- package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +3 -0
- package/server/.next/server/chunks/{src_03umyw-p7jhaj._.js → src_1dsh9rzlos6-1._.js} +2 -2
- package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +3 -0
- package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +3 -0
- package/server/.next/server/chunks/src_1j71dvub05y-4._.js +3 -0
- package/server/.next/server/chunks/{src_0k78ifotuztod._.js → src_1no_yh953mran._.js} +2 -2
- package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +3 -0
- package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
- package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +3 -0
- package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
- package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
- package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
- package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +6 -0
- package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
- package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +15 -0
- package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +6 -0
- package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +6 -0
- package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
- package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +15 -0
- package/server/.next/server/chunks/{src_lib_0vl2-zp4wzw7n._.js → src_lib_1p21oczr6lh5a._.js} +1 -1
- package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +15 -0
- package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
- package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +1 -1
- package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +6 -0
- package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
- package/server/.next/server/chunks/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +2 -2
- package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
- package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
- package/server/.next/server/chunks/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
- package/server/.next/server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js +3 -0
- package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.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_1q6nc5chwn5k4.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0vbbz7arebnub._.js → [externals]__0zvy4iicnrk95._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__13rgl1h4g39l-._.js → [root-of-the-server]__052_cprs0alpy._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__18b1wk6-2gq4x._.js → [root-of-the-server]__0543ddliluvv3._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__168ahi_n-kf90._.js → [root-of-the-server]__08479d23kb1xv._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1drr27jyyhw7p._.js → [root-of-the-server]__08fqg76puqdfr._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__07n1hb3mk44lt._.js → [root-of-the-server]__0acmauri7z1sg._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ryl_hnreck66._.js → [root-of-the-server]__0e9m8up0h1qhl._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1xa91qls2i3j4._.js → [root-of-the-server]__0h9gtpapca7i_._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0hbk3gqja86zp._.js → [root-of-the-server]__15n-r12rnj61t._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.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]__1gw6334w8y2my._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__11y6b96ofb-c5._.js → [root-of-the-server]__1k1fmq0-rg3p0._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1n1pq5j5p4_qn._.js → [root-of-the-server]__1owrn7crnsybx._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +1 -1
- package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
- package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1wu_8nu5allm0._.js → _05kq3r87s7p3q._.js} +1 -1
- package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +2 -2
- 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/_0cw4kz3d6kmb1._.js +1 -1
- package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
- package/server/.next/server/chunks/ssr/_0fnl7z-saj7nc._.js +1 -1
- package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +1 -1
- package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
- package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
- package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
- package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +1 -1
- package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
- package/server/.next/server/chunks/ssr/{_08u2qnetu4ghm._.js → _0ooh0hh-r_12s._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
- package/server/.next/server/chunks/ssr/{_06sp8cllu_ljh._.js → _0pn3dn9s9es51._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +2 -2
- package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
- package/server/.next/server/chunks/ssr/{_12348a3ug1-wo._.js → _0r04c1-snv6jw._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
- package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +1 -1
- package/server/.next/server/chunks/ssr/{_216rrmkts392q._.js → _0tnfblwwlyvq2._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
- package/server/.next/server/chunks/ssr/{_1exwj9ou5yh71._.js → _0x1vi7mal3bqd._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
- package/server/.next/server/chunks/ssr/{_1ibagew7zj8y6._.js → _11w5w9dpxcf1w._.js} +2 -2
- package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
- package/server/.next/server/chunks/ssr/{_1p4i1e1kw70-_._.js → _14kop_5asppd8._.js} +2 -2
- package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
- package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +1 -1
- package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
- package/server/.next/server/chunks/ssr/_1b4uqc9fwt4dy._.js +1 -1
- package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
- package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +1 -1
- package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +2 -2
- package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
- package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +1 -1
- 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/_1i77n2n-wb98v._.js +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +1 -1
- package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +2 -2
- package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
- package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +3 -0
- package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
- package/server/.next/server/chunks/ssr/node_modules_next_dist_0joxsz2q5dh6c._.js +2 -2
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +1 -1
- package/server/.next/server/chunks/ssr/src_00wh1gv_h2pjs._.js +1 -1
- package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +3 -0
- package/server/.next/server/chunks/ssr/src_025wo6h30c00a._.js +1 -1
- package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_09atx_ns_mlan._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0_kumjlw3o034._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0dl7jkqqm313f._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0fdfz--89117z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ho313o5cu3-h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0iefnjvaszvw_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0loe22pbn4cuu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0nylfis4--x5j._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ohsn5qzqqds_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0usxo7vu7o2cj._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0widudneyf0oq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0xau6d5z5e_md._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1-wu43p02yiel._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/src_11iuy79j_finh._.js +3 -0
- package/server/.next/server/chunks/ssr/src_12x8sjp-qdw08._.js +1 -1
- package/server/.next/server/chunks/ssr/src_14aur12he3m2a._.js +1 -1
- package/server/.next/server/chunks/ssr/src_15aqc6akkqade._.js +1 -1
- package/server/.next/server/chunks/ssr/src_15zqi72ky6hi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_19evuexp67uty._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1am4_ady64k2b._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1cbawr4iw5h-x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1ccrc8twenijg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1ctx1an_a3k7g._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_11_hakxhnybdd._.js → src_1ottjkdvhje3g._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1xsg-zd4lt_d4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1y0xvj1obxu7i._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1zpftf1xj-30l._.js +1 -1
- package/server/.next/server/chunks/ssr/src_20hs1ilkxmap0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1lhfs18es1mqc._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_loading_tsx_1qyzywm3br5h2._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_06n-9cjmbb-vu._.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_ask_loading_tsx_1niopfalguzs6._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_loading_tsx_0q7g8dpf7-vgo._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_04ypt31p11eq7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_loading_tsx_1hc7x_jx0xx0_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_0261l8yb2z9x1._.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_logs_loading_tsx_1dwhza0ud8asg._.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_models_0hla-5y3iresx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_loading_tsx_1qtp-lo_o41cr._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_1o1z2qp3tik5x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_loading_tsx_02umaieh-00pu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_0jamu-nm6x-dh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_loading_tsx_0u2pi0tk7s3ch._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.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_quota_loading_tsx_1hhnum-g2eq3n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.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)_(private)_ai_usage_loading_tsx_0pjvu-xuxbxmh._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_(console)_1olpa0osy74mq._.js → src_app_(console)_1l7irblrb5fae._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -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]_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)_backups_page_tsx_0o082iagq_14b._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +3 -0
- 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 +3 -0
- 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_page_tsx_0g20hm13dvbc-._.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 +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +3 -0
- 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)_neon_1ubea__gt06o0._.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 +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_16-sh45tpob8n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_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_148phfjye0539._.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_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_signin_1y1xla7bcc5a1._.js → src_app_signin_1tg6pswa99jbe._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.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_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_lib_0vl2-zp4wzw7n._.js → src_lib_1p21oczr6lh5a._.js} +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
- package/server/.next/server/chunks/ssr/src_lib_copy_edition_ts_1y6lsdbj64t9p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_keep-active-db_ts_0p07g9b74uu3e._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +2 -2
- package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
- package/server/.next/server/chunks/ssr/{src_lib_demo_20zjotuzm1lm8._.js → src_lib_demo_0hdl7pzdqejqx._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
- 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_gateway_ts_04_5ao9914d0p._.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_advisor-notes_ts_0qkpm5c3la7fo._.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 +116 -105
- package/server/.next/server/next-font-manifest.js +1 -1
- package/server/.next/server/next-font-manifest.json +4 -0
- 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 +212 -166
- package/server/.next/static/chunks/{3w445wy3mpp2f.js → 08dak2kh1c6_7.js} +1 -1
- package/server/.next/static/chunks/{2-8ra6gmaw_pb.js → 0b9slopuz4e8a.js} +1 -1
- package/server/.next/static/chunks/{3col9buetdxvh.js → 0dp-tuwkw7xf8.js} +2 -2
- package/server/.next/static/chunks/0fhj_pu5ntcfo.js +1 -0
- package/server/.next/static/chunks/{010bc8dzhxd_0.js → 0h9i512dn01kj.js} +1 -1
- package/server/.next/static/chunks/0ic6_-0gkd6p7.js +1 -0
- package/server/.next/static/chunks/{3s7hj7g12rmuh.js → 0icohez16w-ei.js} +1 -1
- package/server/.next/static/chunks/{08w0t5q93_9mu.js → 0j1wzqg4ukm70.js} +1 -1
- package/server/.next/static/chunks/{2cmw27buw9oce.js → 0kscmnb071fci.js} +1 -1
- package/server/.next/static/chunks/0ld78j1d4j201.js +1 -0
- package/server/.next/static/chunks/{1yb4_s_96v9tf.js → 0qlb-l1uyqku5.js} +1 -1
- package/server/.next/static/chunks/0udh0u8c6ovgf.css +3 -0
- package/server/.next/static/chunks/0y1ss0tjq0nq0.js +1 -0
- package/server/.next/static/chunks/{0dhgqjjm0zj6_.js → 1-oetq3mwlhds.js} +1 -1
- package/server/.next/static/chunks/{3uujo4bht1tqo.js → 11ywzwmfd_pt0.js} +1 -1
- package/server/.next/static/chunks/{1aoqsoecu-fy_.js → 1jaozq01v9r6e.js} +1 -1
- package/server/.next/static/chunks/1ky5exl-c1kbo.js +1 -0
- package/server/.next/static/chunks/{3o7se0ypyiqmz.js → 1lsu_fxiyaeiz.js} +1 -1
- package/server/.next/static/chunks/{1endj3d7bewa1.js → 1o3_amrh-sxr3.js} +1 -1
- package/server/.next/static/chunks/{1vi8tyc1ou2o3.js → 1w9o_jo_pejc5.js} +1 -1
- package/server/.next/static/chunks/{0nx0h-723nd_u.js → 1yvbs41m8_4nc.js} +2 -2
- package/server/.next/static/chunks/{0unx038_2rfsp.js → 22alexnun_rdm.js} +1 -1
- package/server/.next/static/chunks/{06lmwdlx-fkr8.js → 27qwmt1w6-iri.js} +1 -1
- package/server/.next/static/chunks/{02uvde7i-78p5.js → 29humkd2-_1oo.js} +1 -1
- package/server/.next/static/chunks/{0-7by9f00qb4d.js → 29j96yfhxsf41.js} +1 -1
- package/server/.next/static/chunks/{1483hxa9hair1.js → 29qnnsjsgsia6.js} +1 -1
- package/server/.next/static/chunks/{2pbnh717ldzfl.js → 2ii8j9xuvv604.js} +1 -1
- package/server/.next/static/chunks/{2ufr23d_eyosj.js → 2m0ftj__ody0m.js} +1 -1
- package/server/.next/static/chunks/{201zah03wlibg.js → 2q88116332v43.js} +1 -1
- package/server/.next/static/chunks/2rbtw3em5hkt4.js +1 -0
- package/server/.next/static/chunks/2sdyov_lz1uj4.js +1 -0
- package/server/.next/static/chunks/{1o4mdgq5lu1g_.js → 2toeyr9b_nk0e.js} +1 -1
- package/server/.next/static/chunks/{2zdjxqgm-44u1.js → 2w7qxt7ux-m1-.js} +1 -1
- package/server/.next/static/chunks/{18gwem_5y9wnt.js → 2zc1osymeruya.js} +1 -1
- package/server/.next/static/chunks/33fbppn5fotpk.js +1 -0
- package/server/.next/static/chunks/3auw1gobgv94g.js +1 -0
- package/server/.next/static/chunks/3b1p-xm7iow1_.js +1 -0
- package/server/.next/static/chunks/{2z6a725ntvlr6.js → 3gl2k6v182lli.js} +2 -2
- package/server/.next/static/chunks/{2lv5qmgi8nm4h.js → 3gurl_36kr7sg.js} +1 -1
- package/server/.next/static/chunks/{2n-h6_0i3mpxo.js → 3h-i_hcaaf7vs.js} +1 -1
- package/server/.next/static/chunks/{0dnjs3de2e_d1.js → 3kznplgmzot89.js} +1 -1
- package/server/.next/static/chunks/{0du6qnm4ee-qx.js → 3mb_v650fie_i.js} +1 -1
- package/server/.next/static/chunks/{1t2iu6ufyxecz.js → 3n_n6yeienmn-.js} +1 -1
- package/server/.next/static/chunks/{01oee9tptcjdb.js → 3nqciag05fif0.js} +1 -1
- package/server/.next/static/chunks/3r3mt51wqymgs.js +1 -0
- package/server/.next/static/chunks/3sg_npfod25zq.js +1 -0
- package/server/.next/static/chunks/{03fjh6klyhqv4.js → 3shbvizselyoq.js} +1 -1
- package/server/.next/static/chunks/3xxagngfonh62.js +1 -0
- package/server/.next/static/chunks/{3alfhqlczff2s.js → 3yv-enyk37whg.js} +1 -1
- package/server/node_modules/@next/env/package.json +1 -1
- package/server/node_modules/next/dist/build/analyze/snapshot.js +1 -1
- package/server/node_modules/next/dist/build/index.js +3 -3
- package/server/node_modules/next/dist/build/swc/index.js +1 -1
- package/server/node_modules/next/dist/build/turbopack-analyze/index.js +1 -1
- package/server/node_modules/next/dist/build/turbopack-build/impl.js +1 -1
- package/server/node_modules/next/dist/build/webpack-config.js +3 -3
- package/server/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
- package/server/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
- package/server/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
- package/server/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/server/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
- package/server/node_modules/next/dist/server/config.js +1 -1
- package/server/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/server/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/server/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/server/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
- package/server/node_modules/next/dist/server/lib/router-server.js +1 -1
- package/server/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/server/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
- package/server/node_modules/next/dist/server/typescript/rules/config.js +2 -2
- package/server/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
- package/server/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/server/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/server/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/server/node_modules/next/package.json +11 -11
- package/server/.next/server/chunks/[root-of-the-server]__03zcy67tjxii8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__08j1jeemvo-th._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0abdjgj-muln9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0b_bj-_t8b0b-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0rxrv00e5e6fj._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0xyzhdj3z_1ro._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0zd61mh-juh2i._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__13scfgchwlitx._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__15zbj_ehkvv-n._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__16dyxwm6pzumx._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__16sp8qurcwsnf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__18qf1s7o0ia89._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1951xb3jdzdop._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1_1-jgxiadvs0._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1_2akhn6c9eqq._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1c2u-bg524-_w._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1c8_e0jqh_8na._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1g-be2zoiz2tf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1h96ebyza_vlh._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1hxhj2o7lea8i._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1i4bqqne6vibf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1i83m8i-3yn72._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1jrcnhad_b53j._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ldcwvd42rpuz._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1pgtip37umn35._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1rl43iilsc-je._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1sj7uwyq1gpet._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ta7-xvmtkjwr._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1voiad6r-u931._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wlilsfzjqdw9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wonw7ft4hset._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__202r0hxhr5bnu._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__2196hxm-s7u6e._.js +0 -3
- package/server/.next/server/chunks/_01vdbh009dk-w._.js +0 -5
- package/server/.next/server/chunks/_061mqfu1rkl7g._.js +0 -34
- package/server/.next/server/chunks/_0c_vrxu6rin-k._.js +0 -3
- package/server/.next/server/chunks/_0qawxzcf--lyq._.js +0 -4
- package/server/.next/server/chunks/_0qrn1v02iivm8._.js +0 -3
- package/server/.next/server/chunks/_0s30ac32b7prb._.js +0 -3
- package/server/.next/server/chunks/_0vfrh5u-u4mis._.js +0 -3
- package/server/.next/server/chunks/_0vgojnnkcf1vu._.js +0 -4
- package/server/.next/server/chunks/_0vz0de4gz70-e._.js +0 -4
- package/server/.next/server/chunks/_1-mixh9aeqh7f._.js +0 -3
- package/server/.next/server/chunks/_1b63jfweu0o04._.js +0 -3
- package/server/.next/server/chunks/_1i57ar6zvd7yb._.js +0 -34
- package/server/.next/server/chunks/_1k2cwp1_wt6qm._.js +0 -3
- package/server/.next/server/chunks/_1kj2yv4-wk2kp._.js +0 -34
- package/server/.next/server/chunks/_1l82x0z8bo4pt._.js +0 -3
- package/server/.next/server/chunks/_1ozrnl_on86u7._.js +0 -34
- package/server/.next/server/chunks/_1xeuk6g48m3_1._.js +0 -3
- package/server/.next/server/chunks/src_0d5xqe2zx_935._.js +0 -3
- package/server/.next/server/chunks/src_0v4pdrc1yxyl8._.js +0 -3
- package/server/.next/server/chunks/src_0vva87j3z99p9._.js +0 -3
- package/server/.next/server/chunks/src_1zo6so07lgcdj._.js +0 -3
- package/server/.next/server/chunks/src_db_rows_ts_15b286wn1kn1e._.js +0 -3
- package/server/.next/server/chunks/src_lib_0485hz-c7h7dr._.js +0 -15
- package/server/.next/server/chunks/src_lib_0qcyomi01xvf1._.js +0 -15
- package/server/.next/server/chunks/src_lib_1d6edz_ucj01w._.js +0 -3
- package/server/.next/server/chunks/src_lib_1ryt-36ohhnm6._.js +0 -15
- package/server/.next/server/chunks/src_lib_1suc_xwzxtuej._.js +0 -3
- package/server/.next/server/chunks/src_lib_1uh73ofc-pe92._.js +0 -3
- package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +0 -6
- package/server/.next/server/chunks/ssr/[root-of-the-server]__004r8ubf3fp_i._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__04a21b9fkrqs3._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0q36f5xjkzf4z._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0wf8q7-o-4n8y._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1e-xqsuqsd4ub._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__204_t7bzma353._.js +0 -3
- package/server/.next/server/chunks/ssr/_04e0uk5aqrgc3._.js +0 -3
- package/server/.next/server/chunks/ssr/_11o43qq2eyx_r._.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_03amng1-xhfd1.js +0 -3
- package/server/.next/server/chunks/ssr/src_0qu78tivj78-x._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_0gm1y-wtw5gyd._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1qigx20w8bk53._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +0 -3
- package/server/.next/static/chunks/0anet8wttkax1.js +0 -1
- package/server/.next/static/chunks/0ao7kjrp6bp3l.js +0 -1
- package/server/.next/static/chunks/0b0rwd99q942r.js +0 -1
- package/server/.next/static/chunks/0dmi-v53phuqn.js +0 -1
- package/server/.next/static/chunks/0ilml-p3iktnr.js +0 -1
- package/server/.next/static/chunks/0y_0w1ek5fakj.js +0 -1
- package/server/.next/static/chunks/1fxuyn0k52n4v.css +0 -3
- package/server/.next/static/chunks/1k01h6men2hvb.js +0 -1
- package/server/.next/static/chunks/1mdaf7mwcfafr.js +0 -1
- package/server/.next/static/chunks/2mj8z5a9dz7bh.js +0 -1
- package/server/.next/static/chunks/2qltilq3pn4ia.js +0 -1
- package/server/.next/static/chunks/2wqgz94tksucm.js +0 -1
- package/server/.next/static/chunks/3ypdfkwyovory.js +0 -1
- /package/server/.next/static/{n3Kt7dFNHr9KDw7DgGz0m → 00CFAqN6pFBVkqJyXSd78}/_buildManifest.js +0 -0
- /package/server/.next/static/{n3Kt7dFNHr9KDw7DgGz0m → 00CFAqN6pFBVkqJyXSd78}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{n3Kt7dFNHr9KDw7DgGz0m → 00CFAqN6pFBVkqJyXSd78}/_ssgManifest.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module.exports=[[132245,(e,t,r)=>{function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(s=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=s(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}},738458,(e,t,r)=>{let s;Object.defineProperty(r,"__esModule",{value:!0}),r.parseCookie=h,r.parse=h,r.stringifyCookie=function(e,t){let r=t?.encode||encodeURIComponent,s=[];for(let t of Object.keys(e)){let a=e[t];if(void 0===a)continue;if(!n.test(t))throw TypeError(`cookie name is invalid: ${t}`);let o=r(a);if(!i.test(o))throw TypeError(`cookie val is invalid: ${a}`);s.push(`${t}=${o}`)}return s.join("; ")},r.stringifySetCookie=d,r.serialize=d,r.parseSetCookie=function(e,t){let r=t?.decode||g,s=e.length,n=p(e,0,s),i=f(e,0,n),a=-1===i?{name:"",value:r(m(e,0,n))}:{name:m(e,0,i),value:r(m(e,i+1,n))},o=n+1;for(;o<s;){let t=p(e,o,s),r=f(e,o,t),n=-1===r?m(e,o,t):m(e,o,r),i=-1===r?void 0:m(e,r+1,t);switch(n.toLowerCase()){case"httponly":a.httpOnly=!0;break;case"secure":a.secure=!0;break;case"partitioned":a.partitioned=!0;break;case"domain":a.domain=i;break;case"path":a.path=i;break;case"max-age":i&&l.test(i)&&(a.maxAge=Number(i));break;case"expires":if(!i)break;let c=new Date(i);Number.isFinite(c.valueOf())&&(a.expires=c);break;case"priority":if(!i)break;let u=i.toLowerCase();("low"===u||"medium"===u||"high"===u)&&(a.priority=u);break;case"samesite":if(!i)break;let h=i.toLowerCase();("lax"===h||"strict"===h||"none"===h)&&(a.sameSite=h)}o=t+1}return a},r.stringifySetCookie=d,r.serialize=d;let n=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,i=/^[\u0021-\u003A\u003C-\u007E]*$/,a=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,o=/^[\u0020-\u003A\u003D-\u007E]*$/,l=/^-?\d+$/,c=Object.prototype.toString,u=((s=function(){}).prototype=Object.create(null),s);function h(e,t){let r=new u,s=e.length;if(s<2)return r;let n=t?.decode||g,i=0;do{let t=f(e,i,s);if(-1===t)break;let a=p(e,i,s);if(t>a){i=e.lastIndexOf(";",t-1)+1;continue}let o=m(e,i,t);void 0===r[o]&&(r[o]=n(m(e,t+1,a))),i=a+1}while(i<s)return r}function d(e,t,r){let s="object"==typeof e?e:{...r,name:e,value:String(t)},l=("object"==typeof t?t:r)?.encode||encodeURIComponent;if(!n.test(s.name))throw TypeError(`argument name is invalid: ${s.name}`);let u=s.value?l(s.value):"";if(!i.test(u))throw TypeError(`argument val is invalid: ${s.value}`);let h=s.name+"="+u;if(void 0!==s.maxAge){if(!Number.isInteger(s.maxAge))throw TypeError(`option maxAge is invalid: ${s.maxAge}`);h+="; Max-Age="+s.maxAge}if(s.domain){if(!a.test(s.domain))throw TypeError(`option domain is invalid: ${s.domain}`);h+="; Domain="+s.domain}if(s.path){if(!o.test(s.path))throw TypeError(`option path is invalid: ${s.path}`);h+="; Path="+s.path}if(s.expires){var d;if(d=s.expires,"[object Date]"!==c.call(d)||!Number.isFinite(s.expires.valueOf()))throw TypeError(`option expires is invalid: ${s.expires}`);h+="; Expires="+s.expires.toUTCString()}if(s.httpOnly&&(h+="; HttpOnly"),s.secure&&(h+="; Secure"),s.partitioned&&(h+="; Partitioned"),s.priority)switch("string"==typeof s.priority?s.priority.toLowerCase():void 0){case"low":h+="; Priority=Low";break;case"medium":h+="; Priority=Medium";break;case"high":h+="; Priority=High";break;default:throw TypeError(`option priority is invalid: ${s.priority}`)}if(s.sameSite)switch("string"==typeof s.sameSite?s.sameSite.toLowerCase():s.sameSite){case!0:case"strict":h+="; SameSite=Strict";break;case"lax":h+="; SameSite=Lax";break;case"none":h+="; SameSite=None";break;default:throw TypeError(`option sameSite is invalid: ${s.sameSite}`)}return h}function p(e,t,r){let s=e.indexOf(";",t);return -1===s?r:s}function f(e,t,r){let s=e.indexOf("=",t);return s<r?s:-1}function m(e,t,r){let s=t,n=r;do{let t=e.charCodeAt(s);if(32!==t&&9!==t)break}while(++s<n)for(;n>s;){let t=e.charCodeAt(n-1);if(32!==t&&9!==t)break;n--}return e.slice(s,n)}function g(e){if(-1===e.indexOf("%"))return e;try{return decodeURIComponent(e)}catch(t){return e}}},63493,e=>{var t=e.i(31194);e.n(t)},133791,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var s={default:function(){return l},useLinkStatus:function(){return o.useLinkStatus}};for(var n in s)Object.defineProperty(r,n,{enumerable:!0,get:s[n]});let i=e.r(132245),a=e.r(133210),o=i._(e.r(63493));function l(e){let t=e.legacyBehavior,r="string"==typeof e.children||"number"==typeof e.children||"string"==typeof e.children?.type,s=e.children?.type?.$$typeof===Symbol.for("react.client.reference");return!t||r||s||(e.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,a.jsx)(o.default,{...e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},385585,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"after",{enumerable:!0,get:function(){return i}});let s=e.r(556704),n=e.r(832319);function i(e){let t=s.workAsyncStorage.getStore(),r=n.workUnitAsyncStorage.getStore();if(!t||!r)throw Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context");let{afterContext:i}=t;return i.after(e,r)}},910473,(e,t,r)=>{var s,n;Object.defineProperty(r,"__esModule",{value:!0}),s=e.r(385585),n=r,Object.keys(s).forEach(function(e){"default"===e||Object.prototype.hasOwnProperty.call(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:function(){return s[e]}})})},476550,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"connection",{enumerable:!0,get:function(){return h}});let s=e.r(556704),n=e.r(832319),i=e.r(258200),a=e.r(183589),o=e.r(225176),l=e.r(679847);e.r(865832);let c=e.r(585346),u=e.r(748448);function h(){let e=s.workAsyncStorage.getStore(),t=n.workUnitAsyncStorage.getStore();if(e){if(t&&!(0,l.isRequestApiAllowedInCurrentPhase)(t))throw Error(`Route ${e.route} used \`connection()\` inside \`after()\` while rendering. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`);if(e.forceStatic)return Promise.resolve(void 0);if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(t)switch(t.type){case"cache":{let t=(0,u.createConnectionInPublicUseCacheError)(e.route);throw Error.captureStackTrace(t,h),(0,o.applyOwnerStack)(t),e.invalidDynamicUsageError??=t,t}case"private-cache":{let t=(0,u.createConnectionInPrivateUseCacheError)(e.route);throw Error.captureStackTrace(t,h),(0,o.applyOwnerStack)(t),e.invalidDynamicUsageError??=t,t}case"unstable-cache":throw(0,u.createConnectionInUnstableCacheError)(e.route);case"build-time-generator":throw Error(`Route ${e.route} used \`connection()\` inside \`${t.functionName}\`. This is not supported because \`${t.functionName}\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`);case"prerender":case"prerender-client":case"prerender-runtime":return(0,o.makeDynamicHangingPromise)(t.renderSignal,e.route,"`connection()`");case"validation-client":{let e="`connection`";throw new c.InvariantError(`${e} must not be used within a Client Component. Next.js should be preventing ${e} from being included in Client Components statically, but did not in this case.`)}case"prerender-legacy":return(0,i.throwToInterruptStaticGeneration)("connection",e,t);case"request":if((0,i.trackDynamicDataInDynamicRender)(t),t.asyncApiPromises)return t.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,n.throwForMissingRequestStore)("connection")}},133210,(e,t,r)=>{t.exports=e.r(307450).vendored["react-rsc"].ReactJsxRuntime},310086,(e,t,r)=>{t.exports=e.r(307450).vendored["react-rsc"].ReactServerDOMTurbopackServer},853702,(e,t,r)=>{function s(){throw Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead')}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageResponse",{enumerable:!0,get:function(){return s}})},628661,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"NextResponse",{enumerable:!0,get:function(){return h}});let s=e.r(86547),n=e.r(723866),i=e.r(287790),a=e.r(770956),o=e.r(86547),l=Symbol("internal response"),c=new Set([301,302,303,307,308]);function u(e,t){var r;if(null==e||null==(r=e.request)?void 0:r.headers){if(!(e.request.headers instanceof Headers))throw Error("request.headers must be an instance of Headers");let r=[];for(let[s,n]of e.request.headers)t.set("x-middleware-request-"+s,n),r.push(s);t.set("x-middleware-override-headers",r.join(","))}}class h extends Response{constructor(e,t={}){super(e,t);let r=this.headers,c=new Proxy(new o.ResponseCookies(r),{get(e,n,i){switch(n){case"delete":case"set":return(...i)=>{let a=Reflect.apply(e[n],e,i),l=new Headers(r);return a instanceof o.ResponseCookies&&r.set("x-middleware-set-cookie",a.getAll().map(e=>(0,s.stringifyCookie)(e)).join(",")),u(t,l),a};default:return a.ReflectAdapter.get(e,n,i)}}});this[l]={cookies:c,url:t.url?new n.NextURL(t.url,{headers:(0,i.toNodeOutgoingHttpHeaders)(r),nextConfig:t.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[l].cookies}static json(e,t){let r=Response.json(e,t);return new h(r.body,r)}static redirect(e,t){let r="number"==typeof t?t:(null==t?void 0:t.status)??307;if(!c.has(r))throw RangeError('Failed to execute "redirect" on "response": Invalid status code');let s="object"==typeof t?t:{},n=new Headers(null==s?void 0:s.headers);return n.set("Location",(0,i.validateURL)(e)),new h(null,{...s,headers:n,status:r})}static rewrite(e,t){let r=new Headers(null==t?void 0:t.headers);return r.set("x-middleware-rewrite",(0,i.validateURL)(e)),u(t,r),new h(null,{...t,headers:r})}static next(e){let t=new Headers(null==e?void 0:e.headers);return t.set("x-middleware-next","1"),u(e,t),new h(null,{...e,headers:t})}}},374644,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"URLPattern",{enumerable:!0,get:function(){return s}});let s="u"<typeof URLPattern?void 0:URLPattern},276870,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var s,n={isBot:function(){return o},userAgent:function(){return c},userAgentFromString:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let a=(s=e.r(547850))&&s.__esModule?s:{default:s};function o(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(e)}function l(e){return{...(0,a.default)(e),isBot:void 0!==e&&o(e)}}function c({headers:e}){return l(e.get("user-agent")||void 0)}},352565,e=>{var t=e.i(310086);(0,t.registerClientReference)(function(){throw Error("Attempted to call AliasProvider() from the server but AliasProvider 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/alias.tsx","AliasProvider"),(0,t.registerClientReference)(function(){throw Error("Attempted to call DbName() from the server but DbName 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/alias.tsx","DbName"),(0,t.registerClientReference)(function(){throw Error("Attempted to call Masked() from the server but Masked 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/alias.tsx","Masked");let r=(0,t.registerClientReference)(function(){throw Error("Attempted to call MaskedText() from the server but MaskedText 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/alias.tsx","MaskedText");(0,t.registerClientReference)(function(){throw Error("Attempted to call Reveal() from the server but Reveal 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/alias.tsx","Reveal"),(0,t.registerClientReference)(function(){throw Error("Attempted to call maskedValue() from the server but maskedValue 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/alias.tsx","maskedValue"),(0,t.registerClientReference)(function(){throw Error("Attempted to call useAliasBook() from the server but useAliasBook 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/alias.tsx","useAliasBook"),(0,t.registerClientReference)(function(){throw Error("Attempted to call useMask() from the server but useMask 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/alias.tsx","useMask"),(0,t.registerClientReference)(function(){throw Error("Attempted to call usePrivacy() from the server but usePrivacy 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/alias.tsx","usePrivacy"),e.s(["MaskedText",0,r])},639307,e=>{var t=e.i(352565);e.n(t)},455891,e=>{var t=e.i(336763),r=e.i(75064),s=e.i(492973),n=e.i(79322),i=e.i(909592),a=e.i(406212),o=e.i(530298),l=e.i(27479),c=e.i(728335);let u=e=>{let t=(0,c.calendarDate)(e);return`${t.day} ${t.month} ${t.year}`},h=c.dayKey;var d=e.i(857799),p=e.i(123076),f=e.i(70377),m=e.i(586307),g=e.i(827439);let b="advisor.latest",y=r.z.object({key:s.z.string(),severity:n.z.enum(["warning","info"]),appId:s.z.string().nullable(),subject:s.z.string(),title:s.z.string(),why:s.z.string(),fix:s.z.string(),href:s.z.string()}),w=r.z.object({at:s.z.string(),items:i.z.array(y)});async function v(e){let r=(0,t.and)((0,t.eq)(o.resources.kind,"app"),(0,t.eq)(o.resources.monitored,!0),(0,t.isNull)(o.resources.goneAt)),s=await (0,g.P)(),n=await (0,m.V)(),[i,c,u,h,b]=await Promise.all([(0,a.db)().select({id:o.monitors.id,appId:o.monitors.resourceId,appName:o.resources.name,url:o.monitors.url,kind:o.monitors.kind,name:o.monitors.name,paused:o.monitors.paused,ownerPaused:o.monitors.ownerPaused,lastStatus:o.monitors.lastStatus,expectedStatus:o.monitors.expectedStatus,lastPingAt:o.monitors.lastPingAt,createdAt:o.monitors.createdAt}).from(o.monitors).innerJoin(o.resources,(0,t.eq)(o.resources.id,o.monitors.resourceId)).where(r).orderBy(o.resources.name,o.monitors.url).limit(f.O.monitors),(0,a.db)().select({id:o.resources.id,name:o.resources.name,version:o.appSecurity.version}).from(o.resources).innerJoin(o.appSecurity,(0,t.eq)(o.appSecurity.resourceId,o.resources.id)).where(r).orderBy(o.resources.name).limit(f.O.apps),(0,a.db)().select({id:o.resources.id,name:o.resources.name,kind:o.resources.kind,accountId:o.resources.accountId,accountLabel:o.accounts.label,state:o.snapshots.state}).from(o.resources).innerJoin(o.accounts,(0,t.eq)(o.accounts.id,o.resources.accountId)).leftJoin(o.snapshots,(0,t.eq)(o.snapshots.resourceId,o.resources.id)).where((0,t.and)((0,t.inArray)(o.resources.kind,[...d.H]),(0,t.eq)(o.resources.monitored,!0),(0,t.isNull)(o.resources.goneAt))).orderBy(o.resources.name).limit(f.O.databases),(0,a.db)().select({appId:o.links.fromResourceId,dbId:o.links.toResourceId}).from(o.links).where((0,t.eq)(o.links.kind,"uses_db")).limit(f.O.apps),(0,a.db)().select({id:o.accounts.id,provider:o.accounts.provider,label:o.accounts.label,expiresAt:o.accounts.expiresAt,scopeNote:o.accounts.scopeNote}).from(o.accounts).orderBy(o.accounts.label).limit(200)]);return{now:e,monitors:i.map(e=>({id:e.id,appId:e.appId,appName:e.appName,path:"heartbeat"===e.kind?e.url:(0,l.K)(e.url),kind:e.kind,name:e.name,paused:e.paused||e.ownerPaused,lastStatus:e.lastStatus,expectedStatus:e.expectedStatus,lastPingAt:e.lastPingAt,createdAt:e.createdAt})),eol:function(e,t){if(!t)return null;let r=t.cycles.find(e=>!e.isEol)?.latest??null,s=[];for(let n of e){let e=n.version?.split(".")[0],i=e?t.cycles.find(t=>t.name===e):void 0;i&&s.push({appId:n.id,appName:n.name,cycle:i.name,eolFrom:i.eolFrom?new Date(`${i.eolFrom}T00:00:00Z`):null,latest:r})}return s}(c,s),headers:null,dbs:u.map(e=>({id:e.id,name:e.name,provider:(0,d.Z)(e.kind),accountId:e.accountId,accountLabel:e.accountLabel,state:e.state??"unknown"})),slots:(0,p.f)(n).map(e=>({account:e.account,used:e.used,total:e.total,planUnknown:e.planUnknown})),links:h,accounts:b}}async function k(e){let t=function(e){let t=[];for(let r of e.eol??[]){if(!r.eolFrom||r.eolFrom.getTime()-e.now.getTime()>2592e6)continue;let s=r.eolFrom.getTime()<=e.now.getTime(),n=r.latest?.split(".")[0];t.push({key:`next-eol:${r.appId}:${r.cycle}`,severity:"warning",appId:r.appId,subject:r.appName,title:`Next.js ${r.cycle} ${s?"reached":"reaches"} end of life on ${u(r.eolFrom)}`,why:`No security fixes after that date.${r.latest?` Latest is ${r.latest}.`:""}`,fix:n?`Upgrade to Next.js ${n}.`:"Upgrade Next.js.",href:"https://endoflife.date/nextjs"})}for(let r of e.monitors)!r.paused&&("heartbeat"===r.kind&&!r.lastPingAt&&e.now.getTime()-r.createdAt.getTime()>864e5&&t.push({key:`hb-silent:${r.id}`,severity:"warning",appId:r.appId,subject:r.appName,title:`${r.name??"A heartbeat"} has never pinged`,why:"It was added more than a day ago and no job has called its URL.",fix:"Add the ping to the job, or delete the monitor.",href:"/uptime"}),"http"===r.kind&&"/"===r.path&&200===r.expectedStatus&&null!==r.lastStatus&&[401,403,404].includes(r.lastStatus)&&t.push({key:`monitor-root:${r.id}:${r.lastStatus}`,severity:"info",appId:r.appId,subject:r.appName,title:`The monitor on / answers ${r.lastStatus}`,why:`A login or missing page answering ${r.lastStatus} makes the monitor look down.`,fix:`Point the monitor at a public health route, or expect ${r.lastStatus}.`,href:"/uptime"}));for(let r of e.headers??[]){if(!r.missing.length)continue;let e=[...r.missing].sort();t.push({key:`headers:${r.appId}:${e.join(",")}`,severity:"info",appId:r.appId,subject:r.appName,title:`Missing security headers: ${e.join(", ")}`,why:"Browsers use them to block clickjacking, sniffing and downgrade attacks.",fix:"Add them in next.config headers().",href:"https://developer.mozilla.org/en-US/observatory"})}for(let r of e.slots??[])r.used<r.total||t.push({key:`no-slot:${r.account}`,severity:"warning",appId:null,subject:`supabase \xb7 ${r.account}`,title:`Account ${r.account} has no free slot`,why:r.planUnknown?"Two projects are active. If this account is on the free plan (it couldn't be read), a paused one can't be restored here.":"Both free projects are active, so a paused one can't be restored here.",fix:"Pause one project, or move one to another account.",href:"/supabase"});if(e.dbs&&e.links){let r=new Set(e.links.map(e=>e.dbId));for(let s of e.dbs.filter(e=>!r.has(e.id)))t.push({key:`db-unlinked:${s.id}`,severity:"info",appId:null,subject:s.name,title:"Database isn't linked to any app",why:"Topology and the app status can't use it.",fix:"Link it from the app page.",href:"/apps"})}for(let r of e.accounts)"supabase"===r.provider&&r.scopeNote&&/all[- ]access/i.test(r.scopeNote)&&t.push({key:`broad-cred:${r.id}`,severity:"info",appId:null,subject:`supabase \xb7 ${r.label}`,title:`${r.label} uses an all-access token`,why:"The console only reads; a broader token is a bigger risk if it ever leaks.",fix:"Replace it with a read-only token in Connections, then revoke the old one in Supabase.",href:"/connections"});for(let r of e.accounts){if(!r.expiresAt)continue;let s=r.expiresAt.getTime()-e.now.getTime();s>=12096e5&&s<=5184e6&&t.push({key:`cred-60:${r.id}:${h(r.expiresAt)}`,severity:"info",appId:null,subject:`${r.provider} \xb7 ${r.label}`,title:`The ${r.provider} credential ${r.label} expires on ${(0,c.dayMonth)(r.expiresAt)}`,why:"An expired credential stops every reading from that account.",fix:"Create a new one and use Replace credential in Connections.",href:"/connections"})}return t.map((e,t)=>({r:e,i:t})).sort((e,t)=>("warning"!==e.r.severity)-("warning"!==t.r.severity)||e.i-t.i).map(({r:e})=>e).slice(0,50)}(await v(e)),r={at:e.toISOString(),items:t};return await (0,a.db)().insert(o.settings).values({key:b,value:r}).onConflictDoUpdate({target:o.settings.key,set:{value:r,updatedAt:e}}),t}async function _(e){let[r]=await (0,a.db)().select({value:o.settings.value}).from(o.settings).where((0,t.eq)(o.settings.key,b)).limit(1),s=w.safeParse(r?.value);return s.success?s.data.items:k(e)}async function S(e,r){var s;let n=await _(e);if(!n.length)return[];let i=await (0,a.db)().select({key:o.recommendationDismissals.key,dismissedAt:o.recommendationDismissals.dismissedAt}).from(o.recommendationDismissals).where((0,t.inArray)(o.recommendationDismissals.key,n.map(e=>e.key))).limit(50),l=(s=new Map(i.map(e=>[e.key,e.dismissedAt])),n.filter(t=>{let r=s.get(t.key);return!r||e.getTime()-r.getTime()>=2592e6}));return r?l.filter(e=>e.appId===r):l}e.s(["T",0,S,"O",0,k],455891)},42784,464161,e=>{var t=e.i(336763),r=e.i(396918),s=e.i(406212),n=e.i(530298),i=e.i(412948),a=e.i(178233),o=e.i(785194),l=e.i(70377),c=e.i(586307),u=e.i(764266),h=e.i(471843);e.i(333407);var d=e.i(706959),p=e.i(706539),f=e.i(380719),m=e.i(584820);let g=e=>"string"==typeof e&&e?e:null;async function b(e,b){let y=await (0,s.db)().select({r:n.resources,s:n.snapshots,sec:n.appSecurity,accStatus:n.accounts.status}).from(n.resources).leftJoin(n.accounts,(0,t.eq)(n.accounts.id,n.resources.accountId)).leftJoin(n.snapshots,(0,t.eq)(n.snapshots.resourceId,n.resources.id)).leftJoin(n.appSecurity,(0,t.eq)(n.appSecurity.resourceId,n.resources.id)).where((0,t.and)((0,t.eq)(n.resources.kind,"app"),(0,t.eq)(n.resources.monitored,!0),b?(0,t.eq)(n.resources.id,b):void 0)).orderBy(n.resources.name).limit(l.O.apps);if(!y.length)return[];let w=y.map(e=>e.r.id),v=(await (0,s.db)().select().from(n.monitors).where((0,t.inArray)(n.monitors.resourceId,w)).orderBy(n.monitors.createdAt).limit(l.O.monitors)).map(f.M),k=await (0,s.db)().selectDistinctOn([n.deployments.resourceId]).from(n.deployments).where((0,t.and)((0,t.inArray)(n.deployments.resourceId,w),(0,t.eq)(n.deployments.target,"production"))).orderBy(n.deployments.resourceId,(0,r.desc)(n.deployments.createdAtProvider)),_=await (0,p._)(v.map(e=>e.id),e),S=await (0,p.P)(w,e),x=await (0,c.F)(w),A=v.length?await (0,d.f)():[];return y.map(({r:t,s:r,sec:s,accStatus:n})=>{let c=v.filter(e=>e.appId===t.id).map(t=>({...t,maintUntil:(0,u.x)(A,{monitorId:t.id,appId:t.appId},e)?.end??null})),d=g(t.meta.createdAt),p=k.find(e=>e.resourceId===t.id);return{id:t.id,name:t.name,gone:null!==t.goneAt,state:r?.state??"unknown",stateSince:r?.stateSince??null,domain:(0,i.m)(t.name,c.map(e=>e.url)),framework:g(t.meta.framework),productionBranch:g(t.meta.productionBranch),createdAt:d?new Date(d):null,teamName:g(t.meta.teamName),teamSlug:g(t.meta.teamSlug),repo:g(t.meta.repo),repoType:g(t.meta.repoType),functionRegions:Array.isArray(t.meta.functionRegions)?t.meta.functionRegions.filter(e=>"string"==typeof e):[],monitors:c,lastDeploy:p?(0,h.f)(p):null,uptime30:(0,o.Y)(c.flatMap(t=>(0,o.w)(_.get(t.id),e,o.I))),response:S.get(t.id)??{hourly:Array.from({length:l.A.responseHours},()=>null),p95:null,p50:null},days:new Map(c.flatMap(e=>{let t=_.get(e.id);return t?[[e.id,t]]:[]})),security:s?(0,m.Z)(s):null,database:x.get(t.id)??null,dbPaused:r?.data.dbPaused===!0,pageViews:(0,a.G)(r?.data),pageViewsNote:(0,a.R)({gone:null!==t.goneAt,teamId:g(t.meta.teamId),accountOk:"ok"===n,hasProductionDeploy:void 0!==p})}})}e.s(["f",0,b],42784);var y=e.i(533102);y.sql`coalesce(${n.events.lastAt}, ${n.events.at})`,e.s([],464161)},471843,e=>{e.i(406212),e.i(530298),e.s(["f",0,function(e){return{id:e.id,externalId:e.externalId,state:e.state,target:e.target,branch:e.branch,commitSha:e.commitSha,commitMessage:e.commitMessage,url:e.url,createdAt:e.createdAtProvider,buildingAt:e.buildingAt,readyAt:e.readyAt,isCurrent:e.isCurrent,isPreviousProduction:e.isPreviousProduction}}])},328586,e=>{var t=e.i(336763),r=e.i(396918),s=e.i(406212),n=e.i(530298),i=e.i(112515),a=e.i(803237),o=e.i(93387);let l=e=>e.trim().toLowerCase();var c=e.i(802641),u=e.i(958948);async function h(e){let l=e?(0,t.and)((0,t.eq)(n.accounts.id,e),(0,t.eq)(n.accounts.provider,"github")):(0,t.eq)(n.accounts.provider,"github"),[c]=await (0,s.db)().select().from(n.accounts).where(l).orderBy((0,r.asc)(n.accounts.createdAt)).limit(1);if(!c)return null;let u=(0,a.V)({ciphertext:c.credentialCiphertext,iv:c.credentialIv},(0,o.serverEnv)().OPS_ENCRYPTION_KEY);return{account:c,token:u,problem:(0,i.A)(u)}}async function d(e,t,r){let s=0;for(let n=0;n<e.length&&!(Date.now()>t);n+=5){let t=e.slice(n,n+5);s+=t.length,await Promise.allSettled(t.map(r))}return s}async function p(e,r,a={}){var o,c;let m,g,b=await h(e);if(!b)return{ok:!1,error:"GitHub isn't connected."};let{account:y,token:w,problem:v}=b;if(v||!w)return{ok:!1,error:v??"The credential can't be read."};let k=await (0,u.o)(w,a);if(!k.ok){let e=(0,i.E)({ok:!1,kind:"scope"===k.kind?"auth":"missing"===k.kind?"transient":k.kind,error:k.error});return e&&await (0,s.db)().update(n.accounts).set({...e,updatedAt:new Date}).where((0,t.eq)(n.accounts.id,y.id)),{ok:!1,error:k.error}}let _=new Date,S=(o=await (0,s.db)().select({id:n.githubRepos.id,externalId:n.githubRepos.externalId,goneAt:n.githubRepos.goneAt}).from(n.githubRepos).where((0,t.eq)(n.githubRepos.accountId,y.id)).limit(1e3),c=k.data.repos,m=new Map(o.map(e=>[e.externalId,e])),g=new Set(c.map(e=>e.id)),{insert:c.filter(e=>!m.has(e.id)),update:c.filter(e=>m.has(e.id)).map(e=>({id:m.get(e.id).id,repo:e})),gone:o.filter(e=>!g.has(e.externalId)&&!e.goneAt).map(e=>e.id)}),x=e=>({owner:e.owner,name:e.name,fullName:e.fullName,defaultBranch:e.defaultBranch,private:e.private,archived:e.archived,htmlUrl:e.htmlUrl,pushedAt:e.pushedAt});await (0,s.db)().transaction(async e=>{for(let r of S.update)await e.update(n.githubRepos).set({...x(r.repo),lastSeenAt:_,goneAt:null,updatedAt:_}).where((0,t.eq)(n.githubRepos.id,r.id));S.insert.length&&await e.insert(n.githubRepos).values(S.insert.map(e=>({accountId:y.id,externalId:e.id,...x(e)}))).onConflictDoNothing({target:[n.githubRepos.accountId,n.githubRepos.externalId]}),S.gone.length&&await e.update(n.githubRepos).set({goneAt:_,updatedAt:_}).where((0,t.and)((0,t.inArray)(n.githubRepos.id,S.gone),(0,t.isNull)(n.githubRepos.goneAt)))});let A=await (0,s.db)().select().from(n.githubRepos).where((0,t.eq)(n.githubRepos.accountId,y.id)).limit(1e3),T=[];k.data.truncated&&T.push("Only the 300 most recently pushed repositories are listed.");let R=!1;await d(A.filter(e=>!e.archived&&!e.goneAt&&(!e.packageCheckedAt||null!==e.pushedAt&&e.pushedAt>e.packageCheckedAt)).sort((e,t)=>(t.pushedAt?.getTime()??0)-(e.pushedAt?.getTime()??0)).slice(0,10),r,async e=>{let r=await (0,u.q)(w,e.fullName,a);r.ok?await (0,s.db)().update(n.githubRepos).set({packageName:r.data,packageCheckedAt:new Date,updatedAt:new Date}).where((0,t.eq)(n.githubRepos.id,e.id)):"scope"===r.kind&&(R=!0)}),R&&T.push("Some package.json files can't be read: give the token Contents read on those repositories.");let E=await (0,s.db)().select({id:n.resources.id,name:n.resources.name,meta:n.resources.meta}).from(n.resources).where((0,t.and)((0,t.eq)(n.resources.kind,"app"),(0,t.isNull)(n.resources.goneAt))).limit(500),I=await (0,s.db)().select({appId:n.appRepos.appId,repoId:n.appRepos.repoId,source:n.appRepos.source}).from(n.appRepos).limit(500),O=e=>"string"==typeof e&&e?e:null,j=function(e,t,r){let s=new Map(t.filter(e=>!e.goneAt).map(e=>[l(e.fullName),e.id])),n=new Map(r.map(e=>[e.appId,e])),i=[];for(let t of e){if("github"!==t.repoType||!t.repo)continue;let e=s.get(l(t.repo));if(!e)continue;let r=n.get(t.id);r?.source!=="manual"&&r?.repoId!==e&&i.push({appId:t.id,repoId:e})}return i}(E.map(e=>({id:e.id,name:e.name,repo:O(e.meta.repo),repoType:O(e.meta.repoType)})),A,I);for(let e of j)await (0,s.db)().insert(n.appRepos).values({appId:e.appId,repoId:e.repoId,source:"vercel"}).onConflictDoUpdate({target:n.appRepos.appId,set:{repoId:e.repoId,source:"vercel",updatedAt:new Date},setWhere:(0,t.ne)(n.appRepos.source,"manual")});let C=await (0,s.db)().selectDistinct({id:n.githubRepos.id,fullName:n.githubRepos.fullName,defaultBranch:n.githubRepos.defaultBranch}).from(n.appRepos).innerJoin(n.githubRepos,(0,t.eq)(n.githubRepos.id,n.appRepos.repoId)).where((0,t.and)((0,t.eq)(n.githubRepos.accountId,y.id),(0,t.isNull)(n.githubRepos.goneAt))).limit(500),$=!1,P=await d(C,r,async e=>{let t=await (0,u.W)(w,e.fullName,e.defaultBranch,a);t.ok?await f(e.id,t.data):"scope"===t.kind&&($=!0)});$&&T.push("Some Actions runs can't be read: give the token Actions read on those repositories."),P<C.length&&T.push(`${C.length-P} Actions status${C.length-P==1?"":"es"} left for the next run, time budget used.`);let N=await (0,u.k)(w,a);return await (0,s.db)().update(n.accounts).set({lastSyncAt:_,status:"ok",lastError:null,updatedAt:_,...N.ok?{expiresAt:N.data.expiresAt}:{}}).where((0,t.eq)(n.accounts.id,y.id)),{ok:!0,repos:A.filter(e=>!e.goneAt).length,linked:C.length,newLinks:j.length,notes:T}}async function f(e,r){await (0,s.db)().update(n.githubRepos).set({actions:r,actionsCheckedAt:new Date,updatedAt:new Date}).where((0,t.eq)(n.githubRepos.id,e))}async function m(e){let[r]=await (0,s.db)().select({id:n.accounts.id}).from(n.accounts).where((0,t.eq)(n.accounts.provider,"github")).limit(1);if(!r)return null;if(Date.now()>e)return"left for the next run, time budget used";let i=await p(r.id,e);return i.ok?null:i.error}async function g(e){if(!(0,c.f)(e))return{ok:!1,reason:"no-repo",error:"That app no longer exists."};let[r]=await (0,s.db)().select({r:n.githubRepos}).from(n.appRepos).innerJoin(n.githubRepos,(0,t.eq)(n.githubRepos.id,n.appRepos.repoId)).where((0,t.and)((0,t.eq)(n.appRepos.appId,e),(0,t.isNull)(n.githubRepos.goneAt))).limit(1);if(!r)return{ok:!1,reason:"no-repo",error:"This app isn't linked to a GitHub repository yet."};let i=await h(r.r.accountId);return i?.token?{ok:!0,fullName:r.r.fullName,defaultBranch:r.r.defaultBranch,token:i.token}:{ok:!1,reason:"no-token",error:"The GitHub token can't be read; check the GitHub connection."}}e.s(["D",0,m,"l",0,g],328586)},451682,313903,205746,e=>{var t=e.i(336763),r=e.i(157406),s=e.i(533102),n=e.i(406212),i=e.i(530298),a=e.i(122603),o=e.i(803237),l=e.i(333407),c=e.i(93387),u=e.i(765503),h=e.i(666680),d=e.i(75064),p=e.i(909592),f=e.i(932378),m=e.i(246517),g=e.i(492973),b=e.i(794588);e.s(["z",0,b],313903);var b=b,y=e.i(260417);let w=["debug","info","warning","error","fatal","trace"],v=d.z.object({rows:p.z.array(f.z.unknown()).catch([]),hasMoreRows:m.z.boolean().catch(!1)}),k=d.z.object({requestId:g.z.string().min(1),timestamp:g.z.string().transform((e,t)=>{let r=Date.parse(e);return Number.isNaN(r)?(t.addIssue({code:"custom",message:"bad timestamp"}),b.NEVER):new Date(r)}),deploymentId:g.z.string().nullish().catch(null),requestMethod:g.z.string().nullish().catch(null),requestPath:g.z.string().nullish().catch(null),statusCode:y.z.number().nullish().catch(null),logs:p.z.array(f.z.unknown()).nullish().catch(null),events:p.z.array(f.z.unknown()).nullish().catch(null)}),_=d.z.object({level:g.z.string().nullish().catch(null),message:g.z.string().nullish().catch(null)}),S=d.z.object({source:g.z.string().nullish().catch(null)}),x=(e,t)=>(0,h.createHash)("sha1").update(`${e}
|
|
2
|
-
${t}`).digest("hex").slice(0,8),A=(e,t,r={})=>({ok:!1,kind:e,error:t,...r});async function T(e,t,r,s){let n=(s.now??new Date).getTime(),i=Math.max(s.since.getTime(),n-864e5),o=s.until.getTime();if(i>=o)return{ok:!0,lines:[],more:!1};let l=s.maxRows??300,c=s.levels?new Set(s.levels):null,u=e=>!c||c.has(e),h=s.levels?[...new Set(s.levels.map(e=>"fatal"===e?"error":e))]:[],d=s.fetch??fetch,p=new AbortController,f=setTimeout(()=>p.abort(new DOMException("window","TimeoutError")),s.timeoutMs??8e3),m=s.signal?AbortSignal.any([p.signal,s.signal]):p.signal,g=(0,a.X)(m),b=()=>p.signal.aborted&&!s.signal?.aborted?A("transient","Vercel's log history didn't answer in time."):A("transient","Reading Vercel's log history was cancelled."),y=[],T=!1;try{for(let n=0;n<3;n++){let a,c=new URLSearchParams({projectId:r,ownerId:t,page:String(n),startDate:String(i),endDate:String(o)});s.deploymentId&&c.set("deploymentId",s.deploymentId),s.environment&&c.set("environment",s.environment),h.length&&c.set("level",h.join(","));let p=null;try{let t=await Promise.race([d(`https://vercel.com/api/logs/request-logs?${c}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:m,cache:"no-store"}),g]);if(401===t.status||403===t.status)p=A("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));p=A("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status)p=A("transient","Vercel's log history didn't answer (400); the range may be past retention.",{status:400});else if(t.ok)try{a=await Promise.race([t.json(),g])}catch(e){if(m.aborted)throw e;p=A("format","Vercel's log history answered in a format the console doesn't recognise.")}else p=A("transient",`Vercel's log history returned an error (${t.status}).`,{status:t.status});p&&await t.body?.cancel().catch(()=>void 0)}catch{p=m.aborted?b():A("transient","Couldn't reach Vercel's log history.")}if(!p){let e=v.safeParse(a),t=e.success&&a&&"object"==typeof a?Object.keys(a):[];if(!e.success||t.includes("rows")||t.includes("hasMoreRows"))if(e.success){for(let t of e.data.rows)y.push(...function(e,t,r=!1){let s=k.safeParse(e);if(!s.success)return[];let n=s.data,i={at:n.timestamp,requestMethod:n.requestMethod??null,requestPath:n.requestPath??null,statusCode:n.statusCode??null,deploymentId:n.deploymentId??null,source:(n.events??[]).map(e=>S.safeParse(e)).find(e=>e.success&&e.data.source)?.data?.source??null},a=[],o=new Map;for(let e of n.logs??[]){let r=_.safeParse(e);if(!r.success||!r.data.message)continue;let s=function(e){let t=(e??"").toLowerCase();return"warn"===t?"warning":w.includes(t)?t:"info"}(r.data.level),l=x(s,r.data.message),c=o.get(l)??0;o.set(l,c+1),t(s)&&a.push({rowId:`${n.requestId}:${l}${c?`#${c}`:""}`,level:s,message:r.data.message,...i})}if(null!=n.statusCode&&n.statusCode>=500&&t("error")&&!a.some(e=>"error"===e.level||"fatal"===e.level)&&a.push({rowId:`${n.requestId}:status`,level:"error",message:`${n.requestMethod??"GET"} ${n.requestPath??"/"} → ${n.statusCode}`,...i}),r&&0===a.length){let e=n.statusCode??0,r=e>=500?"error":e>=400?"warning":"info";t(r)&&a.push({rowId:`${n.requestId}:request`,level:r,message:`${n.requestMethod??"GET"} ${n.requestPath??"/"}${e>0?` → ${e}`:""}`,...i})}return a}(t,u,s.requests));if(!(T=e.data.hasMoreRows)||y.length>=l)break}else p=A("format","Vercel's log history answered in a format the console doesn't recognise.");else p=A("transient","Vercel's log format changed: the answer has neither rows nor hasMoreRows.")}if(p){if(0===n)return p;T=!0;break}}}finally{clearTimeout(f),p.abort()}return y.sort((e,t)=>e.at.getTime()-t.at.getTime()),y.length>l&&(y.splice(0,y.length-l),T=!0),{ok:!0,lines:y,more:T}}e.s(["f",0,T],205746);var R=e.i(728335);let E=["warning","error","fatal"],I="logs_read_cursor";async function O(e){let[r]=await (0,n.db)().select().from(i.accounts).where((0,t.and)((0,t.eq)(i.accounts.provider,"vercel"),(0,t.eq)(i.accounts.status,"ok"))).limit(1),s=r?(0,o.V)({ciphertext:r.credentialCiphertext,iv:r.credentialIv},(0,c.serverEnv)().OPS_ENCRYPTION_KEY):null;return r&&s?(await (0,n.db)().select({appId:i.resources.id,appName:i.resources.name,projectId:i.resources.externalId,meta:i.resources.meta,deploymentId:i.deployments.externalId}).from(i.deployments).innerJoin(i.resources,(0,t.eq)(i.resources.id,i.deployments.resourceId)).where((0,t.and)((0,t.eq)(i.deployments.isCurrent,!0),(0,t.eq)(i.resources.accountId,r.id),(0,t.eq)(i.resources.monitored,!0),(0,t.isNull)(i.resources.goneAt),...e?[(0,t.eq)(i.resources.id,e)]:[]))).map(e=>({appId:e.appId,appName:e.appName,projectId:e.projectId,deploymentId:e.deploymentId,teamId:String(e.meta.teamId??""),token:s})):[]}let j=(e,t)=>({resourceId:e.appId,deploymentId:t.deploymentId??e.deploymentId,rowId:t.rowId,at:t.at,level:t.level,message:(0,u.l)((0,u.h)(t.message),2e3),requestMethod:t.requestMethod,requestPath:(0,u.n)(t.requestPath?(0,u.h)(t.requestPath):null),statusCode:t.statusCode,source:t.source});async function C(e,o,c){let u,[h]=await (0,n.db)().select().from(i.settings).where((0,t.eq)(i.settings.key,"logs.disabled")).limit(1);if(h?.value===!0)return;let d=await O(null);if(!d.length)return;let p=(0,R.dayStart)((0,R.dayKey)(e)),f=new Map((await (0,n.db)().select({id:i.storedLogs.resourceId,n:s.sql`count(*)::int`}).from(i.storedLogs).where((0,t.and)((0,t.inArray)(i.storedLogs.resourceId,d.map(e=>e.appId)),(0,t.gte)(i.storedLogs.at,p))).groupBy(i.storedLogs.resourceId)).map(e=>[e.id,e.n])),m=new Map((await (0,n.db)().select({id:i.storedLogs.resourceId,at:(0,r.max)(i.storedLogs.at)}).from(i.storedLogs).where((0,t.inArray)(i.storedLogs.resourceId,d.map(e=>e.appId))).groupBy(i.storedLogs.resourceId)).map(e=>[e.id,e.at])),[g]=await (0,n.db)().select().from(i.settings).where((0,t.eq)(i.settings.key,I)).limit(1),b=(u=g?.value)&&"object"==typeof u&&!Array.isArray(u)?Object.fromEntries(Object.entries(u).filter(e=>"string"==typeof e[1]&&!Number.isNaN(Date.parse(e[1])))):{},y=e.getTime()-864e5,w=await (0,a.P)(d,3,t=>{if(Date.now()+8500>o)return Promise.resolve(null);let r=[m.get(t.appId)?.getTime(),b[t.appId]?Date.parse(b[t.appId]):void 0].filter(e=>void 0!==e),s=new Date(Math.max(r.length?Math.max(...r)-3e5:y,y));return T(t.token,t.teamId,t.projectId,{since:s,until:e,now:e,levels:E,environment:"production",maxRows:300})}),v=d.map((e,t)=>{let r=w[t];return r?r.ok?(r.more&&c.push(`logs/${e.appName}: more than 300 log lines since the last read; the oldest were skipped`),r.lines.filter(e=>E.includes(e.level))):(c.push(`logs/${e.appName}: ${r.error}`),[]):[]}),k=v.flat().map(e=>e.rowId),_=new Set(k.length?(await (0,n.db)().select({rowId:i.storedLogs.rowId}).from(i.storedLogs).where((0,t.inArray)(i.storedLogs.rowId,k))).map(e=>e.rowId):[]),S=[];for(let[e,t]of d.entries()){let r=v[e].filter(e=>!_.has(e.rowId));if(!r.length)continue;let s=f.get(t.appId)??0,a=Math.max(0,1e3-s),o=(a>=r.length?r:r.slice(r.length-a)).map(e=>j(t,e));o.length&&await (0,n.db)().insert(i.storedLogs).values(o).onConflictDoNothing({target:i.storedLogs.rowId}),s+r.length>=1e3&&S.push(t.appId)}let x=d.filter((e,t)=>w[t]?.ok);if(x.length){let t={};for(let e of d)b[e.appId]&&(t[e.appId]=b[e.appId]);for(let r of x)t[r.appId]=e.toISOString();await (0,n.db)().insert(i.settings).values({key:I,value:t}).onConflictDoUpdate({target:i.settings.key,set:{value:t,updatedAt:new Date}})}await (0,l.f)(S.map(e=>({resourceId:e,type:"system",kind:"warn",message:"Stored-log limit reached",detail:"More than 1000 warnings and errors today; the rest stay in Vercel only for its short log history (about a day on Hobby).",reason:"LogCapReached"})))}e.s(["g",0,O,"_",0,C],451682)},584820,902509,e=>{var t=e.i(336763),r=e.i(533102),s=e.i(406212),n=e.i(530298),i=e.i(122603),a=e.i(541211),o=e.i(333407);let l=String.raw`\d+\.\d+\.\d+(?:-[0-9A-Za-z.]+)?`,c="[\"'`]";function u(e){let t=/^(\d+)\.\d+\.\d+(?:-[0-9A-Za-z.]+)?$/.exec(e);return null!==t&&Number(t[1])>=9&&1e3>Number(t[1])}let h={"&":"&",""":'"',"'":"'","'":"'","/":"/","/":"/"},d=e=>e.replace(/&(?:amp|quot|#39|#x27|#x2F|#47);/gi,e=>h[e]??h[e.toLowerCase()]??e),p=RegExp(String.raw`\bnext\s*=\s*\{\s*version\s*:\s*${c}(${l})${c}`,"g"),f=RegExp(String.raw`version\s*:\s*${c}(${l})${c}\s*,\s*appDir\s*:`,"g"),m=RegExp(String.raw`appDir\s*:\s*[^,{}()]{1,16},\s*version\s*:\s*${c}(${l})${c}`,"g"),g=/\bnext\s*=\s*\{\s*version\s*(?::\s*([A-Za-z_$][\w$]*)\s*)?[,}]/g,b=e=>e.replace(/[$]/g,"\\$");var y=e.i(52535);async function w(e,t,r={}){let s=r.deadline??1/0,n=r.now??(()=>new Date),a=e=>Math.floor(Math.min(e,s)-Date.now()),o=Date.now()+15e3;if(0>=a(o))return null;let h=(e,r)=>({version:t?.version??null,status:e,findings:t?.findings??[],reason:r,checkedAt:n()}),v=(e,t)=>(0,i.K)(e,{maxBytes:3145728,timeoutMs:a(o),lookup:r.lookup,fetch:r.fetch,userAgent:"OpsConsole-Security/1.0 (+https://west-solutions.web.id)",sameOrigin:t}),k=await v(`https://${e}/`,"www");if(!k.ok&&k.error===i.l)return h("unknown","the site redirects to another host");if(!k.ok||200!==k.status)return Date.now()>=s?null:h("error",`Couldn't load the site: ${k.ok?`HTTP ${k.status}`:k.error}`);let _=(function(e,t){let r;try{r=new URL(t)}catch{return[]}let s=new Set,n=[];for(let t of e.matchAll(/<script\b[^>]*?\ssrc\s*=\s*(["'])(.*?)\1/gi)){let e;try{e=new URL(d(t[2].trim()),r)}catch{continue}if("https:"===e.protocol&&e.origin===r.origin&&e.pathname.startsWith("/_next/static/")&&(e.hash="",!s.has(e.href))){var i;s.add(e.href),n.push({href:e.href,rank:(i=e.pathname,/\/main-app[-.]/.test(i)?0:/\/(main|app-index)[-.]/.test(i)?1:/\/(webpack|polyfills|framework)[-.]/.test(i)?3:2),i:n.length})}}return n.sort((e,t)=>e.rank-t.rank||e.i-t.i).map(e=>e.href)})(k.body,k.url).slice(0,12);if(0===_.length)return h("unknown",k.body.includes("/_next/")?"version not exposed":"not a Next.js site");let S=null,x=0,A=!1;for(let e of _){if(0>=a(o)){A=!0;break}let t=await v(e,!0);if(t.ok&&200===t.status&&(x++,S=function(e){for(let t of e.matchAll(p))if(u(t[1]))return t[1];for(let t of[f,m])for(let r of e.matchAll(t))if(u(r[1]))return r[1];for(let t of e.matchAll(g)){let r=t[1]??"version",s=RegExp(String.raw`(?:^|[^\w$.])${b(r)}\s*=\s*${c}(${l})${c}`,"g"),n=null;for(let r of e.matchAll(s)){if((r.index??0)>=(t.index??0))break;n=r[1]}if(n&&u(n))return n}return null}(t.body)))break}if(!S)return Date.now()>=s?null:A||0>=a(o)?h("error","Reading the site's scripts took longer than 15 s"):0===x?h("error","Couldn't load the site's scripts"):h("unknown","version not exposed");let T=a(Date.now()+1e4);if(T<=0)return null;let R=await (0,y.y)(S,{timeoutMs:T,fetch:r.fetch});return R.ok?{version:S,status:R.findings.length?"vulnerable":"ok",findings:R.findings,reason:null,checkedAt:n()}:Date.now()>=s?null:h("error",R.error)}e.s(["P",0,w,"F",0,function(e,t){return Math.min(t+35e3,e+55e3)}],902509);var v=e.i(631065),k=e.i(412948),_=e.i(70377);function S(e){return{version:e.version,status:e.status,findings:Array.isArray(e.findings)?e.findings:[],reason:e.reason,checkedAt:e.checkedAt}}async function x(e){let i=await (0,s.db)().select({id:n.resources.id,name:n.resources.name,sec:n.appSecurity}).from(n.resources).leftJoin(n.appSecurity,(0,t.eq)(n.appSecurity.resourceId,n.resources.id)).where((0,t.and)((0,t.eq)(n.resources.kind,"app"),(0,t.eq)(n.resources.monitored,!0),(0,t.isNull)(n.resources.goneAt),e?(0,t.eq)(n.resources.id,e):void 0)).orderBy(r.sql`${n.appSecurity.checkedAt} asc nulls first`,n.resources.name).limit(_.O.apps);if(!i.length)return[];let a=await (0,s.db)().select({resourceId:n.monitors.resourceId,url:n.monitors.url}).from(n.monitors).where((0,t.inArray)(n.monitors.resourceId,i.map(e=>e.id))).orderBy(n.monitors.createdAt).limit(_.O.monitors);return i.map(e=>({id:e.id,name:e.name,prev:e.sec?S(e.sec):null,host:(0,k.m)(e.name,a.filter(t=>t.resourceId===e.id).map(e=>e.url))}))}async function A(e,i){await (0,s.db)().transaction(async s=>{await s.execute(r.sql`select pg_advisory_xact_lock(hashtext(${`app_security:${e.id}`}))`);let[a]=await s.select().from(n.appSecurity).where((0,t.eq)(n.appSecurity.resourceId,e.id)).limit(1),l=a?S(a):null;if(l&&l.checkedAt.getTime()>=i.checkedAt.getTime())return;let c="unknown"===i.status||"error"===i.status?{...i,version:l?l.version:i.version,findings:l?l.findings:i.findings}:i,u={framework:"next",version:c.version,status:c.status,findings:c.findings,reason:c.reason,checkedAt:c.checkedAt};await s.insert(n.appSecurity).values({resourceId:e.id,...u}).onConflictDoUpdate({target:n.appSecurity.resourceId,set:u,setWhere:r.sql`${n.appSecurity.checkedAt} < excluded.checked_at`});let h=(0,v.t)(e.name,l,c);h&&await (0,o.f)([{type:"system",kind:h.kind,message:h.message,detail:h.detail,resourceId:e.id,at:c.checkedAt,reason:"ok"===h.kind?"NextClean":"NextVulnerable"}],s)})}async function T(e){let t=await x(),r=0,s=0,n=[];return await (0,i.P)(t,3,async t=>{if(e-Date.now()<3e3)return void s++;try{let n=await w(t.host,t.prev,{deadline:e});if(!n)return void s++;await A(t,n),r++}catch(e){n.push(`${t.name}: ${(0,a.safeError)(e)}`)}}),{checked:r,skipped:s,failed:n}}e.s(["h",0,T,"Z",0,S],584820)},486118,e=>{let t;var r,s,n=e.i(547963),i=e.i(804308),a=e.i(515683),o=e.i(25734),l=e.i(27626),c=e.i(64858),u=e.i(248744),h=e.i(379593),d=e.i(423660),p=e.i(717799),f=e.i(336763),m=e.i(396918),g=e.i(406212),b=e.i(530298),y=e.i(503313),w=e.i(595262),v=e.i(732077),k=e.i(908223),_=e.i(328586),S=e.i(406197),x=e.i(964964),A=e.i(958948),T=e.i(348657),R=e.i(198552),E=e.i(205746),I=e.i(760859),O=e.i(518581),j=e.i(633075),C=e.i(108621),$=e.i(809303);async function P(e){let t=Date.now();try{let r=await fetch(e,{redirect:"manual",signal:AbortSignal.timeout(x.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),s=401===r.status||403===r.status?(await r.text().catch(()=>"")).slice(0,8192):"";return{status:r.status,ms:Date.now()-t,authWall:(0,x.S)(r.status,s,r.headers)}}catch{return{status:null,ms:Date.now()-t,authWall:!1}}}async function N(t,r){let{extensions:s}=await e.A(27505);return await s.runner?.lockfileJobActive(t,r).catch(()=>!1)??!1}let D={rows:async()=>await (0,g.db)().select({id:b.dependencyPrs.id,repoId:b.dependencyPrs.repoId,appId:b.dependencyPrs.appId,proposalId:b.dependencyPrs.proposalId,number:b.dependencyPrs.number,branch:b.dependencyPrs.branch,baseBranch:b.dependencyPrs.baseBranch,headSha:b.dependencyPrs.headSha,title:b.dependencyPrs.title,packages:b.dependencyPrs.packages,auto:b.dependencyPrs.auto,stage:b.dependencyPrs.stage,smokeMode:b.dependencyPrs.smokeMode,previewReadyAt:b.dependencyPrs.previewReadyAt,openedAt:b.dependencyPrs.openedAt,fullName:b.githubRepos.fullName,appName:b.resources.name}).from(b.dependencyPrs).innerJoin(b.githubRepos,(0,f.eq)(b.githubRepos.id,b.dependencyPrs.repoId)).leftJoin(b.resources,(0,f.eq)(b.resources.id,b.dependencyPrs.appId)).where((0,f.inArray)(b.dependencyPrs.stage,[...x.X])).orderBy((0,m.asc)(b.dependencyPrs.openedAt)).limit(10),security:$.X,rollback:$.K,writeToken:async()=>{let e=await (0,k.G)();return e&&"unreadable"!==e?e.token:null},readToken:async e=>{let t=await (0,_.l)(e);return t.ok?t.token:null},vercel:async e=>{let t=await (0,S.p)(e,"app"),r=t?.resource.meta.teamId;return t&&"string"==typeof r&&t.resource.externalId?{token:t.token,teamId:r,projectId:t.resource.externalId}:null},monitorUrls:async e=>(await (0,g.db)().select({url:b.monitors.url}).from(b.monitors).where((0,f.and)((0,f.eq)(b.monitors.resourceId,e),(0,f.eq)(b.monitors.kind,"http"))).limit(10)).map(e=>e.url),pull:T.b,checks:T.s,runs:A.L,previews:R.C,probe:P,errorLogs:async(e,t,r,s)=>{let n=await (0,E.f)(e.token,e.teamId,e.projectId,{since:r,until:s,now:s,deploymentId:t,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return n.ok?n.lines.length:null},merge:T.C,save:async(e,t,r,s)=>{await (0,g.db)().update(b.dependencyPrs).set({...t,stageText:s,checkedAt:new Date}).where((0,f.eq)(b.dependencyPrs.id,e)),r&&await (0,g.db)().update(O.O).set({result:s}).where((0,f.eq)(O.O.id,r)).catch(()=>void 0)},notify:e=>(0,C.y)(e),lockfileBusy:async(e,t,r)=>await N(e,t)||await (0,v.W)(r,t),audit:(e,t)=>(0,w.f)({kind:"ok",message:e,resourceId:t,actorUserId:null}),book:()=>(0,y.f)()};async function U(e,t,r=D){let s={watched:0,merged:0,stopped:0},n=()=>t-Date.now(),i=await r.rows();if(!i.length)return s;let[a,o,l]=await Promise.all([r.security().catch(()=>null),r.rollback().catch(()=>null),r.writeToken().catch(()=>null)]);if(!l)return s;let c=await r.book().catch(()=>I.a);for(let t of i){if(15e3>n())break;if(t.auto||a?.enabled)try{let n=await L(t,e,l,o?.enabled===!0,r);if(!n)continue;s.watched++;let i=t.appName?(0,I.r)(c,t.appName):"app";await q(t,n,i,o?.windowMin??30,e,l,r,s)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}return s}async function L(e,t,r,s,n){let i=await n.pull(r,e.fullName,e.number);if(!i.ok)return null;let a=await n.checks(r,e.fullName,i.data.headSha),o=null;if(a.ok&&null===a.data.checkRuns&&e.appId){let t=await n.readToken(e.appId),r=t?await n.runs(t,e.fullName,i.data.headSha):null;o=r?.ok?r.data:null}a.ok||(a={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let l=(0,x.j)({...a.data,actionRuns:o}),c={state:null,readyAt:null},u=null,h=e.appId?await n.vercel(e.appId):null;if(h&&"success"===l&&i.data.headSha===e.headSha){let r=await n.previews(h.token,h.teamId,h.projectId,i.data.headSha),s=r.ok?r.data.find(e=>"preview"===e.target)??r.data[0]??null:null;if(s&&(c={state:s.state,readyAt:s.readyAt??("ready"===s.state?t:null)},"ready"===s.state&&s.url)){let r=e.previewReadyAt??c.readyAt??t;if("logs"!==e.smokeMode){let t=(0,x.E)(e.appId?await n.monitorUrls(e.appId):[]),r=await Promise.all(t.map(async e=>({path:e,...await n.probe(`https://${s.url}${e}`)})));u=(0,x.L)(r)}u||(u=(0,x.n)(r,t,await n.errorLogs(h,s.id,r,t).catch(()=>null))),c.readyAt=r}}return{step:(0,x.M)({now:t,openedAt:e.openedAt,pr:{state:i.data.state,merged:i.data.merged,mergeable:i.data.mergeable,headSha:i.data.headSha},recordedSha:e.headSha,checks:l,preview:c,smoke:u,autoRollbackOn:s}),smoke:u,previewReadyAt:c.readyAt,headSha:i.data.headSha}}async function q(e,t,r,s,n,i,a,o){let{step:l}=t,c=t.smoke?{smokeMode:t.smoke.mode}:{},u=t.previewReadyAt?{previewReadyAt:t.previewReadyAt}:{},h={app:r,number:e.number,packages:e.packages};if("wait"===l.kind)return void await a.save(e.id,{stage:l.stage,...c,...u,...l.resetSha?{headSha:l.resetSha,previewReadyAt:null,smokeMode:null}:{}},e.proposalId,(0,x.m)(e.number,l.stage,l.reason));if("done"===l.kind)return void await a.save(e.id,{stage:l.stage,finishedAt:n},e.proposalId,(0,x.m)(e.number,l.stage));if("stop"===l.kind&&("CI gagal"===l.reason||"CI failed"===l.reason)&&await a.lockfileBusy?.(e.repoId,e.branch,e.fullName).catch(()=>!1))return void await a.save(e.id,{stage:"checks"},e.proposalId,(0,x.m)(e.number,"checks","waiting for the lockfile from the runner"));if("stop"===l.kind){await a.save(e.id,{stage:l.stage,finishedAt:n,...c},e.proposalId,(0,x.m)(e.number,l.stage,"ready-manual"===l.stage?null:l.reason)),o.stopped++,await a.notify({...h,kind:"ready-manual"===l.stage?"ready-manual":"stopped",reason:l.reason}).catch(()=>void 0);return}await a.save(e.id,{stage:"merging",...c,...u},e.proposalId,(0,x.m)(e.number,"merging"));let d=await a.merge(i,e.fullName,e.number,e.branch,e.baseBranch,e.headSha,e.title);if(d.ok){await a.save(e.id,{stage:"merged",mergedSha:d.data.sha,finishedAt:n},e.proposalId,(0,x.m)(e.number,"merged")),o.merged++,await a.audit(`${j.v}PR #${e.number} merged \xb7 ${e.packages.join(", ")}`.slice(0,200),e.appId).catch(()=>void 0),await a.notify({...h,kind:"merged",windowMin:s}).catch(()=>void 0);return}if(409===d.status)return void await a.save(e.id,{stage:"checks"},e.proposalId,(0,x.m)(e.number,"checks","new commit on the PR branch, checking again"));let p=405===d.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${d.error}`.slice(0,150);await a.save(e.id,{stage:"failed",finishedAt:n},e.proposalId,(0,x.m)(e.number,"failed",p)),o.stopped++,await a.notify({...h,kind:"stopped",reason:p}).catch(()=>void 0)}let M=null;async function B(e,t){if((0,x.f)(e,M)){M=e.getTime();try{let r=await U(e,t?.deadline??e.getTime()+5e4);r.watched&&console.log(`deps/watch: ${r.watched} PR, ${r.merged} merged, ${r.stopped} stopped`)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}}var z=e.i(653587),F=e.i(452475);let W={nav:[{group:"AI & API",after:"Observe",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",...n.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"]}]},H={dailySteps:[{name:"ai-usage-retention",run:a.$}]},G={WhyAiSlot:h.f,RecSummarySlot:u.f,AiNotesSlot:c.f,dailySteps:[{name:"advisor-summary",run:l.f}],minuteSteps:[{name:"advisor-notes",run:o.f}]},K={dailySteps:[{name:"ai-notes-retention",run:d.v}]},J={nav:[{group:"Automation",after:"Observe",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:z.t}],minuteSteps:[{name:"auto-actions",run:z.Z},{name:"deps-pr-watch",run:B}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:p.f}]},V={telegramCallback:F.proposalCallback},Y=function(...e){let t={nav:[],palette:[]};for(let r of e){for(let e of r.nav??[]){let r=t.nav.find(t=>t.group===e.group);r?r.items=[...r.items,...e.items]:t.nav.push({...e,items:[...e.items]})}t.palette.push(...r.palette??[]),r.dailySteps?.length&&(t.dailySteps=[...t.dailySteps??[],...r.dailySteps]),r.minuteSteps?.length&&(t.minuteSteps=[...t.minuteSteps??[],...r.minuteSteps]),r.WhyAiSlot&&(t.WhyAiSlot=r.WhyAiSlot),r.RecSummarySlot&&(t.RecSummarySlot=r.RecSummarySlot),r.AiNotesSlot&&(t.AiNotesSlot=r.AiNotesSlot),r.DevNotesSlot&&(t.DevNotesSlot=r.DevNotesSlot),r.office&&(t.office=r.office),r.settingsTabs?.length&&(t.settingsTabs=[...t.settingsTabs??[],...r.settingsTabs]),r.telegramCallback&&(t.telegramCallback=r.telegramCallback),r.runner&&(t.runner=r.runner),r.RepoPreviewSlot&&(t.RepoPreviewSlot=r.RepoPreviewSlot)}return t}({...W,palette:(r=W.palette??[],s={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(t=r.findIndex(e=>"/ai"===e.href))<0?[...r,s]:[...r.slice(0,t+1),s,...r.slice(t+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,i.f)()}]},H,{},{},K,J,G,V);e.s(["extensions",0,Y],486118)},178233,e=>{let t=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:null;e.s(["G",0,function(e){let r=e&&"object"==typeof e?e.pageviews:null;if(!r||"object"!=typeof r)return null;let s="string"==typeof r.readAt?Date.parse(r.readAt):0/0;if(Number.isNaN(s)||"boolean"!=typeof r.enabled)return null;if(!r.enabled)return{enabled:!1,readAt:new Date(s)};let n=t(r.total24h),i=null===r.visitors24h?null:t(r.visitors24h);if(null===n||null===i&&null!==r.visitors24h)return null;let a=36e5*Math.floor(s/36e5),o=new Map;for(let e of Array.isArray(r.hourly)?r.hourly:[]){if(!Array.isArray(e))continue;let r="string"==typeof e[0]?Date.parse(e[0]):0/0,s=t(e[1]);if(Number.isNaN(r)||null===s)continue;let n=36e5*Math.floor(r/36e5);o.set(n,(o.get(n)??0)+s)}return{enabled:!0,total:n,visitors:i,hours:Array.from({length:24},(e,t)=>{let r=a-(23-t)*36e5;return{at:new Date(r),views:o.get(r)??0}}),readAt:new Date(s)}},"R",0,function(e){return!e.gone&&e.teamId&&e.accountOk?e.hasProductionDeploy?null:"Not read: this app has no production deployment yet.":"Not read: this app isn't in a connected Vercel account."},"Z",0,function(e,t){return e.enabled?{enabled:!0,total24h:e.total,visitors24h:e.visitors,readAt:t.toISOString(),hourly:e.hourly.slice(-24).map(e=>[e.at.toISOString(),e.views])}:{enabled:!1,readAt:t.toISOString()}}])},530831,e=>{let t=(0,e.i(310086).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");e.s(["AutoRollbackForm",0,t])},657753,e=>{var t=e.i(530831);e.n(t)},842941,e=>{let t=(0,e.i(310086).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");e.s(["AutoRunForm",0,t])},27295,e=>{var t=e.i(842941);e.n(t)},699286,e=>{let t=(0,e.i(310086).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");e.s(["AutoSecurityForm",0,t])},783671,e=>{var t=e.i(699286);e.n(t)},804308,515683,585585,e=>{var t=e.i(533102),r=e.i(406212);e.i(333407);var s=e.i(518581);async function n(){await (0,r.db)().execute(t.sql`
|
|
2
|
+
${t}`).digest("hex").slice(0,8),A=(e,t,r={})=>({ok:!1,kind:e,error:t,...r});async function T(e,t,r,s){let n=(s.now??new Date).getTime(),i=Math.max(s.since.getTime(),n-864e5),o=s.until.getTime();if(i>=o)return{ok:!0,lines:[],more:!1};let l=s.maxRows??300,c=s.levels?new Set(s.levels):null,u=e=>!c||c.has(e),h=s.levels?[...new Set(s.levels.map(e=>"fatal"===e?"error":e))]:[],d=s.fetch??fetch,p=new AbortController,f=setTimeout(()=>p.abort(new DOMException("window","TimeoutError")),s.timeoutMs??8e3),m=s.signal?AbortSignal.any([p.signal,s.signal]):p.signal,g=(0,a.X)(m),b=()=>p.signal.aborted&&!s.signal?.aborted?A("transient","Vercel's log history didn't answer in time."):A("transient","Reading Vercel's log history was cancelled."),y=[],T=!1;try{for(let n=0;n<3;n++){let a,c=new URLSearchParams({projectId:r,ownerId:t,page:String(n),startDate:String(i),endDate:String(o)});s.deploymentId&&c.set("deploymentId",s.deploymentId),s.environment&&c.set("environment",s.environment),h.length&&c.set("level",h.join(","));let p=null;try{let t=await Promise.race([d(`https://vercel.com/api/logs/request-logs?${c}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:m,cache:"no-store"}),g]);if(401===t.status||403===t.status)p=A("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));p=A("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status)p=A("transient","Vercel's log history didn't answer (400); the range may be past retention.",{status:400});else if(t.ok)try{a=await Promise.race([t.json(),g])}catch(e){if(m.aborted)throw e;p=A("format","Vercel's log history answered in a format the console doesn't recognise.")}else p=A("transient",`Vercel's log history returned an error (${t.status}).`,{status:t.status});p&&await t.body?.cancel().catch(()=>void 0)}catch{p=m.aborted?b():A("transient","Couldn't reach Vercel's log history.")}if(!p){let e=v.safeParse(a),t=e.success&&a&&"object"==typeof a?Object.keys(a):[];if(!e.success||t.includes("rows")||t.includes("hasMoreRows"))if(e.success){for(let t of e.data.rows)y.push(...function(e,t,r=!1){let s=k.safeParse(e);if(!s.success)return[];let n=s.data,i={at:n.timestamp,requestMethod:n.requestMethod??null,requestPath:n.requestPath??null,statusCode:n.statusCode??null,deploymentId:n.deploymentId??null,source:(n.events??[]).map(e=>S.safeParse(e)).find(e=>e.success&&e.data.source)?.data?.source??null},a=[],o=new Map;for(let e of n.logs??[]){let r=_.safeParse(e);if(!r.success||!r.data.message)continue;let s=function(e){let t=(e??"").toLowerCase();return"warn"===t?"warning":w.includes(t)?t:"info"}(r.data.level),l=x(s,r.data.message),c=o.get(l)??0;o.set(l,c+1),t(s)&&a.push({rowId:`${n.requestId}:${l}${c?`#${c}`:""}`,level:s,message:r.data.message,...i})}if(null!=n.statusCode&&n.statusCode>=500&&t("error")&&!a.some(e=>"error"===e.level||"fatal"===e.level)&&a.push({rowId:`${n.requestId}:status`,level:"error",message:`${n.requestMethod??"GET"} ${n.requestPath??"/"} → ${n.statusCode}`,...i}),r&&0===a.length){let e=n.statusCode??0,r=e>=500?"error":e>=400?"warning":"info";t(r)&&a.push({rowId:`${n.requestId}:request`,level:r,message:`${n.requestMethod??"GET"} ${n.requestPath??"/"}${e>0?` → ${e}`:""}`,...i})}return a}(t,u,s.requests));if(!(T=e.data.hasMoreRows)||y.length>=l)break}else p=A("format","Vercel's log history answered in a format the console doesn't recognise.");else p=A("transient","Vercel's log format changed: the answer has neither rows nor hasMoreRows.")}if(p){if(0===n)return p;T=!0;break}}}finally{clearTimeout(f),p.abort()}return y.sort((e,t)=>e.at.getTime()-t.at.getTime()),y.length>l&&(y.splice(0,y.length-l),T=!0),{ok:!0,lines:y,more:T}}e.s(["f",0,T],205746);var R=e.i(728335);let E=["warning","error","fatal"],I="logs_read_cursor";async function O(e){let[r]=await (0,n.db)().select().from(i.accounts).where((0,t.and)((0,t.eq)(i.accounts.provider,"vercel"),(0,t.eq)(i.accounts.status,"ok"))).limit(1),s=r?(0,o.V)({ciphertext:r.credentialCiphertext,iv:r.credentialIv},(0,c.serverEnv)().OPS_ENCRYPTION_KEY):null;return r&&s?(await (0,n.db)().select({appId:i.resources.id,appName:i.resources.name,projectId:i.resources.externalId,meta:i.resources.meta,deploymentId:i.deployments.externalId}).from(i.deployments).innerJoin(i.resources,(0,t.eq)(i.resources.id,i.deployments.resourceId)).where((0,t.and)((0,t.eq)(i.deployments.isCurrent,!0),(0,t.eq)(i.resources.accountId,r.id),(0,t.eq)(i.resources.monitored,!0),(0,t.isNull)(i.resources.goneAt),...e?[(0,t.eq)(i.resources.id,e)]:[]))).map(e=>({appId:e.appId,appName:e.appName,projectId:e.projectId,deploymentId:e.deploymentId,teamId:String(e.meta.teamId??""),token:s})):[]}let j=(e,t)=>({resourceId:e.appId,deploymentId:t.deploymentId??e.deploymentId,rowId:t.rowId,at:t.at,level:t.level,message:(0,u.l)((0,u.h)(t.message),2e3),requestMethod:t.requestMethod,requestPath:(0,u.n)(t.requestPath?(0,u.h)(t.requestPath):null),statusCode:t.statusCode,source:t.source});async function C(e,o,c){let u,[h]=await (0,n.db)().select().from(i.settings).where((0,t.eq)(i.settings.key,"logs.disabled")).limit(1);if(h?.value===!0)return;let d=await O(null);if(!d.length)return;let p=(0,R.dayStart)((0,R.dayKey)(e)),f=new Map((await (0,n.db)().select({id:i.storedLogs.resourceId,n:s.sql`count(*)::int`}).from(i.storedLogs).where((0,t.and)((0,t.inArray)(i.storedLogs.resourceId,d.map(e=>e.appId)),(0,t.gte)(i.storedLogs.at,p))).groupBy(i.storedLogs.resourceId)).map(e=>[e.id,e.n])),m=new Map((await (0,n.db)().select({id:i.storedLogs.resourceId,at:(0,r.max)(i.storedLogs.at)}).from(i.storedLogs).where((0,t.inArray)(i.storedLogs.resourceId,d.map(e=>e.appId))).groupBy(i.storedLogs.resourceId)).map(e=>[e.id,e.at])),[g]=await (0,n.db)().select().from(i.settings).where((0,t.eq)(i.settings.key,I)).limit(1),b=(u=g?.value)&&"object"==typeof u&&!Array.isArray(u)?Object.fromEntries(Object.entries(u).filter(e=>"string"==typeof e[1]&&!Number.isNaN(Date.parse(e[1])))):{},y=e.getTime()-864e5,w=await (0,a.P)(d,3,t=>{if(Date.now()+8500>o)return Promise.resolve(null);let r=[m.get(t.appId)?.getTime(),b[t.appId]?Date.parse(b[t.appId]):void 0].filter(e=>void 0!==e),s=new Date(Math.max(r.length?Math.max(...r)-3e5:y,y));return T(t.token,t.teamId,t.projectId,{since:s,until:e,now:e,levels:E,environment:"production",maxRows:300})}),v=d.map((e,t)=>{let r=w[t];return r?r.ok?(r.more&&c.push(`logs/${e.appName}: more than 300 log lines since the last read; the oldest were skipped`),r.lines.filter(e=>E.includes(e.level))):(c.push(`logs/${e.appName}: ${r.error}`),[]):[]}),k=v.flat().map(e=>e.rowId),_=new Set(k.length?(await (0,n.db)().select({rowId:i.storedLogs.rowId}).from(i.storedLogs).where((0,t.inArray)(i.storedLogs.rowId,k))).map(e=>e.rowId):[]),S=[];for(let[e,t]of d.entries()){let r=v[e].filter(e=>!_.has(e.rowId));if(!r.length)continue;let s=f.get(t.appId)??0,a=Math.max(0,1e3-s),o=(a>=r.length?r:r.slice(r.length-a)).map(e=>j(t,e));o.length&&await (0,n.db)().insert(i.storedLogs).values(o).onConflictDoNothing({target:i.storedLogs.rowId}),s+r.length>=1e3&&S.push(t.appId)}let x=d.filter((e,t)=>w[t]?.ok);if(x.length){let t={};for(let e of d)b[e.appId]&&(t[e.appId]=b[e.appId]);for(let r of x)t[r.appId]=e.toISOString();await (0,n.db)().insert(i.settings).values({key:I,value:t}).onConflictDoUpdate({target:i.settings.key,set:{value:t,updatedAt:new Date}})}await (0,l.f)(S.map(e=>({resourceId:e,type:"system",kind:"warn",message:"Stored-log limit reached",detail:"More than 1000 warnings and errors today; the rest stay in Vercel only for its short log history (about a day on Hobby).",reason:"LogCapReached"})))}e.s(["g",0,O,"_",0,C],451682)},584820,902509,e=>{var t=e.i(336763),r=e.i(533102),s=e.i(406212),n=e.i(530298),i=e.i(122603),a=e.i(541211),o=e.i(333407);let l=String.raw`\d+\.\d+\.\d+(?:-[0-9A-Za-z.]+)?`,c="[\"'`]";function u(e){let t=/^(\d+)\.\d+\.\d+(?:-[0-9A-Za-z.]+)?$/.exec(e);return null!==t&&Number(t[1])>=9&&1e3>Number(t[1])}let h={"&":"&",""":'"',"'":"'","'":"'","/":"/","/":"/"},d=e=>e.replace(/&(?:amp|quot|#39|#x27|#x2F|#47);/gi,e=>h[e]??h[e.toLowerCase()]??e),p=RegExp(String.raw`\bnext\s*=\s*\{\s*version\s*:\s*${c}(${l})${c}`,"g"),f=RegExp(String.raw`version\s*:\s*${c}(${l})${c}\s*,\s*appDir\s*:`,"g"),m=RegExp(String.raw`appDir\s*:\s*[^,{}()]{1,16},\s*version\s*:\s*${c}(${l})${c}`,"g"),g=/\bnext\s*=\s*\{\s*version\s*(?::\s*([A-Za-z_$][\w$]*)\s*)?[,}]/g,b=e=>e.replace(/[$]/g,"\\$");var y=e.i(52535);async function w(e,t,r={}){let s=r.deadline??1/0,n=r.now??(()=>new Date),a=e=>Math.floor(Math.min(e,s)-Date.now()),o=Date.now()+15e3;if(0>=a(o))return null;let h=(e,r)=>({version:t?.version??null,status:e,findings:t?.findings??[],reason:r,checkedAt:n()}),v=(e,t)=>(0,i.K)(e,{maxBytes:3145728,timeoutMs:a(o),lookup:r.lookup,fetch:r.fetch,userAgent:"OpsConsole-Security/1.0 (+https://west-solutions.web.id)",sameOrigin:t}),k=await v(`https://${e}/`,"www");if(!k.ok&&k.error===i.l)return h("unknown","the site redirects to another host");if(!k.ok||200!==k.status)return Date.now()>=s?null:h("error",`Couldn't load the site: ${k.ok?`HTTP ${k.status}`:k.error}`);let _=(function(e,t){let r;try{r=new URL(t)}catch{return[]}let s=new Set,n=[];for(let t of e.matchAll(/<script\b[^>]*?\ssrc\s*=\s*(["'])(.*?)\1/gi)){let e;try{e=new URL(d(t[2].trim()),r)}catch{continue}if("https:"===e.protocol&&e.origin===r.origin&&e.pathname.startsWith("/_next/static/")&&(e.hash="",!s.has(e.href))){var i;s.add(e.href),n.push({href:e.href,rank:(i=e.pathname,/\/main-app[-.]/.test(i)?0:/\/(main|app-index)[-.]/.test(i)?1:/\/(webpack|polyfills|framework)[-.]/.test(i)?3:2),i:n.length})}}return n.sort((e,t)=>e.rank-t.rank||e.i-t.i).map(e=>e.href)})(k.body,k.url).slice(0,12);if(0===_.length)return h("unknown",k.body.includes("/_next/")?"version not exposed":"not a Next.js site");let S=null,x=0,A=!1;for(let e of _){if(0>=a(o)){A=!0;break}let t=await v(e,!0);if(t.ok&&200===t.status&&(x++,S=function(e){for(let t of e.matchAll(p))if(u(t[1]))return t[1];for(let t of[f,m])for(let r of e.matchAll(t))if(u(r[1]))return r[1];for(let t of e.matchAll(g)){let r=t[1]??"version",s=RegExp(String.raw`(?:^|[^\w$.])${b(r)}\s*=\s*${c}(${l})${c}`,"g"),n=null;for(let r of e.matchAll(s)){if((r.index??0)>=(t.index??0))break;n=r[1]}if(n&&u(n))return n}return null}(t.body)))break}if(!S)return Date.now()>=s?null:A||0>=a(o)?h("error","Reading the site's scripts took longer than 15 s"):0===x?h("error","Couldn't load the site's scripts"):h("unknown","version not exposed");let T=a(Date.now()+1e4);if(T<=0)return null;let R=await (0,y.y)(S,{timeoutMs:T,fetch:r.fetch});return R.ok?{version:S,status:R.findings.length?"vulnerable":"ok",findings:R.findings,reason:null,checkedAt:n()}:Date.now()>=s?null:h("error",R.error)}e.s(["P",0,w,"F",0,function(e,t){return Math.min(t+35e3,e+55e3)}],902509);var v=e.i(631065),k=e.i(412948),_=e.i(70377);function S(e){return{version:e.version,status:e.status,findings:Array.isArray(e.findings)?e.findings:[],reason:e.reason,checkedAt:e.checkedAt}}async function x(e){let i=await (0,s.db)().select({id:n.resources.id,name:n.resources.name,sec:n.appSecurity}).from(n.resources).leftJoin(n.appSecurity,(0,t.eq)(n.appSecurity.resourceId,n.resources.id)).where((0,t.and)((0,t.eq)(n.resources.kind,"app"),(0,t.eq)(n.resources.monitored,!0),(0,t.isNull)(n.resources.goneAt),e?(0,t.eq)(n.resources.id,e):void 0)).orderBy(r.sql`${n.appSecurity.checkedAt} asc nulls first`,n.resources.name).limit(_.O.apps);if(!i.length)return[];let a=await (0,s.db)().select({resourceId:n.monitors.resourceId,url:n.monitors.url}).from(n.monitors).where((0,t.inArray)(n.monitors.resourceId,i.map(e=>e.id))).orderBy(n.monitors.createdAt).limit(_.O.monitors);return i.map(e=>({id:e.id,name:e.name,prev:e.sec?S(e.sec):null,host:(0,k.m)(e.name,a.filter(t=>t.resourceId===e.id).map(e=>e.url))}))}async function A(e,i){await (0,s.db)().transaction(async s=>{await s.execute(r.sql`select pg_advisory_xact_lock(hashtext(${`app_security:${e.id}`}))`);let[a]=await s.select().from(n.appSecurity).where((0,t.eq)(n.appSecurity.resourceId,e.id)).limit(1),l=a?S(a):null;if(l&&l.checkedAt.getTime()>=i.checkedAt.getTime())return;let c="unknown"===i.status||"error"===i.status?{...i,version:l?l.version:i.version,findings:l?l.findings:i.findings}:i,u={framework:"next",version:c.version,status:c.status,findings:c.findings,reason:c.reason,checkedAt:c.checkedAt};await s.insert(n.appSecurity).values({resourceId:e.id,...u}).onConflictDoUpdate({target:n.appSecurity.resourceId,set:u,setWhere:r.sql`${n.appSecurity.checkedAt} < excluded.checked_at`});let h=(0,v.t)(e.name,l,c);h&&await (0,o.f)([{type:"system",kind:h.kind,message:h.message,detail:h.detail,resourceId:e.id,at:c.checkedAt,reason:"ok"===h.kind?"NextClean":"NextVulnerable"}],s)})}async function T(e){let t=await x(),r=0,s=0,n=[];return await (0,i.P)(t,3,async t=>{if(e-Date.now()<3e3)return void s++;try{let n=await w(t.host,t.prev,{deadline:e});if(!n)return void s++;await A(t,n),r++}catch(e){n.push(`${t.name}: ${(0,a.safeError)(e)}`)}}),{checked:r,skipped:s,failed:n}}e.s(["h",0,T,"Z",0,S],584820)},486118,e=>{let t;var r,s,n=e.i(547963),i=e.i(804308),a=e.i(515683),o=e.i(25734),l=e.i(27626),c=e.i(64858),u=e.i(248744),h=e.i(379593),d=e.i(423660),p=e.i(717799),f=e.i(336763),m=e.i(396918),g=e.i(406212),b=e.i(530298),y=e.i(503313),w=e.i(595262),v=e.i(638809),k=e.i(732077),_=e.i(908223),S=e.i(328586),x=e.i(406197),A=e.i(964964),T=e.i(958948),R=e.i(348657),E=e.i(198552),I=e.i(205746),O=e.i(760859),j=e.i(518581),C=e.i(633075),$=e.i(108621),P=e.i(809303);async function N(e){let t=Date.now();try{let r=await fetch(e,{redirect:"manual",signal:AbortSignal.timeout(A.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),s=401===r.status||403===r.status?(await r.text().catch(()=>"")).slice(0,8192):"";return{status:r.status,ms:Date.now()-t,authWall:(0,A.S)(r.status,s,r.headers)}}catch{return{status:null,ms:Date.now()-t,authWall:!1}}}async function D(t,r){let{extensions:s}=await e.A(27505);return await s.runner?.lockfileJobActive(t,r).catch(()=>!1)??!1}let U={rows:async()=>await (0,g.db)().select({id:b.dependencyPrs.id,repoId:b.dependencyPrs.repoId,appId:b.dependencyPrs.appId,proposalId:b.dependencyPrs.proposalId,number:b.dependencyPrs.number,branch:b.dependencyPrs.branch,baseBranch:b.dependencyPrs.baseBranch,headSha:b.dependencyPrs.headSha,title:b.dependencyPrs.title,packages:b.dependencyPrs.packages,auto:b.dependencyPrs.auto,stage:b.dependencyPrs.stage,smokeMode:b.dependencyPrs.smokeMode,previewReadyAt:b.dependencyPrs.previewReadyAt,openedAt:b.dependencyPrs.openedAt,fullName:b.githubRepos.fullName,appName:b.resources.name}).from(b.dependencyPrs).innerJoin(b.githubRepos,(0,f.eq)(b.githubRepos.id,b.dependencyPrs.repoId)).leftJoin(b.resources,(0,f.eq)(b.resources.id,b.dependencyPrs.appId)).where((0,f.inArray)(b.dependencyPrs.stage,[...A.X])).orderBy((0,m.asc)(b.dependencyPrs.openedAt)).limit(10),security:P.X,rollback:P.K,writeToken:async()=>{let e=await (0,_.G)();return e&&"unreadable"!==e?e.token:null},readToken:async e=>{let t=await (0,S.l)(e);return t.ok?t.token:null},vercel:async e=>{let t=await (0,x.p)(e,"app"),r=t?.resource.meta.teamId;return t&&"string"==typeof r&&t.resource.externalId?{token:t.token,teamId:r,projectId:t.resource.externalId}:null},monitorUrls:async e=>(await (0,g.db)().select({url:b.monitors.url}).from(b.monitors).where((0,f.and)((0,f.eq)(b.monitors.resourceId,e),(0,f.eq)(b.monitors.kind,"http"))).limit(10)).map(e=>e.url),pull:R.b,checks:R.s,runs:T.L,previews:E.C,probe:N,errorLogs:async(e,t,r,s)=>{let n=await (0,I.f)(e.token,e.teamId,e.projectId,{since:r,until:s,now:s,deploymentId:t,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return n.ok?n.lines.length:null},merge:R.C,save:async(e,t,r,s)=>{await (0,g.db)().update(b.dependencyPrs).set({...t,stageText:s,checkedAt:new Date}).where((0,f.eq)(b.dependencyPrs.id,e)),r&&await (0,g.db)().update(j.O).set({result:s}).where((0,f.eq)(j.O.id,r)).catch(()=>void 0)},notify:e=>(0,$.y)(e),lockfileBusy:async(e,t,r)=>await D(e,t)||await (0,k.W)(r,t),audit:(e,t)=>(0,w.f)({kind:"ok",message:e,resourceId:t,actorUserId:null}),book:()=>(0,y.f)()};async function L(e,t,r=U){let s={watched:0,merged:0,stopped:0},n=()=>t-Date.now(),i=await r.rows();if(!i.length)return s;let[a,o,l]=await Promise.all([r.security().catch(()=>null),r.rollback().catch(()=>null),r.writeToken().catch(()=>null)]);if(!l)return s;let c=await r.book().catch(()=>O.a);for(let t of i){if(15e3>n())break;if(t.auto||a?.enabled)try{let n=await q(t,e,l,o?.enabled===!0,r);if(!n)continue;s.watched++;let i=t.appName?(0,O.r)(c,t.appName):"app";await M(t,n,i,o?.windowMin??30,e,l,r,s)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}return s}async function q(e,t,r,s,n){let i=await n.pull(r,e.fullName,e.number);if(!i.ok)return null;let a=await n.checks(r,e.fullName,i.data.headSha),o=null;if(a.ok&&null===a.data.checkRuns&&e.appId){let t=await n.readToken(e.appId),r=t?await n.runs(t,e.fullName,i.data.headSha):null;o=r?.ok?r.data:null}a.ok||(a={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let l=(0,A.j)({...a.data,actionRuns:o}),c={state:null,readyAt:null},u=null,h=e.appId?await n.vercel(e.appId):null;if(h&&"success"===l&&i.data.headSha===e.headSha){let r=await n.previews(h.token,h.teamId,h.projectId,i.data.headSha),s=r.ok?r.data.find(e=>"preview"===e.target)??r.data[0]??null:null;if(s&&(c={state:s.state,readyAt:s.readyAt??("ready"===s.state?t:null)},"ready"===s.state&&s.url)){let r=e.previewReadyAt??c.readyAt??t;if("logs"!==e.smokeMode){let t=(0,A.E)(e.appId?await n.monitorUrls(e.appId):[]),r=await Promise.all(t.map(async e=>({path:e,...await n.probe(`https://${s.url}${e}`)})));u=(0,A.L)(r)}u||(u=(0,A.n)(r,t,await n.errorLogs(h,s.id,r,t).catch(()=>null))),c.readyAt=r}}return{step:(0,A.M)({now:t,openedAt:e.openedAt,pr:{state:i.data.state,merged:i.data.merged,mergeable:i.data.mergeable,headSha:i.data.headSha},recordedSha:e.headSha,checks:l,preview:c,smoke:u,autoRollbackOn:s}),smoke:u,previewReadyAt:c.readyAt,headSha:i.data.headSha}}async function M(e,t,r,s,n,i,a,o){let{step:l}=t,c=t.smoke?{smokeMode:t.smoke.mode}:{},u=t.previewReadyAt?{previewReadyAt:t.previewReadyAt}:{},h={app:r,number:e.number,packages:e.packages};if("wait"===l.kind)return void await a.save(e.id,{stage:l.stage,...c,...u,...l.resetSha?{headSha:l.resetSha,previewReadyAt:null,smokeMode:null}:{}},e.proposalId,(0,A.m)(e.number,l.stage,l.reason));if("done"===l.kind)return void await a.save(e.id,{stage:l.stage,finishedAt:n},e.proposalId,(0,A.m)(e.number,l.stage));if("stop"===l.kind&&("CI gagal"===l.reason||"CI failed"===l.reason)&&await a.lockfileBusy?.(e.repoId,e.branch,e.fullName).catch(()=>!1))return void await a.save(e.id,{stage:"checks"},e.proposalId,(0,A.m)(e.number,"checks","waiting for the lockfile from the runner"));if("stop"===l.kind){await a.save(e.id,{stage:l.stage,finishedAt:n,...c},e.proposalId,(0,A.m)(e.number,l.stage,"ready-manual"===l.stage?null:l.reason)),o.stopped++,await a.notify({...h,kind:"ready-manual"===l.stage?"ready-manual":"stopped",reason:l.reason}).catch(()=>void 0);return}await a.save(e.id,{stage:"merging",...c,...u},e.proposalId,(0,A.m)(e.number,"merging"));let d=await a.merge(i,e.fullName,e.number,e.branch,e.baseBranch,e.headSha,e.title);if(d.ok){await a.save(e.id,{stage:"merged",mergedSha:d.data.sha,finishedAt:n},e.proposalId,(0,A.m)(e.number,"merged")),o.merged++,await a.audit(`${C.v}PR #${e.number} merged \xb7 ${e.packages.join(", ")}`.slice(0,200),e.appId).catch(()=>void 0),await a.notify({...h,kind:"merged",windowMin:s}).catch(()=>void 0);return}if(409===d.status)return void await a.save(e.id,{stage:"checks"},e.proposalId,(0,A.m)(e.number,"checks","new commit on the PR branch, checking again"));let p=405===d.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${d.error}`.slice(0,150);await a.save(e.id,{stage:"failed",finishedAt:n},e.proposalId,(0,A.m)(e.number,"failed",p)),o.stopped++,await a.notify({...h,kind:"stopped",reason:p}).catch(()=>void 0)}let B=null;async function z(e,t,r=v.I){if((0,A.f)(e,B)&&!(await r()).has("devops")){B=e.getTime();try{let r=await L(e,t?.deadline??e.getTime()+5e4);r.watched&&console.log(`deps/watch: ${r.watched} PR, ${r.merged} merged, ${r.stopped} stopped`)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}}var F=e.i(653587),W=e.i(452475);let H={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",...n.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"]}]},G={dailySteps:[{name:"ai-usage-retention",run:a.$}]},K={WhyAiSlot:h.f,RecSummarySlot:u.f,AiNotesSlot:c.f,dailySteps:[{name:"advisor-summary",run:l.f}],minuteSteps:[{name:"advisor-notes",run:o.f}]},J={dailySteps:[{name:"ai-notes-retention",run:d.v}]},V={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:F.t}],minuteSteps:[{name:"auto-actions",run:F.Z},{name:"deps-pr-watch",run:z}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:p.f}]},Y={telegramCallback:W.proposalCallback},X=function(...e){let t={nav:[],palette:[]};for(let r of e){for(let e of r.nav??[]){let r=t.nav.find(t=>t.section===e.section&&t.after===e.after);r?r.items=[...r.items,...e.items]:t.nav.push({...e,items:[...e.items]})}t.palette.push(...r.palette??[]),r.dailySteps?.length&&(t.dailySteps=[...t.dailySteps??[],...r.dailySteps]),r.minuteSteps?.length&&(t.minuteSteps=[...t.minuteSteps??[],...r.minuteSteps]),r.WhyAiSlot&&(t.WhyAiSlot=r.WhyAiSlot),r.RecSummarySlot&&(t.RecSummarySlot=r.RecSummarySlot),r.AiNotesSlot&&(t.AiNotesSlot=r.AiNotesSlot),r.DevNotesSlot&&(t.DevNotesSlot=r.DevNotesSlot),r.office&&(t.office=r.office),r.settingsTabs?.length&&(t.settingsTabs=[...t.settingsTabs??[],...r.settingsTabs]),r.telegramCallback&&(t.telegramCallback=r.telegramCallback),r.runner&&(t.runner=r.runner),r.RepoPreviewSlot&&(t.RepoPreviewSlot=r.RepoPreviewSlot)}return t}({...H,palette:(r=H.palette??[],s={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(t=r.findIndex(e=>"/ai"===e.href))<0?[...r,s]:[...r.slice(0,t+1),s,...r.slice(t+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,i.f)()}]},G,{},{},J,V,K,Y);e.s(["extensions",0,X],486118)},178233,e=>{let t=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:null;e.s(["G",0,function(e){let r=e&&"object"==typeof e?e.pageviews:null;if(!r||"object"!=typeof r)return null;let s="string"==typeof r.readAt?Date.parse(r.readAt):0/0;if(Number.isNaN(s)||"boolean"!=typeof r.enabled)return null;if(!r.enabled)return{enabled:!1,readAt:new Date(s)};let n=t(r.total24h),i=null===r.visitors24h?null:t(r.visitors24h);if(null===n||null===i&&null!==r.visitors24h)return null;let a=36e5*Math.floor(s/36e5),o=new Map;for(let e of Array.isArray(r.hourly)?r.hourly:[]){if(!Array.isArray(e))continue;let r="string"==typeof e[0]?Date.parse(e[0]):0/0,s=t(e[1]);if(Number.isNaN(r)||null===s)continue;let n=36e5*Math.floor(r/36e5);o.set(n,(o.get(n)??0)+s)}return{enabled:!0,total:n,visitors:i,hours:Array.from({length:24},(e,t)=>{let r=a-(23-t)*36e5;return{at:new Date(r),views:o.get(r)??0}}),readAt:new Date(s)}},"R",0,function(e){return!e.gone&&e.teamId&&e.accountOk?e.hasProductionDeploy?null:"Not read: this app has no production deployment yet.":"Not read: this app isn't in a connected Vercel account."},"Z",0,function(e,t){return e.enabled?{enabled:!0,total24h:e.total,visitors24h:e.visitors,readAt:t.toISOString(),hourly:e.hourly.slice(-24).map(e=>[e.at.toISOString(),e.views])}:{enabled:!1,readAt:t.toISOString()}}])},530831,e=>{let t=(0,e.i(310086).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");e.s(["AutoRollbackForm",0,t])},657753,e=>{var t=e.i(530831);e.n(t)},842941,e=>{let t=(0,e.i(310086).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");e.s(["AutoRunForm",0,t])},27295,e=>{var t=e.i(842941);e.n(t)},699286,e=>{let t=(0,e.i(310086).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");e.s(["AutoSecurityForm",0,t])},783671,e=>{var t=e.i(699286);e.n(t)},804308,515683,585585,e=>{var t=e.i(533102),r=e.i(406212);e.i(333407);var s=e.i(518581);async function n(){await (0,r.db)().execute(t.sql`
|
|
3
3
|
delete from ops.ai_agents where id in (select id from ops.ai_agents order by last_seen_at desc offset ${2e3})
|
|
4
4
|
`)}e.s(["f",0,n],804308);var i=e.i(885298);let a={name:"watchpost-console",version:"5c",via:"console",userAgent:"Watchbell console"},o=t.sql.raw("'00000000-0000-0000-0000-000000000000'::uuid");async function l(e,s){let n=e.client,i=e.tool??e.model,a=e.tokensIn??0,l=e.tokensOut??0,c=JSON.stringify(s.map(e=>({provider_id:e.providerId,scope:e.scope.slice(0,100),metric:e.metric.slice(0,40),used:e.used,limit:e.limit,remaining:e.remaining,reset_at:e.resetAt?.toISOString()??null,source:e.source}))),u=e.at.toISOString();await (0,r.db)().execute(t.sql`
|
|
5
5
|
with agent as (
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[[871198,(e,t,r)=>{function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var a={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var i=n?Object.getOwnPropertyDescriptor(e,s):null;i&&(i.get||i.set)?Object.defineProperty(a,s,i):a[s]=e[s]}return a.default=e,r&&r.set(e,a),a}},963679,e=>{var t=e.i(845656);e.n(t)},287568,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return l},useLinkStatus:function(){return i.useLinkStatus}};for(var a in o)Object.defineProperty(r,a,{enumerable:!0,get:o[a]});let n=e.r(871198),s=e.r(222260),i=n._(e.r(963679));function l(e){let t=e.legacyBehavior,r="string"==typeof e.children||"number"==typeof e.children||"string"==typeof e.children?.type,o=e.children?.type?.$$typeof===Symbol.for("react.client.reference");return!t||r||o||(e.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,s.jsx)(i.default,{...e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},222260,(e,t,r)=>{t.exports=e.r(442315).vendored["react-rsc"].ReactJsxRuntime},997953,(e,t,r)=>{t.exports=e.r(442315).vendored["react-rsc"].ReactServerDOMTurbopackServer},595935,e=>{var t=e.i(997953);(0,t.registerClientReference)(function(){throw Error("Attempted to call AliasProvider() from the server but AliasProvider 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/alias.tsx","AliasProvider"),(0,t.registerClientReference)(function(){throw Error("Attempted to call DbName() from the server but DbName 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/alias.tsx","DbName"),(0,t.registerClientReference)(function(){throw Error("Attempted to call Masked() from the server but Masked 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/alias.tsx","Masked");let r=(0,t.registerClientReference)(function(){throw Error("Attempted to call MaskedText() from the server but MaskedText 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/alias.tsx","MaskedText");(0,t.registerClientReference)(function(){throw Error("Attempted to call Reveal() from the server but Reveal 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/alias.tsx","Reveal"),(0,t.registerClientReference)(function(){throw Error("Attempted to call maskedValue() from the server but maskedValue 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/alias.tsx","maskedValue"),(0,t.registerClientReference)(function(){throw Error("Attempted to call useAliasBook() from the server but useAliasBook 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/alias.tsx","useAliasBook"),(0,t.registerClientReference)(function(){throw Error("Attempted to call useMask() from the server but useMask 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/alias.tsx","useMask"),(0,t.registerClientReference)(function(){throw Error("Attempted to call usePrivacy() from the server but usePrivacy 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/alias.tsx","usePrivacy"),e.s(["MaskedText",0,r])},646822,e=>{var t=e.i(595935);e.n(t)},13733,e=>{var t=e.i(875225),r=e.i(349129),o=e.i(924924),a=e.i(618916),n=e.i(390775),s=e.i(921991),i=e.i(547499);let l=e=>e.trim().toLowerCase();var d=e.i(479301),c=e.i(455037);async function p(e){let l=e?(0,t.b)((0,t.u)(a.accounts.id,e),(0,t.u)(a.accounts.provider,"github")):(0,t.u)(a.accounts.provider,"github"),[d]=await (0,o.f)().select().from(a.accounts).where(l).orderBy((0,r.M)(a.accounts.createdAt)).limit(1);if(!d)return null;let c=(0,s.V)({ciphertext:d.credentialCiphertext,iv:d.credentialIv},(0,i.f)().OPS_ENCRYPTION_KEY);return{account:d,token:c,problem:(0,n.A)(c)}}async function u(e,t,r){let o=0;for(let a=0;a<e.length&&!(Date.now()>t);a+=5){let t=e.slice(a,a+5);o+=t.length,await Promise.allSettled(t.map(r))}return o}async function m(e,r,s={}){var i,d;let h,b,g=await p(e);if(!g)return{ok:!1,error:"GitHub isn't connected."};let{account:w,token:y,problem:k}=g;if(k||!y)return{ok:!1,error:k??"The credential can't be read."};let v=await (0,c.o)(y,s);if(!v.ok){let e=(0,n.E)({ok:!1,kind:"scope"===v.kind?"auth":"missing"===v.kind?"transient":v.kind,error:v.error});return e&&await (0,o.f)().update(a.accounts).set({...e,updatedAt:new Date}).where((0,t.u)(a.accounts.id,w.id)),{ok:!1,error:v.error}}let x=new Date,A=(i=await (0,o.f)().select({id:a.githubRepos.id,externalId:a.githubRepos.externalId,goneAt:a.githubRepos.goneAt}).from(a.githubRepos).where((0,t.u)(a.githubRepos.accountId,w.id)).limit(1e3),d=v.data.repos,h=new Map(i.map(e=>[e.externalId,e])),b=new Set(d.map(e=>e.id)),{insert:d.filter(e=>!h.has(e.id)),update:d.filter(e=>h.has(e.id)).map(e=>({id:h.get(e.id).id,repo:e})),gone:i.filter(e=>!b.has(e.externalId)&&!e.goneAt).map(e=>e.id)}),j=e=>({owner:e.owner,name:e.name,fullName:e.fullName,defaultBranch:e.defaultBranch,private:e.private,archived:e.archived,htmlUrl:e.htmlUrl,pushedAt:e.pushedAt});await (0,o.f)().transaction(async e=>{for(let r of A.update)await e.update(a.githubRepos).set({...j(r.repo),lastSeenAt:x,goneAt:null,updatedAt:x}).where((0,t.u)(a.githubRepos.id,r.id));A.insert.length&&await e.insert(a.githubRepos).values(A.insert.map(e=>({accountId:w.id,externalId:e.id,...j(e)}))).onConflictDoNothing({target:[a.githubRepos.accountId,a.githubRepos.externalId]}),A.gone.length&&await e.update(a.githubRepos).set({goneAt:x,updatedAt:x}).where((0,t.b)((0,t.y)(a.githubRepos.id,A.gone),(0,t.M)(a.githubRepos.goneAt)))});let I=await (0,o.f)().select().from(a.githubRepos).where((0,t.u)(a.githubRepos.accountId,w.id)).limit(1e3),R=[];v.data.truncated&&R.push("Only the 300 most recently pushed repositories are listed.");let C=!1;await u(I.filter(e=>!e.archived&&!e.goneAt&&(!e.packageCheckedAt||null!==e.pushedAt&&e.pushedAt>e.packageCheckedAt)).sort((e,t)=>(t.pushedAt?.getTime()??0)-(e.pushedAt?.getTime()??0)).slice(0,10),r,async e=>{let r=await (0,c.q)(y,e.fullName,s);r.ok?await (0,o.f)().update(a.githubRepos).set({packageName:r.data,packageCheckedAt:new Date,updatedAt:new Date}).where((0,t.u)(a.githubRepos.id,e.id)):"scope"===r.kind&&(C=!0)}),C&&R.push("Some package.json files can't be read: give the token Contents read on those repositories.");let S=await (0,o.f)().select({id:a.resources.id,name:a.resources.name,meta:a.resources.meta}).from(a.resources).where((0,t.b)((0,t.u)(a.resources.kind,"app"),(0,t.M)(a.resources.goneAt))).limit(500),N=await (0,o.f)().select({appId:a.appRepos.appId,repoId:a.appRepos.repoId,source:a.appRepos.source}).from(a.appRepos).limit(500),M=e=>"string"==typeof e&&e?e:null,z=function(e,t,r){let o=new Map(t.filter(e=>!e.goneAt).map(e=>[l(e.fullName),e.id])),a=new Map(r.map(e=>[e.appId,e])),n=[];for(let t of e){if("github"!==t.repoType||!t.repo)continue;let e=o.get(l(t.repo));if(!e)continue;let r=a.get(t.id);r?.source!=="manual"&&r?.repoId!==e&&n.push({appId:t.id,repoId:e})}return n}(S.map(e=>({id:e.id,name:e.name,repo:M(e.meta.repo),repoType:M(e.meta.repoType)})),I,N);for(let e of z)await (0,o.f)().insert(a.appRepos).values({appId:e.appId,repoId:e.repoId,source:"vercel"}).onConflictDoUpdate({target:a.appRepos.appId,set:{repoId:e.repoId,source:"vercel",updatedAt:new Date},setWhere:(0,t.c)(a.appRepos.source,"manual")});let P=await (0,o.f)().selectDistinct({id:a.githubRepos.id,fullName:a.githubRepos.fullName,defaultBranch:a.githubRepos.defaultBranch}).from(a.appRepos).innerJoin(a.githubRepos,(0,t.u)(a.githubRepos.id,a.appRepos.repoId)).where((0,t.b)((0,t.u)(a.githubRepos.accountId,w.id),(0,t.M)(a.githubRepos.goneAt))).limit(500),O=!1,$=await u(P,r,async e=>{let t=await (0,c.W)(y,e.fullName,e.defaultBranch,s);t.ok?await f(e.id,t.data):"scope"===t.kind&&(O=!0)});O&&R.push("Some Actions runs can't be read: give the token Actions read on those repositories."),$<P.length&&R.push(`${P.length-$} Actions status${P.length-$==1?"":"es"} left for the next run, time budget used.`);let T=await (0,c.k)(y,s);return await (0,o.f)().update(a.accounts).set({lastSyncAt:x,status:"ok",lastError:null,updatedAt:x,...T.ok?{expiresAt:T.data.expiresAt}:{}}).where((0,t.u)(a.accounts.id,w.id)),{ok:!0,repos:I.filter(e=>!e.goneAt).length,linked:P.length,newLinks:z.length,notes:R}}async function f(e,r){await (0,o.f)().update(a.githubRepos).set({actions:r,actionsCheckedAt:new Date,updatedAt:new Date}).where((0,t.u)(a.githubRepos.id,e))}async function h(e){let[r]=await (0,o.f)().select({id:a.accounts.id}).from(a.accounts).where((0,t.u)(a.accounts.provider,"github")).limit(1);if(!r)return null;if(Date.now()>e)return"left for the next run, time budget used";let n=await m(r.id,e);return n.ok?null:n.error}async function b(e){if(!(0,d.f)(e))return{ok:!1,reason:"no-repo",error:"That app no longer exists."};let[r]=await (0,o.f)().select({r:a.githubRepos}).from(a.appRepos).innerJoin(a.githubRepos,(0,t.u)(a.githubRepos.id,a.appRepos.repoId)).where((0,t.b)((0,t.u)(a.appRepos.appId,e),(0,t.M)(a.githubRepos.goneAt))).limit(1);if(!r)return{ok:!1,reason:"no-repo",error:"This app isn't linked to a GitHub repository yet."};let n=await p(r.r.accountId);return n?.token?{ok:!0,fullName:r.r.fullName,defaultBranch:r.r.defaultBranch,token:n.token}:{ok:!1,reason:"no-token",error:"The GitHub token can't be read; check the GitHub connection."}}e.s(["D",0,h,"l",0,b],13733)},310603,e=>{let t;var r,o,a=e.i(313931),n=e.i(597420),s=e.i(121232),i=e.i(613394),l=e.i(486400),d=e.i(643801),c=e.i(972857),p=e.i(316957),u=e.i(778504),m=e.i(130078),f=e.i(875225),h=e.i(349129),b=e.i(924924),g=e.i(618916),w=e.i(209576),y=e.i(407602),k=e.i(825895),v=e.i(582931),x=e.i(13733),A=e.i(472832),j=e.i(256662),I=e.i(455037),R=e.i(267841),C=e.i(177706),S=e.i(36995),N=e.i(298397),M=e.i(291029),z=e.i(377489),P=e.i(442565),O=e.i(570191);async function $(e){let t=Date.now();try{let r=await fetch(e,{redirect:"manual",signal:AbortSignal.timeout(j.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),o=401===r.status||403===r.status?(await r.text().catch(()=>"")).slice(0,8192):"";return{status:r.status,ms:Date.now()-t,authWall:(0,j.S)(r.status,o,r.headers)}}catch{return{status:null,ms:Date.now()-t,authWall:!1}}}async function T(t,r){let{extensions:o}=await e.A(774810);return await o.runner?.lockfileJobActive(t,r).catch(()=>!1)??!1}let D={rows:async()=>await (0,b.f)().select({id:g.dependencyPrs.id,repoId:g.dependencyPrs.repoId,appId:g.dependencyPrs.appId,proposalId:g.dependencyPrs.proposalId,number:g.dependencyPrs.number,branch:g.dependencyPrs.branch,baseBranch:g.dependencyPrs.baseBranch,headSha:g.dependencyPrs.headSha,title:g.dependencyPrs.title,packages:g.dependencyPrs.packages,auto:g.dependencyPrs.auto,stage:g.dependencyPrs.stage,smokeMode:g.dependencyPrs.smokeMode,previewReadyAt:g.dependencyPrs.previewReadyAt,openedAt:g.dependencyPrs.openedAt,fullName:g.githubRepos.fullName,appName:g.resources.name}).from(g.dependencyPrs).innerJoin(g.githubRepos,(0,f.u)(g.githubRepos.id,g.dependencyPrs.repoId)).leftJoin(g.resources,(0,f.u)(g.resources.id,g.dependencyPrs.appId)).where((0,f.y)(g.dependencyPrs.stage,[...j.X])).orderBy((0,h.M)(g.dependencyPrs.openedAt)).limit(10),security:O.X,rollback:O.K,writeToken:async()=>{let e=await (0,v.G)();return e&&"unreadable"!==e?e.token:null},readToken:async e=>{let t=await (0,x.l)(e);return t.ok?t.token:null},vercel:async e=>{let t=await (0,A.p)(e,"app"),r=t?.resource.meta.teamId;return t&&"string"==typeof r&&t.resource.externalId?{token:t.token,teamId:r,projectId:t.resource.externalId}:null},monitorUrls:async e=>(await (0,b.f)().select({url:g.monitors.url}).from(g.monitors).where((0,f.b)((0,f.u)(g.monitors.resourceId,e),(0,f.u)(g.monitors.kind,"http"))).limit(10)).map(e=>e.url),pull:R.b,checks:R.s,runs:I.L,previews:C.C,probe:$,errorLogs:async(e,t,r,o)=>{let a=await (0,S.f)(e.token,e.teamId,e.projectId,{since:r,until:o,now:o,deploymentId:t,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return a.ok?a.lines.length:null},merge:R.C,save:async(e,t,r,o)=>{await (0,b.f)().update(g.dependencyPrs).set({...t,stageText:o,checkedAt:new Date}).where((0,f.u)(g.dependencyPrs.id,e)),r&&await (0,b.f)().update(M.O).set({result:o}).where((0,f.u)(M.O.id,r)).catch(()=>void 0)},notify:e=>(0,P.y)(e),lockfileBusy:async(e,t,r)=>await T(e,t)||await (0,k.W)(r,t),audit:(e,t)=>(0,y.f)({kind:"ok",message:e,resourceId:t,actorUserId:null}),book:()=>(0,w.f)()};async function B(e,t,r=D){let o={watched:0,merged:0,stopped:0},a=()=>t-Date.now(),n=await r.rows();if(!n.length)return o;let[s,i,l]=await Promise.all([r.security().catch(()=>null),r.rollback().catch(()=>null),r.writeToken().catch(()=>null)]);if(!l)return o;let d=await r.book().catch(()=>N.a);for(let t of n){if(15e3>a())break;if(t.auto||s?.enabled)try{let a=await W(t,e,l,i?.enabled===!0,r);if(!a)continue;o.watched++;let n=t.appName?(0,N.r)(d,t.appName):"app";await _(t,a,n,i?.windowMin??30,e,l,r,o)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}return o}async function W(e,t,r,o,a){let n=await a.pull(r,e.fullName,e.number);if(!n.ok)return null;let s=await a.checks(r,e.fullName,n.data.headSha),i=null;if(s.ok&&null===s.data.checkRuns&&e.appId){let t=await a.readToken(e.appId),r=t?await a.runs(t,e.fullName,n.data.headSha):null;i=r?.ok?r.data:null}s.ok||(s={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let l=(0,j.j)({...s.data,actionRuns:i}),d={state:null,readyAt:null},c=null,p=e.appId?await a.vercel(e.appId):null;if(p&&"success"===l&&n.data.headSha===e.headSha){let r=await a.previews(p.token,p.teamId,p.projectId,n.data.headSha),o=r.ok?r.data.find(e=>"preview"===e.target)??r.data[0]??null:null;if(o&&(d={state:o.state,readyAt:o.readyAt??("ready"===o.state?t:null)},"ready"===o.state&&o.url)){let r=e.previewReadyAt??d.readyAt??t;if("logs"!==e.smokeMode){let t=(0,j.E)(e.appId?await a.monitorUrls(e.appId):[]),r=await Promise.all(t.map(async e=>({path:e,...await a.probe(`https://${o.url}${e}`)})));c=(0,j.L)(r)}c||(c=(0,j.n)(r,t,await a.errorLogs(p,o.id,r,t).catch(()=>null))),d.readyAt=r}}return{step:(0,j.M)({now:t,openedAt:e.openedAt,pr:{state:n.data.state,merged:n.data.merged,mergeable:n.data.mergeable,headSha:n.data.headSha},recordedSha:e.headSha,checks:l,preview:d,smoke:c,autoRollbackOn:o}),smoke:c,previewReadyAt:d.readyAt,headSha:n.data.headSha}}async function _(e,t,r,o,a,n,s,i){let{step:l}=t,d=t.smoke?{smokeMode:t.smoke.mode}:{},c=t.previewReadyAt?{previewReadyAt:t.previewReadyAt}:{},p={app:r,number:e.number,packages:e.packages};if("wait"===l.kind)return void await s.save(e.id,{stage:l.stage,...d,...c,...l.resetSha?{headSha:l.resetSha,previewReadyAt:null,smokeMode:null}:{}},e.proposalId,(0,j.m)(e.number,l.stage,l.reason));if("done"===l.kind)return void await s.save(e.id,{stage:l.stage,finishedAt:a},e.proposalId,(0,j.m)(e.number,l.stage));if("stop"===l.kind&&("CI gagal"===l.reason||"CI failed"===l.reason)&&await s.lockfileBusy?.(e.repoId,e.branch,e.fullName).catch(()=>!1))return void await s.save(e.id,{stage:"checks"},e.proposalId,(0,j.m)(e.number,"checks","waiting for the lockfile from the runner"));if("stop"===l.kind){await s.save(e.id,{stage:l.stage,finishedAt:a,...d},e.proposalId,(0,j.m)(e.number,l.stage,"ready-manual"===l.stage?null:l.reason)),i.stopped++,await s.notify({...p,kind:"ready-manual"===l.stage?"ready-manual":"stopped",reason:l.reason}).catch(()=>void 0);return}await s.save(e.id,{stage:"merging",...d,...c},e.proposalId,(0,j.m)(e.number,"merging"));let u=await s.merge(n,e.fullName,e.number,e.branch,e.baseBranch,e.headSha,e.title);if(u.ok){await s.save(e.id,{stage:"merged",mergedSha:u.data.sha,finishedAt:a},e.proposalId,(0,j.m)(e.number,"merged")),i.merged++,await s.audit(`${z.v}PR #${e.number} merged \xb7 ${e.packages.join(", ")}`.slice(0,200),e.appId).catch(()=>void 0),await s.notify({...p,kind:"merged",windowMin:o}).catch(()=>void 0);return}if(409===u.status)return void await s.save(e.id,{stage:"checks"},e.proposalId,(0,j.m)(e.number,"checks","new commit on the PR branch, checking again"));let m=405===u.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${u.error}`.slice(0,150);await s.save(e.id,{stage:"failed",finishedAt:a},e.proposalId,(0,j.m)(e.number,"failed",m)),i.stopped++,await s.notify({...p,kind:"stopped",reason:m}).catch(()=>void 0)}let E=null;async function L(e,t){if((0,j.f)(e,E)){E=e.getTime();try{let r=await B(e,t?.deadline??e.getTime()+5e4);r.watched&&console.log(`deps/watch: ${r.watched} PR, ${r.merged} merged, ${r.stopped} stopped`)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}}var G=e.i(447933),F=e.i(610514);let q={nav:[{group:"AI & API",after:"Observe",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",...a.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"]}]},H={dailySteps:[{name:"ai-usage-retention",run:s.$}]},U={WhyAiSlot:p.f,RecSummarySlot:c.f,AiNotesSlot:d.f,dailySteps:[{name:"advisor-summary",run:l.f}],minuteSteps:[{name:"advisor-notes",run:i.f}]},J={dailySteps:[{name:"ai-notes-retention",run:u.v}]},V={nav:[{group:"Automation",after:"Observe",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:G.t}],minuteSteps:[{name:"auto-actions",run:G.Z},{name:"deps-pr-watch",run:L}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:m.f}]},K={telegramCallback:F.proposalCallback},X=function(...e){let t={nav:[],palette:[]};for(let r of e){for(let e of r.nav??[]){let r=t.nav.find(t=>t.group===e.group);r?r.items=[...r.items,...e.items]:t.nav.push({...e,items:[...e.items]})}t.palette.push(...r.palette??[]),r.dailySteps?.length&&(t.dailySteps=[...t.dailySteps??[],...r.dailySteps]),r.minuteSteps?.length&&(t.minuteSteps=[...t.minuteSteps??[],...r.minuteSteps]),r.WhyAiSlot&&(t.WhyAiSlot=r.WhyAiSlot),r.RecSummarySlot&&(t.RecSummarySlot=r.RecSummarySlot),r.AiNotesSlot&&(t.AiNotesSlot=r.AiNotesSlot),r.DevNotesSlot&&(t.DevNotesSlot=r.DevNotesSlot),r.office&&(t.office=r.office),r.settingsTabs?.length&&(t.settingsTabs=[...t.settingsTabs??[],...r.settingsTabs]),r.telegramCallback&&(t.telegramCallback=r.telegramCallback),r.runner&&(t.runner=r.runner),r.RepoPreviewSlot&&(t.RepoPreviewSlot=r.RepoPreviewSlot)}return t}({...q,palette:(r=q.palette??[],o={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(t=r.findIndex(e=>"/ai"===e.href))<0?[...r,o]:[...r.slice(0,t+1),o,...r.slice(t+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,n.f)()}]},H,{},{},J,V,U,K);e.s(["extensions",0,X],310603)},627925,e=>{let t=(0,e.i(997953).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");e.s(["AutoRollbackForm",0,t])},909743,e=>{var t=e.i(627925);e.n(t)},336799,e=>{let t=(0,e.i(997953).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");e.s(["AutoRunForm",0,t])},482272,e=>{var t=e.i(336799);e.n(t)},405692,e=>{let t=(0,e.i(997953).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");e.s(["AutoSecurityForm",0,t])},979898,e=>{var t=e.i(405692);e.n(t)},597420,613394,486400,643801,972857,316957,130078,e=>{let t,r,o,a,n;var s,i=e.i(518899),l=e.i(924924);e.i(656083);var d=e.i(291029);async function c(){await (0,l.f)().execute(i.B`
|
|
1
|
+
module.exports=[[871198,(e,t,r)=>{function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var a={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var i=n?Object.getOwnPropertyDescriptor(e,s):null;i&&(i.get||i.set)?Object.defineProperty(a,s,i):a[s]=e[s]}return a.default=e,r&&r.set(e,a),a}},963679,e=>{var t=e.i(845656);e.n(t)},287568,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return l},useLinkStatus:function(){return i.useLinkStatus}};for(var a in o)Object.defineProperty(r,a,{enumerable:!0,get:o[a]});let n=e.r(871198),s=e.r(222260),i=n._(e.r(963679));function l(e){let t=e.legacyBehavior,r="string"==typeof e.children||"number"==typeof e.children||"string"==typeof e.children?.type,o=e.children?.type?.$$typeof===Symbol.for("react.client.reference");return!t||r||o||(e.children?.type?.$$typeof===Symbol.for("react.lazy")?console.error("Using a Lazy Component as a direct child of `<Link legacyBehavior>` from a Server Component is not supported. If you need legacyBehavior, wrap your Lazy Component in a Client Component that renders the Link's `<a>` tag."):console.error("Using a Server Component as a direct child of `<Link legacyBehavior>` is not supported. If you need legacyBehavior, wrap your Server Component in a Client Component that renders the Link's `<a>` tag.")),(0,s.jsx)(i.default,{...e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},222260,(e,t,r)=>{t.exports=e.r(442315).vendored["react-rsc"].ReactJsxRuntime},997953,(e,t,r)=>{t.exports=e.r(442315).vendored["react-rsc"].ReactServerDOMTurbopackServer},595935,e=>{var t=e.i(997953);(0,t.registerClientReference)(function(){throw Error("Attempted to call AliasProvider() from the server but AliasProvider 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/alias.tsx","AliasProvider"),(0,t.registerClientReference)(function(){throw Error("Attempted to call DbName() from the server but DbName 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/alias.tsx","DbName"),(0,t.registerClientReference)(function(){throw Error("Attempted to call Masked() from the server but Masked 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/alias.tsx","Masked");let r=(0,t.registerClientReference)(function(){throw Error("Attempted to call MaskedText() from the server but MaskedText 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/alias.tsx","MaskedText");(0,t.registerClientReference)(function(){throw Error("Attempted to call Reveal() from the server but Reveal 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/alias.tsx","Reveal"),(0,t.registerClientReference)(function(){throw Error("Attempted to call maskedValue() from the server but maskedValue 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/alias.tsx","maskedValue"),(0,t.registerClientReference)(function(){throw Error("Attempted to call useAliasBook() from the server but useAliasBook 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/alias.tsx","useAliasBook"),(0,t.registerClientReference)(function(){throw Error("Attempted to call useMask() from the server but useMask 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/alias.tsx","useMask"),(0,t.registerClientReference)(function(){throw Error("Attempted to call usePrivacy() from the server but usePrivacy 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/alias.tsx","usePrivacy"),e.s(["MaskedText",0,r])},646822,e=>{var t=e.i(595935);e.n(t)},13733,e=>{var t=e.i(875225),r=e.i(349129),o=e.i(924924),a=e.i(618916),n=e.i(390775),s=e.i(921991),i=e.i(547499);let l=e=>e.trim().toLowerCase();var d=e.i(479301),c=e.i(455037);async function p(e){let l=e?(0,t.b)((0,t.u)(a.accounts.id,e),(0,t.u)(a.accounts.provider,"github")):(0,t.u)(a.accounts.provider,"github"),[d]=await (0,o.f)().select().from(a.accounts).where(l).orderBy((0,r.M)(a.accounts.createdAt)).limit(1);if(!d)return null;let c=(0,s.V)({ciphertext:d.credentialCiphertext,iv:d.credentialIv},(0,i.f)().OPS_ENCRYPTION_KEY);return{account:d,token:c,problem:(0,n.A)(c)}}async function u(e,t,r){let o=0;for(let a=0;a<e.length&&!(Date.now()>t);a+=5){let t=e.slice(a,a+5);o+=t.length,await Promise.allSettled(t.map(r))}return o}async function m(e,r,s={}){var i,d;let h,b,g=await p(e);if(!g)return{ok:!1,error:"GitHub isn't connected."};let{account:w,token:y,problem:k}=g;if(k||!y)return{ok:!1,error:k??"The credential can't be read."};let v=await (0,c.o)(y,s);if(!v.ok){let e=(0,n.E)({ok:!1,kind:"scope"===v.kind?"auth":"missing"===v.kind?"transient":v.kind,error:v.error});return e&&await (0,o.f)().update(a.accounts).set({...e,updatedAt:new Date}).where((0,t.u)(a.accounts.id,w.id)),{ok:!1,error:v.error}}let x=new Date,A=(i=await (0,o.f)().select({id:a.githubRepos.id,externalId:a.githubRepos.externalId,goneAt:a.githubRepos.goneAt}).from(a.githubRepos).where((0,t.u)(a.githubRepos.accountId,w.id)).limit(1e3),d=v.data.repos,h=new Map(i.map(e=>[e.externalId,e])),b=new Set(d.map(e=>e.id)),{insert:d.filter(e=>!h.has(e.id)),update:d.filter(e=>h.has(e.id)).map(e=>({id:h.get(e.id).id,repo:e})),gone:i.filter(e=>!b.has(e.externalId)&&!e.goneAt).map(e=>e.id)}),j=e=>({owner:e.owner,name:e.name,fullName:e.fullName,defaultBranch:e.defaultBranch,private:e.private,archived:e.archived,htmlUrl:e.htmlUrl,pushedAt:e.pushedAt});await (0,o.f)().transaction(async e=>{for(let r of A.update)await e.update(a.githubRepos).set({...j(r.repo),lastSeenAt:x,goneAt:null,updatedAt:x}).where((0,t.u)(a.githubRepos.id,r.id));A.insert.length&&await e.insert(a.githubRepos).values(A.insert.map(e=>({accountId:w.id,externalId:e.id,...j(e)}))).onConflictDoNothing({target:[a.githubRepos.accountId,a.githubRepos.externalId]}),A.gone.length&&await e.update(a.githubRepos).set({goneAt:x,updatedAt:x}).where((0,t.b)((0,t.y)(a.githubRepos.id,A.gone),(0,t.M)(a.githubRepos.goneAt)))});let I=await (0,o.f)().select().from(a.githubRepos).where((0,t.u)(a.githubRepos.accountId,w.id)).limit(1e3),R=[];v.data.truncated&&R.push("Only the 300 most recently pushed repositories are listed.");let C=!1;await u(I.filter(e=>!e.archived&&!e.goneAt&&(!e.packageCheckedAt||null!==e.pushedAt&&e.pushedAt>e.packageCheckedAt)).sort((e,t)=>(t.pushedAt?.getTime()??0)-(e.pushedAt?.getTime()??0)).slice(0,10),r,async e=>{let r=await (0,c.q)(y,e.fullName,s);r.ok?await (0,o.f)().update(a.githubRepos).set({packageName:r.data,packageCheckedAt:new Date,updatedAt:new Date}).where((0,t.u)(a.githubRepos.id,e.id)):"scope"===r.kind&&(C=!0)}),C&&R.push("Some package.json files can't be read: give the token Contents read on those repositories.");let S=await (0,o.f)().select({id:a.resources.id,name:a.resources.name,meta:a.resources.meta}).from(a.resources).where((0,t.b)((0,t.u)(a.resources.kind,"app"),(0,t.M)(a.resources.goneAt))).limit(500),N=await (0,o.f)().select({appId:a.appRepos.appId,repoId:a.appRepos.repoId,source:a.appRepos.source}).from(a.appRepos).limit(500),M=e=>"string"==typeof e&&e?e:null,z=function(e,t,r){let o=new Map(t.filter(e=>!e.goneAt).map(e=>[l(e.fullName),e.id])),a=new Map(r.map(e=>[e.appId,e])),n=[];for(let t of e){if("github"!==t.repoType||!t.repo)continue;let e=o.get(l(t.repo));if(!e)continue;let r=a.get(t.id);r?.source!=="manual"&&r?.repoId!==e&&n.push({appId:t.id,repoId:e})}return n}(S.map(e=>({id:e.id,name:e.name,repo:M(e.meta.repo),repoType:M(e.meta.repoType)})),I,N);for(let e of z)await (0,o.f)().insert(a.appRepos).values({appId:e.appId,repoId:e.repoId,source:"vercel"}).onConflictDoUpdate({target:a.appRepos.appId,set:{repoId:e.repoId,source:"vercel",updatedAt:new Date},setWhere:(0,t.c)(a.appRepos.source,"manual")});let P=await (0,o.f)().selectDistinct({id:a.githubRepos.id,fullName:a.githubRepos.fullName,defaultBranch:a.githubRepos.defaultBranch}).from(a.appRepos).innerJoin(a.githubRepos,(0,t.u)(a.githubRepos.id,a.appRepos.repoId)).where((0,t.b)((0,t.u)(a.githubRepos.accountId,w.id),(0,t.M)(a.githubRepos.goneAt))).limit(500),O=!1,$=await u(P,r,async e=>{let t=await (0,c.W)(y,e.fullName,e.defaultBranch,s);t.ok?await f(e.id,t.data):"scope"===t.kind&&(O=!0)});O&&R.push("Some Actions runs can't be read: give the token Actions read on those repositories."),$<P.length&&R.push(`${P.length-$} Actions status${P.length-$==1?"":"es"} left for the next run, time budget used.`);let T=await (0,c.k)(y,s);return await (0,o.f)().update(a.accounts).set({lastSyncAt:x,status:"ok",lastError:null,updatedAt:x,...T.ok?{expiresAt:T.data.expiresAt}:{}}).where((0,t.u)(a.accounts.id,w.id)),{ok:!0,repos:I.filter(e=>!e.goneAt).length,linked:P.length,newLinks:z.length,notes:R}}async function f(e,r){await (0,o.f)().update(a.githubRepos).set({actions:r,actionsCheckedAt:new Date,updatedAt:new Date}).where((0,t.u)(a.githubRepos.id,e))}async function h(e){let[r]=await (0,o.f)().select({id:a.accounts.id}).from(a.accounts).where((0,t.u)(a.accounts.provider,"github")).limit(1);if(!r)return null;if(Date.now()>e)return"left for the next run, time budget used";let n=await m(r.id,e);return n.ok?null:n.error}async function b(e){if(!(0,d.f)(e))return{ok:!1,reason:"no-repo",error:"That app no longer exists."};let[r]=await (0,o.f)().select({r:a.githubRepos}).from(a.appRepos).innerJoin(a.githubRepos,(0,t.u)(a.githubRepos.id,a.appRepos.repoId)).where((0,t.b)((0,t.u)(a.appRepos.appId,e),(0,t.M)(a.githubRepos.goneAt))).limit(1);if(!r)return{ok:!1,reason:"no-repo",error:"This app isn't linked to a GitHub repository yet."};let n=await p(r.r.accountId);return n?.token?{ok:!0,fullName:r.r.fullName,defaultBranch:r.r.defaultBranch,token:n.token}:{ok:!1,reason:"no-token",error:"The GitHub token can't be read; check the GitHub connection."}}e.s(["D",0,h,"l",0,b],13733)},310603,e=>{let t;var r,o,a=e.i(313931),n=e.i(597420),s=e.i(121232),i=e.i(613394),l=e.i(486400),d=e.i(643801),c=e.i(972857),p=e.i(316957),u=e.i(778504),m=e.i(130078),f=e.i(875225),h=e.i(349129),b=e.i(924924),g=e.i(618916),w=e.i(209576),y=e.i(407602),k=e.i(111970),v=e.i(825895),x=e.i(582931),A=e.i(13733),j=e.i(472832),I=e.i(256662),R=e.i(455037),C=e.i(267841),S=e.i(177706),N=e.i(36995),M=e.i(298397),z=e.i(291029),P=e.i(377489),O=e.i(442565),$=e.i(570191);async function T(e){let t=Date.now();try{let r=await fetch(e,{redirect:"manual",signal:AbortSignal.timeout(I.w),cache:"no-store",headers:{"User-Agent":"Watchbell smoke test"}}),o=401===r.status||403===r.status?(await r.text().catch(()=>"")).slice(0,8192):"";return{status:r.status,ms:Date.now()-t,authWall:(0,I.S)(r.status,o,r.headers)}}catch{return{status:null,ms:Date.now()-t,authWall:!1}}}async function D(t,r){let{extensions:o}=await e.A(774810);return await o.runner?.lockfileJobActive(t,r).catch(()=>!1)??!1}let B={rows:async()=>await (0,b.f)().select({id:g.dependencyPrs.id,repoId:g.dependencyPrs.repoId,appId:g.dependencyPrs.appId,proposalId:g.dependencyPrs.proposalId,number:g.dependencyPrs.number,branch:g.dependencyPrs.branch,baseBranch:g.dependencyPrs.baseBranch,headSha:g.dependencyPrs.headSha,title:g.dependencyPrs.title,packages:g.dependencyPrs.packages,auto:g.dependencyPrs.auto,stage:g.dependencyPrs.stage,smokeMode:g.dependencyPrs.smokeMode,previewReadyAt:g.dependencyPrs.previewReadyAt,openedAt:g.dependencyPrs.openedAt,fullName:g.githubRepos.fullName,appName:g.resources.name}).from(g.dependencyPrs).innerJoin(g.githubRepos,(0,f.u)(g.githubRepos.id,g.dependencyPrs.repoId)).leftJoin(g.resources,(0,f.u)(g.resources.id,g.dependencyPrs.appId)).where((0,f.y)(g.dependencyPrs.stage,[...I.X])).orderBy((0,h.M)(g.dependencyPrs.openedAt)).limit(10),security:$.X,rollback:$.K,writeToken:async()=>{let e=await (0,x.G)();return e&&"unreadable"!==e?e.token:null},readToken:async e=>{let t=await (0,A.l)(e);return t.ok?t.token:null},vercel:async e=>{let t=await (0,j.p)(e,"app"),r=t?.resource.meta.teamId;return t&&"string"==typeof r&&t.resource.externalId?{token:t.token,teamId:r,projectId:t.resource.externalId}:null},monitorUrls:async e=>(await (0,b.f)().select({url:g.monitors.url}).from(g.monitors).where((0,f.b)((0,f.u)(g.monitors.resourceId,e),(0,f.u)(g.monitors.kind,"http"))).limit(10)).map(e=>e.url),pull:C.b,checks:C.s,runs:R.L,previews:S.C,probe:T,errorLogs:async(e,t,r,o)=>{let a=await (0,N.f)(e.token,e.teamId,e.projectId,{since:r,until:o,now:o,deploymentId:t,levels:["error","fatal"],maxRows:20,timeoutMs:8e3});return a.ok?a.lines.length:null},merge:C.C,save:async(e,t,r,o)=>{await (0,b.f)().update(g.dependencyPrs).set({...t,stageText:o,checkedAt:new Date}).where((0,f.u)(g.dependencyPrs.id,e)),r&&await (0,b.f)().update(z.O).set({result:o}).where((0,f.u)(z.O.id,r)).catch(()=>void 0)},notify:e=>(0,O.y)(e),lockfileBusy:async(e,t,r)=>await D(e,t)||await (0,v.W)(r,t),audit:(e,t)=>(0,y.f)({kind:"ok",message:e,resourceId:t,actorUserId:null}),book:()=>(0,w.f)()};async function W(e,t,r=B){let o={watched:0,merged:0,stopped:0},a=()=>t-Date.now(),n=await r.rows();if(!n.length)return o;let[s,i,l]=await Promise.all([r.security().catch(()=>null),r.rollback().catch(()=>null),r.writeToken().catch(()=>null)]);if(!l)return o;let d=await r.book().catch(()=>M.a);for(let t of n){if(15e3>a())break;if(t.auto||s?.enabled)try{let a=await _(t,e,l,i?.enabled===!0,r);if(!a)continue;o.watched++;let n=t.appName?(0,M.r)(d,t.appName):"app";await E(t,a,n,i?.windowMin??30,e,l,r,o)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}return o}async function _(e,t,r,o,a){let n=await a.pull(r,e.fullName,e.number);if(!n.ok)return null;let s=await a.checks(r,e.fullName,n.data.headSha),i=null;if(s.ok&&null===s.data.checkRuns&&e.appId){let t=await a.readToken(e.appId),r=t?await a.runs(t,e.fullName,n.data.headSha):null;i=r?.ok?r.data:null}s.ok||(s={ok:!0,data:{checkRuns:[{status:"queued",conclusion:null}],combined:null}});let l=(0,I.j)({...s.data,actionRuns:i}),d={state:null,readyAt:null},c=null,p=e.appId?await a.vercel(e.appId):null;if(p&&"success"===l&&n.data.headSha===e.headSha){let r=await a.previews(p.token,p.teamId,p.projectId,n.data.headSha),o=r.ok?r.data.find(e=>"preview"===e.target)??r.data[0]??null:null;if(o&&(d={state:o.state,readyAt:o.readyAt??("ready"===o.state?t:null)},"ready"===o.state&&o.url)){let r=e.previewReadyAt??d.readyAt??t;if("logs"!==e.smokeMode){let t=(0,I.E)(e.appId?await a.monitorUrls(e.appId):[]),r=await Promise.all(t.map(async e=>({path:e,...await a.probe(`https://${o.url}${e}`)})));c=(0,I.L)(r)}c||(c=(0,I.n)(r,t,await a.errorLogs(p,o.id,r,t).catch(()=>null))),d.readyAt=r}}return{step:(0,I.M)({now:t,openedAt:e.openedAt,pr:{state:n.data.state,merged:n.data.merged,mergeable:n.data.mergeable,headSha:n.data.headSha},recordedSha:e.headSha,checks:l,preview:d,smoke:c,autoRollbackOn:o}),smoke:c,previewReadyAt:d.readyAt,headSha:n.data.headSha}}async function E(e,t,r,o,a,n,s,i){let{step:l}=t,d=t.smoke?{smokeMode:t.smoke.mode}:{},c=t.previewReadyAt?{previewReadyAt:t.previewReadyAt}:{},p={app:r,number:e.number,packages:e.packages};if("wait"===l.kind)return void await s.save(e.id,{stage:l.stage,...d,...c,...l.resetSha?{headSha:l.resetSha,previewReadyAt:null,smokeMode:null}:{}},e.proposalId,(0,I.m)(e.number,l.stage,l.reason));if("done"===l.kind)return void await s.save(e.id,{stage:l.stage,finishedAt:a},e.proposalId,(0,I.m)(e.number,l.stage));if("stop"===l.kind&&("CI gagal"===l.reason||"CI failed"===l.reason)&&await s.lockfileBusy?.(e.repoId,e.branch,e.fullName).catch(()=>!1))return void await s.save(e.id,{stage:"checks"},e.proposalId,(0,I.m)(e.number,"checks","waiting for the lockfile from the runner"));if("stop"===l.kind){await s.save(e.id,{stage:l.stage,finishedAt:a,...d},e.proposalId,(0,I.m)(e.number,l.stage,"ready-manual"===l.stage?null:l.reason)),i.stopped++,await s.notify({...p,kind:"ready-manual"===l.stage?"ready-manual":"stopped",reason:l.reason}).catch(()=>void 0);return}await s.save(e.id,{stage:"merging",...d,...c},e.proposalId,(0,I.m)(e.number,"merging"));let u=await s.merge(n,e.fullName,e.number,e.branch,e.baseBranch,e.headSha,e.title);if(u.ok){await s.save(e.id,{stage:"merged",mergedSha:u.data.sha,finishedAt:a},e.proposalId,(0,I.m)(e.number,"merged")),i.merged++,await s.audit(`${P.v}PR #${e.number} merged \xb7 ${e.packages.join(", ")}`.slice(0,200),e.appId).catch(()=>void 0),await s.notify({...p,kind:"merged",windowMin:o}).catch(()=>void 0);return}if(409===u.status)return void await s.save(e.id,{stage:"checks"},e.proposalId,(0,I.m)(e.number,"checks","new commit on the PR branch, checking again"));let m=405===u.status?"GitHub refused the merge (cannot be merged)":`merge failed: ${u.error}`.slice(0,150);await s.save(e.id,{stage:"failed",finishedAt:a},e.proposalId,(0,I.m)(e.number,"failed",m)),i.stopped++,await s.notify({...p,kind:"stopped",reason:m}).catch(()=>void 0)}let L=null;async function G(e,t,r=k.I){if((0,I.f)(e,L)&&!(await r()).has("devops")){L=e.getTime();try{let r=await W(e,t?.deadline??e.getTime()+5e4);r.watched&&console.log(`deps/watch: ${r.watched} PR, ${r.merged} merged, ${r.stopped} stopped`)}catch(e){console.warn("deps/watch failed:",e instanceof Error?e.name:"error")}}}var F=e.i(447933),q=e.i(610514);let H={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",...a.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"]}]},U={dailySteps:[{name:"ai-usage-retention",run:s.$}]},J={WhyAiSlot:p.f,RecSummarySlot:c.f,AiNotesSlot:d.f,dailySteps:[{name:"advisor-summary",run:l.f}],minuteSteps:[{name:"advisor-notes",run:i.f}]},V={dailySteps:[{name:"ai-notes-retention",run:u.v}]},K={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:F.t}],minuteSteps:[{name:"auto-actions",run:F.Z},{name:"deps-pr-watch",run:G}],settingsTabs:[{key:"office-auto-run",label:"Auto-actions",Tab:m.f}]},X={telegramCallback:q.proposalCallback},Y=function(...e){let t={nav:[],palette:[]};for(let r of e){for(let e of r.nav??[]){let r=t.nav.find(t=>t.section===e.section&&t.after===e.after);r?r.items=[...r.items,...e.items]:t.nav.push({...e,items:[...e.items]})}t.palette.push(...r.palette??[]),r.dailySteps?.length&&(t.dailySteps=[...t.dailySteps??[],...r.dailySteps]),r.minuteSteps?.length&&(t.minuteSteps=[...t.minuteSteps??[],...r.minuteSteps]),r.WhyAiSlot&&(t.WhyAiSlot=r.WhyAiSlot),r.RecSummarySlot&&(t.RecSummarySlot=r.RecSummarySlot),r.AiNotesSlot&&(t.AiNotesSlot=r.AiNotesSlot),r.DevNotesSlot&&(t.DevNotesSlot=r.DevNotesSlot),r.office&&(t.office=r.office),r.settingsTabs?.length&&(t.settingsTabs=[...t.settingsTabs??[],...r.settingsTabs]),r.telegramCallback&&(t.telegramCallback=r.telegramCallback),r.runner&&(t.runner=r.runner),r.RepoPreviewSlot&&(t.RepoPreviewSlot=r.RepoPreviewSlot)}return t}({...H,palette:(r=H.palette??[],o={label:"Ask AI",href:"/ai/ask",keywords:["ask","question","answer"]},(t=r.findIndex(e=>"/ai"===e.href))<0?[...r,o]:[...r.slice(0,t+1),o,...r.slice(t+1)])},{dailySteps:[{name:"ai-agents-prune",run:()=>(0,n.f)()}]},U,{},{},V,K,J,X);e.s(["extensions",0,Y],310603)},627925,e=>{let t=(0,e.i(997953).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");e.s(["AutoRollbackForm",0,t])},909743,e=>{var t=e.i(627925);e.n(t)},336799,e=>{let t=(0,e.i(997953).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");e.s(["AutoRunForm",0,t])},482272,e=>{var t=e.i(336799);e.n(t)},405692,e=>{let t=(0,e.i(997953).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");e.s(["AutoSecurityForm",0,t])},979898,e=>{var t=e.i(405692);e.n(t)},597420,613394,486400,643801,972857,316957,130078,e=>{let t,r,o,a,n;var s,i=e.i(518899),l=e.i(924924);e.i(656083);var d=e.i(291029);async function c(){await (0,l.f)().execute(i.B`
|
|
2
2
|
delete from ops.ai_agents where id in (select id from ops.ai_agents order by last_seen_at desc offset ${2e3})
|
|
3
3
|
`)}e.s(["f",0,c],597420);var p=e.i(875225),u=e.i(473283),m=e.i(618916),f=e.i(185284),h=e.i(477660),b=e.i(28357),g=e.i(778504),w=e.i(971724),y=e.i(105954),k=e.i(604147),v=e.i(218331),x=e.i(76482);let A={enabled:!0,model:null};function j(e){let{hour:t,minute:r}=(0,v.z)(e);return 7!==t&&19!==t||r>=15?null:`${(0,v.x)(e)}T${String(t).padStart(2,"0")}`}let I=e=>"string"==typeof e?e.toLowerCase():"",R=w.z.object({app:y.z.string().trim().min(1).max(80),severity:k.z.enum(["info","warn","crit"]),title:y.z.string().trim().min(3).max(79),body:y.z.string().trim().min(10).max(600)}),C=/\b(?:[a-z0-9-]+\.)+(?:com|net|org|io|app|dev|id|co|xyz|cloud|site|me|ai)\b/i,S=e=>e.split(/(?<=[.!?])\s+/).filter(e=>e.trim().length>0).length,N="watchpost";async function M(){let[e]=await (0,l.f)().select({value:m.settings.value}).from(m.settings).where((0,p.u)(m.settings.key,"ai.advisorNotes")).limit(1);var t=e?.value;if(!t||"object"!=typeof t||Array.isArray(t))return A;let r="string"==typeof t.model&&t.model.trim()&&t.model.length<=200?t.model.trim():null;return{enabled:!1!==t.enabled,model:r}}async function z(e,t){let r=t.toISOString(),o=await (0,l.f)().execute(i.B`
|
|
4
4
|
insert into ops.settings (key, value, created_at, updated_at)
|