watchbell 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/build-manifest.json +3 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/required-server-files.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js.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.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.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.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.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.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.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.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.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.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.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.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.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.nft.json +1 -1
- package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +34 -34
- package/server/.next/server/app/(console)/apps/[id]/page.js.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.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.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.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.nft.json +1 -1
- package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/containers/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deploy/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/deployments/page.js.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.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.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.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.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.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.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.nft.json +1 -1
- package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/os/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/overview/page.js.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.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.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.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.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.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.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.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.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.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.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.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.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.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.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/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.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.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.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.nft.json +1 -1
- package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/server/.next/server/chunks/_0-5pjvqu672_v._.js +2 -2
- package/server/.next/server/chunks/_02qrz1g8sdvhe._.js +2 -2
- package/server/.next/server/chunks/_0ehqx1pkh20px._.js +1 -1
- package/server/.next/server/chunks/_0jiq3ns7681pv._.js +1 -1
- package/server/.next/server/chunks/_1ap0upnvy5i_1._.js +2 -2
- package/server/.next/server/chunks/_1b-88djuoexz1._.js +2 -2
- package/server/.next/server/chunks/_1t46m15axa4b4._.js +1 -1
- package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
- package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +2 -2
- package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_21atz5tidps07.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__03xevz8n-mc20._.js +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__18gw74mr2vto3._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1mxpszbk1aup8._.js +2 -2
- package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
- package/server/.next/server/chunks/ssr/_01n29sxn-py3x._.js +1 -1
- package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
- package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1ykegy3wzl3mu._.js → _0c9_fa5ejth12._.js} +2 -2
- 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/{_0u5_d3o0i72tq._.js → _0fl2-fao_ye7t._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
- package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
- package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
- package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
- package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
- package/server/.next/server/chunks/ssr/_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/_0tnd528j0i1i4._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
- package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_118h21qua_4o3._.js +1 -1
- package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
- package/server/.next/server/chunks/ssr/{_17tabyg0mhxlx._.js → _18sg0ilz439y6._.js} +2 -2
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/{_13bpjk3g0tp2e._.js → _19q2vj_ppgsu4._.js} +2 -2
- 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/_1fc8k_0p8l00c._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
- package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
- package/server/.next/server/chunks/ssr/{_08rjac8cutbcs._.js → _1vlm9990gr64r._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
- package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- 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)_0gw9o1og9hq_4._.js → src_app_(console)_0krr6t05xs2tn._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_0ohoun7l5f2tb._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_containers_containers-view_tsx_1xkcrw5gx53xo._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_firebase_row-menu_tsx_0hssoq3pqjl-n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_os_os-view_tsx_0xr69f5vtstls._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_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_148phfjye0539._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_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_1u2md84o5b6td._.js → src_app_signin_12a3ifphkkcs7._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/middleware-build-manifest.js +3 -3
- package/server/.next/server/pages/404.html +1 -1
- package/server/.next/server/pages/500.html +1 -1
- package/server/.next/server/preview-props.json +3 -3
- package/server/.next/server/server-reference-manifest.js +1 -1
- package/server/.next/server/server-reference-manifest.json +152 -152
- package/server/.next/static/chunks/{1kyz-ah3_ho6c.js → 0-o-4ilzkrd38.js} +1 -1
- package/server/.next/static/chunks/{356b00huilj4q.js → 01euc4zjlprz5.js} +1 -1
- package/server/.next/static/chunks/028g933xfv8jn.js +1 -0
- package/server/.next/static/chunks/{2k4z-oed_6g2l.js → 02kly5fiyvt77.js} +1 -1
- package/server/.next/static/chunks/{2kmw3ug2__8y3.js → 0dq-2wtk0h5u7.js} +1 -1
- package/server/.next/static/chunks/{26exu0f7ok41j.js → 0ey7akdab5tu8.js} +1 -1
- package/server/.next/static/chunks/0ge2nkna7o16p.js +1 -0
- package/server/.next/static/chunks/{3w5rrc-0xud6m.js → 0l61-etojd65n.js} +1 -1
- package/server/.next/static/chunks/{3lc-hq-bpg71u.js → 0matuoy08desx.js} +1 -1
- package/server/.next/static/chunks/{2-ijilf6lbw4f.js → 0mbt6eam4qr2f.js} +1 -1
- package/server/.next/static/chunks/0utjdzwgd7zw2.js +1 -0
- package/server/.next/static/chunks/{1a0rdqp6soc92.js → 0v97o46v-74gw.js} +1 -1
- package/server/.next/static/chunks/{14f5pn2krqoyh.js → 0xlfzxnboj4f1.js} +1 -1
- package/server/.next/static/chunks/{3wfyge_-2qnyj.js → 0xz55932e19r8.js} +1 -1
- package/server/.next/static/chunks/{0rblb2d9s6x__.js → 0y99dm8mesqe9.js} +1 -1
- package/server/.next/static/chunks/{3xulo5x1hbsw-.js → 1935vuszybg7i.js} +1 -1
- package/server/.next/static/chunks/{3_6-4h_qltoii.js → 1c9eb592ho0-l.js} +1 -1
- package/server/.next/static/chunks/{3ezef0voy5xju.js → 1pogexbz36ij8.js} +1 -1
- package/server/.next/static/chunks/{17zst1h7smcce.js → 1r99dm6-o5qw2.js} +1 -1
- package/server/.next/static/chunks/{35vilzb1p9yjf.js → 1sa-1lde5_ikt.js} +1 -1
- package/server/.next/static/chunks/{0viea3-xdb4uv.js → 1truzt17f0fce.js} +1 -1
- package/server/.next/static/chunks/{3g0ywdith98z2.js → 1u8mo8jflotrt.js} +1 -1
- package/server/.next/static/chunks/{0ps76fyk0mlud.js → 1uk98c6r9i2bn.js} +1 -1
- package/server/.next/static/chunks/{3u2qewigse-a4.js → 2-uaya1_uxlg8.js} +1 -1
- package/server/.next/static/chunks/{11r8k-t1ijjkn.js → 2-xolk9x48-v1.js} +1 -1
- package/server/.next/static/chunks/{1a7zdd51t9mil.js → 22ygzud_kp29f.js} +1 -1
- package/server/.next/static/chunks/{3f1selgoqszyq.js → 2am77mhkx46hz.js} +2 -2
- package/server/.next/static/chunks/{2crsj9_2h2nzh.js → 2fvh4wg2kp4c2.js} +1 -1
- package/server/.next/static/chunks/2m8-ctreu-y-r.js +1 -0
- package/server/.next/static/chunks/{44hkyor0suthy.js → 2p8bv7d7t08z1.js} +1 -1
- package/server/.next/static/chunks/{1fh3cq_v5nqtp.js → 2szchf79vnxgd.js} +1 -1
- package/server/.next/static/chunks/{0v-0yvs2o_ibn.js → 2yc4qzglai5fq.js} +1 -1
- package/server/.next/static/chunks/{28fzu8z0ofyw0.js → 2ze-y3he5_bb0.js} +1 -1
- package/server/.next/static/chunks/{1d4i_v63pyozl.js → 33_2mbxu9wufm.js} +1 -1
- package/server/.next/static/chunks/33avmrae70_xs.js +1 -0
- package/server/.next/static/chunks/{1qmrzxeff7esb.js → 363mcu9nd9znh.js} +1 -1
- package/server/.next/static/chunks/{0hths0sijlql2.js → 3aou6xwhz8z6a.js} +1 -1
- package/server/.next/static/chunks/{2j24hsy45xi-u.js → 3bwwwv3sp7uyn.js} +1 -1
- package/server/.next/static/chunks/{2pa65sxfnzj4k.js → 3dk6a5gl9glxo.js} +1 -1
- package/server/.next/static/chunks/{1d5651gcd0bfq.js → 3e-0ejqqa7jwn.js} +1 -1
- package/server/.next/static/chunks/{1qjg48qu3j1w4.js → 3gkm-ynu4fq5u.js} +1 -1
- package/server/.next/static/chunks/{0cc9ahw1xs0ny.js → 3gmm9g54vx4w0.js} +1 -1
- package/server/.next/static/chunks/{1fk-rtgxvtdso.js → 3jqmm62dbykt1.js} +1 -1
- package/server/.next/static/chunks/{1yjrm8ekqlzfy.js → 3lvz18snt6489.js} +1 -1
- package/server/.next/static/chunks/{308vk5n0anqam.js → 3m3vl3n5xs039.js} +2 -2
- package/server/.next/static/chunks/{2d7luax7loip3.js → 3qv9klayap1tz.js} +1 -1
- package/server/.next/static/chunks/{2-vu-7596xgz-.js → 3ursfc8kxp2ak.js} +2 -2
- package/server/.next/static/chunks/{3a9toq_3nqe93.js → 3xkvsl4vbpm41.js} +1 -1
- package/server/.next/static/chunks/3yu0azvye6wr_.js +1 -0
- package/server/server.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_0_odx13qcz9o1._.js +0 -3
- package/server/.next/static/chunks/00e1aosyzj6rl.js +0 -1
- package/server/.next/static/chunks/0hzw1rqyz-ith.js +0 -1
- package/server/.next/static/chunks/1rgved8vjyay2.js +0 -1
- package/server/.next/static/chunks/1y_o3hc2z85sh.js +0 -1
- package/server/.next/static/chunks/39a3uxexc-wqm.js +0 -1
- package/server/.next/static/chunks/3qudv985iqmz7.js +0 -1
- /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → fogXXBSOhoHV3eIf8_j28}/_buildManifest.js +0 -0
- /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → fogXXBSOhoHV3eIf8_j28}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{g_rE0bq_ZZa-pl4RulWXV → fogXXBSOhoHV3eIf8_j28}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[189563,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(221340),i=a.i(739518),j=a.i(429852),k=a.i(128120),l=a.i(137936);a.i(570396);var m=a.i(673727),n=a.i(600079),o=a.i(109307),p=a.i(678831),q=a.i(45617),r=a.i(840784),s=a.i(683439),t=a.i(713095);async function u(a){return(0,n.F)("owner",async b=>{if(!(0,s.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,r.a)(a,b.userId);if(!c.ok)return{ok:!1,error:c.error};(0,p.J)([q.m.supabase,q.m.neon,q.m.firebase,q.m.domains]),(0,m.redirect)("/apps")},{requireActionMember:o.g},"local")}(0,t.ensureServerEntryExports)([u]),(0,l.registerServerReference)(u,"4026a4627545dbf3702c6cc6b5b713925010e3fcd8",null);var v=a.i(812014);let w={npm:"package-lock.json",pnpm:"pnpm-lock.yaml",yarn:"yarn.lock",bun:"bun.lock"},x={npm:"npm ci",pnpm:"pnpm install --frozen-lockfile",yarn:"yarn install --frozen-lockfile",bun:"bun install --frozen-lockfile"},y={npm:".npmrc*",pnpm:".npmrc* pnpm-workspace.yaml*",yarn:".npmrc* .yarnrc.yml*",bun:".npmrc* bunfig.toml*"},z=a=>a>=25?"npm install -g corepack && corepack enable":"corepack enable",A=(a,b)=>"pnpm"===a||"yarn"===a?`${z(b)} && ${x[a]}`:x[a],B={npm:a=>"test"===a?"npm test":`npm run ${a}`,pnpm:a=>`pnpm run ${a}`,yarn:a=>`yarn run ${a}`,bun:a=>`bun run ${a}`},C={npm:'["npm", "start"]',pnpm:'["npm", "start"]',yarn:'["npm", "start"]',bun:'["bun", "run", "start"]'},D=/^(?:NEXT_PUBLIC_|VITE_|REACT_APP_)/,E=a=>`# Generated by Watchbell${a.version?` ${a.version}`:""} from ${a.app}'s settings — review before use.`,F=(a,b)=>"."===a?b:`${a}/${b}`;function G(a,b){var c,d;let e,f,g,h,i,j,k,l;return[function(a,b){let c=a.guessed.includes("package manager"),d=c?"npm install":A(a.pm,a.node),e=c?"COPY package.json ./":`COPY package.json ${w[a.pm]} ${y[a.pm]} ./`,f=`node:${a.node}-alpine`,g="bun"===a.pm?"oven/bun:1-alpine":f,h=a.envNames.filter(a=>D.test(a)).flatMap(a=>[`ARG ${a}`,`ENV ${a}=$${a}`]),i=[E(b),`FROM ${g} AS deps`,"WORKDIR /app",e,..."yarn"!==a.pm||c?[]:["ENV YARN_NODE_LINKER=node-modules"],`RUN ${d}`,"",`FROM ${g} AS build`,"WORKDIR /app","COPY --from=deps /app/node_modules ./node_modules","COPY . .",..."nextjs"===a.kind?["ENV NEXT_TELEMETRY_DISABLED=1","RUN mkdir -p public"]:[],...h,...a.scripts.build?[..."pnpm"===a.pm||"yarn"===a.pm?[`RUN ${z(a.node)}`]:[],`RUN ${B[a.pm]("build")}`]:[],""],j=a=>`HEALTHCHECK --interval=30s --timeout=5s --retries=3 CMD wget -q --spider http://127.0.0.1:${a}/ || exit 1`,k=["RUN addgroup -S -g 10001 app && adduser -S -u 10001 -G app app"];if("vite"===a.kind||"cra"===a.kind){let b="vite"===a.kind?"dist":"build";return i.push("FROM nginxinc/nginx-unprivileged:stable-alpine AS run","USER root",`RUN printf '%s\\n' 'server {' ' listen ${a.port};' ' root /usr/share/nginx/html;' ' location / { try_files $uri $uri/ /index.html; }' '}' > /etc/nginx/conf.d/default.conf`,"USER 101",`COPY --from=build /app/${b} /usr/share/nginx/html`,`EXPOSE ${a.port}`,j(a.port)),{path:F(a.dir,"Dockerfile"),text:i.join("\n")+"\n"}}return"nextjs"===a.kind&&a.standalone?(i.push(`FROM ${f} AS run`,"WORKDIR /app",`ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 PORT=${a.port} HOSTNAME=0.0.0.0`,...k,"COPY --from=build --chown=10001:10001 /app/public ./public","COPY --from=build --chown=10001:10001 /app/.next/standalone ./","COPY --from=build --chown=10001:10001 /app/.next/static ./.next/static","USER 10001",`EXPOSE ${a.port}`,j(a.port),'CMD ["node", "server.js"]'),{path:F(a.dir,"Dockerfile"),text:i.join("\n")+"\n"}):(i.push(`FROM ${g} AS run`,"WORKDIR /app",`ENV NODE_ENV=production PORT=${a.port}${"nextjs"===a.kind?" NEXT_TELEMETRY_DISABLED=1":""}`,...k,"COPY --from=build --chown=10001:10001 /app ./","USER 10001",`EXPOSE ${a.port}`,j(a.port),`CMD ${C[a.pm]}`),{path:F(a.dir,"Dockerfile"),text:i.join("\n")+"\n",..."nextjs"===a.kind?{note:'Add output: "standalone" to next.config for a smaller image; Watchbell never edits next.config.'}:{}})}(a,b),(e=[E(b),"node_modules",".next","dist","build",".git",".github",".vercel","**/*.log","**/.env*","!**/.env.example","Dockerfile","docker-compose.yml","k8s.yaml"],{path:F(a.dir,".dockerignore"),text:e.join("\n")+"\n"}),(f=a.envNames.filter(a=>D.test(a)),g=[E(b),"# The app's database is a managed service (Supabase, Neon, …): its connection settings go in .env, not here.","services:"," app:"," build:"," context: .",...f.length?[" args:",...f.map(a=>` ${a}: $\{${a}}`)]:[]," ports:",` - "${a.port}:${a.port}"`," env_file: .env"," restart: unless-stopped"],{path:F(a.dir,"docker-compose.yml"),text:g.join("\n")+"\n"}),function(a,b){let c=a.guessed.includes("package manager"),d=c?"npm install":A(a.pm,a.node),e=[" - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1"," - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0"," with:",` node-version: ${a.node}`,...c||"npm"!==a.pm?[]:[` cache: ${a.pm}`,` cache-dependency-path: ${F(a.dir,w[a.pm])}`],..."bun"===a.pm?[" - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0"]:[],` - run: ${d}`,...a.scripts.lint?[` - run: ${B[a.pm]("lint")}`]:[],...a.scripts.typecheck?[` - run: ${B[a.pm](a.scripts.typecheck)}`]:[],...a.scripts.test?[` - run: ${B[a.pm]("test")}`]:[]];if(a.scripts.build){let b=a.envNames.filter(a=>D.test(a));e.push(` - run: ${B[a.pm]("build")}`),b.length&&e.push(" env:",...b.map(a=>` ${a}: $\{{ vars.${a} }}`))}return{path:".github/workflows/ci.yml",text:[E(b),"name: CI","on:"," pull_request:"," push:",` branches: [${b.branch??"main"}]`,"permissions:"," contents: read","jobs:"," build:"," runs-on: ubuntu-latest"," timeout-minutes: 15",..."."!==a.dir?[" defaults:"," run:",` working-directory: ${a.dir}`]:[]," steps:",...e].join("\n")+"\n"}}(a,b),(c=a,i=(h=(d=b).app.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,""),(/^[a-z]/.test(h)?h:`app-${h}`).slice(0,50).replace(/-+$/,"")||"app"),j=d.repo?`ghcr.io/${d.repo.toLowerCase()}:latest`:`ghcr.io/OWNER/${i}:latest`,k=a=>[` ${a}:`," httpGet:"," path: /",` port: ${c.port}`," periodSeconds: 15"],l=[E(d),"# The app's env values live in a Secret you create once on the cluster, never in this file:",`# kubectl create secret generic ${i}-env --from-env-file=.env`,...c.envNames.length?["# It needs these names:",...c.envNames.map(a=>`# ${a}`)]:[],"apiVersion: apps/v1","kind: Deployment","metadata:",` name: ${i}`," labels:",` app: ${i}`,"spec:"," replicas: 1"," selector:"," matchLabels:",` app: ${i}`," template:"," metadata:"," labels:",` app: ${i}`," spec:"," securityContext:"," runAsNonRoot: true"," containers:"," - name: app",` image: ${j} # change to the image you push`," ports:",` - containerPort: ${c.port}`," envFrom:"," - secretRef:",` name: ${i}-env`," resources:"," requests:"," cpu: 100m"," memory: 128Mi"," limits:"," cpu: 500m"," memory: 512Mi",...k("readinessProbe"),...k("livenessProbe"),"---","apiVersion: v1","kind: Service","metadata:",` name: ${i}`,"spec:"," selector:",` app: ${i}`," ports:"," - port: 80",` targetPort: ${c.port}`],{path:F(c.dir,"k8s.yaml"),text:l.join("\n")+"\n"})]}let H={kind:"nextjs",dir:".",pm:"pnpm",node:24,standalone:!0,port:3e3,guessed:[],envNames:["DATABASE_URL","NEXT_PUBLIC_SITE_URL","RESEND_API_KEY"],scripts:{build:!0,start:!0,lint:!0,test:!0,typecheck:"typecheck"}},I={facts:H,repo:"acme/storefront",branch:"main",files:G(H,{app:"storefront",version:null,repo:"acme/storefront",branch:"main"})};var J=a.i(93321),K=a.i(548734),L=a.i(837137);let M={nextjs:"nextjs",vite:"vite","create-react-app":"cra"},N=/^[A-Za-z_][A-Za-z0-9_]{0,255}$/;var O=a.i(930270),P=a.i(322145),Q=a.i(679662),R=a.i(521050);let S=["missing-production","preview-only","public-secret","not-in-example"],T=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=/,U=/(SECRET|PRIVATE|TOKEN|PASSWORD|SERVICE_ROLE)/;function V(a){let b=[];for(let c of a.split(/\r?\n/)){if(/^\s*#/.test(c))continue;let a=T.exec(c);a&&!b.includes(a[1])&&b.push(a[1])}return b}let W={findings:[{kind:"missing-production",key:"RESEND_API_KEY"},{kind:"preview-only",key:"FEATURE_NEW_CHECKOUT"},{kind:"not-in-example",key:"OLD_ANALYTICS_ID"}],names:9,example:"found",examplePath:".env.example",checkedAt:"2026-10-29T03:00:00.000Z"};var X=a.i(760417),Y=a.i(288666);let Z=["production","preview","development"],$=/^[A-Za-z_][A-Za-z0-9_]{0,255}$/,_=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null;async function aa(a,b,c,d={}){let e=new URLSearchParams({teamId:b}),f=await (0,Y.R)("Vercel",`https://api.vercel.com/v10/projects/${encodeURIComponent(c)}/env?${e}`,{token:a},{timeoutMs:1e4,...d});if(!f.ok)return f;let g=function(a){let b=_(a)?.envs;if(!Array.isArray(b))return null;let c=[];for(let a of b){let b=_(a);if(!b||"string"!=typeof b.key||!$.test(b.key))continue;let d=Array.isArray(b.target)?b.target:"string"==typeof b.target?[b.target]:[],e=Z.filter(a=>d.includes(a)),f="string"==typeof b.gitBranch&&b.gitBranch.trim()?b.gitBranch.trim():null;c.push({key:b.key,targets:e,branch:f})}return c}(f.data);return g?{ok:!0,data:g}:(0,Y.t)("Vercel","the environment variables")}var ab=a.i(511233);let ac=["next.config.ts","next.config.mjs","next.config.js"],ad={async target(a){let b=await (0,P.p)(a,"app"),c=b?.resource.meta,d=c?.teamId;return b&&"string"==typeof d&&d?{name:b.resource.name,framework:"string"==typeof c.framework?c.framework:null,rootDir:(0,R.Q)(c.rootDirectory),rootDirUnusable:(0,R.l)(c.rootDirectory),token:b.token,teamId:d,projectId:b.resource.externalId}:null},async repo(a){let[b]=await (0,K.f)().select({fullName:L.githubRepos.fullName,branch:L.githubRepos.defaultBranch}).from(L.appRepos).innerJoin(L.githubRepos,(0,J.u)(L.githubRepos.id,L.appRepos.repoId)).where((0,J.u)(L.appRepos.appId,a)).limit(1);return b??null},async githubToken(){let a=await (0,O.M)();return"token"in a?a.token:null},file:(a,b,c,d)=>(0,X.V)(a,b,c,d,262144),envNames:(a,b,c)=>aa(a,b,c),version:()=>(0,ab.y)()};async function ae(a,b=ad){let c=await b.target(a);if(!c)return{ok:!1,error:"That app's Vercel project can't be read. Sync Vercel and try again."};if(c.rootDirUnusable)return{ok:!1,error:"The Vercel Root Directory isn't a folder Watchbell can read."};let d=await b.envNames(c.token,c.teamId,c.projectId),e=d.ok?d.data.filter(a=>a.targets.includes("production")).map(a=>a.key):null,f=await b.repo(a),g=f?await b.githubToken():null,h=c.rootDir?`${c.rootDir}/`:"",i=async a=>{if(!f||!g)return null;let c=await b.file(g,f.fullName,h+a,f.branch||"HEAD");return c.ok?c.data:null},j=async(a,b)=>{for(let c of a){let a=await i(b(c));if(null!==a)return{item:c,text:a}}return null},k=async a=>!!f&&!!g&&(await b.file(g,f.fullName,h+a,f.branch||"HEAD")).ok,l=await i("package.json"),m="nextjs"===c.framework?(await j(ac,a=>a))?.text??null:null,n=null;for(let a of Q.a)if(await k(a.path)){n={item:a};break}let o=e?null:await i(".env.example"),p=function(a){let b,c=[],d=function(a){let b;if(!a)return null;try{b=JSON.parse(a)}catch{return null}if("object"!=typeof b||null===b)return null;let c=b,d="object"==typeof c.scripts&&null!==c.scripts?c.scripts:{},e=a=>"string"==typeof d[a];return{scripts:{build:e("build"),start:e("start"),lint:e("lint"),test:e("test"),typecheck:e("typecheck")?"typecheck":e("type-check")?"type-check":null},node:function(a){if("string"!=typeof a)return null;let b=a.split(/\s*\|\|\s*|\s+/).filter(a=>a&&!a.startsWith("<")).map(a=>/^[>=^~v]*(\d{1,2})(?:\.(?:\d+|x|\*))*$/.exec(a)).flatMap(a=>a?[Number(a[1])]:[]).filter(a=>a>=10&&a<=40);return b.length?Math.min(...b):null}("string"==typeof c.engines?.node?c.engines.node:void 0)}}(a.packageJson),e=d?.scripts??{build:!0,start:!0,lint:!1,test:!1,typecheck:null};if(a.framework&&M[a.framework])b=M[a.framework];else{if(a.framework)return{ok:!1,error:`Watchbell can't write build files for ${a.framework} yet.`};if(!e.start)return{ok:!1,error:"Watchbell can't write build files for this app yet: it has no framework and no start script."};b="node"}a.lockfile||c.push("package manager");let f=d?.node??null;null===f&&c.push("Node version"),null!==f&&f<20&&(c.push(`Node version (raised from ${f} to 20)`),f=20),d||c.push("scripts");let g=a.envNames??a.exampleNames;return g||c.push("env names"),{ok:!0,facts:{kind:b,dir:a.rootDir||".",pm:a.lockfile??"npm",node:f??24,scripts:e,standalone:"nextjs"===b&&!!a.nextConfig&&/output\s*:\s*["'`]standalone["'`]/.test(a.nextConfig),envNames:[...new Set((g??[]).filter(a=>N.test(a)&&!("NODE_ENV"===a||a.startsWith("VERCEL_")||"VERCEL"===a)))].sort(),port:"vite"===b||"cra"===b?8080:3e3,guessed:c}}}({framework:c.framework,rootDir:c.rootDir,lockfile:n?.item.kind??null,packageJson:l,nextConfig:m,envNames:e,exampleNames:null!==o?V(o):null});if(!p.ok)return p;let q=f?.branch??null;return{ok:!0,data:{facts:p.facts,repo:f?.fullName??null,branch:q,files:G(p.facts,{app:c.name,version:b.version(),repo:f?.fullName??null,branch:q})}}}var af=a.i(666680),ag=a.i(736780),ah=a.i(812092);let ai={writeAccount:()=>(0,ag.G)(),generate:a=>ae(a),async appName(a){let[b]=await (0,K.f)().select({name:L.resources.name}).from(L.resources).where((0,J.u)(L.resources.id,a)).limit(1);return b?.name??"the app"},repoInfo:(a,b)=>(0,ah.H)(a,b),branchHead:(a,b,c)=>(0,ah.M)(a,b,c),async exists(a,b,c,d){let e=await (0,X.V)(a,b,c,d,1);return!(!e.ok&&"missing"===e.kind)},createBranch:(a,b,c,d,e)=>(0,ah.k)(a,b,c,d,e),putNewFile:(a,b,c,d,e,f,g)=>(0,ah.j)(a,b,c,d,e,f,g),createPull:(a,b,c,d,e,f)=>(0,ah.y)(a,b,c,d,e,f),openBuildFilesPull:(a,b)=>(0,ah.I)(a,b),finish:(a,b,c)=>(0,P.W)(a,b,c),random:()=>(0,af.randomBytes)(4).toString("hex")},aj=a=>`\`${a}\``;async function ak(a,b,c=ai){let d=await c.writeAccount();if(!d)return{ok:!1,error:ag.u};if("unreadable"===d)return{ok:!1,error:"The stored GitHub PR-write credential can't be read. Replace it on Connections."};let e=await c.generate(b);if(!e.ok)return e;let f=e.data.repo;if(!f)return{ok:!1,error:"Link a repository first."};let g=await c.appName(b),h=e=>c.finish({done:!1,failed:e,audit:{message:`Build files PR failed \xb7 ${g}`,resourceId:b}},a,d.id),i=await c.repoInfo(d.token,f);if(!i.ok)return h(i);let j=i.data.defaultBranch,k=[],l=[];for(let a of e.data.files)await c.exists(d.token,f,a.path,j)?k.push(a.path):l.push(a);if(!l.length)return{ok:!1,error:"Every build file already exists in the repository."};let m=await c.openBuildFilesPull(d.token,f);if(!m.ok)return h(m);if(m.data)return{ok:!1,error:`Pull request #${m.data.number} with build files is already open. Merge or close it first.`};let n=await c.branchHead(d.token,f,j);if(!n.ok)return h(n);if(!n.data)return{ok:!1,error:`The default branch ${j} has no commits to start from.`};let o=`watchbell/build-files-${c.random()}`,p=await c.createBranch(d.token,f,o,n.data,j),q=a=>h({...a,error:`${a.error} Branch ${o} keeps the files written so far; delete it on GitHub, or open a pull request from it.`});if(!p.ok)return h(p);let r=[],s=!1;for(let a of l){let b=await c.putNewFile(d.token,f,o,j,a.path,a.text,`Add ${a.path} (Watchbell build files)`);if(!b.ok&&a.path.startsWith(".github/workflows/")&&("scope"===b.kind||"missing"===b.kind)){s=!0,k.push(a.path);continue}if(!b.ok)return q(b);"exists"===b.data?k.push(a.path):r.push(a.path)}if(!r.length)return{ok:!1,error:"Every build file already exists in the repository."};let t=await c.createPull(d.token,f,o,j,"Add build files (Watchbell)",function(a,b,c,d=[]){return["Watchbell wrote these files from the app's settings. Review them before merging; nothing is built or deployed by this pull request.","",...a.map(a=>`- ${aj(a)}`),...b.length?["",`Skipped (already in the repository): ${b.map(aj).join(", ")}`]:[],...d.map(a=>`
|
|
2
|
-
Not added: ${aj(a)} — the GitHub PR-write token needs Workflows: Read and write to add it. Copy it from the Build files card instead.`),...c.length?["",`Guessed: ${c.join(", ")}.`]:[],"","Env names only: set their values in `.env` (Docker) or the Kubernetes Secret, never in these files."].join("\n")}(r,k.filter(a=>!s||!a.startsWith(".github/workflows/")),e.data.facts.guessed,s?l.filter(a=>a.path.startsWith(".github/workflows/")).map(a=>a.path):[]));if(!t.ok)return q(t);let u=await c.finish({done:!0,message:`Pull request #${t.data.number} opened.`,audit:{message:`Opened build files PR #${t.data.number} for ${g}`,resourceId:b}},a,d.id);return u.ok?{...u,data:{number:t.data.number,url:t.data.url,skipped:k}}:u}var al=a.i(75105);async function am(a){return(0,n.F)("operator",async()=>{if(!(0,s.f)(a))return{ok:!1,error:al.w};let b=await ae(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:o.g},async()=>({ok:!0,data:I}))}async function an(a){return(0,n.F)("owner",async b=>(0,s.f)(a)?ak(b,a):{ok:!1,error:al.w},{requireActionMember:o.g},async()=>({ok:!1,error:"Pull requests are off in the demo."}))}(0,t.ensureServerEntryExports)([am,an]),(0,l.registerServerReference)(am,"4021484f7cc074a2bd37b5728ec556e67d9d07b171",null),(0,l.registerServerReference)(an,"40b6a9f6ca14730a67a6c2c2deb4d1dff6cc789845",null);let ao={async target(a){let b=await (0,P.p)(a,"app"),c=b?.resource.meta.teamId;if(!b||"string"!=typeof c||!c)return null;let d=b.resource.meta.rootDirectory;return{token:b.token,teamId:c,projectId:b.resource.externalId,rootDir:(0,R.Q)(d),rootDirUnusable:(0,R.l)(d)}},async repo(a){let[b]=await (0,K.f)().select({fullName:L.githubRepos.fullName,branch:L.githubRepos.defaultBranch}).from(L.appRepos).innerJoin(L.githubRepos,(0,J.u)(L.githubRepos.id,L.appRepos.repoId)).where((0,J.u)(L.appRepos.appId,a)).limit(1);return b??null},async githubToken(){let a=await (0,O.M)();return"token"in a?a.token:null},envNames:(a,b,c)=>aa(a,b,c),file:(a,b,c,d)=>(0,X.V)(a,b,c,d,65536),now:()=>new Date};async function ap(a,b,c,d){let e=await d.repo(a);if(!e)return{example:"no-repo",path:null,keys:null};if(c)return{example:"unreadable",path:`${c}/.env.example`,keys:null};let f=b?`${b}/.env.example`:".env.example",g=await d.githubToken();if(!g)return{example:"no-github",path:f,keys:null};let h=await d.file(g,e.fullName,f,e.branch||"HEAD");return h.ok?null===h.data?{example:"unreadable",path:f,keys:null}:{example:"found",path:f,keys:V(h.data)}:{example:"missing"===h.kind?"none":"unreadable",path:f,keys:null}}async function aq(a,b=ao){let c=await b.target(a);if(!c)return{ok:!1,error:"That app's Vercel project can't be read. Sync Vercel and try again."};let d=await b.envNames(c.token,c.teamId,c.projectId);if(!d.ok)return{ok:!1,error:`Couldn't read the environment variables: ${d.error}`};let e=await ap(a,c.rootDir,c.rootDirUnusable??null,b);return{ok:!0,data:{findings:function(a,b){let c=new Map,d=(a,b)=>c.set(`${a}:${b}`,{kind:a,key:b}),e=a.filter(a=>!a.key.startsWith("VERCEL_")),f=new Set(e.filter(a=>a.targets.includes("production")&&null===a.branch).map(a=>a.key));for(let a of new Set(e.map(a=>a.key))){let b=a.startsWith("NEXT_PUBLIC_")?a.slice(12):null;!f.has(a)&&e.some(b=>b.key===a&&(b.targets.includes("preview")||b.targets.includes("development")))&&d("preview-only",a),null!==b&&U.test(b)&&d("public-secret",a)}if(b){let a=b.filter(a=>!a.startsWith("VERCEL_"));for(let b of a)f.has(b)||d("missing-production",b);for(let b of f)a.includes(b)||d("not-in-example",b)}return[...c.values()].sort((a,b)=>S.indexOf(a.kind)-S.indexOf(b.kind)||a.key.localeCompare(b.key))}(d.data,e.keys),names:new Set(d.data.map(a=>a.key)).size,example:e.example,examplePath:e.path,checkedAt:b.now().toISOString()}}}async function ar(a){return(0,n.F)("operator",async()=>{if(!(0,s.f)(a))return{ok:!1,error:al.w};let b=await aq(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:o.g},async()=>({ok:!0,data:{...W,checkedAt:new Date().toISOString()}}))}(0,t.ensureServerEntryExports)([ar]),(0,l.registerServerReference)(ar,"40c229d2a5f84a153a532bc84c55b5590c7503b7c0",null);var as=a.i(689963),at=a.i(26972),au=a.i(811365),av=a.i(427221),aw=a.i(83931),ax=a.i(899370),ay=a.i(149310);let az="<!-- watchbell-precheck",aA=au.z.number().int().min(0),aB=at.z.object({v:ax.z.literal(1),sha:av.z.string().regex(/^[0-9a-f]{7,40}$/),verdict:ay.z.enum(["fix","check","ok"]),at:av.z.string().max(40),counts:at.z.object({critical:aA,high:aA,moderate:aA,low:aA,secrets:aA,env:aA})}),aC=a=>({ok:!1,kind:"format",error:`GitHub answered ${a} in a format the console doesn't recognise.`}),aD={ok:!1,kind:"format",error:"That isn't a repository or pull request."};async function aE(a,b,c={}){if(!(0,X.M)(b))return aD;let d=await (0,X.j)(`/repos/${(0,X.f)(b)}/pulls?state=open&per_page=20&sort=created&direction=desc`,a,c);if(!d.ok)return d;let e=as.z.array(at.z.object({number:au.z.number().int().positive(),title:av.z.string().nullish(),draft:aw.z.boolean().nullish(),html_url:av.z.string().nullish(),head:at.z.object({sha:av.z.string().regex(/^[0-9a-f]{40}$/)})})).safeParse(d.data);return e.success?{ok:!0,data:e.data.map(a=>({number:a.number,title:(a.title??"").slice(0,200),head:a.head.sha,draft:a.draft??!1,url:a.html_url?.startsWith("https://github.com/")?a.html_url:null}))}:aC("the pull requests")}async function aF(a,b,c,d={}){if(!(0,X.M)(b)||!Number.isInteger(c)||c<1)return aD;let e=await (0,X.j)(`/repos/${(0,X.f)(b)}/issues/${c}/comments?per_page=100`,a,d);if(!e.ok)return e;let f=as.z.array(at.z.object({body:av.z.string().nullish(),user:at.z.object({login:av.z.string()}).nullish()})).safeParse(e.data);if(!f.success)return aC("the pull request comments");let g=null;for(let a of f.data)a.user?.login==="github-actions[bot]"&&a.body&&(g=function(a){let b=a.trimStart();if(!b.startsWith(az))return null;let c=b.indexOf(" -->");if(c<0||c>2e3)return null;try{let a=aB.safeParse(JSON.parse(b.slice(az.length,c)));return a.success?a.data:null}catch{return null}}(a.body)??g);return{ok:!0,data:g}}let aG={async repo(a){let[b]=await (0,K.f)().select({fullName:L.githubRepos.fullName}).from(L.appRepos).innerJoin(L.githubRepos,(0,J.u)(L.githubRepos.id,L.appRepos.repoId)).where((0,J.u)(L.appRepos.appId,a)).limit(1);return b??null},async githubToken(){let a=await (0,O.M)();return"token"in a?a.token:null},pulls:(a,b)=>aE(a,b),marker:(a,b,c)=>aF(a,b,c),now:()=>new Date};async function aH(a,b=aG){let c=await b.repo(a);if(!c)return{ok:!1,error:"Link a repository first."};let d=await b.githubToken();if(!d)return{ok:!1,error:"GitHub isn't connected, or its token can't be read."};let e=await b.pulls(d,c.fullName);if(!e.ok)return{ok:!1,error:e.error};let f=await Promise.all(e.data.slice(0,10).map(async a=>{let e=await b.marker(d,c.fullName,a.number),f=e.ok?e.data:null,g=e.ok?f?f.sha===a.head?"checked":"old":"none":"unread";return{number:a.number,title:a.title,url:a.url,draft:a.draft,state:g,marker:f}}));return{ok:!0,data:{repo:c.fullName,rows:f,checkedAt:b.now().toISOString()}}}let aI=(a={})=>({critical:0,high:0,moderate:0,low:0,secrets:0,env:0,...a}),aJ={repo:"acme/storefront",checkedAt:"2026-11-04T02:00:00.000Z",rows:[{number:42,title:"Bump next from 16.4.1 to 16.4.3",url:null,draft:!1,state:"checked",marker:{v:1,sha:"4f2a9c1",verdict:"ok",at:"2026-11-04T01:40:00.000Z",counts:aI()}},{number:41,title:"Add checkout analytics",url:null,draft:!1,state:"checked",marker:{v:1,sha:"9b03e77",verdict:"fix",at:"2026-11-03T22:10:00.000Z",counts:aI({high:1,env:2})}},{number:39,title:"Try the new image loader",url:null,draft:!0,state:"old",marker:{v:1,sha:"1c8d0aa",verdict:"check",at:"2026-11-01T09:00:00.000Z",counts:aI({moderate:1})}},{number:37,title:"Docs: deploy notes",url:null,draft:!1,state:"none",marker:null}]};async function aK(a){return(0,n.F)("operator",async()=>{if(!(0,s.f)(a))return{ok:!1,error:al.w};let b=await aH(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:o.g},async()=>({ok:!0,data:{...aJ,checkedAt:new Date().toISOString()}}))}(0,t.ensureServerEntryExports)([aK]),(0,l.registerServerReference)(aK,"409fc8afda3ba6b6e582f37cf530923186b23bb31f",null);var aL=a.i(118558),aM=a.i(247730),aN=a.i(72019),aO=a.i(312573),aP=a.i(323878),aQ=a.i(556987);async function aR(a,b){return(0,n.F)("operator",async c=>{if(!(0,s.f)(a)||null!==b&&!(0,s.f)(b))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,aP.C)(aO.t.monitorWrite,c.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,aO.H)(d.retryAfter)}.`};let e=await (0,aN.n)(a,b,c.userId);if(!e.ok)return e;(0,aL.refresh)(),(0,p.J)([q.m.supabase,q.m.neon,q.m.firebase]);let f=await (0,aM.f)().catch(()=>null);return{ok:!0,message:f?(0,aQ.J)(e.message,f,b):"The database link is saved."}},{requireActionMember:o.g},"local")}(0,t.ensureServerEntryExports)([aR]),(0,l.registerServerReference)(aR,"6035454ab9bbfda8a4759fa9fc04075ad12b947b5f",null);var aS=a.i(221084),aT=a.i(944571),aU=a.i(27522);let aV={requireActionMember:o.g},aW="Something in that request wasn't valid.";async function aX(a,b){return(0,n.F)("owner",async c=>{if(!(0,s.f)(a)||null!==b&&!(0,s.f)(b))return{ok:!1,error:aW};let d=await (0,aT.D)(a,b,c.userId);return d.ok?(await (0,aS.f)({kind:"ok",message:d.repo?`Repository linked \xb7 ${d.app} → ${d.repo}`:`Repository unlinked \xb7 ${d.app}`,resourceId:a,actorUserId:c.userId}).catch(()=>console.warn("repo link audit failed")),(0,aL.refresh)(),{ok:!0,message:d.message}):d},aV,"local")}async function aY(a){return(0,n.F)("operator",async b=>{if(!(0,s.f)(a))return{ok:!1,error:aW};let c=await (0,aP.C)(aO.t.githubRefresh,b.id);if(!c.allowed)return{ok:!1,error:`Too many refreshes. Try again in ${(0,aO.H)(c.retryAfter)}.`};let d=await (0,aT.$)(a);if(!d.ok)return d;(0,aL.refresh)();let e=(0,aU.N)(d.run,null);return{ok:!0,message:`GitHub Actions: ${e.label.toLowerCase()}.`}},aV)}(0,t.ensureServerEntryExports)([aX,aY]),(0,l.registerServerReference)(aX,"603f9808866e119aa2471f4a6539c05b329bd56b46",null),(0,l.registerServerReference)(aY,"40a6adff8846bc99867ec4eca07ad0e38db3ce1dde",null);var aZ=a.i(242605);async function a$(a){return(0,n.F)("operator",async b=>{if(!(0,s.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,aP.C)(aO.t.securityCheck,b.id);if(!c.allowed)return{ok:!1,error:`Too many security checks. Try again in ${(0,aO.H)(c.retryAfter)}.`};let d=await (0,aZ.d)(a);if(!d.ok)return{ok:!1,error:d.error};try{await (0,aS.f)({kind:d.passed?"ok":"err",...d.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,aL.refresh)(),{ok:!0,message:d.message,data:{passed:d.passed,vulnerable:d.vulnerable}}},{requireActionMember:o.g})}(0,t.ensureServerEntryExports)([a$]),(0,l.registerServerReference)(a$,"40e6f2fbdede9272095aacd991f3431dc8c8df650f",null),a.s(["0036f299b84702137d0e1804d2180086625225dfa3",()=>e.E,"0044f25e033351520c508c000dd193d3fac544db13",()=>g.f,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",()=>b.f,"00cdf27638ef84151abef7867f4992c441c8a9dc0b",()=>c.f,"4021484f7cc074a2bd37b5728ec556e67d9d07b171",0,am,"4022d2901d63f206a8bd1d2ab60a96d5cd16dd97b6",()=>d.R,"4026a4627545dbf3702c6cc6b5b713925010e3fcd8",0,u,"4035940c10c8b13b54c2e286ddbf2cb45f4a8383e9",()=>d.B,"403f60a55186a5519c23926fc92b668da40472124a",()=>i.C,"407257ad6141a0a43761245de5791162b1a4a01758",()=>k.f,"409915cee1f50c660878fea67a05e33d5f1726cdfa",()=>f.F,"409fc8afda3ba6b6e582f37cf530923186b23bb31f",0,aK,"40a2b7910bf5613049d5fe66e9f1f92cf38a0c3bba",()=>e.G,"40a6adff8846bc99867ec4eca07ad0e38db3ce1dde",0,aY,"40a6c18a41155fbbf266df357786ef200b826ada93",()=>f.G,"40ae77fc9011841afb050a9dbc05b27a4da98786b6",()=>v.f,"40aeebbb6a147a0a03105323f1aa07f834b2ba81ab",()=>e.T,"40b6a9f6ca14730a67a6c2c2deb4d1dff6cc789845",0,an,"40c229d2a5f84a153a532bc84c55b5590c7503b7c0",0,ar,"40ca7c77c5572e0e757cb33555f1b73ffde22aff6a",()=>h.f,"40d41e8bd8f26c3b95b08307130717fa40ca6dffc0",()=>f.m,"40d76f8669a4c31ada2c11b627249a2c9f772d2b67",()=>j.n,"40e6f2fbdede9272095aacd991f3431dc8c8df650f",0,a$,"6035454ab9bbfda8a4759fa9fc04075ad12b947b5f",0,aR,"60363cb2e0040463e2b28a2c5080250fae55ede48e",()=>j.d,"603f9808866e119aa2471f4a6539c05b329bd56b46",0,aX,"6055fd72675c60fa5f8d197da962fefae333a9e57d",()=>j.Y,"6068e28948c23eb5c59b2b9306456c2795dbcbb036",()=>j.x,"60a20982334c43ac54b2ff6fd4c85209f9d6b6ac0f",()=>j.t,"60afa6d69baa013614b274a7ce4615c7819d14871a",()=>j.r,"60b7d362a164ec4410ee95696addb7ff611b64b467",()=>j.y,"60d1853bc13fd990f5b6c49dc1a19e3151d3af44a7",()=>j.m,"60d2b4999b2d9b5b7ebaa28ed6444a865e5461a33b",()=>j.j,"60ec374e29e39b1572d5efcd02af00c38518dc6117",()=>i.L],189563)}];
|
|
1
|
+
module.exports=[189563,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(221340),i=a.i(739518),j=a.i(429852),k=a.i(128120),l=a.i(137936);a.i(570396);var m=a.i(673727),n=a.i(600079),o=a.i(109307),p=a.i(678831),q=a.i(45617),r=a.i(840784),s=a.i(683439),t=a.i(713095);async function u(a){return(0,n.F)("owner",async b=>{if(!(0,s.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,r.a)(a,b.userId);if(!c.ok)return{ok:!1,error:c.error};(0,p.J)([q.m.supabase,q.m.neon,q.m.firebase,q.m.domains]),(0,m.redirect)("/apps")},{requireActionMember:o.g},"local")}(0,t.ensureServerEntryExports)([u]),(0,l.registerServerReference)(u,"40859ba238f38bba5b4b90f7ac8d930d1a77b03af8",null);var v=a.i(812014);let w={npm:"package-lock.json",pnpm:"pnpm-lock.yaml",yarn:"yarn.lock",bun:"bun.lock"},x={npm:"npm ci",pnpm:"pnpm install --frozen-lockfile",yarn:"yarn install --frozen-lockfile",bun:"bun install --frozen-lockfile"},y={npm:".npmrc*",pnpm:".npmrc* pnpm-workspace.yaml*",yarn:".npmrc* .yarnrc.yml*",bun:".npmrc* bunfig.toml*"},z=a=>a>=25?"npm install -g corepack && corepack enable":"corepack enable",A=(a,b)=>"pnpm"===a||"yarn"===a?`${z(b)} && ${x[a]}`:x[a],B={npm:a=>"test"===a?"npm test":`npm run ${a}`,pnpm:a=>`pnpm run ${a}`,yarn:a=>`yarn run ${a}`,bun:a=>`bun run ${a}`},C={npm:'["npm", "start"]',pnpm:'["npm", "start"]',yarn:'["npm", "start"]',bun:'["bun", "run", "start"]'},D=/^(?:NEXT_PUBLIC_|VITE_|REACT_APP_)/,E=a=>`# Generated by Watchbell${a.version?` ${a.version}`:""} from ${a.app}'s settings — review before use.`,F=(a,b)=>"."===a?b:`${a}/${b}`;function G(a,b){var c,d;let e,f,g,h,i,j,k,l;return[function(a,b){let c=a.guessed.includes("package manager"),d=c?"npm install":A(a.pm,a.node),e=c?"COPY package.json ./":`COPY package.json ${w[a.pm]} ${y[a.pm]} ./`,f=`node:${a.node}-alpine`,g="bun"===a.pm?"oven/bun:1-alpine":f,h=a.envNames.filter(a=>D.test(a)).flatMap(a=>[`ARG ${a}`,`ENV ${a}=$${a}`]),i=[E(b),`FROM ${g} AS deps`,"WORKDIR /app",e,..."yarn"!==a.pm||c?[]:["ENV YARN_NODE_LINKER=node-modules"],`RUN ${d}`,"",`FROM ${g} AS build`,"WORKDIR /app","COPY --from=deps /app/node_modules ./node_modules","COPY . .",..."nextjs"===a.kind?["ENV NEXT_TELEMETRY_DISABLED=1","RUN mkdir -p public"]:[],...h,...a.scripts.build?[..."pnpm"===a.pm||"yarn"===a.pm?[`RUN ${z(a.node)}`]:[],`RUN ${B[a.pm]("build")}`]:[],""],j=a=>`HEALTHCHECK --interval=30s --timeout=5s --retries=3 CMD wget -q --spider http://127.0.0.1:${a}/ || exit 1`,k=["RUN addgroup -S -g 10001 app && adduser -S -u 10001 -G app app"];if("vite"===a.kind||"cra"===a.kind){let b="vite"===a.kind?"dist":"build";return i.push("FROM nginxinc/nginx-unprivileged:stable-alpine AS run","USER root",`RUN printf '%s\\n' 'server {' ' listen ${a.port};' ' root /usr/share/nginx/html;' ' location / { try_files $uri $uri/ /index.html; }' '}' > /etc/nginx/conf.d/default.conf`,"USER 101",`COPY --from=build /app/${b} /usr/share/nginx/html`,`EXPOSE ${a.port}`,j(a.port)),{path:F(a.dir,"Dockerfile"),text:i.join("\n")+"\n"}}return"nextjs"===a.kind&&a.standalone?(i.push(`FROM ${f} AS run`,"WORKDIR /app",`ENV NODE_ENV=production NEXT_TELEMETRY_DISABLED=1 PORT=${a.port} HOSTNAME=0.0.0.0`,...k,"COPY --from=build --chown=10001:10001 /app/public ./public","COPY --from=build --chown=10001:10001 /app/.next/standalone ./","COPY --from=build --chown=10001:10001 /app/.next/static ./.next/static","USER 10001",`EXPOSE ${a.port}`,j(a.port),'CMD ["node", "server.js"]'),{path:F(a.dir,"Dockerfile"),text:i.join("\n")+"\n"}):(i.push(`FROM ${g} AS run`,"WORKDIR /app",`ENV NODE_ENV=production PORT=${a.port}${"nextjs"===a.kind?" NEXT_TELEMETRY_DISABLED=1":""}`,...k,"COPY --from=build --chown=10001:10001 /app ./","USER 10001",`EXPOSE ${a.port}`,j(a.port),`CMD ${C[a.pm]}`),{path:F(a.dir,"Dockerfile"),text:i.join("\n")+"\n",..."nextjs"===a.kind?{note:'Add output: "standalone" to next.config for a smaller image; Watchbell never edits next.config.'}:{}})}(a,b),(e=[E(b),"node_modules",".next","dist","build",".git",".github",".vercel","**/*.log","**/.env*","!**/.env.example","Dockerfile","docker-compose.yml","k8s.yaml"],{path:F(a.dir,".dockerignore"),text:e.join("\n")+"\n"}),(f=a.envNames.filter(a=>D.test(a)),g=[E(b),"# The app's database is a managed service (Supabase, Neon, …): its connection settings go in .env, not here.","services:"," app:"," build:"," context: .",...f.length?[" args:",...f.map(a=>` ${a}: $\{${a}}`)]:[]," ports:",` - "${a.port}:${a.port}"`," env_file: .env"," restart: unless-stopped"],{path:F(a.dir,"docker-compose.yml"),text:g.join("\n")+"\n"}),function(a,b){let c=a.guessed.includes("package manager"),d=c?"npm install":A(a.pm,a.node),e=[" - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1"," - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0"," with:",` node-version: ${a.node}`,...c||"npm"!==a.pm?[]:[` cache: ${a.pm}`,` cache-dependency-path: ${F(a.dir,w[a.pm])}`],..."bun"===a.pm?[" - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0"]:[],` - run: ${d}`,...a.scripts.lint?[` - run: ${B[a.pm]("lint")}`]:[],...a.scripts.typecheck?[` - run: ${B[a.pm](a.scripts.typecheck)}`]:[],...a.scripts.test?[` - run: ${B[a.pm]("test")}`]:[]];if(a.scripts.build){let b=a.envNames.filter(a=>D.test(a));e.push(` - run: ${B[a.pm]("build")}`),b.length&&e.push(" env:",...b.map(a=>` ${a}: $\{{ vars.${a} }}`))}return{path:".github/workflows/ci.yml",text:[E(b),"name: CI","on:"," pull_request:"," push:",` branches: [${b.branch??"main"}]`,"permissions:"," contents: read","jobs:"," build:"," runs-on: ubuntu-latest"," timeout-minutes: 15",..."."!==a.dir?[" defaults:"," run:",` working-directory: ${a.dir}`]:[]," steps:",...e].join("\n")+"\n"}}(a,b),(c=a,i=(h=(d=b).app.toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,""),(/^[a-z]/.test(h)?h:`app-${h}`).slice(0,50).replace(/-+$/,"")||"app"),j=d.repo?`ghcr.io/${d.repo.toLowerCase()}:latest`:`ghcr.io/OWNER/${i}:latest`,k=a=>[` ${a}:`," httpGet:"," path: /",` port: ${c.port}`," periodSeconds: 15"],l=[E(d),"# The app's env values live in a Secret you create once on the cluster, never in this file:",`# kubectl create secret generic ${i}-env --from-env-file=.env`,...c.envNames.length?["# It needs these names:",...c.envNames.map(a=>`# ${a}`)]:[],"apiVersion: apps/v1","kind: Deployment","metadata:",` name: ${i}`," labels:",` app: ${i}`,"spec:"," replicas: 1"," selector:"," matchLabels:",` app: ${i}`," template:"," metadata:"," labels:",` app: ${i}`," spec:"," securityContext:"," runAsNonRoot: true"," containers:"," - name: app",` image: ${j} # change to the image you push`," ports:",` - containerPort: ${c.port}`," envFrom:"," - secretRef:",` name: ${i}-env`," resources:"," requests:"," cpu: 100m"," memory: 128Mi"," limits:"," cpu: 500m"," memory: 512Mi",...k("readinessProbe"),...k("livenessProbe"),"---","apiVersion: v1","kind: Service","metadata:",` name: ${i}`,"spec:"," selector:",` app: ${i}`," ports:"," - port: 80",` targetPort: ${c.port}`],{path:F(c.dir,"k8s.yaml"),text:l.join("\n")+"\n"})]}let H={kind:"nextjs",dir:".",pm:"pnpm",node:24,standalone:!0,port:3e3,guessed:[],envNames:["DATABASE_URL","NEXT_PUBLIC_SITE_URL","RESEND_API_KEY"],scripts:{build:!0,start:!0,lint:!0,test:!0,typecheck:"typecheck"}},I={facts:H,repo:"acme/storefront",branch:"main",files:G(H,{app:"storefront",version:null,repo:"acme/storefront",branch:"main"})};var J=a.i(93321),K=a.i(548734),L=a.i(837137);let M={nextjs:"nextjs",vite:"vite","create-react-app":"cra"},N=/^[A-Za-z_][A-Za-z0-9_]{0,255}$/;var O=a.i(930270),P=a.i(322145),Q=a.i(679662),R=a.i(521050);let S=["missing-production","preview-only","public-secret","not-in-example"],T=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=/,U=/(SECRET|PRIVATE|TOKEN|PASSWORD|SERVICE_ROLE)/;function V(a){let b=[];for(let c of a.split(/\r?\n/)){if(/^\s*#/.test(c))continue;let a=T.exec(c);a&&!b.includes(a[1])&&b.push(a[1])}return b}let W={findings:[{kind:"missing-production",key:"RESEND_API_KEY"},{kind:"preview-only",key:"FEATURE_NEW_CHECKOUT"},{kind:"not-in-example",key:"OLD_ANALYTICS_ID"}],names:9,example:"found",examplePath:".env.example",checkedAt:"2026-10-29T03:00:00.000Z"};var X=a.i(760417),Y=a.i(288666);let Z=["production","preview","development"],$=/^[A-Za-z_][A-Za-z0-9_]{0,255}$/,_=a=>a&&"object"==typeof a&&!Array.isArray(a)?a:null;async function aa(a,b,c,d={}){let e=new URLSearchParams({teamId:b}),f=await (0,Y.R)("Vercel",`https://api.vercel.com/v10/projects/${encodeURIComponent(c)}/env?${e}`,{token:a},{timeoutMs:1e4,...d});if(!f.ok)return f;let g=function(a){let b=_(a)?.envs;if(!Array.isArray(b))return null;let c=[];for(let a of b){let b=_(a);if(!b||"string"!=typeof b.key||!$.test(b.key))continue;let d=Array.isArray(b.target)?b.target:"string"==typeof b.target?[b.target]:[],e=Z.filter(a=>d.includes(a)),f="string"==typeof b.gitBranch&&b.gitBranch.trim()?b.gitBranch.trim():null;c.push({key:b.key,targets:e,branch:f})}return c}(f.data);return g?{ok:!0,data:g}:(0,Y.t)("Vercel","the environment variables")}var ab=a.i(511233);let ac=["next.config.ts","next.config.mjs","next.config.js"],ad={async target(a){let b=await (0,P.p)(a,"app"),c=b?.resource.meta,d=c?.teamId;return b&&"string"==typeof d&&d?{name:b.resource.name,framework:"string"==typeof c.framework?c.framework:null,rootDir:(0,R.Q)(c.rootDirectory),rootDirUnusable:(0,R.l)(c.rootDirectory),token:b.token,teamId:d,projectId:b.resource.externalId}:null},async repo(a){let[b]=await (0,K.f)().select({fullName:L.githubRepos.fullName,branch:L.githubRepos.defaultBranch}).from(L.appRepos).innerJoin(L.githubRepos,(0,J.u)(L.githubRepos.id,L.appRepos.repoId)).where((0,J.u)(L.appRepos.appId,a)).limit(1);return b??null},async githubToken(){let a=await (0,O.M)();return"token"in a?a.token:null},file:(a,b,c,d)=>(0,X.V)(a,b,c,d,262144),envNames:(a,b,c)=>aa(a,b,c),version:()=>(0,ab.y)()};async function ae(a,b=ad){let c=await b.target(a);if(!c)return{ok:!1,error:"That app's Vercel project can't be read. Sync Vercel and try again."};if(c.rootDirUnusable)return{ok:!1,error:"The Vercel Root Directory isn't a folder Watchbell can read."};let d=await b.envNames(c.token,c.teamId,c.projectId),e=d.ok?d.data.filter(a=>a.targets.includes("production")).map(a=>a.key):null,f=await b.repo(a),g=f?await b.githubToken():null,h=c.rootDir?`${c.rootDir}/`:"",i=async a=>{if(!f||!g)return null;let c=await b.file(g,f.fullName,h+a,f.branch||"HEAD");return c.ok?c.data:null},j=async(a,b)=>{for(let c of a){let a=await i(b(c));if(null!==a)return{item:c,text:a}}return null},k=async a=>!!f&&!!g&&(await b.file(g,f.fullName,h+a,f.branch||"HEAD")).ok,l=await i("package.json"),m="nextjs"===c.framework?(await j(ac,a=>a))?.text??null:null,n=null;for(let a of Q.a)if(await k(a.path)){n={item:a};break}let o=e?null:await i(".env.example"),p=function(a){let b,c=[],d=function(a){let b;if(!a)return null;try{b=JSON.parse(a)}catch{return null}if("object"!=typeof b||null===b)return null;let c=b,d="object"==typeof c.scripts&&null!==c.scripts?c.scripts:{},e=a=>"string"==typeof d[a];return{scripts:{build:e("build"),start:e("start"),lint:e("lint"),test:e("test"),typecheck:e("typecheck")?"typecheck":e("type-check")?"type-check":null},node:function(a){if("string"!=typeof a)return null;let b=a.split(/\s*\|\|\s*|\s+/).filter(a=>a&&!a.startsWith("<")).map(a=>/^[>=^~v]*(\d{1,2})(?:\.(?:\d+|x|\*))*$/.exec(a)).flatMap(a=>a?[Number(a[1])]:[]).filter(a=>a>=10&&a<=40);return b.length?Math.min(...b):null}("string"==typeof c.engines?.node?c.engines.node:void 0)}}(a.packageJson),e=d?.scripts??{build:!0,start:!0,lint:!1,test:!1,typecheck:null};if(a.framework&&M[a.framework])b=M[a.framework];else{if(a.framework)return{ok:!1,error:`Watchbell can't write build files for ${a.framework} yet.`};if(!e.start)return{ok:!1,error:"Watchbell can't write build files for this app yet: it has no framework and no start script."};b="node"}a.lockfile||c.push("package manager");let f=d?.node??null;null===f&&c.push("Node version"),null!==f&&f<20&&(c.push(`Node version (raised from ${f} to 20)`),f=20),d||c.push("scripts");let g=a.envNames??a.exampleNames;return g||c.push("env names"),{ok:!0,facts:{kind:b,dir:a.rootDir||".",pm:a.lockfile??"npm",node:f??24,scripts:e,standalone:"nextjs"===b&&!!a.nextConfig&&/output\s*:\s*["'`]standalone["'`]/.test(a.nextConfig),envNames:[...new Set((g??[]).filter(a=>N.test(a)&&!("NODE_ENV"===a||a.startsWith("VERCEL_")||"VERCEL"===a)))].sort(),port:"vite"===b||"cra"===b?8080:3e3,guessed:c}}}({framework:c.framework,rootDir:c.rootDir,lockfile:n?.item.kind??null,packageJson:l,nextConfig:m,envNames:e,exampleNames:null!==o?V(o):null});if(!p.ok)return p;let q=f?.branch??null;return{ok:!0,data:{facts:p.facts,repo:f?.fullName??null,branch:q,files:G(p.facts,{app:c.name,version:b.version(),repo:f?.fullName??null,branch:q})}}}var af=a.i(666680),ag=a.i(736780),ah=a.i(812092);let ai={writeAccount:()=>(0,ag.G)(),generate:a=>ae(a),async appName(a){let[b]=await (0,K.f)().select({name:L.resources.name}).from(L.resources).where((0,J.u)(L.resources.id,a)).limit(1);return b?.name??"the app"},repoInfo:(a,b)=>(0,ah.H)(a,b),branchHead:(a,b,c)=>(0,ah.M)(a,b,c),async exists(a,b,c,d){let e=await (0,X.V)(a,b,c,d,1);return!(!e.ok&&"missing"===e.kind)},createBranch:(a,b,c,d,e)=>(0,ah.k)(a,b,c,d,e),putNewFile:(a,b,c,d,e,f,g)=>(0,ah.j)(a,b,c,d,e,f,g),createPull:(a,b,c,d,e,f)=>(0,ah.y)(a,b,c,d,e,f),openBuildFilesPull:(a,b)=>(0,ah.I)(a,b),finish:(a,b,c)=>(0,P.W)(a,b,c),random:()=>(0,af.randomBytes)(4).toString("hex")},aj=a=>`\`${a}\``;async function ak(a,b,c=ai){let d=await c.writeAccount();if(!d)return{ok:!1,error:ag.u};if("unreadable"===d)return{ok:!1,error:"The stored GitHub PR-write credential can't be read. Replace it on Connections."};let e=await c.generate(b);if(!e.ok)return e;let f=e.data.repo;if(!f)return{ok:!1,error:"Link a repository first."};let g=await c.appName(b),h=e=>c.finish({done:!1,failed:e,audit:{message:`Build files PR failed \xb7 ${g}`,resourceId:b}},a,d.id),i=await c.repoInfo(d.token,f);if(!i.ok)return h(i);let j=i.data.defaultBranch,k=[],l=[];for(let a of e.data.files)await c.exists(d.token,f,a.path,j)?k.push(a.path):l.push(a);if(!l.length)return{ok:!1,error:"Every build file already exists in the repository."};let m=await c.openBuildFilesPull(d.token,f);if(!m.ok)return h(m);if(m.data)return{ok:!1,error:`Pull request #${m.data.number} with build files is already open. Merge or close it first.`};let n=await c.branchHead(d.token,f,j);if(!n.ok)return h(n);if(!n.data)return{ok:!1,error:`The default branch ${j} has no commits to start from.`};let o=`watchbell/build-files-${c.random()}`,p=await c.createBranch(d.token,f,o,n.data,j),q=a=>h({...a,error:`${a.error} Branch ${o} keeps the files written so far; delete it on GitHub, or open a pull request from it.`});if(!p.ok)return h(p);let r=[],s=!1;for(let a of l){let b=await c.putNewFile(d.token,f,o,j,a.path,a.text,`Add ${a.path} (Watchbell build files)`);if(!b.ok&&a.path.startsWith(".github/workflows/")&&("scope"===b.kind||"missing"===b.kind)){s=!0,k.push(a.path);continue}if(!b.ok)return q(b);"exists"===b.data?k.push(a.path):r.push(a.path)}if(!r.length)return{ok:!1,error:"Every build file already exists in the repository."};let t=await c.createPull(d.token,f,o,j,"Add build files (Watchbell)",function(a,b,c,d=[]){return["Watchbell wrote these files from the app's settings. Review them before merging; nothing is built or deployed by this pull request.","",...a.map(a=>`- ${aj(a)}`),...b.length?["",`Skipped (already in the repository): ${b.map(aj).join(", ")}`]:[],...d.map(a=>`
|
|
2
|
+
Not added: ${aj(a)} — the GitHub PR-write token needs Workflows: Read and write to add it. Copy it from the Build files card instead.`),...c.length?["",`Guessed: ${c.join(", ")}.`]:[],"","Env names only: set their values in `.env` (Docker) or the Kubernetes Secret, never in these files."].join("\n")}(r,k.filter(a=>!s||!a.startsWith(".github/workflows/")),e.data.facts.guessed,s?l.filter(a=>a.path.startsWith(".github/workflows/")).map(a=>a.path):[]));if(!t.ok)return q(t);let u=await c.finish({done:!0,message:`Pull request #${t.data.number} opened.`,audit:{message:`Opened build files PR #${t.data.number} for ${g}`,resourceId:b}},a,d.id);return u.ok?{...u,data:{number:t.data.number,url:t.data.url,skipped:k}}:u}var al=a.i(75105);async function am(a){return(0,n.F)("operator",async()=>{if(!(0,s.f)(a))return{ok:!1,error:al.w};let b=await ae(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:o.g},async()=>({ok:!0,data:I}))}async function an(a){return(0,n.F)("owner",async b=>(0,s.f)(a)?ak(b,a):{ok:!1,error:al.w},{requireActionMember:o.g},async()=>({ok:!1,error:"Pull requests are off in the demo."}))}(0,t.ensureServerEntryExports)([am,an]),(0,l.registerServerReference)(am,"4022aa96f291bd9cf8e17afacf06f0cd91ed4df126",null),(0,l.registerServerReference)(an,"4044bf5d2b0dea1e40c9f28802dfbac03cd80825e2",null);let ao={async target(a){let b=await (0,P.p)(a,"app"),c=b?.resource.meta.teamId;if(!b||"string"!=typeof c||!c)return null;let d=b.resource.meta.rootDirectory;return{token:b.token,teamId:c,projectId:b.resource.externalId,rootDir:(0,R.Q)(d),rootDirUnusable:(0,R.l)(d)}},async repo(a){let[b]=await (0,K.f)().select({fullName:L.githubRepos.fullName,branch:L.githubRepos.defaultBranch}).from(L.appRepos).innerJoin(L.githubRepos,(0,J.u)(L.githubRepos.id,L.appRepos.repoId)).where((0,J.u)(L.appRepos.appId,a)).limit(1);return b??null},async githubToken(){let a=await (0,O.M)();return"token"in a?a.token:null},envNames:(a,b,c)=>aa(a,b,c),file:(a,b,c,d)=>(0,X.V)(a,b,c,d,65536),now:()=>new Date};async function ap(a,b,c,d){let e=await d.repo(a);if(!e)return{example:"no-repo",path:null,keys:null};if(c)return{example:"unreadable",path:`${c}/.env.example`,keys:null};let f=b?`${b}/.env.example`:".env.example",g=await d.githubToken();if(!g)return{example:"no-github",path:f,keys:null};let h=await d.file(g,e.fullName,f,e.branch||"HEAD");return h.ok?null===h.data?{example:"unreadable",path:f,keys:null}:{example:"found",path:f,keys:V(h.data)}:{example:"missing"===h.kind?"none":"unreadable",path:f,keys:null}}async function aq(a,b=ao){let c=await b.target(a);if(!c)return{ok:!1,error:"That app's Vercel project can't be read. Sync Vercel and try again."};let d=await b.envNames(c.token,c.teamId,c.projectId);if(!d.ok)return{ok:!1,error:`Couldn't read the environment variables: ${d.error}`};let e=await ap(a,c.rootDir,c.rootDirUnusable??null,b);return{ok:!0,data:{findings:function(a,b){let c=new Map,d=(a,b)=>c.set(`${a}:${b}`,{kind:a,key:b}),e=a.filter(a=>!a.key.startsWith("VERCEL_")),f=new Set(e.filter(a=>a.targets.includes("production")&&null===a.branch).map(a=>a.key));for(let a of new Set(e.map(a=>a.key))){let b=a.startsWith("NEXT_PUBLIC_")?a.slice(12):null;!f.has(a)&&e.some(b=>b.key===a&&(b.targets.includes("preview")||b.targets.includes("development")))&&d("preview-only",a),null!==b&&U.test(b)&&d("public-secret",a)}if(b){let a=b.filter(a=>!a.startsWith("VERCEL_"));for(let b of a)f.has(b)||d("missing-production",b);for(let b of f)a.includes(b)||d("not-in-example",b)}return[...c.values()].sort((a,b)=>S.indexOf(a.kind)-S.indexOf(b.kind)||a.key.localeCompare(b.key))}(d.data,e.keys),names:new Set(d.data.map(a=>a.key)).size,example:e.example,examplePath:e.path,checkedAt:b.now().toISOString()}}}async function ar(a){return(0,n.F)("operator",async()=>{if(!(0,s.f)(a))return{ok:!1,error:al.w};let b=await aq(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:o.g},async()=>({ok:!0,data:{...W,checkedAt:new Date().toISOString()}}))}(0,t.ensureServerEntryExports)([ar]),(0,l.registerServerReference)(ar,"4000a136232ff0b95fae534047aea14bcc55c1eb57",null);var as=a.i(689963),at=a.i(26972),au=a.i(811365),av=a.i(427221),aw=a.i(83931),ax=a.i(899370),ay=a.i(149310);let az="<!-- watchbell-precheck",aA=au.z.number().int().min(0),aB=at.z.object({v:ax.z.literal(1),sha:av.z.string().regex(/^[0-9a-f]{7,40}$/),verdict:ay.z.enum(["fix","check","ok"]),at:av.z.string().max(40),counts:at.z.object({critical:aA,high:aA,moderate:aA,low:aA,secrets:aA,env:aA})}),aC=a=>({ok:!1,kind:"format",error:`GitHub answered ${a} in a format the console doesn't recognise.`}),aD={ok:!1,kind:"format",error:"That isn't a repository or pull request."};async function aE(a,b,c={}){if(!(0,X.M)(b))return aD;let d=await (0,X.j)(`/repos/${(0,X.f)(b)}/pulls?state=open&per_page=20&sort=created&direction=desc`,a,c);if(!d.ok)return d;let e=as.z.array(at.z.object({number:au.z.number().int().positive(),title:av.z.string().nullish(),draft:aw.z.boolean().nullish(),html_url:av.z.string().nullish(),head:at.z.object({sha:av.z.string().regex(/^[0-9a-f]{40}$/)})})).safeParse(d.data);return e.success?{ok:!0,data:e.data.map(a=>({number:a.number,title:(a.title??"").slice(0,200),head:a.head.sha,draft:a.draft??!1,url:a.html_url?.startsWith("https://github.com/")?a.html_url:null}))}:aC("the pull requests")}async function aF(a,b,c,d={}){if(!(0,X.M)(b)||!Number.isInteger(c)||c<1)return aD;let e=await (0,X.j)(`/repos/${(0,X.f)(b)}/issues/${c}/comments?per_page=100`,a,d);if(!e.ok)return e;let f=as.z.array(at.z.object({body:av.z.string().nullish(),user:at.z.object({login:av.z.string()}).nullish()})).safeParse(e.data);if(!f.success)return aC("the pull request comments");let g=null;for(let a of f.data)a.user?.login==="github-actions[bot]"&&a.body&&(g=function(a){let b=a.trimStart();if(!b.startsWith(az))return null;let c=b.indexOf(" -->");if(c<0||c>2e3)return null;try{let a=aB.safeParse(JSON.parse(b.slice(az.length,c)));return a.success?a.data:null}catch{return null}}(a.body)??g);return{ok:!0,data:g}}let aG={async repo(a){let[b]=await (0,K.f)().select({fullName:L.githubRepos.fullName}).from(L.appRepos).innerJoin(L.githubRepos,(0,J.u)(L.githubRepos.id,L.appRepos.repoId)).where((0,J.u)(L.appRepos.appId,a)).limit(1);return b??null},async githubToken(){let a=await (0,O.M)();return"token"in a?a.token:null},pulls:(a,b)=>aE(a,b),marker:(a,b,c)=>aF(a,b,c),now:()=>new Date};async function aH(a,b=aG){let c=await b.repo(a);if(!c)return{ok:!1,error:"Link a repository first."};let d=await b.githubToken();if(!d)return{ok:!1,error:"GitHub isn't connected, or its token can't be read."};let e=await b.pulls(d,c.fullName);if(!e.ok)return{ok:!1,error:e.error};let f=await Promise.all(e.data.slice(0,10).map(async a=>{let e=await b.marker(d,c.fullName,a.number),f=e.ok?e.data:null,g=e.ok?f?f.sha===a.head?"checked":"old":"none":"unread";return{number:a.number,title:a.title,url:a.url,draft:a.draft,state:g,marker:f}}));return{ok:!0,data:{repo:c.fullName,rows:f,checkedAt:b.now().toISOString()}}}let aI=(a={})=>({critical:0,high:0,moderate:0,low:0,secrets:0,env:0,...a}),aJ={repo:"acme/storefront",checkedAt:"2026-11-04T02:00:00.000Z",rows:[{number:42,title:"Bump next from 16.4.1 to 16.4.3",url:null,draft:!1,state:"checked",marker:{v:1,sha:"4f2a9c1",verdict:"ok",at:"2026-11-04T01:40:00.000Z",counts:aI()}},{number:41,title:"Add checkout analytics",url:null,draft:!1,state:"checked",marker:{v:1,sha:"9b03e77",verdict:"fix",at:"2026-11-03T22:10:00.000Z",counts:aI({high:1,env:2})}},{number:39,title:"Try the new image loader",url:null,draft:!0,state:"old",marker:{v:1,sha:"1c8d0aa",verdict:"check",at:"2026-11-01T09:00:00.000Z",counts:aI({moderate:1})}},{number:37,title:"Docs: deploy notes",url:null,draft:!1,state:"none",marker:null}]};async function aK(a){return(0,n.F)("operator",async()=>{if(!(0,s.f)(a))return{ok:!1,error:al.w};let b=await aH(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:o.g},async()=>({ok:!0,data:{...aJ,checkedAt:new Date().toISOString()}}))}(0,t.ensureServerEntryExports)([aK]),(0,l.registerServerReference)(aK,"40c2d257da90f3c258dddd28c80f47d488695566a3",null);var aL=a.i(118558),aM=a.i(247730),aN=a.i(72019),aO=a.i(312573),aP=a.i(323878),aQ=a.i(556987);async function aR(a,b){return(0,n.F)("operator",async c=>{if(!(0,s.f)(a)||null!==b&&!(0,s.f)(b))return{ok:!1,error:"Something in that request wasn't valid."};let d=await (0,aP.C)(aO.t.monitorWrite,c.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,aO.H)(d.retryAfter)}.`};let e=await (0,aN.n)(a,b,c.userId);if(!e.ok)return e;(0,aL.refresh)(),(0,p.J)([q.m.supabase,q.m.neon,q.m.firebase]);let f=await (0,aM.f)().catch(()=>null);return{ok:!0,message:f?(0,aQ.J)(e.message,f,b):"The database link is saved."}},{requireActionMember:o.g},"local")}(0,t.ensureServerEntryExports)([aR]),(0,l.registerServerReference)(aR,"60ef8b7b0aa5730eb1b6b1b8a26db4a89f6684db1f",null);var aS=a.i(221084),aT=a.i(944571),aU=a.i(27522);let aV={requireActionMember:o.g},aW="Something in that request wasn't valid.";async function aX(a,b){return(0,n.F)("owner",async c=>{if(!(0,s.f)(a)||null!==b&&!(0,s.f)(b))return{ok:!1,error:aW};let d=await (0,aT.D)(a,b,c.userId);return d.ok?(await (0,aS.f)({kind:"ok",message:d.repo?`Repository linked \xb7 ${d.app} → ${d.repo}`:`Repository unlinked \xb7 ${d.app}`,resourceId:a,actorUserId:c.userId}).catch(()=>console.warn("repo link audit failed")),(0,aL.refresh)(),{ok:!0,message:d.message}):d},aV,"local")}async function aY(a){return(0,n.F)("operator",async b=>{if(!(0,s.f)(a))return{ok:!1,error:aW};let c=await (0,aP.C)(aO.t.githubRefresh,b.id);if(!c.allowed)return{ok:!1,error:`Too many refreshes. Try again in ${(0,aO.H)(c.retryAfter)}.`};let d=await (0,aT.$)(a);if(!d.ok)return d;(0,aL.refresh)();let e=(0,aU.N)(d.run,null);return{ok:!0,message:`GitHub Actions: ${e.label.toLowerCase()}.`}},aV)}(0,t.ensureServerEntryExports)([aX,aY]),(0,l.registerServerReference)(aX,"6074528fb19f59dce6d04c73751e459a8603ed09b7",null),(0,l.registerServerReference)(aY,"40a1d301b642dc74d2f72e518b9e868f0e1e2cf1cc",null);var aZ=a.i(242605);async function a$(a){return(0,n.F)("operator",async b=>{if(!(0,s.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,aP.C)(aO.t.securityCheck,b.id);if(!c.allowed)return{ok:!1,error:`Too many security checks. Try again in ${(0,aO.H)(c.retryAfter)}.`};let d=await (0,aZ.d)(a);if(!d.ok)return{ok:!1,error:d.error};try{await (0,aS.f)({kind:d.passed?"ok":"err",...d.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,aL.refresh)(),{ok:!0,message:d.message,data:{passed:d.passed,vulnerable:d.vulnerable}}},{requireActionMember:o.g})}(0,t.ensureServerEntryExports)([a$]),(0,l.registerServerReference)(a$,"4067455815a51bb84a1bc3cbff62bbb43a47d63bd3",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"4000a136232ff0b95fae534047aea14bcc55c1eb57",0,ar,"400175f96c361c59cb232cd1f6eabb803dcdd01732",()=>i.C,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"4022aa96f291bd9cf8e17afacf06f0cd91ed4df126",0,am,"4044bf5d2b0dea1e40c9f28802dfbac03cd80825e2",0,an,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"4067455815a51bb84a1bc3cbff62bbb43a47d63bd3",0,a$,"4071fce6bee49c92d3d566cbcb0e2a0c6bff81185e",()=>j.n,"4083e6c9507c7be66b52f48e5b57ca2803a48d2236",()=>k.f,"40859ba238f38bba5b4b90f7ac8d930d1a77b03af8",0,u,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40a1d301b642dc74d2f72e518b9e868f0e1e2cf1cc",0,aY,"40b26ec7429eb4e9a827998988c8a5218cab976fa2",()=>v.f,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40c2d257da90f3c258dddd28c80f47d488695566a3",0,aK,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"40ed658ee670ff09deee971818162656a559a2a964",()=>h.f,"60515e1bdb1f6b213b0fc55a9702b436d7ee442857",()=>i.L,"6074319bb2f4cec6f99492452eb563ddb987bea83a",()=>j.j,"6074528fb19f59dce6d04c73751e459a8603ed09b7",0,aX,"607468008a7fe351958d8d2cb1b714bb4d7fd6c003",()=>j.t,"6096cafb0ba00a27afa0a24bf2152662ec73674469",()=>j.d,"60a8e90d726873e1960102add3968f6d4b8e8182a8",()=>j.m,"60bc83884e217727fe9254fe46e90ffa0dc0c715a3",()=>j.y,"60da93022770a30030c5c08e1dad6d723ca6ad5e43",()=>j.r,"60e89da91ed5691fd8d0d52ded557df5ed7e37307f",()=>j.Y,"60ef8b7b0aa5730eb1b6b1b8a26db4a89f6684db1f",0,aR,"60f6f1e670ecaccf7654b9d2fc3140207f9f2791da",()=>j.x],189563)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_apps_%5Bid%5D_page_actions_1myo_rodrlg3a.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[92810,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(629845),i=a.i(739518),j=a.i(429852);a.S([b,"
|
|
1
|
+
module.exports=[92810,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(629845),i=a.i(739518),j=a.i(429852);a.S([b,"00908e4a017a3eb1fa932c81866de507828f461d50,f",0,c,"00019977cc003ec0e864e93e49cf0bd8858654523b,f",0,d,"4016d3ce861458774b9b53d561910c66236b187559,B,405c14883b08fd6ec71898868cad7f8b9581740a3e,R",0,e,"003afbab64a57225b913df055d5d72e449d1e5dcc8,E,4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b,T,40c128fc4b268c78f7acd9047d78cd0175bff93568,G",0,f,"4050f8ca684811ba18b6f244eab2844c454d737da1,G,409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5,F,40e216785c0747805fe0ad3f9df87969d68a716704,m",0,g,"003af8e20edb88a8005b0d242ed031ab373ed81cb6,f",0,h,"0050a28052a20295116dac611f11f587a8fcd042df,f",0,i,"60515e1bdb1f6b213b0fc55a9702b436d7ee442857,L",0,j,"4071fce6bee49c92d3d566cbcb0e2a0c6bff81185e,n"],92810)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_apps_page_actions_0ksau5eicvycc.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[281369,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(459296),i=a.i(446601),j=a.i(137936),k=a.i(118558),l=a.i(600079),m=a.i(109307),n=a.i(944571),o=a.i(683439),p=a.i(312573),q=a.i(323878),r=a.i(713095);let s={requireActionMember:m.g};async function t(a){return(0,l.F)("owner",async b=>{if("string"!=typeof a||!(0,o.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,q.C)(p.t.sync,b.id);if(!c.allowed)return{ok:!1,error:`Too many syncs. Try again in ${(0,p.H)(c.retryAfter)}.`};let d=await (0,n.r)(a,Date.now()+2e4);if((0,k.revalidatePath)("/connections"),(0,k.revalidatePath)("/apps","layout"),!d.ok)return{ok:!1,error:d.error};let e=d.newLinks?` \xb7 ${d.newLinks} app${1===d.newLinks?"":"s"} linked from Vercel`:"";return{ok:!0,message:[`Found ${d.repos} repositor${1===d.repos?"y":"ies"}${e}.`,...d.notes].join(" ")}},s)}(0,r.ensureServerEntryExports)([t]),(0,j.registerServerReference)(t,"
|
|
1
|
+
module.exports=[281369,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(459296),i=a.i(446601),j=a.i(137936),k=a.i(118558),l=a.i(600079),m=a.i(109307),n=a.i(944571),o=a.i(683439),p=a.i(312573),q=a.i(323878),r=a.i(713095);let s={requireActionMember:m.g};async function t(a){return(0,l.F)("owner",async b=>{if("string"!=typeof a||!(0,o.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,q.C)(p.t.sync,b.id);if(!c.allowed)return{ok:!1,error:`Too many syncs. Try again in ${(0,p.H)(c.retryAfter)}.`};let d=await (0,n.r)(a,Date.now()+2e4);if((0,k.revalidatePath)("/connections"),(0,k.revalidatePath)("/apps","layout"),!d.ok)return{ok:!1,error:d.error};let e=d.newLinks?` \xb7 ${d.newLinks} app${1===d.newLinks?"":"s"} linked from Vercel`:"";return{ok:!0,message:[`Found ${d.repos} repositor${1===d.repos?"y":"ies"}${e}.`,...d.notes].join(" ")}},s)}(0,r.ensureServerEntryExports)([t]),(0,j.registerServerReference)(t,"40d5a2a1214281cd73907ad198c154fc8d301878f6",null);var u=a.i(908122);a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"0045c56d92568eedf06fb4da00c9798e2e8ae890de",()=>h.A,"0055ddaf62f40fa3044a23e6e17b0d4479db5fa164",()=>h.p,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"00b91aaa7bc652f2136f94ad872bc9c8d61cca61fa",()=>h.C,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"40738a46eba86d0e74e71ea3f8a36576fe924b1531",()=>u.E,"407f023788e558fc10b6aac216f65da67391a92346",()=>i.H,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40d5a2a1214281cd73907ad198c154fc8d301878f6",0,t,"40dbb298ddf3309eb77fac6e43c8c8d2910b67f567",()=>i.f,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"602ba8c94e1dd96e855e5ea6994b69f832c8ab0385",()=>i.K,"60cf3908ed994df7fb02148bdbdf20653d9e8ae8bc",()=>i.$,"70c12c81152147f3dd4dda167e34045b4c401e4a8c",()=>i.s,"70f4b0651ad669612a5bb65d57e64042b90fd73f8f",()=>u.h],281369)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_connections_page_actions_1fgolmmpxrouc.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[914512,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(600079),j=a.i(109307),k=a.i(727444),l=a.i(956924),m=a.i(19893),n=a.i(75105),o=a.i(713095);let p=new Set(["start","stop","restart"]);async function q(){return(0,i.F)("operator",async()=>{let a=await (0,k.M)();return a.ok?{ok:!0,data:a.data}:{ok:!1,error:a.error}},{requireActionMember:j.g},async()=>({ok:!0,data:{containers:l.v}}))}async function r(a){return(0,i.F)("operator",async()=>{if(!(0,m.q)(a))return{ok:!1,error:n.w};let b=await (0,k.p)(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:j.g},async()=>(0,m.q)(a)?{ok:!0,data:l.R}:{ok:!1,error:n.w})}async function s(a,b,c){return(0,i.F)("owner",async d=>{if(!(0,m.q)(a)||!p.has(b)||"string"!=typeof c||c.length>128)return{ok:!1,error:n.w};let e=await (0,k.s)(d,a,b,c);return e.ok?{ok:!0,message:e.message}:{ok:!1,error:e.error}},{requireActionMember:j.g},async()=>({ok:!1,error:"Container actions are off in the demo."}))}(0,o.ensureServerEntryExports)([q,r,s]),(0,h.registerServerReference)(q,"
|
|
1
|
+
module.exports=[914512,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(600079),j=a.i(109307),k=a.i(727444),l=a.i(956924),m=a.i(19893),n=a.i(75105),o=a.i(713095);let p=new Set(["start","stop","restart"]);async function q(){return(0,i.F)("operator",async()=>{let a=await (0,k.M)();return a.ok?{ok:!0,data:a.data}:{ok:!1,error:a.error}},{requireActionMember:j.g},async()=>({ok:!0,data:{containers:l.v}}))}async function r(a){return(0,i.F)("operator",async()=>{if(!(0,m.q)(a))return{ok:!1,error:n.w};let b=await (0,k.p)(a);return b.ok?{ok:!0,data:b.data}:{ok:!1,error:b.error}},{requireActionMember:j.g},async()=>(0,m.q)(a)?{ok:!0,data:l.R}:{ok:!1,error:n.w})}async function s(a,b,c){return(0,i.F)("owner",async d=>{if(!(0,m.q)(a)||!p.has(b)||"string"!=typeof c||c.length>128)return{ok:!1,error:n.w};let e=await (0,k.s)(d,a,b,c);return e.ok?{ok:!0,message:e.message}:{ok:!1,error:e.error}},{requireActionMember:j.g},async()=>({ok:!1,error:"Container actions are off in the demo."}))}(0,o.ensureServerEntryExports)([q,r,s]),(0,h.registerServerReference)(q,"0098639ceee84b0f35b6db3e3afcc10e192022be87",null),(0,h.registerServerReference)(r,"405096b1c94aefc9c7104bd90646f3eab1f8567502",null),(0,h.registerServerReference)(s,"70cad29a3c24f34335dd3586d34b1b70254842f916",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"0098639ceee84b0f35b6db3e3afcc10e192022be87",0,q,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"405096b1c94aefc9c7104bd90646f3eab1f8567502",0,r,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"70cad29a3c24f34335dd3586d34b1b70254842f916",0,s],914512)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_containers_page_actions_1ainjsbrnl360.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[752601,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(686779),i=a.i(198398);a.S([b,"
|
|
1
|
+
module.exports=[752601,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(686779),i=a.i(198398);a.S([b,"00908e4a017a3eb1fa932c81866de507828f461d50,f",0,c,"00019977cc003ec0e864e93e49cf0bd8858654523b,f",0,d,"4016d3ce861458774b9b53d561910c66236b187559,B,405c14883b08fd6ec71898868cad7f8b9581740a3e,R",0,e,"003afbab64a57225b913df055d5d72e449d1e5dcc8,E,4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b,T,40c128fc4b268c78f7acd9047d78cd0175bff93568,G",0,f,"4050f8ca684811ba18b6f244eab2844c454d737da1,G,409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5,F,40e216785c0747805fe0ad3f9df87969d68a716704,m",0,g,"003af8e20edb88a8005b0d242ed031ab373ed81cb6,f",0,h,"784c3cc4c5433acd48fa60e8393a32b1d25641e670,f",0,i,"0018a2cf5d00e485ab50dd901ab6c6e5cef6e16aac,Y,002e2eeb0a84a86bfb694ef5674746db1a3aae0809,F,40c52b4481618e6a3c1343c410241acb723d47c8e3,d,6037e278d0c2c163430fb68b3189f572060847f5fa,g,60d08ce89affdf3e13dbc3aa82cd7b6ab3bfe4bccd,p,703116ca5decce61ae9599ca72881ddbcdb6b6382c,q"],752601)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_dns_page_actions_17d_lvhl-u_4w.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[761757,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(686779),i=a.i(137936),j=a.i(118558),k=a.i(600079),l=a.i(109307),m=a.i(678831),n=a.i(45617),o=a.i(221084),p=a.i(30184),q=a.i(683439),r=a.i(312573),s=a.i(323878);async function t(a){return(0,k.F)("operator",async b=>{if(!(0,q.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,s.C)(r.t.domainCheck,b.id);if(!c.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,r.H)(c.retryAfter)}.`};let d=await (0,p._)(a);if(!d.ok)return d;(0,j.refresh)(),(0,m.J)([n.m.domains,n.m.zones]);try{await (0,o.f)({kind:"ok",...d.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return{ok:!0,message:d.message}},{requireActionMember:l.g})}(0,a.i(713095).ensureServerEntryExports)([t]),(0,i.registerServerReference)(t,"
|
|
1
|
+
module.exports=[761757,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(686779),i=a.i(137936),j=a.i(118558),k=a.i(600079),l=a.i(109307),m=a.i(678831),n=a.i(45617),o=a.i(221084),p=a.i(30184),q=a.i(683439),r=a.i(312573),s=a.i(323878);async function t(a){return(0,k.F)("operator",async b=>{if(!(0,q.f)(a))return{ok:!1,error:"Something in that request wasn't valid."};let c=await (0,s.C)(r.t.domainCheck,b.id);if(!c.allowed)return{ok:!1,error:`Too many checks. Try again in ${(0,r.H)(c.retryAfter)}.`};let d=await (0,p._)(a);if(!d.ok)return d;(0,j.refresh)(),(0,m.J)([n.m.domains,n.m.zones]);try{await (0,o.f)({kind:"ok",...d.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return{ok:!0,message:d.message}},{requireActionMember:l.g})}(0,a.i(713095).ensureServerEntryExports)([t]),(0,i.registerServerReference)(t,"401fa42d93f55eb67d217ec1bcee3b01f7352e14f8",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"401fa42d93f55eb67d217ec1bcee3b01f7352e14f8",0,t,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"784c3cc4c5433acd48fa60e8393a32b1d25641e670",()=>h.f],761757)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_domains_page_actions_1yv3fj_fh-n-5.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[843871,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(198398),i=a.i(137936),j=a.i(118558),k=a.i(600079),l=a.i(109307),m=a.i(443002),n=a.i(396667),o=a.i(683439),p=a.i(75105),q=a.i(312573),r=a.i(323878),s=a.i(713095);let t={requireActionMember:l.g};async function u(a){return(0,k.F)("operator",async()=>{if(!(0,o.f)(a))return{ok:!1,error:p.w};if((await (0,n.I)()).has("database"))return{ok:!1,error:"Database is turned off (Manage › Sections)."};let b=await (0,r.C)(q.t.actionTarget,`health-check:${a}`);if(!b.allowed)return{ok:!1,error:(0,p.z)("target",b.retryAfter)};let c=await (0,m.N)(a);return c.ok?((0,j.refresh)(),"ok"===c.state?{ok:!0,message:c.label}:{ok:!1,error:c.label}):{ok:!1,error:c.error}},t)}(0,s.ensureServerEntryExports)([u]),(0,i.registerServerReference)(u,"
|
|
1
|
+
module.exports=[843871,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(198398),i=a.i(137936),j=a.i(118558),k=a.i(600079),l=a.i(109307),m=a.i(443002),n=a.i(396667),o=a.i(683439),p=a.i(75105),q=a.i(312573),r=a.i(323878),s=a.i(713095);let t={requireActionMember:l.g};async function u(a){return(0,k.F)("operator",async()=>{if(!(0,o.f)(a))return{ok:!1,error:p.w};if((await (0,n.I)()).has("database"))return{ok:!1,error:"Database is turned off (Manage › Sections)."};let b=await (0,r.C)(q.t.actionTarget,`health-check:${a}`);if(!b.allowed)return{ok:!1,error:(0,p.z)("target",b.retryAfter)};let c=await (0,m.N)(a);return c.ok?((0,j.refresh)(),"ok"===c.state?{ok:!0,message:c.label}:{ok:!1,error:c.label}):{ok:!1,error:c.error}},t)}(0,s.ensureServerEntryExports)([u]),(0,i.registerServerReference)(u,"40d162e3655f00cb834f61ffb0e42c8715551bcf6f",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"0018a2cf5d00e485ab50dd901ab6c6e5cef6e16aac",()=>h.Y,"002e2eeb0a84a86bfb694ef5674746db1a3aae0809",()=>h.F,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40c52b4481618e6a3c1343c410241acb723d47c8e3",()=>h.d,"40d162e3655f00cb834f61ffb0e42c8715551bcf6f",0,u,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"6037e278d0c2c163430fb68b3189f572060847f5fa",()=>h.g,"60d08ce89affdf3e13dbc3aa82cd7b6ab3bfe4bccd",()=>h.p,"703116ca5decce61ae9599ca72881ddbcdb6b6382c",()=>h.q],843871)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_firebase_page_actions_00wuues_v_j3r.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[491949,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(128120);a.S([b,"
|
|
1
|
+
module.exports=[491949,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(128120);a.S([b,"00908e4a017a3eb1fa932c81866de507828f461d50,f",0,c,"00019977cc003ec0e864e93e49cf0bd8858654523b,f",0,d,"4016d3ce861458774b9b53d561910c66236b187559,B,405c14883b08fd6ec71898868cad7f8b9581740a3e,R",0,e,"003afbab64a57225b913df055d5d72e449d1e5dcc8,E,4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b,T,40c128fc4b268c78f7acd9047d78cd0175bff93568,G",0,f,"4050f8ca684811ba18b6f244eab2844c454d737da1,G,409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5,F,40e216785c0747805fe0ad3f9df87969d68a716704,m",0,g,"003af8e20edb88a8005b0d242ed031ab373ed81cb6,f",0,h,"4083e6c9507c7be66b52f48e5b57ca2803a48d2236,f"],491949)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_logs_page_actions_0oqh51t2rx6q0.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[386996,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(600079),k=a.i(109307),l=a.i(221084),m=a.i(396667),n=a.i(186133),o=a.i(160147),p=a.i(713095);let q={requireActionMember:k.g};async function r(a,b){return(0,j.F)("owner",async c=>{if(!(0,o.f)(a))return{ok:!1,error:"Unknown section."};if(!o.r.includes(a))return{ok:!1,error:`${o.Z[a].label} is always on.`};let d=await (0,n.W)(),e=d.includes(a),f=o.Z[a].label;return!b===e?{ok:!0,message:"Nothing changed."}:(await (0,n.Y)(b?d.filter(b=>b!==a):[...d,a]),b&&await (0,m.e)(a,new Date).catch(()=>console.warn("sections: held notices not released")),await (0,l.f)({kind:"ok",message:`Sections: ${f} turned ${b?"on":"off"}`,resourceId:null,actorUserId:c.userId,detail:b?"Its sync, alerts and auto-actions run again.":"Hidden from the menu; its sync, alerts and auto-actions are paused. Its data is kept."}).catch(()=>console.warn("sections audit failed")),(0,i.revalidatePath)("/","layout"),{ok:!0,message:b?`${f} is on.`:`${f} is off. Its data is kept.`})},q,"local")}(0,p.ensureServerEntryExports)([r]),(0,h.registerServerReference)(r,"
|
|
1
|
+
module.exports=[386996,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(600079),k=a.i(109307),l=a.i(221084),m=a.i(396667),n=a.i(186133),o=a.i(160147),p=a.i(713095);let q={requireActionMember:k.g};async function r(a,b){return(0,j.F)("owner",async c=>{if(!(0,o.f)(a))return{ok:!1,error:"Unknown section."};if(!o.r.includes(a))return{ok:!1,error:`${o.Z[a].label} is always on.`};let d=await (0,n.W)(),e=d.includes(a),f=o.Z[a].label;return!b===e?{ok:!0,message:"Nothing changed."}:(await (0,n.Y)(b?d.filter(b=>b!==a):[...d,a]),b&&await (0,m.e)(a,new Date).catch(()=>console.warn("sections: held notices not released")),await (0,l.f)({kind:"ok",message:`Sections: ${f} turned ${b?"on":"off"}`,resourceId:null,actorUserId:c.userId,detail:b?"Its sync, alerts and auto-actions run again.":"Hidden from the menu; its sync, alerts and auto-actions are paused. Its data is kept."}).catch(()=>console.warn("sections audit failed")),(0,i.revalidatePath)("/","layout"),{ok:!0,message:b?`${f} is on.`:`${f} is off. Its data is kept.`})},q,"local")}(0,p.ensureServerEntryExports)([r]),(0,h.registerServerReference)(r,"605825c95728bb5513b794c0bd6cec76fcc371bfdb",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"605825c95728bb5513b794c0bd6cec76fcc371bfdb",0,r],386996)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_manage_sections_page_actions_1sb2ldu57uj32.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[888919,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(600079),k=a.i(109307),l=a.i(221084),m=a.i(976937),n=a.i(972123),o=a.i(713095);async function p(a){return(0,j.F)("owner",async b=>{let c="string"==typeof a?a.trim():"";if(c&&!(0,n.g)(c))return{ok:!1,error:"Write it as owner/name, for example yourname/watchbell-actions."};await (0,m.y)(c||null);try{await (0,l.f)({kind:"ok",message:c?`Lockfile via GitHub Actions: ${c}`:"Lockfile via GitHub Actions turned off",resourceId:null,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,i.refresh)(),{ok:!0,message:c?"Saved. New update PRs send their lockfile job to this repository.":"Turned off."}},{requireActionMember:k.g})}(0,o.ensureServerEntryExports)([p]),(0,h.registerServerReference)(p,"40c5f8349eb74cc92dc024b2e254837e8876b31a6b",null);var q=a.i(93321),r=a.i(258261),s=a.i(351674),t=a.i(548734),u=a.i(837137),v=a.i(186133),w=a.i(19809),x=a.i(492665),y=a.i(473483),z=a.i(267767),A=a.i(371289),B=a.i(221246),C=a.i(711251),D=a.i(532971),E=a.i(245618),F=a.i(245710);let G={requireActionMember:k.g};async function H(a,b,c){await (0,l.f)({kind:"ok",message:b,resourceId:null,actorUserId:a,...c?{detail:c.slice(0,500)}:{}}).catch(()=>console.warn("settings audit failed"))}async function I(a){await a.execute(s.B`select pg_advisory_xact_lock(${z.v})`)}async function J(a){let[{n:b}]=await a.select({n:(0,r.H)()}).from(u.members).where((0,q.u)(u.members.role,"owner"));return b}async function K(a,b){return(0,j.F)("owner",async a=>{let c;if((0,A.W)())return{ok:!1,error:w.Y};if("selfhost"===(0,A.c)())return{ok:!1,error:"Use Add member on this console."};let d=(await (0,t.f)().select({e:u.members.email}).from(u.members)).map(a=>a.e),e=(await (0,t.f)().select({e:u.invites.email}).from(u.invites).where((0,q.M)(u.invites.acceptedAt))).map(a=>a.e),f=(0,z.e)({email:String(b.get("email")??""),role:String(b.get("role")??"")},{memberEmails:d,openInviteEmails:e});if(!f.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:f.fieldErrors};let{error:g}=await (c=(0,x.f)(),(0,E.f)(c.NEXT_PUBLIC_SUPABASE_URL,c.SUPABASE_SECRET_KEY,{auth:{persistSession:!1,autoRefreshToken:!1}})).auth.admin.createUser({email:f.email,email_confirm:!0});return g&&"exists"!==(0,z.w)(g)?{ok:!1,error:"Supabase couldn't create the login for this invite. Try again."}:(await (0,t.f)().insert(u.invites).values({email:f.email,role:f.role,invitedBy:a.id,expiresAt:new Date(Date.now()+864e5*z.H)}),await H(a.userId,`Invited ${f.email} as ${f.role}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:(0,z.C)(f.email,(0,x.f)().SITE_URL)})},G)}async function L(a,b){return(0,j.F)("owner",async a=>{if((0,A.W)())return{ok:!1,error:w.Y};if("selfhost"!==(0,A.c)())return{ok:!1,error:"Use Invite user on this console."};let c=(await (0,t.f)().select({e:u.members.email}).from(u.members)).map(a=>a.e),d=(await (0,t.f)().select({e:u.localUsers.email}).from(u.localUsers)).map(a=>a.e),e=(0,z.e)({email:String(b.get("email")??""),role:String(b.get("role")??"")},{memberEmails:[...c,...d],openInviteEmails:[]});if(!e.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:e.fieldErrors};let f=(0,y.M)(),g=await (0,y.Z)(f);try{await (0,t.f)().transaction(async b=>{let[c]=await b.insert(u.localUsers).values({email:e.email,passwordHash:g,mustChangePassword:!0,tempPasswordExpiresAt:(0,y._)()}).returning({id:u.localUsers.id});await b.insert(u.members).values({userId:c.id,email:e.email,role:e.role,invitedBy:a.id})})}catch(a){if((a?.code??a?.cause?.code)==="23505")return{ok:!1,error:"Check the highlighted fields.",fieldErrors:{email:"That person is already a member."}};throw a}return await H(a.userId,`Added ${e.email} as ${e.role}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e.email} was added.`,data:{email:e.email,password:f}}},G)}async function M(a,b){return(0,j.F)("owner",async c=>{if(!B.r.includes(b))return{ok:!1,error:"Pick a role."};let d=await (0,t.f)().transaction(async c=>{await I(c);let[d]=await c.select().from(u.members).where((0,q.u)(u.members.id,a)).limit(1);if(!d)return{ok:!1,error:"That member no longer exists."};let e=(0,z.n)(d,b,await J(c));return e?{ok:!1,error:e}:(await c.update(u.members).set({role:b,updatedAt:new Date}).where((0,q.u)(u.members.id,a)),{ok:!0,data:{email:d.email,from:d.role}})});return d.ok?(await H(c.userId,`Role changed: ${d.data?.email} ${d.data?.from} → ${b}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${d.data?.email} is now ${"owner"===b?"an Owner":"operator"===b?"an Operator":"a Viewer"}.`}):{ok:!1,error:d.error}},G)}async function N(a){return(0,j.F)("owner",async b=>{let c="selfhost"===(0,A.c)(),d=await (0,t.f)().transaction(async d=>{await I(d);let[e]=await d.select().from(u.members).where((0,q.u)(u.members.id,a)).limit(1);if(!e)return{ok:!1,error:"That member no longer exists."};let f=(0,z.D)(e,b,await J(d));return f?{ok:!1,error:f}:(await d.delete(u.members).where((0,q.u)(u.members.id,a)),c&&await d.delete(u.localUsers).where((0,q.u)(u.localUsers.id,e.userId)),{ok:!0,data:{email:e.email}})});if(!d.ok||!d.data)return{ok:!1,error:d.ok?"That didn't go through, and Watchbell couldn't tell why. Try again in a moment; if it keeps failing, the server log has the details.":d.error};let{email:e}=d.data;return c?(await H(b.userId,`Removed ${e} from the console and deleted their account`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e} can't use the console anymore. Their account and sessions are deleted.`}):(await H(b.userId,`Removed ${e} from the console`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e} can't use the console anymore. Their Supabase login is left alone; delete it in Supabase → Authentication if you want.`})},G)}async function O(a){return(0,j.F)("owner",async b=>{let c=await (0,t.f)().delete(u.invites).where((0,q.b)((0,q.u)(u.invites.id,a),(0,q.M)(u.invites.acceptedAt))).returning({email:u.invites.email});return((0,i.revalidatePath)("/settings"),c.length)?(await H(b.userId,`Invite withdrawn: ${c[0].email}`),{ok:!0,message:`Invite for ${c[0].email} withdrawn.`}):{ok:!1,error:"That invite is already used or gone."}},G)}async function P(a){return(0,j.F)("owner",async b=>{let c=(0,D.K)(a);if(!c.ok)return{ok:!1,error:c.error,fieldErrors:c.fieldErrors};let d=await (0,v.J)(),e=(0,D.b)(d,c.value);return e?(await (0,v.A)(c.value),await H(b.userId,"Settings: retention changed",e),(0,i.revalidatePath)("/settings"),{ok:!0,message:`Retention saved. The daily job uses it from its next run (${(0,F.G)()}).`}):{ok:!0,message:"Nothing changed."}},G,"local")}async function Q(a){return(0,j.F)("owner",async b=>{let c=(0,C.R)(a);if(!c.ok)return{ok:!1,error:c.error,fieldErrors:c.fieldErrors};let d=await (0,v.j)(),e=(0,C.S)(d,c.value);return e?(await (0,v.x)(c.value),await H(b.userId,"Settings: free tier limits changed",e),(0,i.revalidatePath)("/settings"),{ok:!0,message:"Free tier limits saved."}):{ok:!0,message:"Nothing changed."}},G,"local")}async function R(){return(0,j.F)("owner",async a=>{let b=await (0,v.j)(),c=(0,C.S)(b,C.o);return c?(await (0,v.x)(C.o),await H(a.userId,"Settings: free tier limits reset",c),(0,i.revalidatePath)("/settings"),{ok:!0,message:"Free tier limits reset to the published defaults."}):{ok:!0,message:"The limits are already the published defaults."}},G,"local")}(0,o.ensureServerEntryExports)([K,L,M,N,O,P,Q,R]),(0,h.registerServerReference)(K,"603eee60954ce6d4dea02c0ca85802b4e2b39789d6",null),(0,h.registerServerReference)(L,"6077adc7f4580b8301626b6d59c34ad8dd9931dd38",null),(0,h.registerServerReference)(M,"6050d031c93f85975b82703c4b6eda3670cce2a83b",null),(0,h.registerServerReference)(N,"40c050bbf1fba94c315b6f0d38bcd6067bead0d289",null),(0,h.registerServerReference)(O,"4046546a6b5e775de54ebbdc0be2b5fa15db2a3d75",null),(0,h.registerServerReference)(P,"40cd23e240c5a4d8147165aaccc4f1bec68103aec8",null),(0,h.registerServerReference)(Q,"40c316bd1e1d2f9b632acc27c10eb8c7ff1b2129d1",null),(0,h.registerServerReference)(R,"006a7182d079bb38072c62af939b9f46a404039396",null);var S=a.i(149396),T=a.i(470253),U=a.i(312573),V=a.i(323878);let W={requireActionMember:k.g};async function X(a){return(0,j.F)("owner",async b=>{if(!a||"object"!=typeof a)return{ok:!1,error:"Something in that request wasn't valid."};let c=(0,T.M)(a);if(!c.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:c.fieldErrors};let d=await (0,V.C)(U.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,U.H)(d.retryAfter)}.`};let e=await (0,S.i)(c.value);if(!e.ok)return{ok:!1,error:e.error};try{await (0,l.f)({kind:"ok",...e.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,i.revalidatePath)(`/s/${c.value.slug}`),e.oldSlug&&(0,i.revalidatePath)(`/s/${e.oldSlug}`),(0,i.refresh)(),{ok:!0,message:e.message}},W,"local")}(0,o.ensureServerEntryExports)([X]),(0,h.registerServerReference)(X,"4004beb3a0a753dee9e81c7a1e2032a96656281dbf",null),a.s(["0036f299b84702137d0e1804d2180086625225dfa3",()=>e.E,"0044f25e033351520c508c000dd193d3fac544db13",()=>g.f,"006a7182d079bb38072c62af939b9f46a404039396",0,R,"008b6dbed199d0deb40e431c4e4f3d7746a8c4835f",()=>b.f,"00cdf27638ef84151abef7867f4992c441c8a9dc0b",()=>c.f,"4004beb3a0a753dee9e81c7a1e2032a96656281dbf",0,X,"4022d2901d63f206a8bd1d2ab60a96d5cd16dd97b6",()=>d.R,"4035940c10c8b13b54c2e286ddbf2cb45f4a8383e9",()=>d.B,"4046546a6b5e775de54ebbdc0be2b5fa15db2a3d75",0,O,"409915cee1f50c660878fea67a05e33d5f1726cdfa",()=>f.F,"40a2b7910bf5613049d5fe66e9f1f92cf38a0c3bba",()=>e.G,"40a6c18a41155fbbf266df357786ef200b826ada93",()=>f.G,"40aeebbb6a147a0a03105323f1aa07f834b2ba81ab",()=>e.T,"40c050bbf1fba94c315b6f0d38bcd6067bead0d289",0,N,"40c316bd1e1d2f9b632acc27c10eb8c7ff1b2129d1",0,Q,"40c5f8349eb74cc92dc024b2e254837e8876b31a6b",0,p,"40cd23e240c5a4d8147165aaccc4f1bec68103aec8",0,P,"40d41e8bd8f26c3b95b08307130717fa40ca6dffc0",()=>f.m,"603eee60954ce6d4dea02c0ca85802b4e2b39789d6",0,K,"6050d031c93f85975b82703c4b6eda3670cce2a83b",0,M,"6077adc7f4580b8301626b6d59c34ad8dd9931dd38",0,L],888919)}];
|
|
1
|
+
module.exports=[888919,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(137936),i=a.i(118558),j=a.i(600079),k=a.i(109307),l=a.i(221084),m=a.i(976937),n=a.i(972123),o=a.i(713095);async function p(a){return(0,j.F)("owner",async b=>{let c="string"==typeof a?a.trim():"";if(c&&!(0,n.g)(c))return{ok:!1,error:"Write it as owner/name, for example yourname/watchbell-actions."};await (0,m.y)(c||null);try{await (0,l.f)({kind:"ok",message:c?`Lockfile via GitHub Actions: ${c}`:"Lockfile via GitHub Actions turned off",resourceId:null,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,i.refresh)(),{ok:!0,message:c?"Saved. New update PRs send their lockfile job to this repository.":"Turned off."}},{requireActionMember:k.g})}(0,o.ensureServerEntryExports)([p]),(0,h.registerServerReference)(p,"40660b6f4e9806c23bcf6914fc945d4067cfcd277f",null);var q=a.i(93321),r=a.i(258261),s=a.i(351674),t=a.i(548734),u=a.i(837137),v=a.i(186133),w=a.i(19809),x=a.i(492665),y=a.i(473483),z=a.i(267767),A=a.i(371289),B=a.i(221246),C=a.i(711251),D=a.i(532971),E=a.i(245618),F=a.i(245710);let G={requireActionMember:k.g};async function H(a,b,c){await (0,l.f)({kind:"ok",message:b,resourceId:null,actorUserId:a,...c?{detail:c.slice(0,500)}:{}}).catch(()=>console.warn("settings audit failed"))}async function I(a){await a.execute(s.B`select pg_advisory_xact_lock(${z.v})`)}async function J(a){let[{n:b}]=await a.select({n:(0,r.H)()}).from(u.members).where((0,q.u)(u.members.role,"owner"));return b}async function K(a,b){return(0,j.F)("owner",async a=>{let c;if((0,A.W)())return{ok:!1,error:w.Y};if("selfhost"===(0,A.c)())return{ok:!1,error:"Use Add member on this console."};let d=(await (0,t.f)().select({e:u.members.email}).from(u.members)).map(a=>a.e),e=(await (0,t.f)().select({e:u.invites.email}).from(u.invites).where((0,q.M)(u.invites.acceptedAt))).map(a=>a.e),f=(0,z.e)({email:String(b.get("email")??""),role:String(b.get("role")??"")},{memberEmails:d,openInviteEmails:e});if(!f.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:f.fieldErrors};let{error:g}=await (c=(0,x.f)(),(0,E.f)(c.NEXT_PUBLIC_SUPABASE_URL,c.SUPABASE_SECRET_KEY,{auth:{persistSession:!1,autoRefreshToken:!1}})).auth.admin.createUser({email:f.email,email_confirm:!0});return g&&"exists"!==(0,z.w)(g)?{ok:!1,error:"Supabase couldn't create the login for this invite. Try again."}:(await (0,t.f)().insert(u.invites).values({email:f.email,role:f.role,invitedBy:a.id,expiresAt:new Date(Date.now()+864e5*z.H)}),await H(a.userId,`Invited ${f.email} as ${f.role}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:(0,z.C)(f.email,(0,x.f)().SITE_URL)})},G)}async function L(a,b){return(0,j.F)("owner",async a=>{if((0,A.W)())return{ok:!1,error:w.Y};if("selfhost"!==(0,A.c)())return{ok:!1,error:"Use Invite user on this console."};let c=(await (0,t.f)().select({e:u.members.email}).from(u.members)).map(a=>a.e),d=(await (0,t.f)().select({e:u.localUsers.email}).from(u.localUsers)).map(a=>a.e),e=(0,z.e)({email:String(b.get("email")??""),role:String(b.get("role")??"")},{memberEmails:[...c,...d],openInviteEmails:[]});if(!e.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:e.fieldErrors};let f=(0,y.M)(),g=await (0,y.Z)(f);try{await (0,t.f)().transaction(async b=>{let[c]=await b.insert(u.localUsers).values({email:e.email,passwordHash:g,mustChangePassword:!0,tempPasswordExpiresAt:(0,y._)()}).returning({id:u.localUsers.id});await b.insert(u.members).values({userId:c.id,email:e.email,role:e.role,invitedBy:a.id})})}catch(a){if((a?.code??a?.cause?.code)==="23505")return{ok:!1,error:"Check the highlighted fields.",fieldErrors:{email:"That person is already a member."}};throw a}return await H(a.userId,`Added ${e.email} as ${e.role}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e.email} was added.`,data:{email:e.email,password:f}}},G)}async function M(a,b){return(0,j.F)("owner",async c=>{if(!B.r.includes(b))return{ok:!1,error:"Pick a role."};let d=await (0,t.f)().transaction(async c=>{await I(c);let[d]=await c.select().from(u.members).where((0,q.u)(u.members.id,a)).limit(1);if(!d)return{ok:!1,error:"That member no longer exists."};let e=(0,z.n)(d,b,await J(c));return e?{ok:!1,error:e}:(await c.update(u.members).set({role:b,updatedAt:new Date}).where((0,q.u)(u.members.id,a)),{ok:!0,data:{email:d.email,from:d.role}})});return d.ok?(await H(c.userId,`Role changed: ${d.data?.email} ${d.data?.from} → ${b}`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${d.data?.email} is now ${"owner"===b?"an Owner":"operator"===b?"an Operator":"a Viewer"}.`}):{ok:!1,error:d.error}},G)}async function N(a){return(0,j.F)("owner",async b=>{let c="selfhost"===(0,A.c)(),d=await (0,t.f)().transaction(async d=>{await I(d);let[e]=await d.select().from(u.members).where((0,q.u)(u.members.id,a)).limit(1);if(!e)return{ok:!1,error:"That member no longer exists."};let f=(0,z.D)(e,b,await J(d));return f?{ok:!1,error:f}:(await d.delete(u.members).where((0,q.u)(u.members.id,a)),c&&await d.delete(u.localUsers).where((0,q.u)(u.localUsers.id,e.userId)),{ok:!0,data:{email:e.email}})});if(!d.ok||!d.data)return{ok:!1,error:d.ok?"That didn't go through, and Watchbell couldn't tell why. Try again in a moment; if it keeps failing, the server log has the details.":d.error};let{email:e}=d.data;return c?(await H(b.userId,`Removed ${e} from the console and deleted their account`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e} can't use the console anymore. Their account and sessions are deleted.`}):(await H(b.userId,`Removed ${e} from the console`),(0,i.revalidatePath)("/settings"),{ok:!0,message:`${e} can't use the console anymore. Their Supabase login is left alone; delete it in Supabase → Authentication if you want.`})},G)}async function O(a){return(0,j.F)("owner",async b=>{let c=await (0,t.f)().delete(u.invites).where((0,q.b)((0,q.u)(u.invites.id,a),(0,q.M)(u.invites.acceptedAt))).returning({email:u.invites.email});return((0,i.revalidatePath)("/settings"),c.length)?(await H(b.userId,`Invite withdrawn: ${c[0].email}`),{ok:!0,message:`Invite for ${c[0].email} withdrawn.`}):{ok:!1,error:"That invite is already used or gone."}},G)}async function P(a){return(0,j.F)("owner",async b=>{let c=(0,D.K)(a);if(!c.ok)return{ok:!1,error:c.error,fieldErrors:c.fieldErrors};let d=await (0,v.J)(),e=(0,D.b)(d,c.value);return e?(await (0,v.A)(c.value),await H(b.userId,"Settings: retention changed",e),(0,i.revalidatePath)("/settings"),{ok:!0,message:`Retention saved. The daily job uses it from its next run (${(0,F.G)()}).`}):{ok:!0,message:"Nothing changed."}},G,"local")}async function Q(a){return(0,j.F)("owner",async b=>{let c=(0,C.R)(a);if(!c.ok)return{ok:!1,error:c.error,fieldErrors:c.fieldErrors};let d=await (0,v.j)(),e=(0,C.S)(d,c.value);return e?(await (0,v.x)(c.value),await H(b.userId,"Settings: free tier limits changed",e),(0,i.revalidatePath)("/settings"),{ok:!0,message:"Free tier limits saved."}):{ok:!0,message:"Nothing changed."}},G,"local")}async function R(){return(0,j.F)("owner",async a=>{let b=await (0,v.j)(),c=(0,C.S)(b,C.o);return c?(await (0,v.x)(C.o),await H(a.userId,"Settings: free tier limits reset",c),(0,i.revalidatePath)("/settings"),{ok:!0,message:"Free tier limits reset to the published defaults."}):{ok:!0,message:"The limits are already the published defaults."}},G,"local")}(0,o.ensureServerEntryExports)([K,L,M,N,O,P,Q,R]),(0,h.registerServerReference)(K,"60194216e29d98f9b951cefecc8b1ccf3c9d43f737",null),(0,h.registerServerReference)(L,"60906eb3c120f6d6b9a75b642e8afcadf778594271",null),(0,h.registerServerReference)(M,"604e07f53520327c0f94626d9efed7438b71d066d6",null),(0,h.registerServerReference)(N,"40470ed16bf16270d86e8030aacce34c31b9f39a82",null),(0,h.registerServerReference)(O,"40ce7f6c5672a76989fc7ccbff46541d980dc05bbc",null),(0,h.registerServerReference)(P,"40d5b6227c8fa0b0f70d638b0549dddb68b9497ee8",null),(0,h.registerServerReference)(Q,"40f7351c10b4f8b50d1972441d8f178bdfd2c536ce",null),(0,h.registerServerReference)(R,"009aec1247f9f1a543e47b94a9d7f1f3b183c2ee3b",null);var S=a.i(149396),T=a.i(470253),U=a.i(312573),V=a.i(323878);let W={requireActionMember:k.g};async function X(a){return(0,j.F)("owner",async b=>{if(!a||"object"!=typeof a)return{ok:!1,error:"Something in that request wasn't valid."};let c=(0,T.M)(a);if(!c.ok)return{ok:!1,error:"Check the highlighted fields.",fieldErrors:c.fieldErrors};let d=await (0,V.C)(U.t.monitorWrite,b.id);if(!d.allowed)return{ok:!1,error:`Too many changes. Try again in ${(0,U.H)(d.retryAfter)}.`};let e=await (0,S.i)(c.value);if(!e.ok)return{ok:!1,error:e.error};try{await (0,l.f)({kind:"ok",...e.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,i.revalidatePath)(`/s/${c.value.slug}`),e.oldSlug&&(0,i.revalidatePath)(`/s/${e.oldSlug}`),(0,i.refresh)(),{ok:!0,message:e.message}},W,"local")}(0,o.ensureServerEntryExports)([X]),(0,h.registerServerReference)(X,"40368f5bf67aa3b5e509770ad2abe7df618205e848",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"009aec1247f9f1a543e47b94a9d7f1f3b183c2ee3b",0,R,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"40368f5bf67aa3b5e509770ad2abe7df618205e848",0,X,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"40470ed16bf16270d86e8030aacce34c31b9f39a82",0,N,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"40660b6f4e9806c23bcf6914fc945d4067cfcd277f",0,p,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40ce7f6c5672a76989fc7ccbff46541d980dc05bbc",0,O,"40d5b6227c8fa0b0f70d638b0549dddb68b9497ee8",0,P,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"40f7351c10b4f8b50d1972441d8f178bdfd2c536ce",0,Q,"60194216e29d98f9b951cefecc8b1ccf3c9d43f737",0,K,"604e07f53520327c0f94626d9efed7438b71d066d6",0,M,"60906eb3c120f6d6b9a75b642e8afcadf778594271",0,L],888919)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_settings_page_actions_12wgjpd0lbh12.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[422040,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(953685),i=a.i(719825),j=a.i(137936),k=a.i(118558),l=a.i(600079),m=a.i(109307),n=a.i(221084),o=a.i(367247),p=a.i(683439),q=a.i(75105),r=a.i(805925),s=a.i(312573),t=a.i(323878),u=a.i(713095);let v={requireActionMember:m.g},w="Paste a Secret API key: it starts with sb_secret_.";async function x(a,b){if(!a.ok)return{ok:!1,error:a.error};if(a.audit)try{await (0,n.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,k.refresh)(),{ok:!0,message:a.message}}async function y(a){let b=await (0,t.C)(s.t.monitorWrite,a.id);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,s.H)(b.retryAfter)}.`}}async function z(a,b,c){return(0,l.F)("owner",async d=>{if(!(0,p.f)(a)||!(0,r.K)(b)||"string"!=typeof c)return{ok:!1,error:q.w};let e=c.trim();if(!(0,r.h)(e))return{ok:!1,error:w,fieldErrors:{key:w}};let f=await y(d);return f||x(await (0,o.u)(a,b,e,d.userId),d)},v)}async function A(a){return(0,l.F)("owner",async b=>{if(!(0,p.f)(a))return{ok:!1,error:q.w};let c=await y(b);return c||x(await (0,o.L)(a),b)},v)}(0,u.ensureServerEntryExports)([z,A]),(0,j.registerServerReference)(z,"
|
|
1
|
+
module.exports=[422040,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(953685),i=a.i(719825),j=a.i(137936),k=a.i(118558),l=a.i(600079),m=a.i(109307),n=a.i(221084),o=a.i(367247),p=a.i(683439),q=a.i(75105),r=a.i(805925),s=a.i(312573),t=a.i(323878),u=a.i(713095);let v={requireActionMember:m.g},w="Paste a Secret API key: it starts with sb_secret_.";async function x(a,b){if(!a.ok)return{ok:!1,error:a.error};if(a.audit)try{await (0,n.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,k.refresh)(),{ok:!0,message:a.message}}async function y(a){let b=await (0,t.C)(s.t.monitorWrite,a.id);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,s.H)(b.retryAfter)}.`}}async function z(a,b,c){return(0,l.F)("owner",async d=>{if(!(0,p.f)(a)||!(0,r.K)(b)||"string"!=typeof c)return{ok:!1,error:q.w};let e=c.trim();if(!(0,r.h)(e))return{ok:!1,error:w,fieldErrors:{key:w}};let f=await y(d);return f||x(await (0,o.u)(a,b,e,d.userId),d)},v)}async function A(a){return(0,l.F)("owner",async b=>{if(!(0,p.f)(a))return{ok:!1,error:q.w};let c=await y(b);return c||x(await (0,o.L)(a),b)},v)}(0,u.ensureServerEntryExports)([z,A]),(0,j.registerServerReference)(z,"70d02c9056d89b336996fe9271138afafcc74b1893",null),(0,j.registerServerReference)(A,"40def7738c40670422cd332cfea4733acc59d9283e",null);var B=a.i(198398),C=a.i(560954),D=a.i(322145),E=a.i(248358),F=a.i(672319),G=a.i(112735);let H={requireActionMember:m.g},I=a=>"string"==typeof a&&/^[a-z0-9]{8,40}$/.test(a);async function J(a,b){return(0,l.F)("operator",async c=>(0,p.f)(a)&&I(b)?(0,E.Q)("pause",c,a,b):{ok:!1,error:q.w},H)}async function K(a,b){return(0,l.F)("operator",async c=>(0,p.f)(a)&&I(b)?(0,E.Q)("restore",c,a,b):{ok:!1,error:q.w},H)}async function L(a,b){return(0,l.F)("operator",async()=>{if(!(0,p.f)(a)||!I(b))return{ok:!1,error:q.w};let c=await (0,t.C)(s.t.actionTarget,`check-services:${a}`);if(!c.allowed)return{ok:!1,error:(0,q.z)("target",c.retryAfter)};let d=await (0,D.p)(a,"supabase_project");if(!d)return{ok:!1,error:E.u};if(d.resource.externalId!==b)return{ok:!1,error:q.G};let e=await (0,G.F)(d.token,d.resource.externalId);if(!e.ok)return{ok:!1,error:`Couldn't read the service health at Supabase: ${e.error}`};let f=(0,F.l)(e.data);return f.ok?{ok:!0,message:f.message}:{ok:!1,error:f.message}},H)}async function M(a,b){if(!a.ok)return{ok:!1,error:a.error};if(a.audit)try{await (0,n.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,k.refresh)(),{ok:!0,message:a.message}}function N(a,b,c){return(0,l.F)("owner",async d=>{if(!(0,p.f)(b)||"boolean"!=typeof c)return{ok:!1,error:q.w};let e=await (0,t.C)(s.t.monitorWrite,d.id);return e.allowed?M(await (0,C.r)(b,a,c,d.userId),d):{ok:!1,error:`Too many changes. Try again in ${(0,s.H)(e.retryAfter)}.`}},H,"local")}async function O(a,b){return N("keep",a,b)}async function P(a,b){return N("autoRestore",a,b)}(0,u.ensureServerEntryExports)([J,K,L,O,P]),(0,j.registerServerReference)(J,"60e38a519443104f38be2d7dc5d5e8c780f47cd682",null),(0,j.registerServerReference)(K,"60ff82607724d162497ebea7d3dd59ad768088c4b3",null),(0,j.registerServerReference)(L,"606da1a14269b06c11d31cc23ff80540bcf412850a",null),(0,j.registerServerReference)(O,"60b9742b1009ed5af0f83af7ec2af1c507fb262132",null),(0,j.registerServerReference)(P,"60c46098d83b76834ddc31d74f34163791ffe04c27",null),a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"0018a2cf5d00e485ab50dd901ab6c6e5cef6e16aac",()=>B.Y,"002e2eeb0a84a86bfb694ef5674746db1a3aae0809",()=>B.F,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"00b5cb81ad80d7ff41497d8369216088c980f0df70",()=>h.n,"00fc280a4ca8d5954eda59a7301fdb37c8f2bc0287",()=>h.w,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"406d5c382f7e6dc39cb9d897bae624ad2d0570e3d5",()=>i.o,"407d7e2cfab73dae9f7c397e7d83a489f221ced5fd",()=>i.M,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40c52b4481618e6a3c1343c410241acb723d47c8e3",()=>B.d,"40def7738c40670422cd332cfea4733acc59d9283e",0,A,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"40e9cf6395ddead9b2d36f52c71e4019712b2aebd0",()=>i.u,"6037e278d0c2c163430fb68b3189f572060847f5fa",()=>B.g,"606da1a14269b06c11d31cc23ff80540bcf412850a",0,L,"60b9742b1009ed5af0f83af7ec2af1c507fb262132",0,O,"60c46098d83b76834ddc31d74f34163791ffe04c27",0,P,"60d08ce89affdf3e13dbc3aa82cd7b6ab3bfe4bccd",()=>B.p,"60e38a519443104f38be2d7dc5d5e8c780f47cd682",0,J,"60ff82607724d162497ebea7d3dd59ad768088c4b3",0,K,"703116ca5decce61ae9599ca72881ddbcdb6b6382c",()=>B.q,"708b3acc8bbda8781bb3dbc8236b0d3afe318e56a7",()=>i.$,"70d02c9056d89b336996fe9271138afafcc74b1893",0,z],422040)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_supabase_page_actions_1f3a_tpkwjo8z.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[562435,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(629845),i=a.i(137936),j=a.i(118558),k=a.i(600079),l=a.i(109307),m=a.i(221084),n=a.i(714530),o=a.i(683439),p=a.i(519051),q=a.i(312573),r=a.i(323878),s=a.i(713095);let t={requireActionMember:l.g},u="Something in that request wasn't valid.";async function v(a,b){if(!a.ok)return{ok:!1,error:a.error};try{await (0,m.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,j.refresh)(),{ok:!0,message:a.message}}async function w(a){let b=await (0,r.C)(q.t.monitorWrite,a.id);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,q.H)(b.retryAfter)}.`}}function x(a){if(!a||"object"!=typeof a)return null;let b=(0,p.a)(a);return b.ok&&(0,p.K)(b.value,new Date)?{ok:!1,fieldErrors:{start:p.X}}:b}async function y(a){return(0,k.F)("operator",async b=>{let c=x(a);return c?c.ok?await w(b)??await v(await (0,n.x)(c.value,b.userId),b):{ok:!1,error:"Check the highlighted fields.",fieldErrors:c.fieldErrors}:{ok:!1,error:u}},t,"local")}async function z(a,b){return(0,k.F)("operator",async c=>{let d=x(b);return(0,o.f)(a)&&d?d.ok?await w(c)??await v(await (0,n.u)(a,d.value),c):{ok:!1,error:"Check the highlighted fields.",fieldErrors:d.fieldErrors}:{ok:!1,error:u}},t,"local")}async function A(a){return(0,k.F)("operator",async b=>(0,o.f)(a)?await w(b)??await v(await (0,n.f)(a),b):{ok:!1,error:u},t,"local")}(0,s.ensureServerEntryExports)([y,z,A]),(0,i.registerServerReference)(y,"
|
|
1
|
+
module.exports=[562435,a=>{"use strict";var b=a.i(903769),c=a.i(760937),d=a.i(861600),e=a.i(294965),f=a.i(598513),g=a.i(929941),h=a.i(629845),i=a.i(137936),j=a.i(118558),k=a.i(600079),l=a.i(109307),m=a.i(221084),n=a.i(714530),o=a.i(683439),p=a.i(519051),q=a.i(312573),r=a.i(323878),s=a.i(713095);let t={requireActionMember:l.g},u="Something in that request wasn't valid.";async function v(a,b){if(!a.ok)return{ok:!1,error:a.error};try{await (0,m.f)({kind:"ok",...a.audit,actorUserId:b.userId})}catch{console.warn("audit event failed")}return(0,j.refresh)(),{ok:!0,message:a.message}}async function w(a){let b=await (0,r.C)(q.t.monitorWrite,a.id);return b.allowed?null:{ok:!1,error:`Too many changes. Try again in ${(0,q.H)(b.retryAfter)}.`}}function x(a){if(!a||"object"!=typeof a)return null;let b=(0,p.a)(a);return b.ok&&(0,p.K)(b.value,new Date)?{ok:!1,fieldErrors:{start:p.X}}:b}async function y(a){return(0,k.F)("operator",async b=>{let c=x(a);return c?c.ok?await w(b)??await v(await (0,n.x)(c.value,b.userId),b):{ok:!1,error:"Check the highlighted fields.",fieldErrors:c.fieldErrors}:{ok:!1,error:u}},t,"local")}async function z(a,b){return(0,k.F)("operator",async c=>{let d=x(b);return(0,o.f)(a)&&d?d.ok?await w(c)??await v(await (0,n.u)(a,d.value),c):{ok:!1,error:"Check the highlighted fields.",fieldErrors:d.fieldErrors}:{ok:!1,error:u}},t,"local")}async function A(a){return(0,k.F)("operator",async b=>(0,o.f)(a)?await w(b)??await v(await (0,n.f)(a),b):{ok:!1,error:u},t,"local")}(0,s.ensureServerEntryExports)([y,z,A]),(0,i.registerServerReference)(y,"4008a430d1d1fd71fbebd86bc21eb159fab2a2d49c",null),(0,i.registerServerReference)(z,"609ef0fb3fca560a93fd95bab3c06d85bbbd17e9d1",null),(0,i.registerServerReference)(A,"402b2e06b64a6a6ea5d00eda17123686e0589cb338",null);var B=a.i(739518);a.s(["00019977cc003ec0e864e93e49cf0bd8858654523b",()=>c.f,"003af8e20edb88a8005b0d242ed031ab373ed81cb6",()=>g.f,"003afbab64a57225b913df055d5d72e449d1e5dcc8",()=>e.E,"0050a28052a20295116dac611f11f587a8fcd042df",()=>h.f,"00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"400175f96c361c59cb232cd1f6eabb803dcdd01732",()=>B.C,"4008a430d1d1fd71fbebd86bc21eb159fab2a2d49c",0,y,"4016d3ce861458774b9b53d561910c66236b187559",()=>d.B,"402b2e06b64a6a6ea5d00eda17123686e0589cb338",0,A,"4045ab0f6392cfd7a6daf21944e8bfe84e3ffee07b",()=>e.T,"4050f8ca684811ba18b6f244eab2844c454d737da1",()=>f.G,"405c14883b08fd6ec71898868cad7f8b9581740a3e",()=>d.R,"40655b250e533a0fb33300204f2384bd6916214447",()=>B.w,"408bbb4a197d6b521f2efb2eea28a5ad0964058521",()=>B.l,"409f6a210626dfe6ee3783c4b081fb30b2a4eb01f5",()=>f.F,"40c128fc4b268c78f7acd9047d78cd0175bff93568",()=>e.G,"40e216785c0747805fe0ad3f9df87969d68a716704",()=>f.m,"40fdc28d5a926ecba456cf86e02e3fc59d83bf73f2",()=>B.x,"6007e9616fcb4f95dfc2634c51020080adf00ffcf1",()=>B.I,"601260bade816c27865e0047c29bd2d538a62ffdc9",()=>B.B,"602335f04b4ca44e6d44414fc0b21fc7c2506ded76",()=>B.V,"6089ee97cd3c193e08ddd452bfea2e6f3a1c510dd2",()=>B.H,"608ab3e710be9abd7d59af92f7028398c00652dde6",()=>B.Y,"609ef0fb3fca560a93fd95bab3c06d85bbbd17e9d1",0,z,"60ff7c7566b39f1993eb8e3ec3c60fe29641bd18ca",()=>B.W],562435)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_%28console%29_uptime_page_actions_1ylbdz0-ykfh6.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[415580,a=>{"use strict";var b=a.i(903769),c=a.i(137936),d=a.i(905246);a.i(570396);var e=a.i(673727),f=a.i(109307),g=a.i(93321),h=a.i(548734),i=a.i(837137),j=a.i(312573),k=a.i(323878),l=a.i(473483),m=a.i(490021);class n extends Error{}let o=a=>({status:"error",message:`Too many wrong passwords. Try again in ${(0,j.H)(a)}.`,field:"current"});async function p(a){let b=await (0,m.S)(a.token);if(!b)return{status:"signed-out"};let{userId:c}=b;if(!a.current)return{status:"error",message:"Enter your current password.",field:"current"};let d=(0,l.H)(a.password);if(d)return{status:"error",message:d,field:"password"};if(a.password!==a.confirm)return{status:"error",message:"The new passwords don't match.",field:"confirm"};if(a.password===a.current)return{status:"error",message:"Pick a password different from the current one.",field:"password"};let e=await (0,k.H)(j.t.passwordChange,c);if(!e.allowed)return o(e.retryAfter);let f=await (0,k.j)(j.t.passwordChange,c),p=()=>(0,k.K)(j.t.passwordChange,c,f.windowStart);if(!f.allowed)return await p(),o(f.retryAfter);let[q]=await (0,h.f)().select({passwordHash:i.localUsers.passwordHash,tempPasswordExpiresAt:i.localUsers.tempPasswordExpiresAt}).from(i.localUsers).where((0,g.u)(i.localUsers.id,c)).limit(1);if(!q)return await p(),{status:"signed-out"};if(a.current.length>1024||!await (0,l.B)(a.current,q.passwordHash))return{status:"error",message:"That isn't your current password.",field:"current"};if(await p(),q.tempPasswordExpiresAt&&q.tempPasswordExpiresAt.getTime()<=Date.now())return{status:"error",message:l.T,field:"current"};let r=await (0,l.Z)(a.password);try{let d=await (0,h.f)().transaction(async d=>{let e=await (0,m.h)(a.token,{aal:b.aal,userAgent:a.userAgent},new Date,d);if(!e||e.userId!==c)throw new n;return await d.update(i.localUsers).set({passwordHash:r,mustChangePassword:!1,tempPasswordExpiresAt:null,updatedAt:new Date}).where((0,g.u)(i.localUsers.id,c)),await (0,m.T)(c,e.token,d),e.token});return{status:"ok",token:d}}catch(a){if(a instanceof n)return{status:"signed-out"};throw a}}var q=a.i(32950),r=a.i(371289),s=a.i(713095);let t=(a,b)=>String(a.get(b)??"");async function u(a,b){let c;"selfhost"!==(0,r.c)()&&(0,e.notFound)();let{step:g}=await (0,f.F)();"setup"===g&&(0,e.redirect)("/mfa/setup"),"challenge"===g&&(0,e.redirect)("/mfa");let h=await (0,d.cookies)();try{c=await p({token:h.get(q.J)?.value??"",current:t(b,"current"),password:t(b,"password"),confirm:t(b,"confirm"),userAgent:(await (0,d.headers)()).get("user-agent")})}catch{return console.warn("password change failed: database unavailable or the password could not be saved"),{status:"error",message:"The password wasn't changed. Try again in a minute."}}if("signed-out"===c.status&&(0,e.redirect)("/signin"),"error"===c.status)return c;(0,q.V)(h,c.token),(0,e.redirect)("/")}(0,s.ensureServerEntryExports)([u]),(0,c.registerServerReference)(u,"
|
|
1
|
+
module.exports=[415580,a=>{"use strict";var b=a.i(903769),c=a.i(137936),d=a.i(905246);a.i(570396);var e=a.i(673727),f=a.i(109307),g=a.i(93321),h=a.i(548734),i=a.i(837137),j=a.i(312573),k=a.i(323878),l=a.i(473483),m=a.i(490021);class n extends Error{}let o=a=>({status:"error",message:`Too many wrong passwords. Try again in ${(0,j.H)(a)}.`,field:"current"});async function p(a){let b=await (0,m.S)(a.token);if(!b)return{status:"signed-out"};let{userId:c}=b;if(!a.current)return{status:"error",message:"Enter your current password.",field:"current"};let d=(0,l.H)(a.password);if(d)return{status:"error",message:d,field:"password"};if(a.password!==a.confirm)return{status:"error",message:"The new passwords don't match.",field:"confirm"};if(a.password===a.current)return{status:"error",message:"Pick a password different from the current one.",field:"password"};let e=await (0,k.H)(j.t.passwordChange,c);if(!e.allowed)return o(e.retryAfter);let f=await (0,k.j)(j.t.passwordChange,c),p=()=>(0,k.K)(j.t.passwordChange,c,f.windowStart);if(!f.allowed)return await p(),o(f.retryAfter);let[q]=await (0,h.f)().select({passwordHash:i.localUsers.passwordHash,tempPasswordExpiresAt:i.localUsers.tempPasswordExpiresAt}).from(i.localUsers).where((0,g.u)(i.localUsers.id,c)).limit(1);if(!q)return await p(),{status:"signed-out"};if(a.current.length>1024||!await (0,l.B)(a.current,q.passwordHash))return{status:"error",message:"That isn't your current password.",field:"current"};if(await p(),q.tempPasswordExpiresAt&&q.tempPasswordExpiresAt.getTime()<=Date.now())return{status:"error",message:l.T,field:"current"};let r=await (0,l.Z)(a.password);try{let d=await (0,h.f)().transaction(async d=>{let e=await (0,m.h)(a.token,{aal:b.aal,userAgent:a.userAgent},new Date,d);if(!e||e.userId!==c)throw new n;return await d.update(i.localUsers).set({passwordHash:r,mustChangePassword:!1,tempPasswordExpiresAt:null,updatedAt:new Date}).where((0,g.u)(i.localUsers.id,c)),await (0,m.T)(c,e.token,d),e.token});return{status:"ok",token:d}}catch(a){if(a instanceof n)return{status:"signed-out"};throw a}}var q=a.i(32950),r=a.i(371289),s=a.i(713095);let t=(a,b)=>String(a.get(b)??"");async function u(a,b){let c;"selfhost"!==(0,r.c)()&&(0,e.notFound)();let{step:g}=await (0,f.F)();"setup"===g&&(0,e.redirect)("/mfa/setup"),"challenge"===g&&(0,e.redirect)("/mfa");let h=await (0,d.cookies)();try{c=await p({token:h.get(q.J)?.value??"",current:t(b,"current"),password:t(b,"password"),confirm:t(b,"confirm"),userAgent:(await (0,d.headers)()).get("user-agent")})}catch{return console.warn("password change failed: database unavailable or the password could not be saved"),{status:"error",message:"The password wasn't changed. Try again in a minute."}}if("signed-out"===c.status&&(0,e.redirect)("/signin"),"error"===c.status)return c;(0,q.V)(h,c.token),(0,e.redirect)("/")}(0,s.ensureServerEntryExports)([u]),(0,c.registerServerReference)(u,"6086a3aaaf8a958b98c72bc588446d657788ff9fb8",null),a.s(["00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"6086a3aaaf8a958b98c72bc588446d657788ff9fb8",0,u],415580)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[595157,a=>{"use strict";var b=a.i(903769),c=a.i(137936),d=a.i(905246);a.i(570396);var e=a.i(673727),f=a.i(492665),g=a.i(963499),h=a.i(32950),i=a.i(93321),j=a.i(548734),k=a.i(837137),l=a.i(753682),m=a.i(828215),n=a.i(733506),o=a.i(619902),p=a.i(108294),q=a.i(312573),r=a.i(323878),s=a.i(473483),t=a.i(490021);let u="Email or password is wrong.",v=a=>({ok:!1,message:`Too many attempts. Try again in ${Math.max(1,Math.ceil(a/60))} min.`});async function w(a,b){let[c]=await (0,j.f)().select({role:k.members.role}).from(k.members).where((0,i.u)(k.members.userId,a.id)).limit(1);if(!c)return"/";let d=(0,l.f)({role:c.role,aal:"aal1",hasVerifiedFactor:null!==a.totpConfirmedAt});return"challenge"===d?"/mfa":"setup"===d?"/mfa/setup":a.mustChangePassword?"/account/password":(0,m.f)(b)}async function x(a){a&&await (0,o.H)(n.h.ip,a),(await (0,r.j)(q.t.passwordFailuresAll,"all")).count===q.t.passwordFailuresAll.max+1&&console.warn("many failed sign-ins; consider a trusted proxy / firewall in front of Watchbell")}async function y(a){let b=a.email.trim().toLowerCase(),c=a.password;if(!b||!c||b.length>254||c.length>1024)return{ok:!1,message:u};let d=a.ip?[n.h.accountIp,`${b} ${a.ip}`]:[n.h.account,b];for(let[b,c]of a.ip?[d,[n.h.ip,a.ip]]:[d]){let a=await (0,o.G)(b,c);if(a>0)return v(a)}let e=null!==a.ip&&!await (0,o.Q)(b,a.ip);if(e){let a=await (0,o.G)(n.h.accountAll,b,new Date,n.c);if(a>0)return v(a)}let f=[],g=a.ip?[[q.t.passwordBurst,d[1]],[q.t.passwordIp,a.ip]]:[[q.t.passwordBurst,d[1]]];for(let[a,c]of(e&&g.push([q.t.passwordAccountBurst,b]),g)){let b=await (0,r.j)(a,c);if(f.push({l:a,subject:c,windowStart:b.windowStart}),!b.allowed){for(let a of f)await (0,r.K)(a.l,a.subject,a.windowStart);return v(b.retryAfter)}}await (0,o.H)(d[0],d[1]);let[h]=await (0,j.f)().select({id:k.localUsers.id,passwordHash:k.localUsers.passwordHash,totpConfirmedAt:k.localUsers.totpConfirmedAt,mustChangePassword:k.localUsers.mustChangePassword,tempPasswordExpiresAt:k.localUsers.tempPasswordExpiresAt}).from(k.localUsers).where((0,i.u)(k.localUsers.email,b)).limit(1);if(!h)return await (0,s.u)(),await x(a.ip),await (0,o.H)(n.h.accountAll,b),{ok:!1,message:u};if(!await (0,s.B)(c,h.passwordHash)){await x(a.ip);let c=await (0,o.H)(n.h.accountAll,b);return(0,n.S)(c)&&await (0,p.f)("password",b,c),{ok:!1,message:u}}for(let a of(await (0,o.d)(d[0],d[1]),f))await (0,r.K)(a.l,a.subject,a.windowStart);if(a.ip&&await (0,o.Y)(b,a.ip),h.tempPasswordExpiresAt&&h.tempPasswordExpiresAt.getTime()<=Date.now())return{ok:!1,message:s.T};a.presentedToken&&await (0,t.P)(a.presentedToken);let{token:l}=await (0,t.t)(h.id,{aal:"aal1",userAgent:a.userAgent});return{ok:!0,token:l,redirectTo:await w(h,a.next)}}var z=a.i(371289),A=a.i(61675),B=a.i(50519);let C=globalThis.__watchbellSigninIp??=(0,B.d)({max:10,windowMs:9e5}),D={status:"error",message:"We couldn't send the email right now. Try again in a minute."},E=a=>({status:"error",message:`Too many sign-in attempts. Try again in ${(0,q.H)(a.retryAfter)}.`});async function F(a,b){let c=a.trim().toLowerCase();if(!A.z.email().safeParse(c).success)return{status:"error",message:"Enter a valid email address.",field:!0};if(!b.captchaToken)return{status:"error",message:"Complete the bot check below first."};if(b.memory&&"unknown"!==b.ip){let a=b.memory.hit(b.ip);if(!a.allowed)return E(a)}try{let a=await b.limit(q.t.signinIp,b.ip);if(!a.allowed)return E(a);let d=await b.peek(q.t.signinEmail,c);if(!d.allowed)return E(d);let{error:e}=await b.signInWithOtp({email:c,options:{shouldCreateUser:!1,emailRedirectTo:`${b.siteUrl}/auth/confirm`,captchaToken:b.captchaToken}});if(e&&(!e.status||e.status>=500||"AuthRetryableFetchError"===e.name))return D;if(e?.code==="captcha_failed")return{status:"error",message:"The bot check didn't pass. Try again."};e&&console.warn(`sign-in request refused: ${e.code??e.status??"unknown"}`),await b.limit(q.t.signinEmail,c)}catch{return console.warn("sign-in request failed: limiter or Supabase unavailable"),D}return{status:"sent",email:c}}var G=a.i(616349);async function H(a,b){var c;let e;if((0,z.F)())return{status:"error",message:"Email sign-in links are not available here."};let g=await (0,G.f)();return F(String(b.get("email")??""),{signInWithOtp:a=>g.auth.signInWithOtp(a),siteUrl:(0,f.f)().SITE_URL,captchaToken:String(b.get("cf-turnstile-response")??""),ip:(c=await (0,d.headers)(),(e=c.get("x-real-ip")?.trim())||c.get("x-forwarded-for")?.split(",")[0]?.trim()||"unknown"),limit:r.C,peek:r.H,memory:C})}async function I(a,b){let c=String(b.get("email")??"").slice(0,254);if((0,z.W)())return J(b);if("selfhost"!==(0,z.c)())return{status:"error",message:"Password sign-in is not available here.",email:c};let f=await (0,d.headers)(),i=await (0,d.cookies)(),j=await y({email:c,password:String(b.get("password")??""),ip:(0,g.f)(f),userAgent:f.get("user-agent"),presentedToken:i.get(h.J)?.value,next:String(b.get("next")??"")});if(!j.ok)return{status:"error",message:j.message,email:c};(0,h.V)(i,j.token),(0,e.redirect)(j.redirectTo)}async function J(b){let c=String(b.get("email")??""),[{demoSignIn:f},{serverDemoCookieKey:g},{setDemoCookie:h},i]=await Promise.all([a.A(517930),a.A(372153),a.A(73710),a.A(636029)]),j=f({email:c,password:String(b.get("password")??""),next:String(b.get("next")??"")},g());return j.ok?i.demoSignIns.take(i.demoClientKey(await (0,d.headers)()),crypto.randomUUID())?void(h(await (0,d.cookies)(),j.cookie),(0,e.redirect)(j.redirectTo)):{status:"error",message:i.DEMO_SIGN_IN_LIMITED,email:c.slice(0,254)}:{status:"error",message:j.message,email:c.slice(0,254),field:j.field}}(0,a.i(713095).ensureServerEntryExports)([H,I]),(0,c.registerServerReference)(H,"
|
|
1
|
+
module.exports=[595157,a=>{"use strict";var b=a.i(903769),c=a.i(137936),d=a.i(905246);a.i(570396);var e=a.i(673727),f=a.i(492665),g=a.i(963499),h=a.i(32950),i=a.i(93321),j=a.i(548734),k=a.i(837137),l=a.i(753682),m=a.i(828215),n=a.i(733506),o=a.i(619902),p=a.i(108294),q=a.i(312573),r=a.i(323878),s=a.i(473483),t=a.i(490021);let u="Email or password is wrong.",v=a=>({ok:!1,message:`Too many attempts. Try again in ${Math.max(1,Math.ceil(a/60))} min.`});async function w(a,b){let[c]=await (0,j.f)().select({role:k.members.role}).from(k.members).where((0,i.u)(k.members.userId,a.id)).limit(1);if(!c)return"/";let d=(0,l.f)({role:c.role,aal:"aal1",hasVerifiedFactor:null!==a.totpConfirmedAt});return"challenge"===d?"/mfa":"setup"===d?"/mfa/setup":a.mustChangePassword?"/account/password":(0,m.f)(b)}async function x(a){a&&await (0,o.H)(n.h.ip,a),(await (0,r.j)(q.t.passwordFailuresAll,"all")).count===q.t.passwordFailuresAll.max+1&&console.warn("many failed sign-ins; consider a trusted proxy / firewall in front of Watchbell")}async function y(a){let b=a.email.trim().toLowerCase(),c=a.password;if(!b||!c||b.length>254||c.length>1024)return{ok:!1,message:u};let d=a.ip?[n.h.accountIp,`${b} ${a.ip}`]:[n.h.account,b];for(let[b,c]of a.ip?[d,[n.h.ip,a.ip]]:[d]){let a=await (0,o.G)(b,c);if(a>0)return v(a)}let e=null!==a.ip&&!await (0,o.Q)(b,a.ip);if(e){let a=await (0,o.G)(n.h.accountAll,b,new Date,n.c);if(a>0)return v(a)}let f=[],g=a.ip?[[q.t.passwordBurst,d[1]],[q.t.passwordIp,a.ip]]:[[q.t.passwordBurst,d[1]]];for(let[a,c]of(e&&g.push([q.t.passwordAccountBurst,b]),g)){let b=await (0,r.j)(a,c);if(f.push({l:a,subject:c,windowStart:b.windowStart}),!b.allowed){for(let a of f)await (0,r.K)(a.l,a.subject,a.windowStart);return v(b.retryAfter)}}await (0,o.H)(d[0],d[1]);let[h]=await (0,j.f)().select({id:k.localUsers.id,passwordHash:k.localUsers.passwordHash,totpConfirmedAt:k.localUsers.totpConfirmedAt,mustChangePassword:k.localUsers.mustChangePassword,tempPasswordExpiresAt:k.localUsers.tempPasswordExpiresAt}).from(k.localUsers).where((0,i.u)(k.localUsers.email,b)).limit(1);if(!h)return await (0,s.u)(),await x(a.ip),await (0,o.H)(n.h.accountAll,b),{ok:!1,message:u};if(!await (0,s.B)(c,h.passwordHash)){await x(a.ip);let c=await (0,o.H)(n.h.accountAll,b);return(0,n.S)(c)&&await (0,p.f)("password",b,c),{ok:!1,message:u}}for(let a of(await (0,o.d)(d[0],d[1]),f))await (0,r.K)(a.l,a.subject,a.windowStart);if(a.ip&&await (0,o.Y)(b,a.ip),h.tempPasswordExpiresAt&&h.tempPasswordExpiresAt.getTime()<=Date.now())return{ok:!1,message:s.T};a.presentedToken&&await (0,t.P)(a.presentedToken);let{token:l}=await (0,t.t)(h.id,{aal:"aal1",userAgent:a.userAgent});return{ok:!0,token:l,redirectTo:await w(h,a.next)}}var z=a.i(371289),A=a.i(61675),B=a.i(50519);let C=globalThis.__watchbellSigninIp??=(0,B.d)({max:10,windowMs:9e5}),D={status:"error",message:"We couldn't send the email right now. Try again in a minute."},E=a=>({status:"error",message:`Too many sign-in attempts. Try again in ${(0,q.H)(a.retryAfter)}.`});async function F(a,b){let c=a.trim().toLowerCase();if(!A.z.email().safeParse(c).success)return{status:"error",message:"Enter a valid email address.",field:!0};if(!b.captchaToken)return{status:"error",message:"Complete the bot check below first."};if(b.memory&&"unknown"!==b.ip){let a=b.memory.hit(b.ip);if(!a.allowed)return E(a)}try{let a=await b.limit(q.t.signinIp,b.ip);if(!a.allowed)return E(a);let d=await b.peek(q.t.signinEmail,c);if(!d.allowed)return E(d);let{error:e}=await b.signInWithOtp({email:c,options:{shouldCreateUser:!1,emailRedirectTo:`${b.siteUrl}/auth/confirm`,captchaToken:b.captchaToken}});if(e&&(!e.status||e.status>=500||"AuthRetryableFetchError"===e.name))return D;if(e?.code==="captcha_failed")return{status:"error",message:"The bot check didn't pass. Try again."};e&&console.warn(`sign-in request refused: ${e.code??e.status??"unknown"}`),await b.limit(q.t.signinEmail,c)}catch{return console.warn("sign-in request failed: limiter or Supabase unavailable"),D}return{status:"sent",email:c}}var G=a.i(616349);async function H(a,b){var c;let e;if((0,z.F)())return{status:"error",message:"Email sign-in links are not available here."};let g=await (0,G.f)();return F(String(b.get("email")??""),{signInWithOtp:a=>g.auth.signInWithOtp(a),siteUrl:(0,f.f)().SITE_URL,captchaToken:String(b.get("cf-turnstile-response")??""),ip:(c=await (0,d.headers)(),(e=c.get("x-real-ip")?.trim())||c.get("x-forwarded-for")?.split(",")[0]?.trim()||"unknown"),limit:r.C,peek:r.H,memory:C})}async function I(a,b){let c=String(b.get("email")??"").slice(0,254);if((0,z.W)())return J(b);if("selfhost"!==(0,z.c)())return{status:"error",message:"Password sign-in is not available here.",email:c};let f=await (0,d.headers)(),i=await (0,d.cookies)(),j=await y({email:c,password:String(b.get("password")??""),ip:(0,g.f)(f),userAgent:f.get("user-agent"),presentedToken:i.get(h.J)?.value,next:String(b.get("next")??"")});if(!j.ok)return{status:"error",message:j.message,email:c};(0,h.V)(i,j.token),(0,e.redirect)(j.redirectTo)}async function J(b){let c=String(b.get("email")??""),[{demoSignIn:f},{serverDemoCookieKey:g},{setDemoCookie:h},i]=await Promise.all([a.A(517930),a.A(372153),a.A(73710),a.A(636029)]),j=f({email:c,password:String(b.get("password")??""),next:String(b.get("next")??"")},g());return j.ok?i.demoSignIns.take(i.demoClientKey(await (0,d.headers)()),crypto.randomUUID())?void(h(await (0,d.cookies)(),j.cookie),(0,e.redirect)(j.redirectTo)):{status:"error",message:i.DEMO_SIGN_IN_LIMITED,email:c.slice(0,254)}:{status:"error",message:j.message,email:c.slice(0,254),field:j.field}}(0,a.i(713095).ensureServerEntryExports)([H,I]),(0,c.registerServerReference)(H,"6029aee86c592085dfe9e9373fe41061725bc856d1",null),(0,c.registerServerReference)(I,"608fdc0f8f70507dd391ca52529a43f761fd3a28fc",null),a.s(["00908e4a017a3eb1fa932c81866de507828f461d50",()=>b.f,"6029aee86c592085dfe9e9373fe41061725bc856d1",0,H,"608fdc0f8f70507dd391ca52529a43f761fd3a28fc",0,I],595157)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js.map
|