watchbell 1.2.6 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +3 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +21 -21
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +17 -17
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +60 -64
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +27 -27
- package/server/.next/server/app/(console)/alerts/page.js +60 -64
- package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +86 -56
- package/server/.next/server/app/(console)/apps/[id]/page.js +66 -68
- package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/apps/page.js +63 -66
- package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/backups/page.js +60 -64
- package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/catalog/page.js +60 -64
- package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/connections/page.js +60 -64
- package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/d1/page.js +60 -64
- package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +37 -17
- package/server/.next/server/app/(console)/deployments/page.js +63 -66
- package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/dns/page.js +60 -64
- package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/domains/page.js +60 -64
- package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/events/page.js +60 -64
- package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/firebase/page.js +60 -64
- package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/logs/page.js +60 -64
- package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/manage/sections/page.js +60 -64
- package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/neon/page.js +60 -64
- package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/overview/page.js +66 -69
- package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/repos/[id]/page.js +64 -67
- package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/repos/page.js +62 -65
- package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +21 -21
- package/server/.next/server/app/(console)/settings/page.js +60 -64
- package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/sql/page.js +60 -64
- package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/status/page.js +60 -64
- package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +30 -30
- package/server/.next/server/app/(console)/supabase/page.js +60 -64
- package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/topology/page.js +60 -64
- package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/turso/page.js +60 -64
- package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/upstash/page.js +60 -64
- package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +25 -25
- package/server/.next/server/app/(console)/uptime/page.js +60 -64
- package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +16 -16
- package/server/.next/server/app/(console)/welcome/page.js +60 -64
- package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_global-error.html +1 -1
- package/server/.next/server/app/_global-error.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_not-found.html +1 -1
- package/server/.next/server/app/_not-found.rsc +3 -3
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/account/password/page.js.nft.json +1 -1
- package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/api/collect/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/collect/route.js +46 -48
- package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
- package/server/.next/server/app/api/daily/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/daily/route.js +46 -48
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/telegram/webhook/route.js +46 -48
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/invite/page.js.nft.json +1 -1
- package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/mfa/page.js +25 -25
- package/server/.next/server/app/mfa/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page.js +25 -25
- package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/page.js.nft.json +1 -1
- package/server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js +7 -7
- package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/signin/page.js +28 -29
- package/server/.next/server/app/signin/page.js.nft.json +1 -1
- package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0655w3_d4ejfb._.js → [root-of-the-server]__0-94urkhm871c._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1bg8grh9kfims._.js → [root-of-the-server]__01hgqxx2a0okv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__14-pt1-s1o5ex._.js → [root-of-the-server]__0c2heh-0pjyob._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__12lrpnd-dhawi._.js → [root-of-the-server]__0c9y_zg74k4oe._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1kwldcrcmwc0x._.js → [root-of-the-server]__0fmt9z8-xukob._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0whk62ebfu1u0._.js → [root-of-the-server]__0i3h5covkd6_t._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1nm0sjvuf9jrb._.js → [root-of-the-server]__0inf2zuuqjrq6._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__09dk9k-9q4d16._.js → [root-of-the-server]__0rpys5i04hzww._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0x4_tt5v17fx3._.js → [root-of-the-server]__0xfgfo-ks4_e8._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1c1nhm-kj5kqu._.js → [root-of-the-server]__0zjhlf_yodox3._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0c0pkv3an1lg-._.js → [root-of-the-server]__130_vkgsongq_._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1-xgpr5q148ze._.js → [root-of-the-server]__14vj8ywy5spa2._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__17jngidngj3rb._.js → [root-of-the-server]__161v5qfd5qk2p._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__16u9d_hm9lefl._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0s8wo4espz6eu._.js → [root-of-the-server]__1_df6aphi-pfk._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1r24segt1slar._.js → [root-of-the-server]__1j527a18gh10b._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1k-7jan2fsbys._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1lq25064c4ny_._.js → [root-of-the-server]__1uad-kugxmkx8._.js} +2 -2
- package/server/.next/server/chunks/_0-ub844lc_z_a._.js +2 -2
- package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
- package/server/.next/server/chunks/_05hhw0eql5-dv._.js +5 -3
- package/server/.next/server/chunks/_08fv52mqg619m._.js +11 -9
- package/server/.next/server/chunks/_08z7lmk32r__5._.js +2 -2
- package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
- package/server/.next/server/chunks/_1-pv4d4qhe7to._.js +2 -2
- package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
- package/server/.next/server/chunks/_13dlt388gceez._.js +11 -9
- package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +5 -0
- package/server/.next/server/chunks/_1l-68brbq289m._.js +5 -3
- package/server/.next/server/chunks/{_1476vtrt9101m._.js → _1rskctyr7yt-b._.js} +2 -2
- package/server/.next/server/chunks/{src_01fd1ve-xj9xo._.js → src_0j8daco-75zka._.js} +2 -2
- package/server/.next/server/chunks/{src_049aazgsmienv._.js → src_1lvv9wiag2d8-._.js} +2 -2
- package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/src_lib_0n-8zjgq6mcc7._.js +3 -0
- package/server/.next/server/chunks/src_lib_1nkahiclbn55q._.js +3 -0
- package/server/.next/server/chunks/src_lib_1y5l54dwaet39._.js +3 -0
- package/server/.next/server/chunks/src_private_0uwb-eyaxy9b3._.js +5 -0
- package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0d7rvi3tmo9zf._.js → [externals]__02s9k1gg9qqkm._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__03mal5uo1rzg4._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__05_98ql5tgeii._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0xscr-8y9a4cj._.js → [root-of-the-server]__07k_84t5-d55n._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0amfa4t2-in-x._.js → [root-of-the-server]__09j1po2u91fp3._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__08u1c2f2i7ru4._.js → [root-of-the-server]__0e1s_5gg-u3iu._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0h2hxe0vl-2x0._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0s2of3mcou177._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1uzqsxyxwffdo._.js → [root-of-the-server]__0skfdezx5rxie._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1e9tlsk1gl8lw._.js +4 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1o6cysvbfkltz._.js → [root-of-the-server]__1tj-iwvrxfd1a._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1v3b498_j-68t._.js +4 -0
- package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
- package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
- package/server/.next/server/chunks/ssr/{_07f-svx_l12lw._.js → _09arvqnznfrzl._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0ao-urx9ftj1s._.js +3 -0
- package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
- package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
- package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
- package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
- package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
- package/server/.next/server/chunks/ssr/_0dvz4dndt6lkf._.js +3 -0
- package/server/.next/server/chunks/ssr/{_1bc69myq83woe._.js → _0f11sdi6yislb._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
- package/server/.next/server/chunks/ssr/{_0-wc6f6p0c8lv._.js → _0gmw45sb1llld._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
- package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
- package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +4 -0
- package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
- package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
- package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
- package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
- package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1476vtrt9101m._.js → _0rw2pberdmaa5._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0v6v5w16qxwke._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1edj756n1im8t._.js → _0w3mz8059j-pk._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +4 -0
- package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +4 -0
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
- package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
- package/server/.next/server/chunks/ssr/_12wjuabpo0ofk._.js +3 -0
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
- package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
- package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +3 -0
- package/server/.next/server/chunks/ssr/{_1j61tfpfj2t9d._.js → _1er-95g7emfdz._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +5 -0
- package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/{_07-dfx0qix52k._.js → _1h7x73oxtp7h5._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0jqrjb30bblvy._.js → _1jl374mbl90fb._.js} +2 -2
- package/server/.next/server/chunks/ssr/{_1r7o1vx4875hu._.js → _1ktvwngz0lzjr._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
- package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +3 -0
- package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1--1mjfnoprr2.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
- package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_1bg_io_v7gt71._.js → src_04o0-kzfmcnim._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0jxjbvkvg0bjg._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +3 -1
- package/server/.next/server/chunks/ssr/src_0yxy3bklfxtzz._.js +3 -0
- package/server/.next/server/chunks/ssr/src_1-k3gvxaqli74._.js +3 -0
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1ckoccd8qvnje._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +8 -0
- package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_0u4_y9-b7g971._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_app_(console)_0e832kna-734m._.js → src_app_(console)_11o_ga_rurg55._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_10xvt--29v-ed._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_deployments_06a83hsex1kba._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_signin_0u6eoxbd8ttqy._.js +3 -0
- package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_list-filter_tsx_1zp29997g97yd._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0ls7sornjrg95._.js → src_lib_0-nc33gvdtkg5._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_0n-8zjgq6mcc7._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_10d18lqjfj8je._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1y5l54dwaet39._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_lib_demo_09ht4doed9eqi._.js → src_lib_demo_0sbw5n9n4mpzx._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_providers_github-browse_ts_1apskpn4fe9qr._.js +3 -0
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_1b8918m4jsjpi._.js +5 -0
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/functions-config-manifest.json +3 -0
- package/server/.next/server/middleware-build-manifest.js +3 -3
- package/server/.next/server/pages/404.html +1 -1
- package/server/.next/server/pages/500.html +1 -1
- package/server/.next/server/preview-props.json +3 -3
- package/server/.next/server/server-reference-manifest.js +1 -1
- package/server/.next/server/server-reference-manifest.json +208 -170
- package/server/.next/static/chunks/{3o45i7xbzm0w-.js → 05uco41_mcq9o.js} +1 -1
- package/server/.next/static/chunks/{243ijh4fs2zsq.js → 06o7zhf9tv649.js} +1 -1
- package/server/.next/static/chunks/{2hscqr4n7hu7n.js → 0bkm_mj9zqjdn.js} +1 -1
- package/server/.next/static/chunks/0bqipdtnu2hws.js +1 -0
- package/server/.next/static/chunks/0d609c7qn6uke.js +1 -0
- package/server/.next/static/chunks/0ghhg0xs85ipn.js +1 -0
- package/server/.next/static/chunks/{1eeqy_pc_llv4.js → 0inb7hk8o9yz-.js} +1 -1
- package/server/.next/static/chunks/{2jdlcu25qy00d.js → 0lgt6mz4u8rzx.js} +1 -1
- package/server/.next/static/chunks/{2y05vm9r_wxds.js → 0r-etc_jv_08f.js} +1 -1
- package/server/.next/static/chunks/{041ko45qawas9.js → 0un8ttgrt0gtq.js} +1 -1
- package/server/.next/static/chunks/{0-ett1b-o34r0.js → 0v5xmga7srjvl.js} +1 -1
- package/server/.next/static/chunks/{3hpyrqm98toxv.js → 0zzbinjpe41vj.js} +1 -1
- package/server/.next/static/chunks/{3r3-9oir5c1ul.js → 12vmyliqgjlbi.js} +1 -1
- package/server/.next/static/chunks/{1muk1ubaswhlj.js → 131_xlsbuxnhr.js} +1 -1
- package/server/.next/static/chunks/{1g3u_ngexgvss.js → 146uoz7wc8q2y.js} +1 -1
- package/server/.next/static/chunks/{0-fov5gyz32mj.js → 1crspgs6bd_rg.js} +1 -1
- package/server/.next/static/chunks/{3kqiccrh_bnpl.js → 1h0025pjnwxmg.js} +2 -2
- package/server/.next/static/chunks/{35ua22np4u9jr.js → 1ot9e084ramy3.js} +1 -1
- package/server/.next/static/chunks/{4545xu4sehvxc.js → 1ouf289jk00f3.js} +1 -1
- package/server/.next/static/chunks/{2kurh5s5u8_4-.js → 1sds57ddvk_30.js} +1 -1
- package/server/.next/static/chunks/{3oe302ug_esoe.js → 1sexa68j4kb7d.js} +1 -1
- package/server/.next/static/chunks/1t9iq0wi3ykuc.js +1 -0
- package/server/.next/static/chunks/{442t8i7d46g9y.js → 1u4r7ru8i619_.js} +2 -2
- package/server/.next/static/chunks/{0zj507c7ui4jt.js → 1vuqw31-hmrxb.js} +1 -1
- package/server/.next/static/chunks/{20ujg0hz_need.js → 1xhyfwwelhzu1.js} +1 -1
- package/server/.next/static/chunks/{1vyf467_8v-cw.js → 1z85thzinc0kx.js} +1 -1
- package/server/.next/static/chunks/{11_iva96ceble.js → 25erhrojc-1fi.js} +1 -1
- package/server/.next/static/chunks/{0x1xj431cbkfa.js → 29sduk6krs_b1.js} +1 -1
- package/server/.next/static/chunks/{1z8byc-won_tq.js → 29v9jg7vw7brb.js} +1 -1
- package/server/.next/static/chunks/2dbx53nx6f-9f.js +7 -0
- package/server/.next/static/chunks/{3-xb6vd_khwfo.js → 2e195xkcjq72y.js} +1 -1
- package/server/.next/static/chunks/{1urtw14pwufsv.js → 2f07frmj7udob.js} +1 -1
- package/server/.next/static/chunks/{2t30gqjhercob.js → 2fp4pmte8dtbb.js} +1 -1
- package/server/.next/static/chunks/{2seth6dz7lydu.js → 2gv1tg_m49u9m.js} +1 -1
- package/server/.next/static/chunks/{3ymogjp57edbj.js → 2ockms4mqiec_.js} +1 -1
- package/server/.next/static/chunks/{1jc9qa7xb63lp.js → 2p-ty5g5uq133.js} +1 -1
- package/server/.next/static/chunks/{299jy1-g0cm8n.js → 2tnbp3f6x0jv_.js} +1 -1
- package/server/.next/static/chunks/{36e9fpbpqndu5.js → 2uu38i0lq_wlc.js} +1 -1
- package/server/.next/static/chunks/2uufhbm18_cri.js +1 -0
- package/server/.next/static/chunks/{1ghfc_9g9io17.js → 2vxmvnntekclp.js} +1 -1
- package/server/.next/static/chunks/{3wl06e5yyzlwh.js → 2xhqwi0hiv_70.js} +1 -1
- package/server/.next/static/chunks/{1qug5gmo2rbaf.js → 3-8by5unw1j-r.js} +1 -1
- package/server/.next/static/chunks/{1gw40u38oaj6z.js → 310xe703zu_qp.js} +1 -1
- package/server/.next/static/chunks/{0x6eipkda93fh.js → 33z05hmv7hw1s.js} +1 -1
- package/server/.next/static/chunks/{3xbsyym_tfj0u.js → 36wyyf_gobe7n.js} +1 -1
- package/server/.next/static/chunks/{0m40tf7-fh2ht.js → 3_5xff9sl-2e3.js} +1 -1
- package/server/.next/static/chunks/{3zx1pe40m_ddz.js → 3b0xtqo5kfyuj.js} +1 -1
- package/server/.next/static/chunks/{3cjokqd7600_0.js → 3cvrxnnojhvxz.js} +1 -1
- package/server/.next/static/chunks/{1e0iyxugtm7b0.js → 3fais-5rzury8.js} +2 -2
- package/server/.next/static/chunks/{1zhnm25vt6hu8.js → 3gj8dc0o09zl6.js} +1 -1
- package/server/.next/static/chunks/{422gxqrwveuyc.js → 3s3unktz7g7f0.js} +1 -1
- package/server/.next/static/chunks/{2j9fpx77gfesr.js → 3w26qimof6fnj.js} +1 -1
- package/server/.next/static/chunks/{0o6_y6xu__s6q.js → 3z70obsntezy0.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0z3hf530bwcq_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1p3fqi03x5du8._.js +0 -3
- package/server/.next/server/chunks/_0hsj1tx2ynla-._.js +0 -3
- package/server/.next/server/chunks/_1b1t9p1xljuql._.js +0 -5
- package/server/.next/server/chunks/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +0 -3
- package/server/.next/server/chunks/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +0 -3
- package/server/.next/server/chunks/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +0 -3
- package/server/.next/server/chunks/src_lib_domain-move_ts_04stiet1-xpe2._.js +0 -3
- package/server/.next/server/chunks/src_private_1_nggk_wre7qf._.js +0 -5
- package/server/.next/server/chunks/ssr/[root-of-the-server]__05gue5stvejba._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__18gcvkhrt73zc._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1e0l6kek0ufui._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1o63-3k1wez40._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1tgcpistmcbrd._.js +0 -4
- package/server/.next/server/chunks/ssr/_034fv8o7kws2k._.js +0 -3
- package/server/.next/server/chunks/ssr/_042ow6smd_1gj._.js +0 -3
- package/server/.next/server/chunks/ssr/_0hsj1tx2ynla-._.js +0 -3
- package/server/.next/server/chunks/ssr/_0zixhhc1lheoi._.js +0 -4
- package/server/.next/server/chunks/ssr/_1b1t9p1xljuql._.js +0 -5
- package/server/.next/server/chunks/ssr/_218164gkxgum_._.js +0 -4
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_0y5m8cul6d7kk.js +0 -3
- package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +0 -8
- package/server/.next/server/chunks/ssr/src_1koc8y1nfdlw3._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_0kwns5iudhgwj._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_signin_1fj68y-bbe-xr._.js +0 -3
- package/server/.next/server/chunks/ssr/src_components_08d78uqnnmrrh._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_1gauld53vvpev._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_1l8ej-zoyyegd._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_collector_http-check_ts_0bh0rtjky3u1-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_apps-db_ts_02ovqtci8e7o6._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_deployments-db_ts_1shbv_55rwa2-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_vercel-action_ts_1hvera3nwo5fp._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_domain-move_ts_04stiet1-xpe2._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_view_14iq8onyfo7nd._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_view_deploy-actions_ts_1l3rr2k-04gi4._.js +0 -3
- package/server/.next/server/chunks/ssr/src_private_04omlb_sgy-_r._.js +0 -5
- package/server/.next/static/chunks/0ia5361d7hoce.js +0 -7
- package/server/.next/static/chunks/15_3o9t6d7ujo.js +0 -1
- package/server/.next/static/chunks/1c0s-ejiwfy2u.js +0 -1
- package/server/.next/static/chunks/2j4kmkog1zkpo.js +0 -1
- package/server/.next/static/chunks/2ziborutqth-2.js +0 -1
- /package/server/.next/static/{u0RcJ9L5FEEUdENisty65 → WqHYD3Noq8qkEPXvfVDGQ}/_buildManifest.js +0 -0
- /package/server/.next/static/{u0RcJ9L5FEEUdENisty65 → WqHYD3Noq8qkEPXvfVDGQ}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{u0RcJ9L5FEEUdENisty65 → WqHYD3Noq8qkEPXvfVDGQ}/_ssgManifest.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[
|
|
1
|
+
(()=>{"use strict";module.exports=[601219,496843,a=>{var b=a.i(351674),c=a.i(548734),d=a.i(837137),e=a.i(245710);let f={monitor:{"Monitor down":"MonitorDown","Monitor degraded":"MonitorDegraded","Monitor recovered":"MonitorRecovered"},deployment:{"Deployment started":"DeployStarted","Deployment ready":"DeployReady","Deployment failed":"DeployFailed","Deployment canceled":"DeployCanceled"},system:{"Collector stopped":"CollectorStopped","Daily jobs finished":"DailyFinished","Daily jobs finished with problems":"DailyProblems"}};function g(a){return a.reason?a.reason:"action"===a.type?"Action":f[a.type]?.[a.message]??null}function h(a){return null!==a&&"Action"!==a}let i=/^(.+?) (?:reports an incident|incident resolved)$/;async function j(a,e=(0,c.f)()){for(let c of a){if(!c)continue;let a=c.at??new Date,f=g(c);if(h(f)){let g=new Date(a.getTime()-36e5);if((await e.update(d.events).set({count:b.B`${d.events.count} + 1`,lastAt:b.B`greatest(coalesce(${d.events.lastAt}, ${d.events.at}), ${a.toISOString()}::timestamptz)`,detail:c.detail,kind:c.kind}).where(b.B`${d.events.id} = (select id from ops.events where reason = ${f} and resource_id is not distinct from ${c.resourceId}::uuid
|
|
2
2
|
and message = ${c.message}
|
|
3
3
|
and coalesce(last_at, at) >= ${g.toISOString()}::timestamptz order by coalesce(last_at, at) desc limit 1)`).returning({id:d.events.id})).length)continue}await e.insert(d.events).values({at:a,resourceId:c.resourceId,type:c.type,kind:c.kind,message:c.message,detail:c.detail,actorUserId:c.actorUserId??null,reason:f,count:1})}}a.s(["t",0,36e5,"L",0,function(a){if(a.resource)return a.resource;if("ProviderIncident"===a.reason||"ProviderRecovered"===a.reason){let b=i.exec(a.message);if(b)return b[1]}return"system"===a.type?"collector":"console"},"y",0,g,"W",0,function(a,b,c){return a<=1||!b?null:`\xd7${a} \xb7 last ${(0,e.$)(b,c)}`},"w",0,h],496843),a.s(["f",0,j],601219)},323878,a=>{var b=a.i(93321),c=a.i(351674),d=a.i(548734),e=a.i(837137),f=a.i(312573);async function g(a,f){let[g]=await (0,d.f)().insert(e.rateLimits).values({key:a,windowStart:f,count:1}).onConflictDoUpdate({target:[e.rateLimits.key,e.rateLimits.windowStart],set:{count:c.B`${e.rateLimits.count} + 1`}}).returning({count:e.rateLimits.count});if(1===g.count)try{await (0,d.f)().delete(e.rateLimits).where((0,b.S)(e.rateLimits.windowStart,new Date(Date.now()-864e5)))}catch{console.warn("rate limit sweep failed")}return g.count}async function h(a,b){let c=new Date,d=0;return{...await (0,f.A)(a,b,{now:c,hit:async(a,b)=>d=await g(a,b)}),windowStart:(0,f.M)(c,a.windowSeconds),count:d}}async function i(a,g,h){await (0,d.f)().update(e.rateLimits).set({count:c.B`${e.rateLimits.count} - 1`}).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,g)),(0,b.u)(e.rateLimits.windowStart,h),(0,b.H)(e.rateLimits.count,0)))}async function j(a,c){let g=new Date,[h]=await (0,d.f)().select({count:e.rateLimits.count}).from(e.rateLimits).where((0,b.b)((0,b.u)(e.rateLimits.key,(0,f.P)(a,c)),(0,b.u)(e.rateLimits.windowStart,(0,f.M)(g,a.windowSeconds))));return(0,f.J)(a,h?.count??0,g)}a.s(["j",0,h,"C",0,function(a,b){return(0,f.A)(a,b,{hit:g})},"H",0,j,"K",0,i])}]})();
|
|
4
4
|
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=src_lib_0-nc33gvdtkg5._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),y=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,z=new Set(["turso","upstash","d1"]),A={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=x("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=x("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[x("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=x("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=x("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>x("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=x("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:y(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=x("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=x("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=x("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>x("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>z.has(a.provider)).map(a=>{let c=x("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:y(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=x("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=x("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null};a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=A[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let B=["MonitorDown","HighLatency"],C=["telegram","discord","webhook","smtp"],D=a=>a.channels.some(a=>C.includes(a));function E(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&B.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let F=(a,b)=>"critical"===b&&"warning"===a?"critical":a,G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[H(a.rule,a.subject),a])),j=new Set(a.map(a=>H(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(H(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=E(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!G(c,f.now)&&!b&&null===c.pending&&D(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(H(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=E(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:F(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!D(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711),v=a.i(460565);async function w(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function x(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function y(){let[a]=await (0,e.f)().select({threshold:f.alertRules.threshold}).from(f.alertRules).where((0,b.u)(f.alertRules.key,"CollectorStale")).limit(1);return(0,v.X)(a?.threshold)}a.s(["o",0,y,"D",0,w,"d",0,x],569057);var z=a.i(367247),A=a.i(436357),B=a.i(912283),C=a.i(358179),D=a.i(492665),E=a.i(683439),F=a.i(679662),G=a.i(852539),H=a.i(33135),I=a.i(533957);let J="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function K(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return M(a,{method:"POST",headers:{"content-type":"application/json","user-agent":J},body:JSON.stringify(b),signal:f},c,f,d)}async function L(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return M(a,{method:"GET",headers:{"user-agent":J},signal:e},b,e,c)}async function M(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,I.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,H.z)(f,c,(0,H.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,I.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function N(a,b){let c=[];for(let d of(0,G.f)(a)){let a=await K(G.n,d,4194304,b);if(!a.ok)return a;let e=(0,G.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function O(a,b){let c=[...new Set(a)].filter(G.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await L(`${G.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,G.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var P=a.i(521050),Q=a.i(120213),R=a.i(689963),S=a.i(26972),T=a.i(427221),U=a.i(811365),V=a.i(760417);let W=R.z.array(S.z.object({name:T.z.string(),type:T.z.string(),sha:T.z.string(),size:U.z.number().optional()}));async function X(a,b,c,d={},e=null){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,P.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,V.j)(`/repos/${(0,V.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=W.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function Y(a,b,c,d={}){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,V.j)(`/repos/${(0,V.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function Z(a,b,c,d,e,f={}){return(0,V.V)(a,b,c,d,e,f)}async function $(a,b,c={}){if(!(0,V.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,V.j)(`/repos/${(0,V.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,Q.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var _=a.i(751263);async function aa(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,C.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,D.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function ab(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let ac=a=>{let b=(0,_.w)(a);return{dir:(0,P.Q)((a??{}).rootDirectory),unsupported:(0,P.l)((a??{}).rootDirectoryUnsupported),branch:(0,_.i)((0,_.V)(a),null),...b?{fallback:b}:{}}};async function ad(a){let c=[...new Set(a.filter(E.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,ac(a.meta));return d}async function ae(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await ab()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await ad(d.map(a=>a.id)):new Map;return(0,Q.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let af=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ag(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function ah(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function ai(a,b){for(let c of F.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,P.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function aj(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ag(c.id,{error:af(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,_.i)(b,c.defaultBranch);if(!d)continue;let e=await Y(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,P.Q)(c.rootDir),o=n?null:(0,P.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await X(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,P.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=ai(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await X(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=ai(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),z=new Date;if(!(0,Q.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await ah(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await ag(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:af([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,P.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,P.H)(n,"package.json"),C=s?await Z(a,c.fullName,A,j,V.$,h()):null;if(C&&!C.ok)return i(C.error);let D=C?.ok&&C.data?(0,F.b)(C.data):null,E=null,H="package-json",I=t&&r?`Scanned ${(0,P.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await Z(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,P.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await Z(a,c.fullName,"package.json",j,V.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,P.F)(b?.data??null,n)}e?(E=b.data?(0,F.D)(r.kind,b.data):null,H=r.kind,E||(I=[I,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(I=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(E){let a=(0,B.m)(E,D);E=a.deps,a.stale.length&&(I=[I,(0,B.M)(a.stale)].filter(Boolean).join(" "))}else E=D?(0,F.e)(D):[],H="package-json",I??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let J=await ah(c.id),K=[];if(E.length){let a=await N(E,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,Q.A)(J,!0===g.force),c=await O((0,Q.z)(E,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,G.i)(E,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await $(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,Q.R)(K,b.data.alerts,E):b.ok&&(I=[I,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let L=(0,Q.h)(J,K,(0,F.K)(D));I=[m,p,I].filter(Boolean).join(" ")||null;let M=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(L.insert.length&&await a.insert(f.dependencyVulns).values(L.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:M,lastSeenAt:M}))).onConflictDoNothing(),L.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:M}).where((0,b.u)(f.dependencyVulns.id,d.id));L.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:M}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,L.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}})}),{status:"scanned",vulns:L.insert.length+L.update.length,packages:E.length,note:"package-json"===H?I:null}}async function ak(a,c={}){var d,g;let h,i,j,k,l=await aa();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ae(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await aj(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let al=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function am(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await al())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(E.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await ak(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function an(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,E.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,Q.t)(a.severity)-(0,Q.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function ao(a,c={}){if(!(0,E.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await aa();if("error"in h)return{ok:!1,error:h.error};let i=ac(g.meta),j=await aj(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function ap(a){let c=a.filter(E.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function aq(a,c=new Set){let g=a.filter(E.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,Q.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,an,"O",0,am,"C",0,aq,"a",0,ap,"h",0,ao],930270);var ar=a.i(242605);async function as(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function at(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([x(),w(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],v=k.map(a=>a.id),y=v.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,v),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],B=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),C=a=>B.filter(b=>b.kind===a),D=B.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),E=C("zone"),F=C("domain"),G=await as(),H=await (0,z.Y)().catch(()=>null),I=v.length?await ap(v).catch(()=>null):null,J=v.length?await (0,ar.F)(v).catch(()=>null):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,A.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=y.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:D.length?D.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:E.length||F.length?[...E.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...F.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(E,F),links:G,compute:H,deps:I&&I.length?I:null,frameworks:J&&J.length?J:null}}var au=a.i(714530),av=a.i(396667);let aw={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function ax(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function ay(a,c={}){let[d,j,m,n,o,p]=await Promise.all([at(a),ax(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,au.w)(),(0,av.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,aw[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function az(){let[a,c]=await Promise.all([(0,av.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let aA=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aB(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,av.s)(a))).orderBy(aA,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aC(){return aB(await (0,av.I)())}async function aD(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aE(){let[a,c,h]=await Promise.all([ax(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aF(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aG(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function aH(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function aI(a,b){let c=await aH();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,ay,"q",0,aB,"I",0,aD,"i",0,aC,"X",0,az,"w",0,aH,"y",0,aE,"z",0,aG,"_",0,aI,"N",0,aF],455317)}]})();
|
|
1
|
+
(()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),y=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,z=new Set(["turso","upstash","d1"]),A={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=x("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=x("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[x("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=x("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=x("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>x("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=x("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=x("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:y(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=x("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=x("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=x("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>x("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>z.has(a.provider)).map(a=>{let c=x("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:y(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=x("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=x("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=x("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null};a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=A[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let B=["MonitorDown","HighLatency"],C=["telegram","discord","webhook","smtp"],D=a=>a.channels.some(a=>C.includes(a));function E(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&B.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let F=(a,b)=>"critical"===b&&"warning"===a?"critical":a,G=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),H=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[H(a.rule,a.subject),a])),j=new Set(a.map(a=>H(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(H(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=E(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!G(c,f.now)&&!b&&null===c.pending&&D(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(H(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=E(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:F(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!D(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(639271),p=a.i(656298),q=a.i(688275),r=a.i(893893),s=a.i(672319),t=a.i(188546),u=a.i(233711),v=a.i(460565);async function w(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function x(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function y(){let[a]=await (0,e.f)().select({threshold:f.alertRules.threshold}).from(f.alertRules).where((0,b.u)(f.alertRules.key,"CollectorStale")).limit(1);return(0,v.X)(a?.threshold)}a.s(["o",0,y,"D",0,w,"d",0,x],569057);var z=a.i(367247),A=a.i(436357),B=a.i(912283),C=a.i(358179),D=a.i(492665),E=a.i(683439),F=a.i(679662),G=a.i(852539),H=a.i(33135),I=a.i(533957);let J="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function K(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return M(a,{method:"POST",headers:{"content-type":"application/json","user-agent":J},body:JSON.stringify(b),signal:f},c,f,d)}async function L(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return M(a,{method:"GET",headers:{"user-agent":J},signal:e},b,e,c)}async function M(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,I.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,H.z)(f,c,(0,H.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,I.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function N(a,b){let c=[];for(let d of(0,G.f)(a)){let a=await K(G.n,d,4194304,b);if(!a.ok)return a;let e=(0,G.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function O(a,b){let c=[...new Set(a)].filter(G.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await L(`${G.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,G.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var P=a.i(521050),Q=a.i(120213),R=a.i(689963),S=a.i(26972),T=a.i(427221),U=a.i(811365),V=a.i(760417);let W=R.z.array(S.z.object({name:T.z.string(),type:T.z.string(),sha:T.z.string(),size:U.z.number().optional()}));async function X(a,b,c,d={},e=null){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,P.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,V.j)(`/repos/${(0,V.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=W.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function Y(a,b,c,d={}){if(!(0,V.M)(b)||!(0,V.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,V.j)(`/repos/${(0,V.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function Z(a,b,c,d,e,f={}){return(0,V.V)(a,b,c,d,e,f)}async function $(a,b,c={}){if(!(0,V.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,V.j)(`/repos/${(0,V.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,Q.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var _=a.i(751263);async function aa(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,C.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,D.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function ab(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let ac=a=>{let b=(0,_.w)(a);return{dir:(0,P.Q)((a??{}).rootDirectory),unsupported:(0,P.l)((a??{}).rootDirectoryUnsupported),branch:(0,_.i)((0,_.V)(a),null),...b?{fallback:b}:{}}};async function ad(a){let c=[...new Set(a.filter(E.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,ac(a.meta));return d}async function ae(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await ab()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await ad(d.map(a=>a.id)):new Map;return(0,Q.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let af=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function ag(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function ah(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function ai(a,b){for(let c of F.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,P.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function aj(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await ag(c.id,{error:af(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,_.i)(b,c.defaultBranch);if(!d)continue;let e=await Y(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,P.Q)(c.rootDir),o=n?null:(0,P.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await X(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,P.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=ai(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await X(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=ai(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),z=new Date;if(!(0,Q.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await ah(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await ag(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:af([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,P.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,P.H)(n,"package.json"),C=s?await Z(a,c.fullName,A,j,V.$,h()):null;if(C&&!C.ok)return i(C.error);let D=C?.ok&&C.data?(0,F.b)(C.data):null,E=null,H="package-json",I=t&&r?`Scanned ${(0,P.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await Z(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,P.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await Z(a,c.fullName,"package.json",j,V.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,P.F)(b?.data??null,n)}e?(E=b.data?(0,F.D)(r.kind,b.data):null,H=r.kind,E||(I=[I,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(I=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(E){let a=(0,B.m)(E,D);E=a.deps,a.stale.length&&(I=[I,(0,B.M)(a.stale)].filter(Boolean).join(" "))}else E=D?(0,F.e)(D):[],H="package-json",I??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let J=await ah(c.id),K=[];if(E.length){let a=await N(E,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,Q.A)(J,!0===g.force),c=await O((0,Q.z)(E,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);K=(0,G.i)(E,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await $(a,c.fullName,h());b.ok&&"alerts"in b.data?K=(0,Q.R)(K,b.data.alerts,E):b.ok&&(I=[I,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let L=(0,Q.h)(J,K,(0,F.K)(D));I=[m,p,I].filter(Boolean).join(" ")||null;let M=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(L.insert.length&&await a.insert(f.dependencyVulns).values(L.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:M,lastSeenAt:M}))).onConflictDoNothing(),L.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:M}).where((0,b.u)(f.dependencyVulns.id,d.id));L.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:M}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,L.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:E.length,scannedAt:M,queriedAt:M,error:null,note:I?af(I,300):null,updatedAt:M}})}),{status:"scanned",vulns:L.insert.length+L.update.length,packages:E.length,note:"package-json"===H?I:null}}async function ak(a,c={}){var d,g;let h,i,j,k,l=await aa();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await ae(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await aj(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let al=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function am(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await al())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(E.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await ak(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function an(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,E.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,Q.t)(a.severity)-(0,Q.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function ao(a,c={}){if(!(0,E.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await aa();if("error"in h)return{ok:!1,error:h.error};let i=ac(g.meta),j=await aj(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function ap(a){let c=a.filter(E.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function aq(a,c=new Set){let g=a.filter(E.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,Q.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,an,"O",0,am,"C",0,aq,"M",0,aa,"a",0,ap,"h",0,ao],930270);var ar=a.i(242605);async function as(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function at(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([x(),w(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],v=k.map(a=>a.id),y=v.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,v),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],B=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),C=a=>B.filter(b=>b.kind===a),D=B.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),E=C("zone"),F=C("domain"),G=await as(),H=await (0,z.Y)().catch(()=>null),I=v.length?await ap(v).catch(()=>null):null,J=v.length?await (0,ar.F)(v).catch(()=>null):null;return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,A.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=y.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:D.length?D.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,r.k)(r.B,a.data),d=(0,u.Z)(b.lastTrafficAt),e=(0,u.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:s.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,r.k)(r.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:q.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:q.a.storageBytes}}if("firestore"===a.kind){let d=(0,r.k)(r.w,a.data),e=(0,u.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,p.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:p.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,r.k)(r.N,a.data),e=(0,o.u)((0,o.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:o.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,r.k)(r.e,a.data),e=(0,o.u)((0,o.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:o.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,r.k)(r.x,a.data),e=(0,o.u)((0,o.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:o.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:E.length||F.length?[...E.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,u.Z)((0,t.q)(a.data).rdap?.expiresAt)})),...F.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,u.Z)((0,t.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,u.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,t.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,t.q)(a.data).records){if(!(0,u.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(E,F),links:G,compute:H,deps:I&&I.length?I:null,frameworks:J&&J.length?J:null}}var au=a.i(714530),av=a.i(396667);let aw={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function ax(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function ay(a,c={}){let[d,j,m,n,o,p]=await Promise.all([at(a),ax(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,au.w)(),(0,av.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,aw[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function az(){let[a,c]=await Promise.all([(0,av.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let aA=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aB(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,av.s)(a))).orderBy(aA,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aC(){return aB(await (0,av.I)())}async function aD(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aE(){let[a,c,h]=await Promise.all([ax(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function aF(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function aG(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function aH(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function aI(a,b){let c=await aH();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,ay,"q",0,aB,"I",0,aD,"i",0,aC,"X",0,az,"w",0,aH,"y",0,aE,"z",0,aG,"_",0,aI,"N",0,aF],455317)}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_0eqv8l-v8d5ze._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[33135,a=>{var b=a.i(300794),c=a.i(903816),d=a.i(261283);let e=new Set([301,302,303,307,308]),f={ok:!1,statusCode:null,latencyMs:null,error:"Blocked address"};async function g(a){return(await (0,b.lookup)(a,{all:!0,verbatim:!0})).map(a=>a.address)}let h=a=>a.startsWith("[")||/^\d+\.\d+\.\d+\.\d+$/.test(a),i=a=>a.toLowerCase().replace(/^www\./,"");async function j(a,b,c,f){let j,k=b.lookup??g;try{j=new URL(a)}catch{return{refused:"blocked"}}let l=j;for(let a=0;;a++){var m,n;if((0,d._)(j))return{refused:"blocked"};if(b.sameOrigin&&(m=j,n="www"===b.sameOrigin,m.origin!==l.origin&&(!n||m.protocol!==l.protocol||m.port!==l.port||i(m.hostname)!==i(l.hostname))))return{refused:"origin"};if(!h(j.hostname)){let a=await Promise.race([k(j.hostname),f]);if(!a.length)throw Error("no address");if(a.some(d.W))return{refused:"blocked"}}c.throwIfAborted();let g=await (b.fetch??fetch)(j.toString(),{method:"GET",redirect:"manual",cache:"no-store",headers:{...b.headers,"User-Agent":b.userAgent??"OpsConsole-Uptime/1.0 (+https://watchbell.west-solutions.web.id)"},signal:c}),o=e.has(g.status)?g.headers.get("location"):null;if(null===o)return{res:g,url:j};if(await g.body?.cancel().catch(()=>void 0),a>=20)return{refused:"redirects"};try{j=new URL(o,j)}catch{return{refused:"blocked"}}}}function k(a){let b=new Promise((b,c)=>{a.aborted?c(a.reason):a.addEventListener("abort",()=>c(a.reason),{once:!0})});return b.catch(()=>void 0),b}function l(a,b){if(a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name))return`No answer within ${m(b)}`;let c=a instanceof TypeError&&a.cause instanceof Error?a.cause.message:"";return/redirect/i.test(c)?"Too many redirects":"Couldn't connect"}let m=a=>a<1e3?`${a} ms`:`${Math.round(a/1e3)} s`,n="Redirected to another site",o={blocked:"Blocked address",redirects:"Too many redirects",origin:n},p="DEPLOYMENT_NOT_FOUND";async function q(a,b={}){let d=b.timeoutMs??5e3,e=b.clock??(()=>performance.now()),g=e(),h=AbortSignal.timeout(d);try{let i,l=await j(a,b,h,k(h));if("refused"in l)return"blocked"===l.refused?f:{ok:!1,statusCode:null,latencyMs:null,error:o[l.refused]};let n=Math.round(e()-g),q=l.res.status===(b.expectedStatus??200);if(!q||!b.body){let a;return await l.res.body?.cancel().catch(()=>void 0),{ok:q,statusCode:l.res.status,latencyMs:n,error:q?null:`HTTP ${l.res.status}${(a=l.res,/^vercel$/i.test(a.headers.get("server")?.trim()??"")&&a.headers.get("x-vercel-error")?.trim()===p)?` \xb7 ${p}`:""}`}}try{i=await s(l.res,c.Q,k(h))}catch(a){return{ok:!1,statusCode:l.res.status,latencyMs:n,error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?`Body not read within ${m(d)}`:"Body couldn't be read"}}let r=(0,c.$)(b.body,new TextDecoder().decode(i.bytes),i.truncated);return{ok:null===r,statusCode:l.res.status,latencyMs:n,error:r}}catch(a){return{ok:!1,statusCode:null,latencyMs:null,error:l(a,d)}}}async function r(a,b={}){let c=b.timeoutMs??1e4,d=b.maxBytes??3145728,e=b.signal?AbortSignal.any([AbortSignal.timeout(c),b.signal]):AbortSignal.timeout(c),f=k(e);try{let c=await j(a,b,e,f);if("refused"in c)return{ok:!1,error:o[c.refused]};let{bytes:g,truncated:h}=await s(c.res,d,f),i=new TextDecoder().decode(g);return{ok:!0,status:c.res.status,url:c.url.toString(),body:i,truncated:h}}catch(a){return{ok:!1,error:l(a,c)}}}async function s(a,b,c){let d=a.body?.getReader(),e=[],f=0,g=!1;if(d)try{for(;;){let{done:a,value:h}=await Promise.race([d.read(),c]);if(a)break;let i=b-f;if(h.byteLength>i){e.push(h.subarray(0,i)),g=!0;break}if(e.push(h),(f+=h.byteLength)===b){g=!(await Promise.race([d.read(),c])).done;break}}}finally{d.cancel().catch(()=>void 0)}return{bytes:Buffer.concat(e),truncated:g}}async function t(a,b,c){let d=Array(a.length),e=0;async function f(){for(;e<a.length;){let b=e++;d[b]=await c(a[b])}}return await Promise.all(Array.from({length:Math.min(Math.max(1,b),a.length)},f)),d}a.s(["l",0,n,"X",0,k,"b",0,q,"P",0,t,"z",0,s,"K",0,r])},436357,521050,572134,a=>{var b=a.i(26972),c=a.i(427221),d=a.i(689963),e=a.i(811365),f=a.i(913822),g=a.i(191179),h=a.i(83931);let i=/^[A-Za-z0-9._-]{1,100}$/,j=a=>a.trim().replace(/^\.\//,"").split("/").filter(a=>""!==a&&"."!==a);function k(a){if("string"!=typeof a)return null;let b=j(a);if(!b.length||b.length>4||b.some(a=>".."===a||!i.test(a)))return null;let c=b.join("/");return c.length<=150?c:null}function l(a){if("string"!=typeof a||!j(a).length||null!==k(a))return null;let b=a.replace(/[\u0000-\u001f\u007f-\u009f]/g,"").trim();return b?b.length>80?`${b.slice(0,79)}…`:b:null}function m(a){let b=a.trim().replace(/^\.\//,"").replace(/\/+$/,"").split("**").map(a=>a.split("*").map(a=>a.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")).join(".*");return RegExp(`^${b}$`)}a.s(["Q",0,k,"x",0,a=>a?`${a} (the Vercel project's Root Directory)`:"the repository root","H",0,(a,b)=>a?`${a}/${b}`:b,"p",0,function(a,b,c){if("npm"===a)try{let a=JSON.parse(b);return!!a.packages&&"object"==typeof a.packages&&Object.hasOwn(a.packages,c)}catch{return!1}if("pnpm"===a){let a=b.search(/^importers:\s*$/m);if(a<0)return!1;let d=b.slice(a).split(/\n(?=\S)/)[0],e=c.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^ {2}['"]?${e}['"]?:\\s*$`,"m").test(d)}return!1},"l",0,l,"F",0,function(a,b){let c;if(!a)return!1;try{c=JSON.parse(a)}catch{return!1}let d=c&&"object"==typeof c&&!Array.isArray(c)?c.workspaces:void 0,e=(Array.isArray(d)?d:d&&"object"==typeof d&&Array.isArray(d.packages)?d.packages:[]).filter(a=>"string"==typeof a&&""!==a.trim()),f=e.filter(a=>a.trim().startsWith("!")).map(a=>a.trim().slice(1));return e.some(a=>!a.trim().startsWith("!")&&m(a).test(b))&&!f.some(a=>m(a).test(b))}],521050);let n="https://api.vercel.com";async function o(a,b,c){let d;try{d=await (c.fetch??fetch)(`${n}${a}`,{headers:{Authorization:`Bearer ${b}`,Accept:"application/json"},signal:AbortSignal.timeout(c.timeoutMs??5e3),cache:"no-store"})}catch(a){return{ok:!1,kind:"transient",error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===d.status||403===d.status)return{ok:!1,kind:"auth",status:d.status,error:`Vercel rejected this credential (${d.status}).`};if(429===d.status){let a=Number(d.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60,error:"Vercel says there were too many requests."}}return d.ok?{ok:!0,data:await d.json().catch(()=>null)}:{ok:!1,kind:"transient",status:d.status,error:`Vercel returned an error (${d.status}).`}}async function p(a,d,e,f,g){let h;try{h=await (g.fetch??fetch)(`${n}${d}`,{method:a,headers:{Authorization:`Bearer ${e}`,Accept:"application/json",...void 0===f?{}:{"Content-Type":"application/json"}},...void 0===f?{}:{body:JSON.stringify(f)},signal:AbortSignal.timeout(g.timeoutMs??5e3),cache:"no-store"})}catch(a){return{ok:!1,kind:"transient",error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?"Vercel didn't answer within 5 seconds; the action may still have happened. Check the deployments in a minute.":"Couldn't reach Vercel."}}if(401===h.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===h.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===h.status){let a;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(a=Number(h.headers.get("Retry-After")))&&a>0?a:60,error:"Vercel says there were too many requests."}}let i=await h.json().catch(()=>null);if(!h.ok){let a=b.z.object({error:b.z.object({code:c.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(i);return{ok:!1,kind:"transient",status:h.status,error:`Vercel refused this (${h.status}${a.success?`, ${a.data.error.code}`:""}).`}}return{ok:!0,data:i}}let q=a=>`teamId=${encodeURIComponent(a)}`,r=encodeURIComponent,s=a=>({ok:!1,kind:"format",error:`Vercel answered ${a} in a format the console doesn't recognise.`});function t(a,b,c=[]){let d=a.filter(a=>!1!==a.verified&&!a.redirect&&!a.gitBranch&&!a.customEnvironmentId),e=new Set(c.map(a=>a.toLowerCase())),f=d.map((b,c)=>{let d;return{name:b.name,key:[...(d=b.name,[+!a.some(a=>a.redirect?.toLowerCase()===d.toLowerCase()),+!!d.endsWith(".vercel.app"),+!e.has(d.toLowerCase()),d.length]),c]}}).sort((a,b)=>{for(let c=0;c<a.key.length;c++)if(a.key[c]!==b.key[c])return a.key[c]-b.key[c];return 0});return f[0]?.name??`${b}.vercel.app`}let u=b.z.object({teams:d.z.array(b.z.object({id:c.z.string(),slug:c.z.string(),name:c.z.string().nullish()}))});async function v(a,b={}){let c=await o("/v2/teams?limit=100",a,b);if(!c.ok)return c;let d=u.safeParse(c.data);return d.success?{ok:!0,data:d.data.teams.map(a=>({id:a.id,slug:a.slug,name:a.name??a.slug}))}:s("the team list")}async function w(a,c={}){let d=await o("/v5/user/tokens/current",a,c);if(!d.ok)return d;let f=b.z.object({token:b.z.object({expiresAt:e.z.number().nullish()})}).safeParse(d.data);return f.success?{ok:!0,data:f.data.token.expiresAt?new Date(f.data.token.expiresAt):null}:s("the token details")}let x=b.z.object({id:c.z.string(),readyState:c.z.string().nullish(),createdAt:e.z.number().nullish().catch(null),alias:d.z.array(c.z.string()).nullish().catch(null)}).nullish(),y=b.z.object({type:c.z.string(),jobStatus:c.z.string(),toDeploymentId:c.z.string(),requestedAt:e.z.number()}).nullish().catch(null);function z(a,b){let c=a?.readyState==="READY"?a.id:null;return b&&"succeeded"===b.jobStatus&&("rollback"===b.type||"promote"===b.type&&"number"==typeof a?.createdAt&&a.createdAt<=b.requestedAt)?b.toDeploymentId:c}let A=b.z.object({id:c.z.string(),name:c.z.string(),framework:c.z.string().nullish(),createdAt:e.z.number(),link:b.z.object({productionBranch:c.z.string().nullish(),type:c.z.string().nullish(),org:c.z.string().nullish(),repo:c.z.string().nullish()}).nullish(),resourceConfig:b.z.object({functionDefaultRegions:d.z.array(c.z.string()).nullish()}).nullish(),targets:b.z.object({production:x}).nullish(),lastAliasRequest:y,rootDirectory:c.z.string().nullish().catch(null)}),B=b.z.object({projects:d.z.array(A),pagination:b.z.object({next:e.z.number().nullish()}).nullish()});async function C(a,b,c={}){let d,e=[];for(let f=0;f<10;f++){let f=await o(`/v10/projects?teamId=${encodeURIComponent(b.id)}&limit=100${d?`&until=${d}`:""}`,a,c);if(!f.ok)return f;let g=B.safeParse(f.data);if(!g.success)return s("the project list");for(let a of g.data.projects)e.push({id:a.id,name:a.name,team:b,framework:a.framework??null,createdAt:new Date(a.createdAt),productionBranch:a.link?.productionBranch??null,currentDeploymentId:z(a.targets?.production,a.lastAliasRequest),repo:a.link?.type&&a.link.org&&a.link.repo?{type:a.link.type,org:a.link.org,repo:a.link.repo}:null,functionRegions:a.resourceConfig?.functionDefaultRegions??[],rootDirectory:k(a.rootDirectory),rootDirectoryUnsupported:l(a.rootDirectory),productionAliases:a.targets?.production?.alias??[]});if(!(d=g.data.pagination?.next))break}return{ok:!0,data:e}}let D=b.z.object({uid:c.z.string(),projectId:c.z.string(),state:c.z.string().nullish(),readyState:c.z.string().nullish(),target:c.z.string().nullish(),source:c.z.string().nullish(),url:c.z.string().nullish(),createdAt:e.z.number().nullish(),created:e.z.number().nullish(),buildingAt:e.z.number().nullish(),ready:e.z.number().nullish(),meta:f.z.record(c.z.string(),g.z.unknown()).nullish(),gitSource:b.z.object({ref:c.z.string().nullish(),sha:c.z.string().nullish()}).nullish().catch(null)}),E=a=>"string"==typeof a&&a.length?a:null,F=a=>a?new Date(a):null;function G(a,b){var c,d;let e,f,g=a.readyState??a.state??"BUILDING",h=a.meta??{};return{id:b,projectId:a.projectId,state:"READY"===g?"ready":"ERROR"===g?"error":"CANCELED"===g?"canceled":"building",rawState:g,target:"production"===a.target?"production":"preview",branch:E(h.githubCommitRef)??E(h.gitCommitRef)??E(h.gitlabCommitRef)??E(h.bitbucketCommitRef)??E(a.gitSource?.ref),sha:E(h.githubCommitSha)??E(h.gitCommitSha)??E(h.gitlabCommitSha)??E(h.bitbucketCommitSha)??E(a.gitSource?.sha),message:E(h.githubCommitMessage)??E(h.gitCommitMessage)??E(h.gitlabCommitMessage)??E(h.bitbucketCommitMessage),source:a.source??null,url:a.url??null,createdAt:new Date(a.createdAt??a.created??0),buildingAt:F(a.buildingAt),readyAt:F(a.ready),...(c=h,d=a.gitSource?.ref,e=E(c.githubCommitRef)?"github":E(c.gitlabCommitRef)?"gitlab":E(c.bitbucketCommitRef)?"bitbucket":E(d)?"gitSource":E(c.gitCommitRef)?"cli":null,f="1"===c.gitDirty||1===c.gitDirty||!0===c.gitDirty,{...e?{branchFrom:e}:{},...f?{gitDirty:!0}:{}})}}async function H(a,c,e,f={}){let g=await o(`/v7/deployments?teamId=${encodeURIComponent(c.id)}&limit=${e.limit??100}${e.since?`&since=${e.since}`:""}`,a,f);if(!g.ok)return g;let h=b.z.object({deployments:d.z.array(D)}).safeParse(g.data);return h.success?{ok:!0,data:h.data.deployments.map(a=>G(a,a.uid))}:s("the deployment list")}let I=D.omit({uid:!0,projectId:!0}).extend({id:c.z.string(),projectId:c.z.string().nullish()});async function J(a,b,c,d={}){let e=await o(`/v13/deployments/${encodeURIComponent(c)}?teamId=${encodeURIComponent(b.id)}`,a,d);if(!e.ok)return e;let f=I.safeParse(e.data);return f.success?{ok:!0,data:G({...f.data,uid:f.data.id,projectId:f.data.projectId??""},f.data.id)}:s("the deployment")}let K=b.z.object({name:c.z.string(),targets:b.z.object({production:x}).nullish(),lastAliasRequest:y});async function L(a,b,c,d={}){let e=await o(`/v9/projects/${r(c)}?${q(b)}`,a,d);if(!e.ok)return e;let f=K.safeParse(e.data);return f.success?{ok:!0,data:{name:f.data.name,currentId:z(f.data.targets?.production,f.data.lastAliasRequest)}}:s("the project")}let M=b.z.object({deployments:d.z.array(D.extend({projectId:c.z.string().nullish()}))});async function N(a,b,c,d,e,f){let g=`projectId=${r(c)}&target=production&state=${d}&limit=${e}&${q(b)}`,h=await o(`/v6/deployments?${g}`,a,f);if(!h.ok)return h;let i=M.safeParse(h.data);return i.success?{ok:!0,data:i.data.deployments.map(a=>G({...a,projectId:a.projectId??c},a.uid))}:s("the deployment list")}async function O(a,b,c,d={}){return N(a,b,c,"READY",5,d)}async function P(a,b,c,d={}){let e=await N(a,b,c,"BUILDING,QUEUED,INITIALIZING",1,d);return e.ok?{ok:!0,data:e.data[0]??null}:e}async function Q(a,d,e,f={}){let g=await p("POST",`/v13/deployments?${q(d)}`,a,{name:e.name,project:e.projectId,deploymentId:e.deploymentId,target:"production"},f);if(!g.ok)return g;let h=b.z.object({id:c.z.string()}).safeParse(g.data);return{ok:!0,data:{id:h.success?h.data.id:""}}}async function R(a,b,c,d,e={}){let f=await p("POST",`/v1/projects/${r(c)}/rollback/${r(d)}?${q(b)}`,a,void 0,e);return f.ok?{ok:!0,data:null}:f}async function S(a,b,c,d,e={}){let f=await p("POST",`/v10/projects/${r(c)}/promote/${r(d)}?${q(b)}`,a,{},e);return f.ok?{ok:!0,data:null}:f}async function T(a,d,e,f={}){let g=await p("POST",`/v13/deployments?${q(d)}`,a,{name:e.name,project:e.projectId,deploymentId:e.deploymentId,target:"production",meta:{action:"promote"}},f);if(!g.ok)return g;let h=b.z.object({id:c.z.string()}).safeParse(g.data);return{ok:!0,data:{id:h.success?h.data.id:""}}}async function U(a,b,c,d={}){let e=await p("PATCH",`/v12/deployments/${r(c)}/cancel?${q(b)}`,a,void 0,d);return e.ok?{ok:!0,data:null}:e}let V=b.z.object({domains:d.z.array(b.z.object({name:c.z.string(),redirect:c.z.string().nullish(),verified:h.z.boolean().optional(),gitBranch:c.z.string().nullish(),customEnvironmentId:c.z.string().nullish().catch(null)})),pagination:b.z.object({next:e.z.number().nullish()}).nullish()});async function W(a,b,c,d={}){let e,f=[];for(let g=0;g<10;g++){let g=await o(`/v9/projects/${encodeURIComponent(c)}/domains?teamId=${encodeURIComponent(b)}&limit=100${e?`&until=${e}`:""}`,a,d);if(!g.ok)return g;let h=V.safeParse(g.data);if(!h.success)return s("the domain list");for(let a of h.data.domains)f.push({name:a.name,redirect:a.redirect??null,verified:!1!==a.verified,gitBranch:a.gitBranch??null,customEnvironmentId:a.customEnvironmentId??null});if(!(e=h.data.pagination?.next))return{ok:!0,data:f}}return{ok:!1,kind:"transient",error:"The project has more than 1000 domains; Watchbell kept the domains it had."}}async function X(a,b,c,d,e={},f=[]){let g=await W(a,b,c,e);return g.ok?{ok:!0,data:t(g.data,d,f)}:g}let Y=b.z.object({misconfigured:h.z.boolean(),configuredBy:c.z.string().nullish(),recommendedIPv4:d.z.array(b.z.object({value:d.z.array(c.z.string())})).default([])});async function Z(a,b,c,d={}){let e=await o(`/v6/domains/${encodeURIComponent(c)}/config?teamId=${encodeURIComponent(b)}`,a,d);if(!e.ok)return e;let f=Y.safeParse(e.data);return f.success?{ok:!0,data:{misconfigured:f.data.misconfigured,configuredBy:f.data.configuredBy??null,recommendedIps:f.data.recommendedIPv4.flatMap(a=>a.value)}}:s("the domain configuration")}async function $(a,b={}){let c=await v(a,b);if(!c.ok)return c;let d=[],e=[],f=[];for(let g of c.data){let c=await C(a,g,b);if(!c.ok){if(403===c.status){e.push(g.name),f.push(g.id);continue}return c}for(let a of c.data)d.push({externalId:a.id,name:a.name,meta:{teamId:g.id,teamSlug:g.slug,teamName:g.name,framework:a.framework,productionBranch:a.productionBranch,createdAt:a.createdAt.toISOString(),repo:a.repo?`${a.repo.org}/${a.repo.repo}`:null,repoType:a.repo?.type??null,functionRegions:a.functionRegions,rootDirectory:a.rootDirectory,...a.rootDirectoryUnsupported?{rootDirectoryUnsupported:a.rootDirectoryUnsupported}:{},...a.productionAliases.length?{productionAliases:a.productionAliases}:{}}})}return e.length===c.data.length?{ok:!1,kind:"auth",error:"This token can't read any of your Vercel teams. Create a token with access to them."}:{ok:!0,data:{apps:d,skippedTeams:e,skippedTeamIds:f}}}async function _(a,c,e,f,g={}){if(!/^[0-9a-f]{40}$/.test(f))return s("the commit");let h=new URLSearchParams({teamId:c,projectId:e,sha:f,limit:"10"}),i=await o(`/v6/deployments?${h}`,a,g);if(!i.ok)return i;let j=b.z.object({deployments:d.z.array(D)}).safeParse(i.data);return j.success?{ok:!0,data:j.data.deployments.map(a=>G(a,a.uid)).filter(a=>a.projectId===e&&(null===a.sha||a.sha===f)).sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime())}:s("the deployment list")}async function aa(a,b,c,d={}){let e=await o(`/v9/projects/${r(c)}?${q(b)}`,a,d);if(!e.ok)return e;let f=K.safeParse(e.data);if(!f.success)return s("the project");let g=f.data.targets?.production??null,h=f.data.lastAliasRequest??null;return{ok:!0,data:{currentId:z(g,h),latest:g?{id:g.id,readyState:g.readyState??null,createdAt:g.createdAt??null}:null,promote:h&&"promote"===h.type&&"succeeded"===h.jobStatus?{toDeploymentId:h.toDeploymentId,requestedAt:h.requestedAt}:null}}}a.s(["T",0,U,"n",0,t,"c",0,L,"C",0,_,"G",0,$,"Q",0,Z,"S",0,J,"K",0,H,"M",0,W,"W",0,C,"X",0,v,"r",0,O,"q",0,X,"k",0,aa,"u",0,S,"l",0,T,"L",0,Q,"E",0,R,"N",0,P,"o",0,w],572134);let ab=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0).map(a=>a.toLowerCase()):[];function ac(a){let b="string"==typeof a?.primaryDomain&&a.primaryDomain?a.primaryDomain.toLowerCase():null;return b?{primaryDomain:b,domains:ab(a?.domains),pastDomains:ab(a?.pastDomains)}:null}function ad(a){try{let b=new URL(a);return"https:"===b.protocol||"http:"===b.protocol?b.hostname.toLowerCase():null}catch{return null}}let ae=a=>/ · DEPLOYMENT_NOT_FOUND$/.test(a.lastError??"");function af(a,b,c=[],d={}){let e=ad(a),f=ac(b.meta);return!(!e||!f||function(a,b,c=[]){let d=ac(b.meta);if(!d)return!0;let e=a.toLowerCase();if(e===d.primaryDomain||d.domains.includes(e))return!0;let f=b.name.toLowerCase();return!!(!(e.endsWith(".vercel.app")&&c.some(a=>{let b=a.name.toLowerCase();return b!==f&&b.startsWith(`${f}-`)&&(e===`${b}.vercel.app`||e.startsWith(`${b}-`))}))&&(e===`${f}.vercel.app`||e.endsWith(".vercel.app")&&e.startsWith(`${f}-`)))||c.some(a=>{let b=ac(a.meta);return null!==b&&(b.primaryDomain===e||b.domains.includes(e))})}(e,b,c))&&(f.pastDomains.includes(e)||ae(d))?{from:e,to:f.primaryDomain}:null}a.s(["Q",0,function(a,b,c=[],d){let e=[...new Set(a.map(a=>a.name.toLowerCase()))],f=new Set(e),g=[...new Set([...ab(d?.pastDomains),...ab(d?.domains)])].filter(a=>!f.has(a)).slice(-20);return{domains:e,primaryDomain:t(a,b,c).toLowerCase(),pastDomains:g}},"u",0,af,"P",0,function(a,b){let c=new Map;for(let d of a){if("heartbeat"===d.kind)continue;let a=af(d.url,{name:d.appName,meta:d.appMeta},b.filter(a=>a.id!==d.appId),{lastError:d.lastError});a&&c.set(d.id,a)}return c},"w",0,function(a,b){let c=new URL(a);if(c.protocol="https:",c.hostname=b,c.port="",c.hostname!==b.toLowerCase())throw Error("The new domain isn't a valid host name.");return c.toString()},"R",0,function(a,b){let c=new Map;for(let d of a){if("heartbeat"===d.kind||!ae({lastError:d.lastError}))continue;let a=ac(d.appMeta),e=ad(d.url);if(!a||!e)continue;let f=c.get(d.appId)??a.pastDomains;!f.includes(e)&&af(d.url,{name:d.appName,meta:d.appMeta},b.filter(a=>a.id!==d.appId),{lastError:d.lastError})&&c.set(d.appId,[...f,e].slice(-20))}return c},"Y",0,ac],436357)}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_0n-8zjgq6mcc7._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[33135,a=>{var b=a.i(300794),c=a.i(903816),d=a.i(261283);let e=new Set([301,302,303,307,308]),f={ok:!1,statusCode:null,latencyMs:null,error:"Blocked address"};async function g(a){return(await (0,b.lookup)(a,{all:!0,verbatim:!0})).map(a=>a.address)}let h=a=>a.startsWith("[")||/^\d+\.\d+\.\d+\.\d+$/.test(a),i=a=>a.toLowerCase().replace(/^www\./,"");async function j(a,b,c,f){let j,k=b.lookup??g;try{j=new URL(a)}catch{return{refused:"blocked"}}let l=j;for(let a=0;;a++){var m,n;if((0,d._)(j))return{refused:"blocked"};if(b.sameOrigin&&(m=j,n="www"===b.sameOrigin,m.origin!==l.origin&&(!n||m.protocol!==l.protocol||m.port!==l.port||i(m.hostname)!==i(l.hostname))))return{refused:"origin"};if(!h(j.hostname)){let a=await Promise.race([k(j.hostname),f]);if(!a.length)throw Error("no address");if(a.some(d.W))return{refused:"blocked"}}c.throwIfAborted();let g=await (b.fetch??fetch)(j.toString(),{method:"GET",redirect:"manual",cache:"no-store",headers:{...b.headers,"User-Agent":b.userAgent??"OpsConsole-Uptime/1.0 (+https://watchbell.west-solutions.web.id)"},signal:c}),o=e.has(g.status)?g.headers.get("location"):null;if(null===o)return{res:g,url:j};if(await g.body?.cancel().catch(()=>void 0),a>=20)return{refused:"redirects"};try{j=new URL(o,j)}catch{return{refused:"blocked"}}}}function k(a){let b=new Promise((b,c)=>{a.aborted?c(a.reason):a.addEventListener("abort",()=>c(a.reason),{once:!0})});return b.catch(()=>void 0),b}function l(a,b){if(a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name))return`No answer within ${m(b)}`;let c=a instanceof TypeError&&a.cause instanceof Error?a.cause.message:"";return/redirect/i.test(c)?"Too many redirects":"Couldn't connect"}let m=a=>a<1e3?`${a} ms`:`${Math.round(a/1e3)} s`,n="Redirected to another site",o={blocked:"Blocked address",redirects:"Too many redirects",origin:n},p="DEPLOYMENT_NOT_FOUND";async function q(a,b={}){let d=b.timeoutMs??5e3,e=b.clock??(()=>performance.now()),g=e(),h=AbortSignal.timeout(d);try{let i,l=await j(a,b,h,k(h));if("refused"in l)return"blocked"===l.refused?f:{ok:!1,statusCode:null,latencyMs:null,error:o[l.refused]};let n=Math.round(e()-g),q=l.res.status===(b.expectedStatus??200);if(!q||!b.body){let a;return await l.res.body?.cancel().catch(()=>void 0),{ok:q,statusCode:l.res.status,latencyMs:n,error:q?null:`HTTP ${l.res.status}${(a=l.res,/^vercel$/i.test(a.headers.get("server")?.trim()??"")&&a.headers.get("x-vercel-error")?.trim()===p)?` \xb7 ${p}`:""}`}}try{i=await s(l.res,c.Q,k(h))}catch(a){return{ok:!1,statusCode:l.res.status,latencyMs:n,error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?`Body not read within ${m(d)}`:"Body couldn't be read"}}let r=(0,c.$)(b.body,new TextDecoder().decode(i.bytes),i.truncated);return{ok:null===r,statusCode:l.res.status,latencyMs:n,error:r}}catch(a){return{ok:!1,statusCode:null,latencyMs:null,error:l(a,d)}}}async function r(a,b={}){let c=b.timeoutMs??1e4,d=b.maxBytes??3145728,e=b.signal?AbortSignal.any([AbortSignal.timeout(c),b.signal]):AbortSignal.timeout(c),f=k(e);try{let c=await j(a,b,e,f);if("refused"in c)return{ok:!1,error:o[c.refused]};let{bytes:g,truncated:h}=await s(c.res,d,f),i=new TextDecoder().decode(g);return{ok:!0,status:c.res.status,url:c.url.toString(),body:i,truncated:h}}catch(a){return{ok:!1,error:l(a,c)}}}async function s(a,b,c){let d=a.body?.getReader(),e=[],f=0,g=!1;if(d)try{for(;;){let{done:a,value:h}=await Promise.race([d.read(),c]);if(a)break;let i=b-f;if(h.byteLength>i){e.push(h.subarray(0,i)),g=!0;break}if(e.push(h),(f+=h.byteLength)===b){g=!(await Promise.race([d.read(),c])).done;break}}}finally{d.cancel().catch(()=>void 0)}return{bytes:Buffer.concat(e),truncated:g}}async function t(a,b,c){let d=Array(a.length),e=0;async function f(){for(;e<a.length;){let b=e++;d[b]=await c(a[b])}}return await Promise.all(Array.from({length:Math.min(Math.max(1,b),a.length)},f)),d}a.s(["l",0,n,"X",0,k,"b",0,q,"P",0,t,"z",0,s,"K",0,r])},436357,521050,572134,a=>{var b=a.i(26972),c=a.i(427221),d=a.i(689963),e=a.i(811365),f=a.i(913822),g=a.i(191179),h=a.i(83931);let i=/^[A-Za-z0-9._-]{1,100}$/,j=a=>a.trim().replace(/^\.\//,"").split("/").filter(a=>""!==a&&"."!==a);function k(a){if("string"!=typeof a)return null;let b=j(a);if(!b.length||b.length>4||b.some(a=>".."===a||!i.test(a)))return null;let c=b.join("/");return c.length<=150?c:null}function l(a){if("string"!=typeof a||!j(a).length||null!==k(a))return null;let b=a.replace(/[\u0000-\u001f\u007f-\u009f]/g,"").trim();return b?b.length>80?`${b.slice(0,79)}…`:b:null}function m(a){let b=a.trim().replace(/^\.\//,"").replace(/\/+$/,"").split("**").map(a=>a.split("*").map(a=>a.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join("[^/]*")).join(".*");return RegExp(`^${b}$`)}a.s(["Q",0,k,"x",0,a=>a?`${a} (the Vercel project's Root Directory)`:"the repository root","H",0,(a,b)=>a?`${a}/${b}`:b,"p",0,function(a,b,c){if("npm"===a)try{let a=JSON.parse(b);return!!a.packages&&"object"==typeof a.packages&&Object.hasOwn(a.packages,c)}catch{return!1}if("pnpm"===a){let a=b.search(/^importers:\s*$/m);if(a<0)return!1;let d=b.slice(a).split(/\n(?=\S)/)[0],e=c.replace(/[.+?^${}()|[\]\\]/g,"\\$&");return RegExp(`^ {2}['"]?${e}['"]?:\\s*$`,"m").test(d)}return!1},"l",0,l,"F",0,function(a,b){let c;if(!a)return!1;try{c=JSON.parse(a)}catch{return!1}let d=c&&"object"==typeof c&&!Array.isArray(c)?c.workspaces:void 0,e=(Array.isArray(d)?d:d&&"object"==typeof d&&Array.isArray(d.packages)?d.packages:[]).filter(a=>"string"==typeof a&&""!==a.trim()),f=e.filter(a=>a.trim().startsWith("!")).map(a=>a.trim().slice(1));return e.some(a=>!a.trim().startsWith("!")&&m(a).test(b))&&!f.some(a=>m(a).test(b))}],521050);let n="https://api.vercel.com";async function o(a,b,c){let d;try{d=await (c.fetch??fetch)(`${n}${a}`,{headers:{Authorization:`Bearer ${b}`,Accept:"application/json"},signal:AbortSignal.timeout(c.timeoutMs??5e3),cache:"no-store"})}catch(a){return{ok:!1,kind:"transient",error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===d.status||403===d.status)return{ok:!1,kind:"auth",status:d.status,error:`Vercel rejected this credential (${d.status}).`};if(429===d.status){let a=Number(d.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(a)&&a>0?a:60,error:"Vercel says there were too many requests."}}return d.ok?{ok:!0,data:await d.json().catch(()=>null)}:{ok:!1,kind:"transient",status:d.status,error:`Vercel returned an error (${d.status}).`}}async function p(a,d,e,f,g){let h;try{h=await (g.fetch??fetch)(`${n}${d}`,{method:a,headers:{Authorization:`Bearer ${e}`,Accept:"application/json",...void 0===f?{}:{"Content-Type":"application/json"}},...void 0===f?{}:{body:JSON.stringify(f)},signal:AbortSignal.timeout(g.timeoutMs??5e3),cache:"no-store"})}catch(a){return{ok:!1,kind:"transient",error:a instanceof DOMException&&("TimeoutError"===a.name||"AbortError"===a.name)?"Vercel didn't answer within 5 seconds; the action may still have happened. Check the deployments in a minute.":"Couldn't reach Vercel."}}if(401===h.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===h.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===h.status){let a;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(a=Number(h.headers.get("Retry-After")))&&a>0?a:60,error:"Vercel says there were too many requests."}}let i=await h.json().catch(()=>null);if(!h.ok){let a=b.z.object({error:b.z.object({code:c.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(i);return{ok:!1,kind:"transient",status:h.status,error:`Vercel refused this (${h.status}${a.success?`, ${a.data.error.code}`:""}).`}}return{ok:!0,data:i}}let q=a=>`teamId=${encodeURIComponent(a)}`,r=encodeURIComponent,s=a=>({ok:!1,kind:"format",error:`Vercel answered ${a} in a format the console doesn't recognise.`});function t(a,b,c=[]){let d=a.filter(a=>!1!==a.verified&&!a.redirect&&!a.gitBranch&&!a.customEnvironmentId),e=new Set(c.map(a=>a.toLowerCase())),f=d.map((b,c)=>{let d;return{name:b.name,key:[...(d=b.name,[+!a.some(a=>a.redirect?.toLowerCase()===d.toLowerCase()),+!!d.endsWith(".vercel.app"),+!e.has(d.toLowerCase()),d.length]),c]}}).sort((a,b)=>{for(let c=0;c<a.key.length;c++)if(a.key[c]!==b.key[c])return a.key[c]-b.key[c];return 0});return f[0]?.name??`${b}.vercel.app`}let u=b.z.object({teams:d.z.array(b.z.object({id:c.z.string(),slug:c.z.string(),name:c.z.string().nullish()}))});async function v(a,b={}){let c=await o("/v2/teams?limit=100",a,b);if(!c.ok)return c;let d=u.safeParse(c.data);return d.success?{ok:!0,data:d.data.teams.map(a=>({id:a.id,slug:a.slug,name:a.name??a.slug}))}:s("the team list")}async function w(a,c={}){let d=await o("/v5/user/tokens/current",a,c);if(!d.ok)return d;let f=b.z.object({token:b.z.object({expiresAt:e.z.number().nullish()})}).safeParse(d.data);return f.success?{ok:!0,data:f.data.token.expiresAt?new Date(f.data.token.expiresAt):null}:s("the token details")}let x=b.z.object({id:c.z.string(),readyState:c.z.string().nullish(),createdAt:e.z.number().nullish().catch(null),alias:d.z.array(c.z.string()).nullish().catch(null)}).nullish(),y=b.z.object({type:c.z.string(),jobStatus:c.z.string(),toDeploymentId:c.z.string(),requestedAt:e.z.number()}).nullish().catch(null);function z(a,b){let c=a?.readyState==="READY"?a.id:null;return b&&"succeeded"===b.jobStatus&&("rollback"===b.type||"promote"===b.type&&"number"==typeof a?.createdAt&&a.createdAt<=b.requestedAt)?b.toDeploymentId:c}let A=b.z.object({id:c.z.string(),name:c.z.string(),framework:c.z.string().nullish(),createdAt:e.z.number(),link:b.z.object({productionBranch:c.z.string().nullish(),type:c.z.string().nullish(),org:c.z.string().nullish(),repo:c.z.string().nullish()}).nullish(),resourceConfig:b.z.object({functionDefaultRegions:d.z.array(c.z.string()).nullish()}).nullish(),targets:b.z.object({production:x}).nullish(),lastAliasRequest:y,rootDirectory:c.z.string().nullish().catch(null)}),B=b.z.object({projects:d.z.array(A),pagination:b.z.object({next:e.z.number().nullish()}).nullish()});async function C(a,b,c={}){let d,e=[];for(let f=0;f<10;f++){let f=await o(`/v10/projects?teamId=${encodeURIComponent(b.id)}&limit=100${d?`&until=${d}`:""}`,a,c);if(!f.ok)return f;let g=B.safeParse(f.data);if(!g.success)return s("the project list");for(let a of g.data.projects)e.push({id:a.id,name:a.name,team:b,framework:a.framework??null,createdAt:new Date(a.createdAt),productionBranch:a.link?.productionBranch??null,currentDeploymentId:z(a.targets?.production,a.lastAliasRequest),repo:a.link?.type&&a.link.org&&a.link.repo?{type:a.link.type,org:a.link.org,repo:a.link.repo}:null,functionRegions:a.resourceConfig?.functionDefaultRegions??[],rootDirectory:k(a.rootDirectory),rootDirectoryUnsupported:l(a.rootDirectory),productionAliases:a.targets?.production?.alias??[]});if(!(d=g.data.pagination?.next))break}return{ok:!0,data:e}}let D=b.z.object({uid:c.z.string(),projectId:c.z.string(),state:c.z.string().nullish(),readyState:c.z.string().nullish(),target:c.z.string().nullish(),source:c.z.string().nullish(),url:c.z.string().nullish(),createdAt:e.z.number().nullish(),created:e.z.number().nullish(),buildingAt:e.z.number().nullish(),ready:e.z.number().nullish(),meta:f.z.record(c.z.string(),g.z.unknown()).nullish(),gitSource:b.z.object({ref:c.z.string().nullish(),sha:c.z.string().nullish()}).nullish().catch(null)}),E=a=>"string"==typeof a&&a.length?a:null,F=a=>a?new Date(a):null;function G(a,b){var c,d;let e,f,g=a.readyState??a.state??"BUILDING",h=a.meta??{};return{id:b,projectId:a.projectId,state:"READY"===g?"ready":"ERROR"===g?"error":"CANCELED"===g?"canceled":"building",rawState:g,target:"production"===a.target?"production":"preview",branch:E(h.githubCommitRef)??E(h.gitCommitRef)??E(h.gitlabCommitRef)??E(h.bitbucketCommitRef)??E(a.gitSource?.ref),sha:E(h.githubCommitSha)??E(h.gitCommitSha)??E(h.gitlabCommitSha)??E(h.bitbucketCommitSha)??E(a.gitSource?.sha),message:E(h.githubCommitMessage)??E(h.gitCommitMessage)??E(h.gitlabCommitMessage)??E(h.bitbucketCommitMessage),source:a.source??null,url:a.url??null,createdAt:new Date(a.createdAt??a.created??0),buildingAt:F(a.buildingAt),readyAt:F(a.ready),...(c=h,d=a.gitSource?.ref,e=E(c.githubCommitRef)?"github":E(c.gitlabCommitRef)?"gitlab":E(c.bitbucketCommitRef)?"bitbucket":E(d)?"gitSource":E(c.gitCommitRef)?"cli":null,f="1"===c.gitDirty||1===c.gitDirty||!0===c.gitDirty,{...e?{branchFrom:e}:{},...f?{gitDirty:!0}:{}})}}async function H(a,c,e,f={}){let g=await o(`/v7/deployments?teamId=${encodeURIComponent(c.id)}&limit=${e.limit??100}${e.since?`&since=${e.since}`:""}`,a,f);if(!g.ok)return g;let h=b.z.object({deployments:d.z.array(D)}).safeParse(g.data);return h.success?{ok:!0,data:h.data.deployments.map(a=>G(a,a.uid))}:s("the deployment list")}let I=D.omit({uid:!0,projectId:!0}).extend({id:c.z.string(),projectId:c.z.string().nullish()});async function J(a,b,c,d={}){let e=await o(`/v13/deployments/${encodeURIComponent(c)}?teamId=${encodeURIComponent(b.id)}`,a,d);if(!e.ok)return e;let f=I.safeParse(e.data);return f.success?{ok:!0,data:G({...f.data,uid:f.data.id,projectId:f.data.projectId??""},f.data.id)}:s("the deployment")}let K=b.z.object({name:c.z.string(),targets:b.z.object({production:x}).nullish(),lastAliasRequest:y});async function L(a,b,c,d={}){let e=await o(`/v9/projects/${r(c)}?${q(b)}`,a,d);if(!e.ok)return e;let f=K.safeParse(e.data);return f.success?{ok:!0,data:{name:f.data.name,currentId:z(f.data.targets?.production,f.data.lastAliasRequest)}}:s("the project")}let M=b.z.object({deployments:d.z.array(D.extend({projectId:c.z.string().nullish()}))});async function N(a,b,c,d,e,f){let g=`projectId=${r(c)}&target=production&state=${d}&limit=${e}&${q(b)}`,h=await o(`/v6/deployments?${g}`,a,f);if(!h.ok)return h;let i=M.safeParse(h.data);return i.success?{ok:!0,data:i.data.deployments.map(a=>G({...a,projectId:a.projectId??c},a.uid))}:s("the deployment list")}async function O(a,b,c,d={}){return N(a,b,c,"READY",5,d)}async function P(a,b,c,d={}){let e=await N(a,b,c,"BUILDING,QUEUED,INITIALIZING",1,d);return e.ok?{ok:!0,data:e.data[0]??null}:e}async function Q(a,d,e,f={}){let g=await p("POST",`/v13/deployments?${q(d)}`,a,{name:e.name,project:e.projectId,deploymentId:e.deploymentId,target:"production"},f);if(!g.ok)return g;let h=b.z.object({id:c.z.string()}).safeParse(g.data);return{ok:!0,data:{id:h.success?h.data.id:""}}}async function R(a,b,c,d,e={}){let f=await p("POST",`/v1/projects/${r(c)}/rollback/${r(d)}?${q(b)}`,a,void 0,e);return f.ok?{ok:!0,data:null}:f}async function S(a,b,c,d,e={}){let f=await p("POST",`/v10/projects/${r(c)}/promote/${r(d)}?${q(b)}`,a,{},e);return f.ok?{ok:!0,data:null}:f}async function T(a,d,e,f={}){let g=await p("POST",`/v13/deployments?${q(d)}`,a,{name:e.name,project:e.projectId,deploymentId:e.deploymentId,target:"production",meta:{action:"promote"}},f);if(!g.ok)return g;let h=b.z.object({id:c.z.string()}).safeParse(g.data);return{ok:!0,data:{id:h.success?h.data.id:""}}}async function U(a,b,c,d={}){let e=await p("PATCH",`/v12/deployments/${r(c)}/cancel?${q(b)}`,a,void 0,d);return e.ok?{ok:!0,data:null}:e}let V=b.z.object({domains:d.z.array(b.z.object({name:c.z.string(),redirect:c.z.string().nullish(),verified:h.z.boolean().optional(),gitBranch:c.z.string().nullish(),customEnvironmentId:c.z.string().nullish().catch(null)})),pagination:b.z.object({next:e.z.number().nullish()}).nullish()});async function W(a,b,c,d={}){let e,f=[];for(let g=0;g<10;g++){let g=await o(`/v9/projects/${encodeURIComponent(c)}/domains?teamId=${encodeURIComponent(b)}&limit=100${e?`&until=${e}`:""}`,a,d);if(!g.ok)return g;let h=V.safeParse(g.data);if(!h.success)return s("the domain list");for(let a of h.data.domains)f.push({name:a.name,redirect:a.redirect??null,verified:!1!==a.verified,gitBranch:a.gitBranch??null,customEnvironmentId:a.customEnvironmentId??null});if(!(e=h.data.pagination?.next))return{ok:!0,data:f}}return{ok:!1,kind:"transient",error:"The project has more than 1000 domains; Watchbell kept the domains it had."}}async function X(a,b,c,d,e={},f=[]){let g=await W(a,b,c,e);return g.ok?{ok:!0,data:t(g.data,d,f)}:g}let Y=b.z.object({misconfigured:h.z.boolean(),configuredBy:c.z.string().nullish(),recommendedIPv4:d.z.array(b.z.object({value:d.z.array(c.z.string())})).default([])});async function Z(a,b,c,d={}){let e=await o(`/v6/domains/${encodeURIComponent(c)}/config?teamId=${encodeURIComponent(b)}`,a,d);if(!e.ok)return e;let f=Y.safeParse(e.data);return f.success?{ok:!0,data:{misconfigured:f.data.misconfigured,configuredBy:f.data.configuredBy??null,recommendedIps:f.data.recommendedIPv4.flatMap(a=>a.value)}}:s("the domain configuration")}async function $(a,b={}){let c=await v(a,b);if(!c.ok)return c;let d=[],e=[],f=[];for(let g of c.data){let c=await C(a,g,b);if(!c.ok){if(403===c.status){e.push(g.name),f.push(g.id);continue}return c}for(let a of c.data)d.push({externalId:a.id,name:a.name,meta:{teamId:g.id,teamSlug:g.slug,teamName:g.name,framework:a.framework,productionBranch:a.productionBranch,createdAt:a.createdAt.toISOString(),repo:a.repo?`${a.repo.org}/${a.repo.repo}`:null,repoType:a.repo?.type??null,functionRegions:a.functionRegions,rootDirectory:a.rootDirectory,...a.rootDirectoryUnsupported?{rootDirectoryUnsupported:a.rootDirectoryUnsupported}:{},...a.productionAliases.length?{productionAliases:a.productionAliases}:{}}})}return e.length===c.data.length?{ok:!1,kind:"auth",error:"This token can't read any of your Vercel teams. Create a token with access to them."}:{ok:!0,data:{apps:d,skippedTeams:e,skippedTeamIds:f}}}async function _(a,c,e,f,g={}){if(!/^[0-9a-f]{40}$/.test(f))return s("the commit");let h=new URLSearchParams({teamId:c,projectId:e,sha:f,limit:"10"}),i=await o(`/v6/deployments?${h}`,a,g);if(!i.ok)return i;let j=b.z.object({deployments:d.z.array(D)}).safeParse(i.data);return j.success?{ok:!0,data:j.data.deployments.map(a=>G(a,a.uid)).filter(a=>a.projectId===e&&(null===a.sha||a.sha===f)).sort((a,b)=>b.createdAt.getTime()-a.createdAt.getTime())}:s("the deployment list")}async function aa(a,b,c,d={}){let e=await o(`/v9/projects/${r(c)}?${q(b)}`,a,d);if(!e.ok)return e;let f=K.safeParse(e.data);if(!f.success)return s("the project");let g=f.data.targets?.production??null,h=f.data.lastAliasRequest??null;return{ok:!0,data:{currentId:z(g,h),latest:g?{id:g.id,readyState:g.readyState??null,createdAt:g.createdAt??null}:null,promote:h&&"promote"===h.type&&"succeeded"===h.jobStatus?{toDeploymentId:h.toDeploymentId,requestedAt:h.requestedAt}:null}}}a.s(["T",0,U,"n",0,t,"c",0,L,"C",0,_,"G",0,$,"Q",0,Z,"S",0,J,"K",0,H,"M",0,W,"W",0,C,"X",0,v,"r",0,O,"q",0,X,"k",0,aa,"u",0,S,"l",0,T,"L",0,Q,"E",0,R,"N",0,P,"o",0,w],572134);let ab=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a&&a.length>0).map(a=>a.toLowerCase()):[];function ac(a){let b="string"==typeof a?.primaryDomain&&a.primaryDomain?a.primaryDomain.toLowerCase():null;return b?{primaryDomain:b,domains:ab(a?.domains),pastDomains:ab(a?.pastDomains)}:null}function ad(a){try{let b=new URL(a);return"https:"===b.protocol||"http:"===b.protocol?b.hostname.toLowerCase():null}catch{return null}}let ae=a=>/ · DEPLOYMENT_NOT_FOUND$/.test(a.lastError??"");function af(a,b,c=[],d={}){let e=ad(a),f=ac(b.meta);return!(!e||!f||function(a,b,c=[]){let d=ac(b.meta);if(!d)return!0;let e=a.toLowerCase();if(e===d.primaryDomain||d.domains.includes(e))return!0;let f=b.name.toLowerCase();return!!(!(e.endsWith(".vercel.app")&&c.some(a=>{let b=a.name.toLowerCase();return b!==f&&b.startsWith(`${f}-`)&&(e===`${b}.vercel.app`||e.startsWith(`${b}-`))}))&&(e===`${f}.vercel.app`||e.endsWith(".vercel.app")&&e.startsWith(`${f}-`)))||c.some(a=>{let b=ac(a.meta);return null!==b&&(b.primaryDomain===e||b.domains.includes(e))})}(e,b,c))&&(f.pastDomains.includes(e)||ae(d))?{from:e,to:f.primaryDomain}:null}a.s(["Q",0,function(a,b,c=[],d){let e=[...new Set(a.map(a=>a.name.toLowerCase()))],f=new Set(e),g=[...new Set([...ab(d?.pastDomains),...ab(d?.domains)])].filter(a=>!f.has(a)).slice(-20);return{domains:e,primaryDomain:t(a,b,c).toLowerCase(),pastDomains:g}},"u",0,af,"P",0,function(a,b){let c=new Map;for(let d of a){if("heartbeat"===d.kind)continue;let a=af(d.url,{name:d.appName,meta:d.appMeta},b.filter(a=>a.id!==d.appId),{lastError:d.lastError});a&&c.set(d.id,a)}return c},"w",0,function(a,b){let c=new URL(a);if(c.protocol="https:",c.hostname=b,c.port="",c.hostname!==b.toLowerCase())throw Error("The new domain isn't a valid host name.");return c.toString()},"R",0,function(a,b){let c=new Map;for(let d of a){if("heartbeat"===d.kind||!ae({lastError:d.lastError}))continue;let a=ac(d.appMeta),e=ad(d.url);if(!a||!e)continue;let f=c.get(d.appId)??a.pastDomains;!f.includes(e)&&af(d.url,{name:d.appName,meta:d.appMeta},b.filter(a=>a.id!==d.appId),{lastError:d.lastError})&&c.set(d.appId,[...f,e].slice(-20))}return c},"Y",0,ac],436357)}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_10d18lqjfj8je._.js.map
|