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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,243075,515234,828892,e=>{var t=e.i(95187);let n=(0,t.createServerReference)("6074319bb2f4cec6f99492452eb563ddb987bea83a",t.callServer,void 0,t.findSourceMapURL,"promoteAction");e.s(["f",0,n],243075);let r=(0,t.createServerReference)("607468008a7fe351958d8d2cb1b714bb4d7fd6c003",t.callServer,void 0,t.findSourceMapURL,"redeployAction");e.s(["f",0,r],515234);let l=(0,t.createServerReference)("6096cafb0ba00a27afa0a24bf2152662ec73674469",t.callServer,void 0,t.findSourceMapURL,"rollbackAction");e.s(["f",0,l],828892)},523135,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(428325),a=e.i(799589),o=e.i(177106),i=e.i(856033),s=e.i(452842),c=e.i(95187);let d=(0,c.createServerReference)("60f6f1e670ecaccf7654b9d2fc3140207f9f2791da",c.callServer,void 0,c.findSourceMapURL,"cancelAction");var u=e.i(243075);let p=(0,c.createServerReference)("60e89da91ed5691fd8d0d52ded557df5ed7e37307f",c.callServer,void 0,c.findSourceMapURL,"promotePreviewAction");var m=e.i(515234),h=e.i(828892),x=e.i(39626),f=e.i(776639),b=e.i(500443);let g=/(\berror(?![-\w])|\bERR!|\bERR_[A-Z_]+|\bfailed\b|exited with (?:code )?[1-9]|Module not found|command not found)/i,k=/^\s*(?:npm |pnpm |yarn )?(?:warn|warning)\b|\b0 (?:errors?|failed)\b/i;function y(e){return"command"!==e.kind&&"delimiter"!==e.kind&&g.test(e.text)&&!k.test(e.text)}var v=e.i(975157);let j=(0,c.createServerReference)("60a8e90d726873e1960102add3968f6d4b8e8182a8",c.callServer,void 0,c.findSourceMapURL,"buildLogsAction"),w=(0,c.createServerReference)("60bc83884e217727fe9254fe46e90ffa0dc0c715a3",c.callServer,void 0,c.findSourceMapURL,"explainBuildAction"),N={stdout:"",stderr:"text-code-warn",command:"text-code-info",delimiter:"text-code-dim"},S=e=>`build-line-${e}`;function $({log:e}){let n=e.lines.findIndex(y),r=e.lines.filter(y).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[(0,t.jsxs)("span",{children:[e.lines.length," lines",e.truncated?` (the last ${2e3.toLocaleString("en-US")})`:""]}),n>=0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"text-err",children:[r," error line",1===r?"":"s"]}),(0,t.jsx)("button",{type:"button","data-line":S(n),className:"text-brand hover:underline",onClick:()=>document.getElementById(S(n))?.scrollIntoView({block:"center"}),children:"Jump to first error"})]}):(0,t.jsx)("span",{children:"No error lines"})]}),(0,t.jsx)("div",{tabIndex:0,"aria-label":"Build log lines",className:"min-h-0 flex-1 overflow-auto bg-code-bg px-4 py-3 font-mono text-[12.5px] leading-[1.7] text-code-text",children:0===e.lines.length?(0,t.jsx)("div",{className:"text-code-dim",children:"Vercel returned no build output for this deployment."}):e.lines.map((e,n)=>{let r=y(e);return(0,t.jsx)("div",{id:S(n),"data-error":r?"":void 0,className:(0,v.f)("whitespace-pre-wrap [overflow-wrap:anywhere]",r?"-mx-4 border-l-2 border-err bg-err/15 px-[14px] text-code-err":N[e.kind],"delimiter"===e.kind&&"mt-1.5 font-medium"),children:"command"===e.kind?`$ ${e.text}`:e.text||" "},n)})})]})}function R({answer:e}){return"asking"===e?(0,t.jsx)("p",{className:"px-[18px] pb-3 text-[13px] text-ink-soft",children:"Asking the AI provider…"}):"error"in e?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-3 text-[13px] text-err",children:e.error}):(0,t.jsxs)("section",{"aria-label":"Explanation",className:"mx-[18px] mb-3 rounded-lg border border-line px-3.5 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 text-[12.5px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"Explanation"}),(0,t.jsx)("span",{className:"font-mono text-xs text-ink-faint",children:e.model})]}),(0,t.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-[13px] [overflow-wrap:anywhere]",children:e.text}),(0,t.jsx)("p",{className:"mt-1.5 text-xs text-ink-faint",children:"Written by a model from the log below. Check it against the log before you change code."})]})}function C({appId:e,deploymentId:r,title:a,open:o,onOpenChange:i,explain:s=!1,read:c=j,ask:d=w}){let[u,p]=(0,n.useState)(null),[m,h]=(0,n.useState)(null);(0,b.useHoldRefresh)(o),(0,n.useEffect)(()=>{if(!o)return;let t=!0;return c(e,r).then(e=>{t&&p(e.ok&&e.data?{log:e.data}:{error:e.ok?"No build log came back.":e.error})}).catch(()=>{t&&p({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,p(null),h(null)}},[o,e,r,c]);let g=s&&null!==u&&"log"in u&&"asking"!==m;return(0,t.jsx)(f.N,{open:o,onOpenChange:i,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[780px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["Build log · ",a]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Newest build, read from Vercel now",(0,t.jsx)(x.Src,{kind:"api"})]}),s&&(0,t.jsx)(l.K,{size:"sm",className:"mt-2",disabled:!g,onClick:()=>{h("asking"),d(e,r).then(e=>h(e.ok&&e.data?e.data:{error:e.ok?"No explanation came back.":e.error})).catch(()=>h({error:"Watchbell didn't answer. Check that it's still running, then try again."}))},children:!m||"asking"===m||"error"in m?"Explain with AI":"Explain again"})]}),m&&(0,t.jsx)(R,{answer:m}),null===u?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the build log…"}):"error"in u?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:u.error}):(0,t.jsx)($,{log:u.log})]})})}var P=e.i(322534);let A=(0,c.createServerReference)("60da93022770a30030c5c08e1dad6d723ca6ad5e43",c.callServer,void 0,c.findSourceMapURL,"releaseNotesAction"),E=/^(https:\/\/github\.com\/[^/]+\/[^/]+)\/commit\/[0-9a-f]+$/,I="text-brand underline-offset-2 hover:underline";function M({c:e,now:n}){var l;let a,o,i=(l=e.title,(a=/\(#(\d{1,7})\)\s*$/.exec(l)??/^Merge pull request #(\d{1,7})\b/.exec(l))?Number(a[1]):null),s=null===i?null:(o=e.url?E.exec(e.url):null)?`${o[1]}/pull/${i}`:null,c=e.sha.slice(0,7);return(0,t.jsxs)("li",{className:"border-b border-line px-[18px] py-2.5 last:border-b-0",children:[(0,t.jsxs)("div",{className:"text-[13px] [overflow-wrap:anywhere]",children:[(0,t.jsx)(r.MaskedText,{text:e.title}),s&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsxs)("a",{href:s,target:"_blank",rel:"noreferrer",className:I,children:["#",i]})]})]}),(0,t.jsxs)("div",{className:"mt-0.5 font-mono text-xs text-ink-faint",children:[e.url?(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noreferrer",className:I,children:c}):c,e.author&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)(r.MaskedText,{text:e.author})]}),e.at&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,P.J)(new Date(e.at),n)]})]})]})}function L({notes:e,now:n}){if(e.note)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:e.note});if(0===e.commits.length)return(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"GitHub found no commits between these deployments."});let r=e.total-e.commits.length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"px-[18px] pb-2 text-[12.5px] text-ink-soft",children:[e.total," commit",1===e.total?"":"s",e.from?(0,t.jsxs)(t.Fragment,{children:[" since ",(0,t.jsx)("span",{className:"font-mono",children:e.from.slice(0,7)})]}):null]}),(0,t.jsxs)("ul",{className:"min-h-0 flex-1 overflow-auto border-t border-line",children:[e.commits.map(e=>(0,t.jsx)(M,{c:e,now:n},e.sha)),e.cut&&r>0&&(0,t.jsxs)("li",{className:"px-[18px] py-2.5 text-[12.5px] text-ink-soft",children:["+",r," more, older, not shown"]})]})]})}function O({appId:e,deploymentId:r,title:l,open:a,onOpenChange:o,read:i=A}){let[s,c]=(0,n.useState)(null);return(0,b.useHoldRefresh)(a),(0,n.useEffect)(()=>{if(!a)return;let t=!0;return i(e,r).then(e=>{t&&c(e.ok&&e.data?{notes:e.data,at:new Date}:{error:e.ok?"Nothing came back.":e.error})}).catch(()=>{t&&c({error:"Watchbell didn't answer. Check that it's still running, then try again."})}),()=>{t=!1,c(null)}},[a,e,r,i]),(0,t.jsx)(f.N,{open:a,onOpenChange:o,children:(0,t.jsxs)(f.d,{className:"top-0 right-0 left-auto flex h-dvh max-w-full translate-x-0 translate-y-0 flex-col gap-0 rounded-none p-0 sm:max-w-[620px]",children:[(0,t.jsxs)("div",{className:"px-[18px] pb-2 pt-4 pr-12",children:[(0,t.jsxs)(f.F,{className:"text-base",children:["What changed · ",l]}),(0,t.jsxs)(f.C,{className:"mt-0.5 text-[12.5px] text-ink-soft",children:["Since the previous production deployment, compared on GitHub now",(0,t.jsx)(x.Src,{kind:"api"})]})]}),null===s?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-[13px] text-ink-soft",children:"Reading the commits…"}):"error"in s?(0,t.jsx)("p",{role:"alert",className:"px-[18px] pb-4 text-[13px] text-err",children:s.error}):(0,t.jsx)(L,{notes:s.notes,now:s.at})]})})}let U={label:"View build logs",kind:"logs"},_={label:"What changed",kind:"changes"};e.s(["DeployRowActions",0,function({d:e,actions:c,logs:x,changes:f=!1,explain:b=!1}){var g;let k,y,v,j=(0,r.useMask)(),{open:w,dialog:N}=(0,a.W)(),[S,$]=(0,n.useState)(!1),[R,P]=(0,n.useState)(!1),A=e.sha?e.sha.slice(0,7):"",{visit:E,deployment:I}=(k=e.url?`https://${e.url}`:null,e.primaryDomain?{visit:`https://${e.primaryDomain}`,deployment:k}:{visit:k??"",deployment:null}),{buttons:M,menu:L}=(y=[...(g={actions:c,logs:x,changes:f,visit:!!E&&e.visit}).visit&&"button"!==g.logs?[{label:"Visit",kind:"visit"}]:[],...g.actions.map(e=>({label:e,kind:"action",action:e})),..."button"===g.logs?[U]:[]],v=[..."menu"===g.logs?[U]:[],...g.changes?[_]:[]],y.length>2?{buttons:[],menu:[...y,...v]}:{buttons:y,menu:v}),T=t=>w({...(0,i.f)(t,j("app",e.appName),A),run:function(e,t,n){switch(e){case"Redeploy":return()=>(0,m.f)(t,n);case"Roll back to this":return()=>(0,h.f)(t,n);case"Promote":return()=>(0,u.f)(t,n);case"Cancel":return()=>d(t,n);case"Promote to production":return()=>p(t,n)}}(t,e.appId,e.externalId)});return(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[M.map(e=>"visit"===e.kind?(0,t.jsx)("a",{href:E,target:"_blank",rel:"noreferrer",className:(0,l.R)({size:"sm"}),children:"Visit"},e.label):"logs"===e.kind?(0,t.jsx)(l.K,{size:"sm",onClick:()=>$(!0),children:e.label},e.label):(0,t.jsx)(l.K,{size:"sm",onClick:()=>T(e.action),children:e.label},e.label)),I&&e.visit&&"button"!==x&&(0,t.jsx)("a",{href:I,target:"_blank",rel:"noreferrer",className:"text-xs text-ink-faint underline-offset-2 hover:text-ink hover:underline",children:"Deployment URL"}),L.length>0&&(0,t.jsx)(o.RowMenu,{label:(0,s.J)(j("app",e.appName),A||e.url||e.externalId),items:L.map(e=>"visit"===e.kind?{label:e.label,href:E}:"logs"===e.kind?{label:e.label,onSelect:()=>$(!0)}:"changes"===e.kind?{label:e.label,onSelect:()=>P(!0)}:{label:e.label,onSelect:()=>T(e.action)})}),N,x&&(0,t.jsx)(C,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:S,onOpenChange:$,explain:b}),f&&(0,t.jsx)(O,{appId:e.appId,deploymentId:e.externalId,title:`${j("app",e.appName)}${A?` ${A}`:""}`,open:R,onOpenChange:P})]})}],523135)},799589,225794,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(54131),l=e.i(46200),a=e.i(428325);function o(e,t=e=>e){return e.ok?{ok:!0,message:t(e.message??"Done.")}:{ok:!1,message:t(e.error)}}function i(){let e=(0,r.useMask)();return t=>o(t,t=>e("text",t))}e.s(["f",0,o],225794),e.s(["p",0,function({label:e,title:n,body:r,cta:o,danger:s=!1,run:c}){let d=i();return(0,t.jsx)(l.f,{trigger:(0,t.jsx)(a.K,{variant:s?"danger":"secondary",children:e}),title:n,body:r,cta:o,danger:s,onConfirm:async()=>d(await c())})},"W",0,function(){let[e,r]=(0,n.useState)(null),a=i(),o=e?(0,t.jsx)(l.f,{open:!0,onOpenChange:e=>{e||r(null)},title:e.title,body:e.body,cta:e.cta,danger:e.danger,onConfirm:async()=>a(await e.run())}):null;return{open:r,dialog:o}}],799589)},70528,876195,e=>{let t=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\[\d{1,6}\])*$/,n=new Set(["__proto__","prototype","constructor"]),r=[300,3600,86400,604800],l=[300,3600,21600];e.s(["q",0,l,"Q",0,r,"v",0,function(e){return e%604800==0?604800===e?"1 week":`${e/604800} weeks`:e%86400==0?86400===e?"1 day":`${e/86400} days`:e%3600==0?`${e/3600} h`:`${Math.max(1,Math.round(e/60))} min`}],876195);let a=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function o(e){let t=a.exec(e);if(!t)return null;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?n:null}function i([e,t,n]){return 0===e||10===e||127===e||e>=224||100===e&&t>=64&&t<=127||169===e&&254===t||172===e&&t>=16&&t<=31||192===e&&0===t&&0===n||192===e&&168===t||198===e&&(18===t||19===t)}function s(e){return"https:"!==e.protocol||e.username||e.password?"scheme":""!==e.port&&"443"!==e.port?"blocked":!function(e){let t=e.trim().toLowerCase();if(t.startsWith("[")&&t.endsWith("]")){let e=function(e){let t=e.split("%")[0].toLowerCase();if(!t.includes(":"))return null;if(-1!==t.lastIndexOf(".")){let e=t.lastIndexOf(":"),n=o(t.slice(e+1));if(!n)return null;t=`${t.slice(0,e+1)}${(n[0]<<8|n[1]).toString(16)}:${(n[2]<<8|n[3]).toString(16)}`}let n=t.split("::");if(n.length>2)return null;let r=e=>""===e?[]:e.split(":"),l=r(n[0]),a=2===n.length?r(n[1]):[],i=8-l.length-a.length;if(1===n.length?0!==i:i<1)return null;let s=[...l,...Array(2===n.length?i:0).fill("0"),...a];return 8===s.length&&s.every(e=>/^[0-9a-f]{1,4}$/.test(e))?s.map(e=>parseInt(e,16)):null}(t.slice(1,-1));return!e||function(e){if(e.slice(0,6).every(e=>0===e)||e.slice(0,5).every(e=>0===e)&&65535===e[5]||e.slice(0,4).every(e=>0===e)&&65535===e[4]&&0===e[5]||100===e[0]&&65435===e[1]&&e.slice(2,6).every(e=>0===e)||100===e[0]&&65435===e[1]&&1===e[2])return!0;if(8194===e[0]){let t,n;return i([(t=e[1])>>8,255&t,(n=e[2])>>8,255&n])}return(65024&e[0])==64512||(65472&e[0])==65152||(65472&e[0])==65216||(65280&e[0])==65280}(e)}if(t.endsWith(".")&&(t=t.slice(0,-1)),!t)return!0;let n=o(t);if(n)return i(n);let r=t.slice(t.lastIndexOf(".")+1);return!(!/^(\d+|0x[0-9a-f]*)$/.test(r)&&t.includes("."))||"localhost"===t||/\.(localhost|local|internal)$/.test(t)||t.endsWith(".home.arpa")}(e.hostname)?null:"blocked"}e.i(684496);let c=[3,5,10],d=/[\u0000-\u001f\u007f-\u009f]/,u=/[----]/;e.s(["L",0,c,"G",0,function(e){return null!==e.lastStatus&&e.lastError&&!/^HTTP \d{3}( · DEPLOYMENT_NOT_FOUND)?$/.test(e.lastError)?e.lastError:null},"a",0,function(e){let t={},n=String(e?.name??""),a=n.trim().replace(/\s+/g," ");!/[\p{L}\p{N}]/u.test(a)||d.test(a)||u.test(n)?t.name="Name the job, like backup job.":a.length>60&&(t.name="Keep the name to 60 characters.");let o=Number(e?.periodS);r.includes(o)||(t.periodS="Pick how often the job runs.");let i=Number(e?.graceS);return(l.includes(i)||(t.graceS="Pick a grace time."),Object.keys(t).length)?{ok:!1,fieldErrors:t}:{ok:!0,value:{name:a,periodS:o,graceS:i}}},"X",0,function(e){let r={},l=String(e?.url??"").trim(),a=null;try{a=new URL(l)}catch{a=null}a&&a.hostname&&!(l.length>2048)&&"scheme"!==s(a)?"blocked"===s(a)&&(r.url="Use a public https address."):r.url="Enter a full https:// address.";let o=String(e?.expectedStatus??"").trim();/^[1-5]\d\d$/.test(o)||(r.expectedStatus="Enter an HTTP status between 100 and 599.");let i=Number(e?.timeoutS);c.includes(i)||(r.timeoutS="Pick a timeout.");let d=String(e?.bodyContains??"").trim(),u=String(e?.jsonPath??"").trim(),p=String(e?.jsonEquals??"").trim();return(d.length>200&&(r.bodyContains="Keep the keyword under 200 characters."),!u&&p&&(r.jsonPath="Add a JSON path for the value."),u&&(u.length>100||!function(e){if(!t.test(e))return null;let r=[];for(let t of e.matchAll(/([A-Za-z_$][\w$]*)|\[(\d+)\]/g))r.push(void 0!==t[1]?t[1]:Number(t[2]));return r.some(e=>"string"==typeof e&&n.has(e))?null:r}(u)?r.jsonPath="Use dots and [0] only, like checks.db or items[0].state.":p?p.length>200&&(r.jsonEquals="Keep the value under 200 characters."):r.jsonEquals="Enter the value it must equal.",d&&!r.bodyContains&&(r.bodyContains="Use either a keyword or a JSON field.")),Object.keys(r).length||!a)?{ok:!1,fieldErrors:r}:(a.hash="",{ok:!0,value:{url:a.toString(),expectedStatus:Number(o),timeoutMs:1e3*i,bodyContains:d||null,jsonPath:u||null,jsonEquals:u?p:null}})}],70528)},856033,e=>{e.s(["f",0,function(e,t,n){switch(e){case"Redeploy":return{title:`Redeploy ${t}?`,cta:"Redeploy",danger:!1,body:"Vercel builds the current production deployment again (same commit, today's environment variables) and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Roll back":return{title:`Roll back ${t}?`,cta:"Roll back",danger:!0,body:"Production goes back to the previous production deployment. Hobby can't go further back. Vercel then stops sending new pushes to production until you promote one again."};case"Roll back to this":return{title:`Roll back ${t} to ${n||"this deployment"}?`,cta:"Roll back",danger:!0,body:"Production goes back to this deployment. Hobby only allows the previous production deployment. Vercel then stops sending new pushes to production until you promote one again."};case"Promote":return{title:`Promote ${t} ${n}?`.replace(" ?","?"),cta:"Promote",danger:!1,body:"Production traffic moves to this production deployment and new pushes go live again (this undoes a roll back). Nothing is rebuilt."};case"Promote to production":return{title:`Promote ${t} ${n} to production?`.replace(" "," "),cta:"Promote to production",danger:!0,body:"Vercel builds this preview's commit again as a production deployment, with the production environment variables (preview-only values aren't used), and makes it live when the build is ready. It counts toward the 100 deployments a day on Hobby."};case"Cancel":return{title:"Cancel this build?",cta:"Cancel build",danger:!0,body:`The running build of ${`${t} ${n}`.trim()} stops. The current production deployment stays live.`}}}])},452842,e=>{e.i(203709),e.i(70528),e.i(684496),e.i(322534),e.s(["p",0,[["deployment","Deployment"],["monitor","Monitor"],["database","Database"],["system","System"],["action","Action"]],"X",0,{ok:"healthy",warn:"degraded",err:"down",idle:"idle",build:"building",paused:"paused",info:"info",fail:"failed",off:"off",unknown:"unknown",maint:"maintenance"},"J",0,(...e)=>`Actions for ${e.filter(Boolean).join(" ")}`],452842)}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,s=t.f;e.s(["f",0,(e,t)=>n=>{var r;if((null==t?void 0:t.variants)==null)return s(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:i,defaultVariants:o}=t,l=Object.keys(i).map(e=>{let t=null==n?void 0:n[e],s=null==o?void 0:o[e];if(null===t)return null;let r=a(t)||a(s);return i[e][r]}),d=n&&Object.entries(n).reduce((e,t)=>{let[a,s]=t;return void 0===s||(e[a]=s),e},{});return s(e,l,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:a,className:s,...n}=t;return Object.entries(n).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...o,...d}[t]):({...o,...d})[t]===a})?[...e,a,s]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},139065,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(500443),i=e.i(220806),o=e.i(776639),l=e.i(95187);let d=(0,l.createServerReference)("40949a219cb5ef1a717b876581aff7229a7442ae96",l.callServer,void 0,l.findSourceMapURL,"containerDetailAction"),c=(0,l.createServerReference)("00903a40da5019b471af090f3e5d147ceb6ab46a3a",l.callServer,void 0,l.findSourceMapURL,"containerListAction"),u=(0,l.createServerReference)("70b94cd0b8189962495434eff85f59029c00a8dd4b",l.callServer,void 0,l.findSourceMapURL,"containerVerbAction"),x=e=>null===e?"—":e>=1e9?`${(e/1e9).toFixed(1)} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:`${Math.round(e/1e3)} kB`,p="Watchbell didn't answer. Check that it's still running, then try again.";function m({container:e,owner:l,onClose:c,onChanged:f}){let[h,g]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[j,k]=(0,a.useState)(null),[N,y]=(0,a.useState)(""),[z,w]=(0,a.useTransition)();(0,r.useHoldRefresh)(!0),(0,a.useEffect)(()=>{let t=!0;return d(e.id).then(e=>{t&&(e.ok&&e.data?g(e.data):b(e.ok?"No answer.":e.error))}).catch(()=>{t&&b(p)}),()=>{t=!1}},[e.id]);let C=t=>w(async()=>{try{let a=await u(e.id,t,"start"===t?"":N);a.ok?(s.c.success(a.message??"Done."),k(null),y(""),f(),c()):s.c.error(a.error)}catch{s.c.error(p)}}),S="running"===e.state||"restarting"===e.state;return(0,t.jsx)(o.N,{open:!0,onOpenChange:e=>{e||c()},children:(0,t.jsxs)(o.d,{className:"sm:max-w-[760px]",children:[(0,t.jsx)(o.F,{children:e.name}),(0,t.jsxs)(o.C,{className:"font-mono text-[12.5px]",children:[e.image," · ",e.status||e.state]}),v&&(0,t.jsxs)("p",{className:"flex items-start gap-1.5 text-ink-soft",children:[(0,t.jsx)(i.Z,{state:"warn"}),(0,t.jsx)("span",{children:v})]}),!h&&!v&&(0,t.jsx)("p",{className:"text-ink-soft",children:"Reading the container…"}),h&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-[13px] text-ink-soft",children:["CPU ",null===h.stats.cpuPct?"—":`${h.stats.cpuPct}%`," · memory ",x(h.stats.memBytes),h.stats.memLimit?` of ${x(h.stats.memLimit)}`:""," · restarted ",h.restarts," time",1===h.restarts?"":"s"]}),(0,t.jsx)("pre",{tabIndex:0,"aria-label":"Last log lines",className:"max-h-[320px] overflow-auto rounded-md bg-code-bg p-3 font-mono text-[12px] leading-relaxed text-code-text",children:h.logs.length?h.logs.join("\n"):"(no log lines)"}),(0,t.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["The last ",h.logs.length," lines. Values that look secret are masked."]})]}),l&&!e.self&&(j?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("label",{htmlFor:"ctr-confirm",className:"text-[13px]",children:["Type ",(0,t.jsx)("span",{className:"font-mono",children:e.name})," to ",j,":"]}),(0,t.jsx)("input",{id:"ctr-confirm",value:N,onChange:e=>y(e.target.value),className:`${n.S} w-[220px]`,autoComplete:"off"}),(0,t.jsx)(n.K,{size:"sm",variant:"danger",onClick:()=>C(j),disabled:z||N.trim()!==e.name,children:z?"Working…":"stop"===j?"Stop":"Restart"}),(0,t.jsx)(n.K,{size:"sm",onClick:()=>{k(null),y("")},disabled:z,children:"Cancel"})]}):(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[!S&&(0,t.jsx)(n.K,{size:"sm",onClick:()=>C("start"),disabled:z,children:z?"Starting…":"Start"}),S&&(0,t.jsx)(n.K,{size:"sm",onClick:()=>k("restart"),disabled:z,children:"Restart"}),S&&(0,t.jsx)(n.K,{size:"sm",variant:"danger",onClick:()=>k("stop"),disabled:z,children:"Stop"})]})),l&&e.self&&(0,t.jsx)("p",{className:"text-[12.5px] text-ink-soft",children:"This is the container Watchbell runs in, so it can't be stopped or restarted from here."})]})})}e.s(["ContainersView",0,function({initial:e,owner:r}){let[o,l]=(0,a.useState)(e),[d,u]=(0,a.useState)(null),[x,f]=(0,a.useTransition)(),h=()=>f(async()=>{try{let e=await c();e.ok&&e.data?l(e.data.containers):s.c.error(e.ok?"No answer.":e.error)}catch{s.c.error(p)}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 px-[18px] pb-2 pt-3",children:[(0,t.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[o.length," container",1===o.length?"":"s"]}),(0,t.jsx)(n.K,{size:"sm",onClick:h,disabled:x,children:x?"Refreshing…":"Refresh"})]}),0===o.length?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-ink-soft",children:"No containers on this machine."}):(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-[13px]",children:[(0,t.jsx)("thead",{className:"text-left text-[12px] text-ink-soft",children:(0,t.jsxs)("tr",{className:"border-y border-line",children:[(0,t.jsx)("th",{className:"px-[18px] py-2 font-medium",children:"Name"}),(0,t.jsx)("th",{className:"px-3 py-2 font-medium",children:"Status"}),(0,t.jsx)("th",{className:"px-3 py-2 font-medium max-[720px]:hidden",children:"Image"}),(0,t.jsx)("th",{className:"px-3 py-2 font-medium max-[720px]:hidden",children:"Ports"}),(0,t.jsx)("th",{className:"px-[18px] py-2"})]})}),(0,t.jsx)("tbody",{children:o.map(e=>(0,t.jsxs)("tr",{className:"border-b border-line last:border-0",children:[(0,t.jsxs)("td",{className:"px-[18px] py-2.5",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 font-medium",children:[(0,t.jsx)(i.Z,{state:"unhealthy"===e.health?"err":"restarting"===e.state||"starting"===e.health?"warn":"running"===e.state?"ok":"paused"===e.state?"paused":"off"}),e.name]}),e.self&&(0,t.jsx)("span",{className:"ml-1.5 text-[12px] text-ink-soft",children:"(Watchbell)"})]}),(0,t.jsx)("td",{className:"px-3 py-2.5 text-ink-soft",children:e.status||e.state}),(0,t.jsx)("td",{className:"px-3 py-2.5 font-mono text-[12px] text-ink-soft max-[720px]:hidden",children:e.image}),(0,t.jsx)("td",{className:"px-3 py-2.5 font-mono text-[12px] text-ink-soft max-[720px]:hidden",children:e.ports.join(", ")||"—"}),(0,t.jsx)("td",{className:"px-[18px] py-2.5 text-right",children:(0,t.jsx)(n.K,{size:"sm",onClick:()=>u(e),children:"Details"})})]},e.id))})]})}),d&&(0,t.jsx)(m,{container:d,owner:r,onClose:()=>u(null),onChanged:h})]})}],139065)},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),s=e.i(828376);e.s(["f",0,s],998218);var s=s,n=e.i(209977),r=e.i(921637),i=e.i(141708),o=e.i(593480),l=e.i(309169),d=s;e.s(["f",0,d],152744);var d=s,c=e.i(975157),u=e.i(271645),x=e.i(540886),p=e.i(552245);let m=u.forwardRef(function(e,t){let{render:a,className:s,disabled:n=!1,focusableWhenDisabled:r=!1,nativeButton:i=!0,style:o,...l}=e,{getButtonProps:d,buttonRef:c}=(0,x.f)({disabled:n,focusableWhenDisabled:r,native:i});return(0,p.a)("button",e,{state:{disabled:n},ref:[t,c],props:[l,d]})}),f=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function h({className:e,variant:a="default",size:s="default",...n}){return(0,t.jsx)(m,{"data-slot":"button",className:(0,c.f)(f({variant:a,size:s,className:e})),...n})}var g=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,g.f)(v);function j({...e}){return(0,t.jsx)(n.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...a}){return(0,t.jsx)(i.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:s=!0,...n}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n,children:[a,s&&(0,t.jsxs)(r.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(h,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(l.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,s=t.f;e.s(["f",0,(e,t)=>n=>{var r;if((null==t?void 0:t.variants)==null)return s(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:i,defaultVariants:o}=t,l=Object.keys(i).map(e=>{let t=null==n?void 0:n[e],s=null==o?void 0:o[e];if(null===t)return null;let r=a(t)||a(s);return i[e][r]}),d=n&&Object.entries(n).reduce((e,t)=>{let[a,s]=t;return void 0===s||(e[a]=s),e},{});return s(e,l,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:a,className:s,...n}=t;return Object.entries(n).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...o,...d}[t]):({...o,...d})[t]===a})?[...e,a,s]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},139065,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(500443),i=e.i(220806),o=e.i(776639),l=e.i(95187);let d=(0,l.createServerReference)("405096b1c94aefc9c7104bd90646f3eab1f8567502",l.callServer,void 0,l.findSourceMapURL,"containerDetailAction"),c=(0,l.createServerReference)("0098639ceee84b0f35b6db3e3afcc10e192022be87",l.callServer,void 0,l.findSourceMapURL,"containerListAction"),u=(0,l.createServerReference)("70cad29a3c24f34335dd3586d34b1b70254842f916",l.callServer,void 0,l.findSourceMapURL,"containerVerbAction"),x=e=>null===e?"—":e>=1e9?`${(e/1e9).toFixed(1)} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:`${Math.round(e/1e3)} kB`,p="Watchbell didn't answer. Check that it's still running, then try again.";function m({container:e,owner:l,onClose:c,onChanged:f}){let[h,g]=(0,a.useState)(null),[v,b]=(0,a.useState)(null),[j,k]=(0,a.useState)(null),[N,y]=(0,a.useState)(""),[z,w]=(0,a.useTransition)();(0,r.useHoldRefresh)(!0),(0,a.useEffect)(()=>{let t=!0;return d(e.id).then(e=>{t&&(e.ok&&e.data?g(e.data):b(e.ok?"No answer.":e.error))}).catch(()=>{t&&b(p)}),()=>{t=!1}},[e.id]);let C=t=>w(async()=>{try{let a=await u(e.id,t,"start"===t?"":N);a.ok?(s.c.success(a.message??"Done."),k(null),y(""),f(),c()):s.c.error(a.error)}catch{s.c.error(p)}}),S="running"===e.state||"restarting"===e.state;return(0,t.jsx)(o.N,{open:!0,onOpenChange:e=>{e||c()},children:(0,t.jsxs)(o.d,{className:"sm:max-w-[760px]",children:[(0,t.jsx)(o.F,{children:e.name}),(0,t.jsxs)(o.C,{className:"font-mono text-[12.5px]",children:[e.image," · ",e.status||e.state]}),v&&(0,t.jsxs)("p",{className:"flex items-start gap-1.5 text-ink-soft",children:[(0,t.jsx)(i.Z,{state:"warn"}),(0,t.jsx)("span",{children:v})]}),!h&&!v&&(0,t.jsx)("p",{className:"text-ink-soft",children:"Reading the container…"}),h&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("p",{className:"text-[13px] text-ink-soft",children:["CPU ",null===h.stats.cpuPct?"—":`${h.stats.cpuPct}%`," · memory ",x(h.stats.memBytes),h.stats.memLimit?` of ${x(h.stats.memLimit)}`:""," · restarted ",h.restarts," time",1===h.restarts?"":"s"]}),(0,t.jsx)("pre",{tabIndex:0,"aria-label":"Last log lines",className:"max-h-[320px] overflow-auto rounded-md bg-code-bg p-3 font-mono text-[12px] leading-relaxed text-code-text",children:h.logs.length?h.logs.join("\n"):"(no log lines)"}),(0,t.jsxs)("p",{className:"text-[12px] text-ink-faint",children:["The last ",h.logs.length," lines. Values that look secret are masked."]})]}),l&&!e.self&&(j?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("label",{htmlFor:"ctr-confirm",className:"text-[13px]",children:["Type ",(0,t.jsx)("span",{className:"font-mono",children:e.name})," to ",j,":"]}),(0,t.jsx)("input",{id:"ctr-confirm",value:N,onChange:e=>y(e.target.value),className:`${n.S} w-[220px]`,autoComplete:"off"}),(0,t.jsx)(n.K,{size:"sm",variant:"danger",onClick:()=>C(j),disabled:z||N.trim()!==e.name,children:z?"Working…":"stop"===j?"Stop":"Restart"}),(0,t.jsx)(n.K,{size:"sm",onClick:()=>{k(null),y("")},disabled:z,children:"Cancel"})]}):(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[!S&&(0,t.jsx)(n.K,{size:"sm",onClick:()=>C("start"),disabled:z,children:z?"Starting…":"Start"}),S&&(0,t.jsx)(n.K,{size:"sm",onClick:()=>k("restart"),disabled:z,children:"Restart"}),S&&(0,t.jsx)(n.K,{size:"sm",variant:"danger",onClick:()=>k("stop"),disabled:z,children:"Stop"})]})),l&&e.self&&(0,t.jsx)("p",{className:"text-[12.5px] text-ink-soft",children:"This is the container Watchbell runs in, so it can't be stopped or restarted from here."})]})})}e.s(["ContainersView",0,function({initial:e,owner:r}){let[o,l]=(0,a.useState)(e),[d,u]=(0,a.useState)(null),[x,f]=(0,a.useTransition)(),h=()=>f(async()=>{try{let e=await c();e.ok&&e.data?l(e.data.containers):s.c.error(e.ok?"No answer.":e.error)}catch{s.c.error(p)}});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 px-[18px] pb-2 pt-3",children:[(0,t.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[o.length," container",1===o.length?"":"s"]}),(0,t.jsx)(n.K,{size:"sm",onClick:h,disabled:x,children:x?"Refreshing…":"Refresh"})]}),0===o.length?(0,t.jsx)("p",{className:"px-[18px] pb-4 text-ink-soft",children:"No containers on this machine."}):(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsxs)("table",{className:"w-full text-[13px]",children:[(0,t.jsx)("thead",{className:"text-left text-[12px] text-ink-soft",children:(0,t.jsxs)("tr",{className:"border-y border-line",children:[(0,t.jsx)("th",{className:"px-[18px] py-2 font-medium",children:"Name"}),(0,t.jsx)("th",{className:"px-3 py-2 font-medium",children:"Status"}),(0,t.jsx)("th",{className:"px-3 py-2 font-medium max-[720px]:hidden",children:"Image"}),(0,t.jsx)("th",{className:"px-3 py-2 font-medium max-[720px]:hidden",children:"Ports"}),(0,t.jsx)("th",{className:"px-[18px] py-2"})]})}),(0,t.jsx)("tbody",{children:o.map(e=>(0,t.jsxs)("tr",{className:"border-b border-line last:border-0",children:[(0,t.jsxs)("td",{className:"px-[18px] py-2.5",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 font-medium",children:[(0,t.jsx)(i.Z,{state:"unhealthy"===e.health?"err":"restarting"===e.state||"starting"===e.health?"warn":"running"===e.state?"ok":"paused"===e.state?"paused":"off"}),e.name]}),e.self&&(0,t.jsx)("span",{className:"ml-1.5 text-[12px] text-ink-soft",children:"(Watchbell)"})]}),(0,t.jsx)("td",{className:"px-3 py-2.5 text-ink-soft",children:e.status||e.state}),(0,t.jsx)("td",{className:"px-3 py-2.5 font-mono text-[12px] text-ink-soft max-[720px]:hidden",children:e.image}),(0,t.jsx)("td",{className:"px-3 py-2.5 font-mono text-[12px] text-ink-soft max-[720px]:hidden",children:e.ports.join(", ")||"—"}),(0,t.jsx)("td",{className:"px-[18px] py-2.5 text-right",children:(0,t.jsx)(n.K,{size:"sm",onClick:()=>u(e),children:"Details"})})]},e.id))})]})}),d&&(0,t.jsx)(m,{container:d,owner:r,onClose:()=>u(null),onChanged:h})]})}],139065)},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),s=e.i(828376);e.s(["f",0,s],998218);var s=s,n=e.i(209977),r=e.i(921637),i=e.i(141708),o=e.i(593480),l=e.i(309169),d=s;e.s(["f",0,d],152744);var d=s,c=e.i(975157),u=e.i(271645),x=e.i(540886),p=e.i(552245);let m=u.forwardRef(function(e,t){let{render:a,className:s,disabled:n=!1,focusableWhenDisabled:r=!1,nativeButton:i=!0,style:o,...l}=e,{getButtonProps:d,buttonRef:c}=(0,x.f)({disabled:n,focusableWhenDisabled:r,native:i});return(0,p.a)("button",e,{state:{disabled:n},ref:[t,c],props:[l,d]})}),f=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function h({className:e,variant:a="default",size:s="default",...n}){return(0,t.jsx)(m,{"data-slot":"button",className:(0,c.f)(f({variant:a,size:s,className:e})),...n})}var g=e.i(456420);let v={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};v.node;let b=(0,g.f)(v);function j({...e}){return(0,t.jsx)(n.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...a}){return(0,t.jsx)(i.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:s=!0,...n}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n,children:[a,s&&(0,t.jsxs)(r.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(h,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(d.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(l.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>a=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:s,defaultVariants:o}=t,d=Object.keys(s).map(e=>{let t=null==a?void 0:a[e],r=null==o?void 0:o[e];if(null===t)return null;let i=n(t)||n(r);return s[e][i]}),l=a&&Object.entries(a).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return r(e,d,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...o,...l}[t]):({...o,...l})[t]===n})?[...e,n,r]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},857505,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(846696),a=e.i(46200),i=e.i(428325),s=e.i(95187);let o=(0,s.createServerReference)("00c18e59576db67f1a6974ea9e349ba282c046dad4",s.callServer,void 0,s.findSourceMapURL,"backUpNow"),d=(0,s.createServerReference)("0035528bdfecf5b607dc449376ef04758e6164bae3",s.callServer,void 0,s.findSourceMapURL,"disconnectDrive"),l=(0,s.createServerReference)("0059ec2f017eeb97aa49951f0bcaea4c634a7c16a8",s.callServer,void 0,s.findSourceMapURL,"startDriveConnect");e.s(["BackUpNowButton",0,function({monthLabel:e,disabled:a}){let[s,d]=(0,n.useTransition)(),l=(0,n.useRef)(!1);return(0,t.jsx)(i.K,{onClick:()=>{if(l.current)return;l.current=!0;let t=r.c.loading(`Backing up ${e} so far. It will appear here in a few seconds.`);d(async()=>{try{let e=await o();e.ok?r.c.success(e.message??"Saved to Google Drive.",{id:t}):r.c.error(e.error,{id:t})}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:t})}finally{l.current=!1}})},disabled:s||a,children:s?"Backing up…":"Back up now"})},"DisconnectDriveButton",0,function(){return(0,t.jsx)(a.f,{trigger:(0,t.jsx)(i.K,{size:"sm",children:"Disconnect"}),title:"Disconnect Google Drive?",body:"The console forgets its access and stops the monthly backups. The backups already in your Drive stay where they are.",cta:"Disconnect",danger:!0,onConfirm:async()=>{let e=await d();return{ok:e.ok,message:(e.ok?e.message:e.error)??""}}})},"DriveConnectButton",0,function({reconnect:e=!1,quiet:n=!1,size:r="md"}){return(0,t.jsx)(a.f,{trigger:(0,t.jsx)(i.K,{size:r,variant:n?"secondary":"primary",children:n?"Reconnect":e?"Reconnect Google Drive":"Connect Google Drive"}),title:e?"Reconnect Google Drive":"Connect Google Drive",body:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"mb-2",children:"Google will ask you to approve one permission:"}),(0,t.jsx)("p",{className:"mb-2 rounded-md border border-line bg-sunken px-3 py-2 text-ink-soft",children:"See, edit, create, and delete only the specific Google Drive files you use with this app."}),(0,t.jsxs)("ul",{className:"list-disc space-y-0.5 pl-5 text-ink-soft",children:[(0,t.jsx)("li",{children:"The console can't see any of your other files."}),(0,t.jsx)("li",{children:"It uses one folder: the backups folder it made before, or a new one named Watchbell backups."}),(0,t.jsx)("li",{children:"You can remove access any time in your Google Account settings."})]})]}),cta:"Continue to Google",onConfirm:async()=>{let e=await l();return e.ok&&e.data?(window.location.assign(e.data.url),{ok:!0,message:"Opening Google…"}):{ok:!1,message:e.ok?"Watchbell didn't answer. Check that it's still running, then try again.":e.error}}})}],857505)},46200,e=>{var t=e.i(843476),n=e.i(146874),r=e.i(239692),a=e.i(271645),i=e.i(846696),s=e.i(428325),o=e.i(500443),d=e.i(776639);e.s(["f",0,function({trigger:e,open:l,onOpenChange:c,title:u,body:g,cta:p,danger:f=!1,onConfirm:v}){let[x,m]=(0,a.useState)(!1),h=l??x,[b,y]=(0,a.useTransition)();function k(e){void 0===l&&m(e),c?.(e)}return(0,o.useHoldRefresh)(h),(0,t.jsxs)(d.N,{open:h,onOpenChange:e=>{b||k(e)},children:[void 0!==e&&((0,a.isValidElement)(e)?(0,t.jsx)(d.a,{render:e}):(0,t.jsx)(d.a,{children:e})),(0,t.jsxs)(d.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${f?"text-err":"text-ink-soft"}`,children:f?(0,t.jsx)(n.f,{size:19}):(0,t.jsx)(r.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.F,{className:"text-base",children:u}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:g})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(s.K,{onClick:()=>k(!1),disabled:b,children:"Keep as is"}),(0,t.jsx)(s.K,{variant:f?"danger":"primary",onClick:function(){y(async()=>{try{let e=await v();e.ok?(i.c.success(e.message),k(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":p})]})]})]})}])},776639,998218,152744,e=>{var t=e.i(843476),n=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,a=e.i(209977),i=e.i(921637),s=e.i(141708),o=e.i(593480),d=e.i(309169),l=r;e.s(["f",0,l],152744);var l=r,c=e.i(975157),u=e.i(271645),g=e.i(540886),p=e.i(552245);let f=u.forwardRef(function(e,t){let{render:n,className:r,disabled:a=!1,focusableWhenDisabled:i=!1,nativeButton:s=!0,style:o,...d}=e,{getButtonProps:l,buttonRef:c}=(0,g.f)({disabled:a,focusableWhenDisabled:i,native:s});return(0,p.a)("button",e,{state:{disabled:a},ref:[t,c],props:[d,l]})}),v=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function x({className:e,variant:n="default",size:r="default",...a}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,c.f)(v({variant:n,size:r,className:e})),...a})}var m=e.i(456420);let h={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};h.node;let b=(0,m.f)(h);function y({...e}){return(0,t.jsx)(a.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...n}){return(0,t.jsx)(s.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["N",0,function({...e}){return(0,t.jsx)(n.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:n,showCloseButton:r=!0,...a}){return(0,t.jsxs)(y,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a,children:[n,r&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(x,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...n}){return(0,t.jsx)(l.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...n})},"F",0,function({className:e,...n}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...n})},"a",0,function({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>a=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==a?void 0:a.class,null==a?void 0:a.className);let{variants:s,defaultVariants:o}=t,d=Object.keys(s).map(e=>{let t=null==a?void 0:a[e],r=null==o?void 0:o[e];if(null===t)return null;let i=n(t)||n(r);return s[e][i]}),l=a&&Object.entries(a).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return r(e,d,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...o,...l}[t]):({...o,...l})[t]===n})?[...e,n,r]:e},[]),null==a?void 0:a.class,null==a?void 0:a.className)}])},857505,e=>{var t=e.i(843476),n=e.i(271645),r=e.i(846696),a=e.i(46200),i=e.i(428325),s=e.i(95187);let o=(0,s.createServerReference)("0055ddaf62f40fa3044a23e6e17b0d4479db5fa164",s.callServer,void 0,s.findSourceMapURL,"backUpNow"),d=(0,s.createServerReference)("00b91aaa7bc652f2136f94ad872bc9c8d61cca61fa",s.callServer,void 0,s.findSourceMapURL,"disconnectDrive"),l=(0,s.createServerReference)("0045c56d92568eedf06fb4da00c9798e2e8ae890de",s.callServer,void 0,s.findSourceMapURL,"startDriveConnect");e.s(["BackUpNowButton",0,function({monthLabel:e,disabled:a}){let[s,d]=(0,n.useTransition)(),l=(0,n.useRef)(!1);return(0,t.jsx)(i.K,{onClick:()=>{if(l.current)return;l.current=!0;let t=r.c.loading(`Backing up ${e} so far. It will appear here in a few seconds.`);d(async()=>{try{let e=await o();e.ok?r.c.success(e.message??"Saved to Google Drive.",{id:t}):r.c.error(e.error,{id:t})}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:t})}finally{l.current=!1}})},disabled:s||a,children:s?"Backing up…":"Back up now"})},"DisconnectDriveButton",0,function(){return(0,t.jsx)(a.f,{trigger:(0,t.jsx)(i.K,{size:"sm",children:"Disconnect"}),title:"Disconnect Google Drive?",body:"The console forgets its access and stops the monthly backups. The backups already in your Drive stay where they are.",cta:"Disconnect",danger:!0,onConfirm:async()=>{let e=await d();return{ok:e.ok,message:(e.ok?e.message:e.error)??""}}})},"DriveConnectButton",0,function({reconnect:e=!1,quiet:n=!1,size:r="md"}){return(0,t.jsx)(a.f,{trigger:(0,t.jsx)(i.K,{size:r,variant:n?"secondary":"primary",children:n?"Reconnect":e?"Reconnect Google Drive":"Connect Google Drive"}),title:e?"Reconnect Google Drive":"Connect Google Drive",body:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"mb-2",children:"Google will ask you to approve one permission:"}),(0,t.jsx)("p",{className:"mb-2 rounded-md border border-line bg-sunken px-3 py-2 text-ink-soft",children:"See, edit, create, and delete only the specific Google Drive files you use with this app."}),(0,t.jsxs)("ul",{className:"list-disc space-y-0.5 pl-5 text-ink-soft",children:[(0,t.jsx)("li",{children:"The console can't see any of your other files."}),(0,t.jsx)("li",{children:"It uses one folder: the backups folder it made before, or a new one named Watchbell backups."}),(0,t.jsx)("li",{children:"You can remove access any time in your Google Account settings."})]})]}),cta:"Continue to Google",onConfirm:async()=>{let e=await l();return e.ok&&e.data?(window.location.assign(e.data.url),{ok:!0,message:"Opening Google…"}):{ok:!1,message:e.ok?"Watchbell didn't answer. Check that it's still running, then try again.":e.error}}})}],857505)},46200,e=>{var t=e.i(843476),n=e.i(146874),r=e.i(239692),a=e.i(271645),i=e.i(846696),s=e.i(428325),o=e.i(500443),d=e.i(776639);e.s(["f",0,function({trigger:e,open:l,onOpenChange:c,title:u,body:g,cta:p,danger:f=!1,onConfirm:v}){let[x,m]=(0,a.useState)(!1),h=l??x,[b,y]=(0,a.useTransition)();function k(e){void 0===l&&m(e),c?.(e)}return(0,o.useHoldRefresh)(h),(0,t.jsxs)(d.N,{open:h,onOpenChange:e=>{b||k(e)},children:[void 0!==e&&((0,a.isValidElement)(e)?(0,t.jsx)(d.a,{render:e}):(0,t.jsx)(d.a,{children:e})),(0,t.jsxs)(d.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${f?"text-err":"text-ink-soft"}`,children:f?(0,t.jsx)(n.f,{size:19}):(0,t.jsx)(r.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.F,{className:"text-base",children:u}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:g})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(s.K,{onClick:()=>k(!1),disabled:b,children:"Keep as is"}),(0,t.jsx)(s.K,{variant:f?"danger":"primary",onClick:function(){y(async()=>{try{let e=await v();e.ok?(i.c.success(e.message),k(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:b,children:b?"Working…":p})]})]})]})}])},776639,998218,152744,e=>{var t=e.i(843476),n=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,a=e.i(209977),i=e.i(921637),s=e.i(141708),o=e.i(593480),d=e.i(309169),l=r;e.s(["f",0,l],152744);var l=r,c=e.i(975157),u=e.i(271645),g=e.i(540886),p=e.i(552245);let f=u.forwardRef(function(e,t){let{render:n,className:r,disabled:a=!1,focusableWhenDisabled:i=!1,nativeButton:s=!0,style:o,...d}=e,{getButtonProps:l,buttonRef:c}=(0,g.f)({disabled:a,focusableWhenDisabled:i,native:s});return(0,p.a)("button",e,{state:{disabled:a},ref:[t,c],props:[d,l]})}),v=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function x({className:e,variant:n="default",size:r="default",...a}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,c.f)(v({variant:n,size:r,className:e})),...a})}var m=e.i(456420);let h={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};h.node;let b=(0,m.f)(h);function y({...e}){return(0,t.jsx)(a.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...n}){return(0,t.jsx)(s.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n})}e.s(["N",0,function({...e}){return(0,t.jsx)(n.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:n,showCloseButton:r=!0,...a}){return(0,t.jsxs)(y,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a,children:[n,r&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(x,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(b,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...n}){return(0,t.jsx)(l.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...n})},"F",0,function({className:e,...n}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...n})},"a",0,function({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.f;e.s(["f",0,(e,t)=>n=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:s,defaultVariants:o}=t,d=Object.keys(s).map(e=>{let t=null==n?void 0:n[e],r=null==o?void 0:o[e];if(null===t)return null;let i=a(t)||a(r);return s[e][i]}),l=n&&Object.entries(n).reduce((e,t)=>{let[a,r]=t;return void 0===r||(e[a]=r),e},{});return r(e,d,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:a,className:r,...n}=t;return Object.entries(n).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...o,...l}[t]):({...o,...l})[t]===a})?[...e,a,r]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}])},149082,e=>{var t=e.i(843476),a=e.i(271645),r=e.i(846696),n=e.i(46200),i=e.i(95187);let s=(0,i.createServerReference)("605825c95728bb5513b794c0bd6cec76fcc371bfdb",i.callServer,void 0,i.findSourceMapURL,"setSectionOn");e.s(["SectionSwitch",0,function({section:e,label:i,state:o,stops:d}){let[l,c]=(0,a.useTransition)(),[u,g]=(0,a.useState)({server:o,value:"on"===o}),p=u.server===o?u:{server:o,value:"on"===o};p!==u&&g(p);let f=p.value,v=e=>g(t=>({...t,value:e})),[x,b]=(0,a.useState)(!1),m="waiting"===o;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("label",{className:`relative inline-flex items-center ${m?"cursor-not-allowed":"cursor-pointer"}`,title:`${i}: ${m?"not connected yet":f?"on":"off"}`,children:[(0,t.jsx)("input",{type:"checkbox",role:"switch",className:"peer sr-only",checked:f,disabled:l||m,"aria-label":`${i} section`,onChange:t=>{t.target.checked?(v(!0),c(async()=>{let t=await s(e,!0);t.ok?r.c.success(t.message??"Saved."):(v(!1),r.c.error(t.error))})):b(!0)}}),(0,t.jsx)("span",{className:"h-5 w-9 rounded-full bg-line-strong transition-colors peer-checked:bg-brand peer-focus-visible:ring-2 peer-focus-visible:ring-brand/40 peer-disabled:opacity-60"}),(0,t.jsx)("span",{className:"absolute left-0.5 top-0.5 size-4 rounded-full bg-surface transition-transform peer-checked:translate-x-4"})]}),(0,t.jsx)(n.f,{open:x,onOpenChange:b,title:`Turn ${i} off?`,body:`${d} Its data is kept.`,cta:`Turn ${i} off`,danger:"hosting"===e,onConfirm:async()=>{let t=await s(e,!1);return t.ok&&v(!1),{ok:t.ok,message:(t.ok?t.message:t.error)??""}}})]})}],149082)},46200,e=>{var t=e.i(843476),a=e.i(146874),r=e.i(239692),n=e.i(271645),i=e.i(846696),s=e.i(428325),o=e.i(500443),d=e.i(776639);e.s(["f",0,function({trigger:e,open:l,onOpenChange:c,title:u,body:g,cta:p,danger:f=!1,onConfirm:v}){let[x,b]=(0,n.useState)(!1),m=l??x,[h,j]=(0,n.useTransition)();function k(e){void 0===l&&b(e),c?.(e)}return(0,o.useHoldRefresh)(m),(0,t.jsxs)(d.N,{open:m,onOpenChange:e=>{h||k(e)},children:[void 0!==e&&((0,n.isValidElement)(e)?(0,t.jsx)(d.a,{render:e}):(0,t.jsx)(d.a,{children:e})),(0,t.jsxs)(d.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:`grid size-9 shrink-0 place-items-center rounded-lg bg-sunken ${f?"text-err":"text-ink-soft"}`,children:f?(0,t.jsx)(a.f,{size:19}):(0,t.jsx)(r.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.F,{className:"text-base",children:u}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:g})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)(s.K,{onClick:()=>k(!1),disabled:h,children:"Keep as is"}),(0,t.jsx)(s.K,{variant:f?"danger":"primary",onClick:function(){j(async()=>{try{let e=await v();e.ok?(i.c.success(e.message),k(!1)):i.c.error(e.message)}catch{i.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:h,children:h?"Working…":p})]})]})]})}])},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),r=e.i(828376);e.s(["f",0,r],998218);var r=r,n=e.i(209977),i=e.i(921637),s=e.i(141708),o=e.i(593480),d=e.i(309169),l=r;e.s(["f",0,l],152744);var l=r,c=e.i(975157),u=e.i(271645),g=e.i(540886),p=e.i(552245);let f=u.forwardRef(function(e,t){let{render:a,className:r,disabled:n=!1,focusableWhenDisabled:i=!1,nativeButton:s=!0,style:o,...d}=e,{getButtonProps:l,buttonRef:c}=(0,g.f)({disabled:n,focusableWhenDisabled:i,native:s});return(0,p.a)("button",e,{state:{disabled:n},ref:[t,c],props:[d,l]})}),v=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function x({className:e,variant:a="default",size:r="default",...n}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,c.f)(v({variant:a,size:r,className:e})),...n})}var b=e.i(456420);let m={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};m.node;let h=(0,b.f)(m);function j({...e}){return(0,t.jsx)(n.f.Portal,{"data-slot":"dialog-portal",...e})}function k({className:e,...a}){return(0,t.jsx)(s.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,c.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:r=!0,...n}){return(0,t.jsxs)(j,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)(o.f.Popup,{"data-slot":"dialog-content",className:(0,c.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...n,children:[a,r&&(0,t.jsxs)(i.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(x,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(h,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(l.Description,{"data-slot":"dialog-description",className:(0,c.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,c.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let t=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,t],590246)},617708,e=>{let t=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,t],617708)},518716,e=>{let t=(0,e.i(33550).f)("outline","refresh","Refresh",[["path",{d:"M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4",key:"svg-0"}],["path",{d:"M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4",key:"svg-1"}]]);e.s(["f",0,t],518716)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var o;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:i}=t,d=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==i?void 0:i[e];if(null===t)return null;let o=a(t)||a(n);return r[e][o]}),c=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,d,null==t||null==(o=t.compoundVariants)?void 0:o.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...i,...c}[t]):({...i,...c})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},66930,e=>{var t=e.i(843476),a=e.i(49601),n=e.i(386770),s=e.i(38156),o=e.i(213756),r=e.i(590246),i=e.i(504962),d=e.i(617708);let c=(0,e.i(33550).f)("outline","triangle","Triangle",[["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-0"}]]);var l=e.i(271645),u=e.i(846696),p=e.i(54131),h=e.i(428325),f=e.i(220806),m=e.i(776639);let g={vercel:{createUrl:"https://vercel.com/account/settings/tokens",needs:["Scope: your account","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"Vercel",icon:"triangle",credentialKind:"Access token",accessNote:"Full account (no read-only option)",multiAccount:!1,note:"One account. Tokens can't be read-only, so actions always ask for confirmation."},supabase:{createUrl:"https://supabase.com/dashboard/account/tokens",needs:["Projects read: status, region, Postgres version","Project admin read: service health","Analytics usage read: last API traffic and auto-pause risk","Organization admin read: free plan, for the free-slot count","Database read: database size, once a day (checked at the first daily read, because testing it would query your database)","Project admin write, only if you want pause and restore (stage 6)"],checked:"2026-10-21",name:"Supabase",icon:"bolt",credentialKind:"Scoped access token",accessNote:"Projects, health, analytics, organization and database read",multiAccount:!0,note:"Each account gets 2 free active projects. Use scoped tokens: read-only, plus project admin if you want pause and restore."},neon:{createUrl:"https://console.neon.tech/app/settings/api-keys",needs:["A personal or project API key. Neon has no read-only keys."],checked:"2026-10-21",name:"Neon",icon:"database",credentialKind:"API key",accessNote:"All projects (no read-only option)",multiAccount:!0,note:"No read-only keys exist, so keys stay on the server."},firebase:{createUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts",needs:["Roles on each project: firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer","Turn on the Cloud Monitoring API in the project for reads, writes, and deletes today"],checked:"2026-10-21",name:"Firebase",icon:"flame",credentialKind:"Service account JSON",accessNote:"firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer",multiAccount:!0,json:!0,note:"One service account per Google account, with viewer roles only."},turso:{createUrl:"https://app.turso.tech/account/api-tokens",needs:["A platform API token limited to one organization (turso auth api-tokens mint watchbell --org <your-org>)","Turso has no read-only platform tokens; the console only lists databases and reads usage","Not a database token: database and group tokens can't list anything"],checked:"2026-10-21",name:"Turso",icon:"database",credentialKind:"Platform API token",accessNote:"One organization: databases and usage (no read-only option)",multiAccount:!0,note:"Lists databases and reads this month's rows read and written and storage against the free plan. Keys stay on the server."},upstash:{createUrl:"https://console.upstash.com/account/api",needs:["A Developer API key created as Read Only (Account → Management API)","Paste it as your-email:API_KEY (Upstash signs API calls with the account email and the key)","Native Upstash accounts only: a database made through the Vercel integration can't be read this way"],checked:"2026-10-21",name:"Upstash",icon:"bolt",credentialKind:"Developer API key",accessNote:"Read-only Developer API key: Redis databases and stats",multiAccount:!0,note:"Redis databases with their region, commands this month and data size against the free plan. QStash is budgeted in Settings."},cloudflare:{createUrl:"https://dash.cloudflare.com/profile/api-tokens",needs:["Zone: Read, DNS: Read, SSL and Certificates: Read","Zone Settings: Read, to show each zone's SSL/TLS mode (optional)","Zone → DNS → Edit, only if the owner wants to edit records from the DNS records page (never create or delete)","Account → D1 → Read, to watch Cloudflare D1 databases (size and tables); add Account → Account Analytics → Read for their rows read and written (optional)","Not needed: Registrar (domain expiry comes from RDAP)"],checked:"2026-10-21",name:"Cloudflare",icon:"cloud",credentialKind:"API token",accessNote:"Zone, DNS, SSL and Certificates read",multiAccount:!0,note:"A read-only API token is enough to watch. Add DNS Edit only to change records from the console. Domain expiry comes from RDAP, so Registrar access isn't needed."},github:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A fine-grained token (it starts with github_pat_); classic tokens can't be limited to read-only","Repository access: all repositories, or only the ones your apps deploy from","Repository permissions, each Read-only: Metadata, Contents, Actions. Nothing else","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub",icon:"github",credentialKind:"Fine-grained token",accessNote:"Metadata, Contents and Actions read",multiAccount:!1,note:"A read-only fine-grained token. Sync lists your repositories; apps are linked to theirs, and their GitHub Actions status shows on the app page."},github_write:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A separate fine-grained token (it starts with github_pat_), not the read-only one above","Repository access: Only select repositories, the ones you want update PRs for","Repository permissions: Contents: Read and write, Pull requests: Read and write, Commit statuses: Read (for automatic merges). Nothing else (Metadata read is added by GitHub)","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub (PR write)",icon:"github",credentialKind:"Fine-grained token",accessNote:"Contents and Pull requests read and write, Commit statuses read, chosen repositories",multiAccount:!1,note:"Optional. Opens pull requests that update vulnerable packages (when you approve one, or by itself with Automatic security fixes) and, with automatic fixes and auto-rollback on, squash-merges Watchbell's own PRs once CI, the Vercel preview and its smoke test pass. It never pushes to the default branch directly."}};var x=e.i(95187);let b=(0,x.createServerReference)("7017af1dea72f0b17ab009ffd59df31d28d9c86b2b",x.callServer,void 0,x.findSourceMapURL,"addAccount"),v=(0,x.createServerReference)("6058ce5a7dffa224d00f3b2b0817ccf42099ddaf4d",x.callServer,void 0,x.findSourceMapURL,"checkCredential"),k=(0,x.createServerReference)("60745893fd7a4e53871743f23cbfd00c1be6d712a4",x.callServer,void 0,x.findSourceMapURL,"replaceCredential"),y={triangle:c,bolt:a.f,database:o.f,flame:i.f,cloud:s.f,github:n.f};function j({provider:e,replace:a,onDone:n,onCancel:s}){let o=g[e],[i,d]=(0,l.useTransition)(),[c,p]=(0,l.useState)(""),[m,x]=(0,l.useState)(""),[y,w]=(0,l.useState)({}),[N,S]=(0,l.useState)(null),A=`${e}-${a?.id??"new"}`,C=o.credentialKind.toLowerCase();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[!a&&(0,t.jsx)(h.O,{id:`${A}-name`,label:"Account name",help:"Shown next to everything that comes from this account.",error:y.label,children:(0,t.jsx)("input",{id:`${A}-name`,value:c,onChange:e=>p(e.target.value),placeholder:"vercel"===e?"acme":"utama",className:h.S})}),(0,t.jsx)(h.O,{id:`${A}-cred`,label:o.credentialKind,error:y.credential,help:(0,t.jsxs)("a",{href:o.createUrl,target:"_blank",rel:"noopener noreferrer",children:[o.guide?"How to create one":"Create one"," ",(0,t.jsx)(r.f,{size:12,className:"inline"})]}),children:o.json?(0,t.jsx)("textarea",{id:`${A}-cred`,spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:m,onChange:e=>x(e.target.value),className:`${h.S} min-h-24 font-mono text-[12.5px]`,placeholder:'{ "type": "service_account", "client_email": "…", "private_key": "…" }'}):(0,t.jsx)("input",{id:`${A}-cred`,type:"password",spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:m,onChange:e=>x(e.target.value),className:h.S,placeholder:`Paste the ${C}`})}),(0,t.jsxs)("div",{className:"mb-3.5 rounded-lg border border-line bg-surface-2 px-3 py-2.5 text-[13px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"It needs"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px] text-ink-soft",children:o.needs.map(e=>(0,t.jsx)("li",{children:e},e))})]}),N&&(0,t.jsxs)("div",{className:`mb-3.5 rounded-lg px-3 py-2.5 text-[13px] ${N.ok?"bg-ok-soft":"bg-err-soft"}`,role:"status",children:[(0,t.jsx)(f.F,{state:N.ok?"ok":"err",children:N.ok?"Connected":"Couldn't connect"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px]",children:N.ok?[N.summary,...N.details].map(e=>(0,t.jsx)("li",{children:e},e)):(0,t.jsx)("li",{children:N.error})})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)("span",{className:"mr-auto text-[12.5px] text-ink-faint",children:"Save tests the credential first."}),(0,t.jsx)(h.K,{onClick:function(){d(async()=>{let t=await v(e,m);w(t.ok?{}:t.fieldErrors??{}),S(t.ok?t.data??null:t.fieldErrors?null:{ok:!1,kind:"transient",error:t.error})})},disabled:i,children:"Test connection"}),s&&(0,t.jsx)(h.K,{onClick:s,disabled:i,children:"Cancel"}),(0,t.jsx)(h.K,{variant:"primary",onClick:function(){d(async()=>{let t=a?await k(a.id,m):await b(e,c,m);w(t.ok?{}:t.fieldErrors??{}),t.data&&S(t.data),t.ok?(u.c.success(t.message),p(""),x(""),S(null),n?.()):t.fieldErrors||t.data||u.c.error(t.error)})},disabled:i,children:i?"Working…":"Save"})]})]})}e.s(["AccountDialog",0,function({provider:e,replace:a,triggerLabel:n,primary:s}){let o=g[e],r=y[o.icon],[i,c]=(0,l.useState)(!1),[u,f]=(0,l.useState)(0),x=(0,p.useMask)();function b(e){c(e),e||f(e=>e+1)}return(0,t.jsxs)(m.N,{open:i,onOpenChange:b,children:[(0,t.jsxs)(m.a,{className:(0,h.R)({size:"sm",variant:s?"primary":"secondary"}),children:[!a&&!n&&(0,t.jsx)(d.f,{size:16}),n??(a?"Replace credential":"Add account")]}),(0,t.jsxs)(m.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(r,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(m.F,{className:"text-base",children:a?`Replace credential \xb7 ${o.name} \xb7 ${x("account",a.label)}`:`Connect ${o.name}`}),(0,t.jsx)(m.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:a?"The old credential is deleted as soon as the new one works.":"The credential is encrypted before it's saved and never shown again."})]})]}),(0,t.jsx)(j,{provider:e,replace:a,onDone:()=>b(!1),onCancel:()=>b(!1)},u)]})]})},"AccountForm",0,j,"PROVIDER_ICONS",0,y],66930)},618897,e=>{var t=e.i(843476),a=e.i(518716),n=e.i(271645),s=e.i(846696),o=e.i(54131),r=e.i(428325),i=e.i(364440),d=e.i(776639),c=e.i(95187);let l=(0,c.createServerReference)("70037d53496cc62f6ec4efb9570df1f702d1795263",c.callServer,void 0,c.findSourceMapURL,"saveSyncSelection"),u=(0,c.createServerReference)("4051ccbefdaeeb11ed66c4ad3e80f104349dd996bc",c.callServer,void 0,c.findSourceMapURL,"syncNow"),p={app:{what:"projects",looking:"Looking for projects in every team this token can read…",none:"This Vercel account has no projects yet."},zone:{what:"zones",looking:"Looking for zones in this Cloudflare account…",none:"This Cloudflare account has no zones yet."},supabase_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},neon_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},firestore:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},turso_database:{what:"databases",looking:"Looking for databases in the organizations this token can read…",none:"This Turso account has no databases yet."},upstash_redis:{what:"databases",looking:"Looking for Redis databases this key can read…",none:"This Upstash account has no Redis databases yet."}};e.s(["SyncButton",0,function({accountId:e,title:c,label:h="Sync",primary:f,watchNew:m,kind:g="app"}){let x=p[g],b=(0,o.useMask)(),[v,k]=(0,n.useState)(!1),[y,j]=(0,n.useState)(null),[w,N]=(0,n.useState)(null),[S,A]=(0,n.useState)(new Set),[C,R]=(0,n.useState)(m),[z,P]=(0,n.useTransition)(),[T,M]=(0,n.useTransition)(),U=(0,n.useMemo)(()=>y?.rows??[],[y]);return(0,t.jsxs)(d.N,{open:v,onOpenChange:function(t){k(t),t&&(j(null),N(null),A(new Set),R(m),P(async()=>{let t=await u(e);t.ok&&t.data?(j(t.data),A(new Set(t.data.rows.filter(e=>e.monitored).map(e=>e.id)))):N(t.ok?"Sync returned nothing.":t.error)}))},children:[(0,t.jsxs)(d.a,{className:(0,r.R)({size:"sm",variant:f?"primary":"secondary"}),children:[(0,t.jsx)(a.f,{size:15,"aria-hidden":!0})," ",h]}),(0,t.jsxs)(d.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]","aria-label":"Sync resources",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(d.F,{className:"text-base",children:["Sync ",b("text",c)]}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:y?`Found ${U.length} resources just now. Pick the ones the console should watch. Unticked ones are ignored and cost nothing.`:w?`The list of ${x.what} could not be loaded.`:x.looking})]})]}),(0,t.jsxs)("div",{className:"px-[18px] pb-2",children:[w&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"danger",title:"Sync didn't finish",children:w})}),y&&y.skippedTeams.length>0&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsxs)(r.M,{tone:"info",title:"Some teams were skipped",children:["This token can't read ",y.skippedTeams.join(", "),". Create a token with access to them to include their projects."]})}),y?.overLimit&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"warning",title:"Monitor limit reached",children:y.overLimit})}),z&&(0,t.jsx)("p",{className:"py-6 text-center text-[13px] text-ink-soft",children:"Syncing…"}),y&&0===U.length&&(0,t.jsx)(r.k,{title:"Nothing found",children:x.none}),y&&U.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex gap-1.5",children:[(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set(U.map(e=>e.id))),children:"Select all"}),(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set),children:"Select none"})]}),(0,t.jsx)("div",{className:"max-h-[360px] overflow-y-auto rounded-md border border-line",children:U.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-3 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:S.has(e.id),onChange:()=>{var t;return t=e.id,void A(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}}),(0,t.jsx)(i.f,{kind:e.badge}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:"db"===e.badge||"fs"===e.badge?(0,t.jsx)(o.DbName,{id:e.id,name:e.name,alias:e.alias}):(0,t.jsx)(o.Masked,{kind:"app"===e.badge?"app":"text",real:e.name})}),(0,t.jsx)("span",{className:"block truncate text-[12px] text-ink-faint",children:(0,t.jsx)(o.Masked,{kind:"text",real:e.sub})})]}),e.fresh&&(0,t.jsx)("span",{className:"rounded bg-brand-soft px-1.5 py-px font-mono text-[10.5px] text-brand",children:"New"})]},e.id))})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 border-t border-line px-[18px] py-3",children:[(0,t.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[S.size," of ",U.length," selected"]}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[12.5px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:C,onChange:e=>R(e.target.checked)}),"Watch new ones automatically"]}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsx)(r.K,{onClick:()=>k(!1),children:"Cancel"}),(0,t.jsx)(r.K,{variant:"primary",disabled:!y||T,onClick:function(){M(async()=>{let t=await l(e,[...S],C);if(!t.ok)return void s.c.error(t.error);let a=`Watching ${S.size} of ${y?.rows.length??0} resources in ${b("text",c)}. Checks start on the next collector run.`,n=t.data?.overLimit;n?s.c.warning("Selection saved",{description:`${a} ${n}`}):s.c.success("Selection saved",{description:a}),k(!1)})},children:T?"Saving…":"Save selection"})]})]})]})]})}],618897)},364440,e=>{var t=e.i(843476);e.i(522016),e.i(54131);var a=e.i(975157);let n={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};e.s(["f",0,function({kind:e}){let[s,o]=n[e];return(0,t.jsx)("span",{className:(0,a.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",o),children:s})}])},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),o=e.i(921637),r=e.i(141708),i=e.i(593480),d=e.i(309169),c=n;e.s(["f",0,c],152744);var c=n,l=e.i(975157),u=e.i(271645),p=e.i(540886),h=e.i(552245);let f=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:o=!1,nativeButton:r=!0,style:i,...d}=e,{getButtonProps:c,buttonRef:l}=(0,p.f)({disabled:s,focusableWhenDisabled:o,native:r});return(0,h.a)("button",e,{state:{disabled:s},ref:[t,l],props:[d,c]})}),m=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function g({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(f,{"data-slot":"button",className:(0,l.f)(m({variant:a,size:n,className:e})),...s})}var x=e.i(456420);let b={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};b.node;let v=(0,x.f)(b);function k({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,l.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(k,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(i.f.Popup,{"data-slot":"dialog-content",className:(0,l.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(o.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(g,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(v,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(c.Description,{"data-slot":"dialog-description",className:(0,l.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,l.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,590246,e=>{let t=(0,e.i(33550).f)("outline","external-link","ExternalLink",[["path",{d:"M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6",key:"svg-0"}],["path",{d:"M11 13l9 -9",key:"svg-1"}],["path",{d:"M15 4h5v5",key:"svg-2"}]]);e.s(["f",0,t],590246)},617708,e=>{let t=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,t],617708)},518716,e=>{let t=(0,e.i(33550).f)("outline","refresh","Refresh",[["path",{d:"M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4",key:"svg-0"}],["path",{d:"M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4",key:"svg-1"}]]);e.s(["f",0,t],518716)},225913,e=>{var t=e.i(207670);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.f;e.s(["f",0,(e,t)=>s=>{var o;if((null==t?void 0:t.variants)==null)return n(e,null==s?void 0:s.class,null==s?void 0:s.className);let{variants:r,defaultVariants:i}=t,d=Object.keys(r).map(e=>{let t=null==s?void 0:s[e],n=null==i?void 0:i[e];if(null===t)return null;let o=a(t)||a(n);return r[e][o]}),c=s&&Object.entries(s).reduce((e,t)=>{let[a,n]=t;return void 0===n||(e[a]=n),e},{});return n(e,d,null==t||null==(o=t.compoundVariants)?void 0:o.reduce((e,t)=>{let{class:a,className:n,...s}=t;return Object.entries(s).every(e=>{let[t,a]=e;return Array.isArray(a)?a.includes({...i,...c}[t]):({...i,...c})[t]===a})?[...e,a,n]:e},[]),null==s?void 0:s.class,null==s?void 0:s.className)}])},66930,e=>{var t=e.i(843476),a=e.i(49601),n=e.i(386770),s=e.i(38156),o=e.i(213756),r=e.i(590246),i=e.i(504962),d=e.i(617708);let c=(0,e.i(33550).f)("outline","triangle","Triangle",[["path",{d:"M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0",key:"svg-0"}]]);var l=e.i(271645),u=e.i(846696),p=e.i(54131),h=e.i(428325),m=e.i(220806),f=e.i(776639);let g={vercel:{createUrl:"https://vercel.com/account/settings/tokens",needs:["Scope: your account","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"Vercel",icon:"triangle",credentialKind:"Access token",accessNote:"Full account (no read-only option)",multiAccount:!1,note:"One account. Tokens can't be read-only, so actions always ask for confirmation."},supabase:{createUrl:"https://supabase.com/dashboard/account/tokens",needs:["Projects read: status, region, Postgres version","Project admin read: service health","Analytics usage read: last API traffic and auto-pause risk","Organization admin read: free plan, for the free-slot count","Database read: database size, once a day (checked at the first daily read, because testing it would query your database)","Project admin write, only if you want pause and restore (stage 6)"],checked:"2026-10-21",name:"Supabase",icon:"bolt",credentialKind:"Scoped access token",accessNote:"Projects, health, analytics, organization and database read",multiAccount:!0,note:"Each account gets 2 free active projects. Use scoped tokens: read-only, plus project admin if you want pause and restore."},neon:{createUrl:"https://console.neon.tech/app/settings/api-keys",needs:["A personal or project API key. Neon has no read-only keys."],checked:"2026-10-21",name:"Neon",icon:"database",credentialKind:"API key",accessNote:"All projects (no read-only option)",multiAccount:!0,note:"No read-only keys exist, so keys stay on the server."},firebase:{createUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts",needs:["Roles on each project: firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer","Turn on the Cloud Monitoring API in the project for reads, writes, and deletes today"],checked:"2026-10-21",name:"Firebase",icon:"flame",credentialKind:"Service account JSON",accessNote:"firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer",multiAccount:!0,json:!0,note:"One service account per Google account, with viewer roles only."},turso:{createUrl:"https://app.turso.tech/account/api-tokens",needs:["A platform API token limited to one organization (turso auth api-tokens mint watchbell --org <your-org>)","Turso has no read-only platform tokens; the console only lists databases and reads usage","Not a database token: database and group tokens can't list anything"],checked:"2026-10-21",name:"Turso",icon:"database",credentialKind:"Platform API token",accessNote:"One organization: databases and usage (no read-only option)",multiAccount:!0,note:"Lists databases and reads this month's rows read and written and storage against the free plan. Keys stay on the server."},upstash:{createUrl:"https://console.upstash.com/account/api",needs:["A Developer API key created as Read Only (Account → Management API)","Paste it as your-email:API_KEY (Upstash signs API calls with the account email and the key)","Native Upstash accounts only: a database made through the Vercel integration can't be read this way"],checked:"2026-10-21",name:"Upstash",icon:"bolt",credentialKind:"Developer API key",accessNote:"Read-only Developer API key: Redis databases and stats",multiAccount:!0,note:"Redis databases with their region, commands this month and data size against the free plan. QStash is budgeted in Settings."},cloudflare:{createUrl:"https://dash.cloudflare.com/profile/api-tokens",needs:["Zone: Read, DNS: Read, SSL and Certificates: Read","Zone Settings: Read, to show each zone's SSL/TLS mode (optional)","Zone → DNS → Edit, only if the owner wants to edit records from the DNS records page (never create or delete)","Account → D1 → Read, to watch Cloudflare D1 databases (size and tables); add Account → Account Analytics → Read for their rows read and written (optional)","Not needed: Registrar (domain expiry comes from RDAP)"],checked:"2026-10-21",name:"Cloudflare",icon:"cloud",credentialKind:"API token",accessNote:"Zone, DNS, SSL and Certificates read",multiAccount:!0,note:"A read-only API token is enough to watch. Add DNS Edit only to change records from the console. Domain expiry comes from RDAP, so Registrar access isn't needed."},github:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A fine-grained token (it starts with github_pat_); classic tokens can't be limited to read-only","Repository access: all repositories, or only the ones your apps deploy from","Repository permissions, each Read-only: Metadata, Contents, Actions. Nothing else","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub",icon:"github",credentialKind:"Fine-grained token",accessNote:"Metadata, Contents and Actions read",multiAccount:!1,note:"A read-only fine-grained token. Sync lists your repositories; apps are linked to theirs, and their GitHub Actions status shows on the app page."},github_write:{createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A separate fine-grained token (it starts with github_pat_), not the read-only one above","Repository access: Only select repositories, the ones you want update PRs for","Repository permissions: Contents: Read and write, Pull requests: Read and write, Commit statuses: Read (for automatic merges). Nothing else (Metadata read is added by GitHub)","An expiry date. The console warns you 14 days before it ends."],checked:"2026-10-21",name:"GitHub (PR write)",icon:"github",credentialKind:"Fine-grained token",accessNote:"Contents and Pull requests read and write, Commit statuses read, chosen repositories",multiAccount:!1,note:"Optional. Opens pull requests that update vulnerable packages (when you approve one, or by itself with Automatic security fixes) and, with automatic fixes and auto-rollback on, squash-merges Watchbell's own PRs once CI, the Vercel preview and its smoke test pass. It never pushes to the default branch directly."}};var x=e.i(95187);let b=(0,x.createServerReference)("70c12c81152147f3dd4dda167e34045b4c401e4a8c",x.callServer,void 0,x.findSourceMapURL,"addAccount"),v=(0,x.createServerReference)("60cf3908ed994df7fb02148bdbdf20653d9e8ae8bc",x.callServer,void 0,x.findSourceMapURL,"checkCredential"),k=(0,x.createServerReference)("602ba8c94e1dd96e855e5ea6994b69f832c8ab0385",x.callServer,void 0,x.findSourceMapURL,"replaceCredential"),y={triangle:c,bolt:a.f,database:o.f,flame:i.f,cloud:s.f,github:n.f};function j({provider:e,replace:a,onDone:n,onCancel:s}){let o=g[e],[i,d]=(0,l.useTransition)(),[c,p]=(0,l.useState)(""),[f,x]=(0,l.useState)(""),[y,w]=(0,l.useState)({}),[N,S]=(0,l.useState)(null),A=`${e}-${a?.id??"new"}`,C=o.credentialKind.toLowerCase();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[!a&&(0,t.jsx)(h.O,{id:`${A}-name`,label:"Account name",help:"Shown next to everything that comes from this account.",error:y.label,children:(0,t.jsx)("input",{id:`${A}-name`,value:c,onChange:e=>p(e.target.value),placeholder:"vercel"===e?"acme":"utama",className:h.S})}),(0,t.jsx)(h.O,{id:`${A}-cred`,label:o.credentialKind,error:y.credential,help:(0,t.jsxs)("a",{href:o.createUrl,target:"_blank",rel:"noopener noreferrer",children:[o.guide?"How to create one":"Create one"," ",(0,t.jsx)(r.f,{size:12,className:"inline"})]}),children:o.json?(0,t.jsx)("textarea",{id:`${A}-cred`,spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:f,onChange:e=>x(e.target.value),className:`${h.S} min-h-24 font-mono text-[12.5px]`,placeholder:'{ "type": "service_account", "client_email": "…", "private_key": "…" }'}):(0,t.jsx)("input",{id:`${A}-cred`,type:"password",spellCheck:!1,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off","data-gramm":"false",value:f,onChange:e=>x(e.target.value),className:h.S,placeholder:`Paste the ${C}`})}),(0,t.jsxs)("div",{className:"mb-3.5 rounded-lg border border-line bg-surface-2 px-3 py-2.5 text-[13px]",children:[(0,t.jsx)("b",{className:"font-medium",children:"It needs"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px] text-ink-soft",children:o.needs.map(e=>(0,t.jsx)("li",{children:e},e))})]}),N&&(0,t.jsxs)("div",{className:`mb-3.5 rounded-lg px-3 py-2.5 text-[13px] ${N.ok?"bg-ok-soft":"bg-err-soft"}`,role:"status",children:[(0,t.jsx)(m.F,{state:N.ok?"ok":"err",children:N.ok?"Connected":"Couldn't connect"}),(0,t.jsx)("ul",{className:"mt-1 list-disc pl-[18px]",children:N.ok?[N.summary,...N.details].map(e=>(0,t.jsx)("li",{children:e},e)):(0,t.jsx)("li",{children:N.error})})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,t.jsx)("span",{className:"mr-auto text-[12.5px] text-ink-faint",children:"Save tests the credential first."}),(0,t.jsx)(h.K,{onClick:function(){d(async()=>{let t=await v(e,f);w(t.ok?{}:t.fieldErrors??{}),S(t.ok?t.data??null:t.fieldErrors?null:{ok:!1,kind:"transient",error:t.error})})},disabled:i,children:"Test connection"}),s&&(0,t.jsx)(h.K,{onClick:s,disabled:i,children:"Cancel"}),(0,t.jsx)(h.K,{variant:"primary",onClick:function(){d(async()=>{let t=a?await k(a.id,f):await b(e,c,f);w(t.ok?{}:t.fieldErrors??{}),t.data&&S(t.data),t.ok?(u.c.success(t.message),p(""),x(""),S(null),n?.()):t.fieldErrors||t.data||u.c.error(t.error)})},disabled:i,children:i?"Working…":"Save"})]})]})}e.s(["AccountDialog",0,function({provider:e,replace:a,triggerLabel:n,primary:s}){let o=g[e],r=y[o.icon],[i,c]=(0,l.useState)(!1),[u,m]=(0,l.useState)(0),x=(0,p.useMask)();function b(e){c(e),e||m(e=>e+1)}return(0,t.jsxs)(f.N,{open:i,onOpenChange:b,children:[(0,t.jsxs)(f.a,{className:(0,h.R)({size:"sm",variant:s?"primary":"secondary"}),children:[!a&&!n&&(0,t.jsx)(d.f,{size:16}),n??(a?"Replace credential":"Add account")]}),(0,t.jsxs)(f.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(r,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(f.F,{className:"text-base",children:a?`Replace credential \xb7 ${o.name} \xb7 ${x("account",a.label)}`:`Connect ${o.name}`}),(0,t.jsx)(f.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:a?"The old credential is deleted as soon as the new one works.":"The credential is encrypted before it's saved and never shown again."})]})]}),(0,t.jsx)(j,{provider:e,replace:a,onDone:()=>b(!1),onCancel:()=>b(!1)},u)]})]})},"AccountForm",0,j,"PROVIDER_ICONS",0,y],66930)},618897,e=>{var t=e.i(843476),a=e.i(518716),n=e.i(271645),s=e.i(846696),o=e.i(54131),r=e.i(428325),i=e.i(364440),d=e.i(776639),c=e.i(95187);let l=(0,c.createServerReference)("70f4b0651ad669612a5bb65d57e64042b90fd73f8f",c.callServer,void 0,c.findSourceMapURL,"saveSyncSelection"),u=(0,c.createServerReference)("40738a46eba86d0e74e71ea3f8a36576fe924b1531",c.callServer,void 0,c.findSourceMapURL,"syncNow"),p={app:{what:"projects",looking:"Looking for projects in every team this token can read…",none:"This Vercel account has no projects yet."},zone:{what:"zones",looking:"Looking for zones in this Cloudflare account…",none:"This Cloudflare account has no zones yet."},supabase_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},neon_project:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},firestore:{what:"projects",looking:"Looking for projects this credential can read…",none:"This account has no projects yet."},turso_database:{what:"databases",looking:"Looking for databases in the organizations this token can read…",none:"This Turso account has no databases yet."},upstash_redis:{what:"databases",looking:"Looking for Redis databases this key can read…",none:"This Upstash account has no Redis databases yet."}};e.s(["SyncButton",0,function({accountId:e,title:c,label:h="Sync",primary:m,watchNew:f,kind:g="app"}){let x=p[g],b=(0,o.useMask)(),[v,k]=(0,n.useState)(!1),[y,j]=(0,n.useState)(null),[w,N]=(0,n.useState)(null),[S,A]=(0,n.useState)(new Set),[C,R]=(0,n.useState)(f),[z,P]=(0,n.useTransition)(),[T,M]=(0,n.useTransition)(),U=(0,n.useMemo)(()=>y?.rows??[],[y]);return(0,t.jsxs)(d.N,{open:v,onOpenChange:function(t){k(t),t&&(j(null),N(null),A(new Set),R(f),P(async()=>{let t=await u(e);t.ok&&t.data?(j(t.data),A(new Set(t.data.rows.filter(e=>e.monitored).map(e=>e.id)))):N(t.ok?"Sync returned nothing.":t.error)}))},children:[(0,t.jsxs)(d.a,{className:(0,r.R)({size:"sm",variant:m?"primary":"secondary"}),children:[(0,t.jsx)(a.f,{size:15,"aria-hidden":!0})," ",h]}),(0,t.jsxs)(d.d,{className:"max-w-[640px] gap-0 p-0 sm:max-w-[640px]","aria-label":"Sync resources",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(a.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)(d.F,{className:"text-base",children:["Sync ",b("text",c)]}),(0,t.jsx)(d.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:y?`Found ${U.length} resources just now. Pick the ones the console should watch. Unticked ones are ignored and cost nothing.`:w?`The list of ${x.what} could not be loaded.`:x.looking})]})]}),(0,t.jsxs)("div",{className:"px-[18px] pb-2",children:[w&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"danger",title:"Sync didn't finish",children:w})}),y&&y.skippedTeams.length>0&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsxs)(r.M,{tone:"info",title:"Some teams were skipped",children:["This token can't read ",y.skippedTeams.join(", "),". Create a token with access to them to include their projects."]})}),y?.overLimit&&(0,t.jsx)("div",{className:"mb-2",children:(0,t.jsx)(r.M,{tone:"warning",title:"Monitor limit reached",children:y.overLimit})}),z&&(0,t.jsx)("p",{className:"py-6 text-center text-[13px] text-ink-soft",children:"Syncing…"}),y&&0===U.length&&(0,t.jsx)(r.k,{title:"Nothing found",children:x.none}),y&&U.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"mb-1.5 flex gap-1.5",children:[(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set(U.map(e=>e.id))),children:"Select all"}),(0,t.jsx)(r.K,{size:"sm",onClick:()=>A(new Set),children:"Select none"})]}),(0,t.jsx)("div",{className:"max-h-[360px] overflow-y-auto rounded-md border border-line",children:U.map(e=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-3 border-b border-line px-3 py-[9px] last:border-b-0 hover:bg-hover",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:S.has(e.id),onChange:()=>{var t;return t=e.id,void A(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})}}),(0,t.jsx)(i.f,{kind:e.badge}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block truncate",children:"db"===e.badge||"fs"===e.badge?(0,t.jsx)(o.DbName,{id:e.id,name:e.name,alias:e.alias}):(0,t.jsx)(o.Masked,{kind:"app"===e.badge?"app":"text",real:e.name})}),(0,t.jsx)("span",{className:"block truncate text-[12px] text-ink-faint",children:(0,t.jsx)(o.Masked,{kind:"text",real:e.sub})})]}),e.fresh&&(0,t.jsx)("span",{className:"rounded bg-brand-soft px-1.5 py-px font-mono text-[10.5px] text-brand",children:"New"})]},e.id))})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3 border-t border-line px-[18px] py-3",children:[(0,t.jsxs)("span",{className:"text-[12.5px] text-ink-soft",children:[S.size," of ",U.length," selected"]}),(0,t.jsxs)("label",{className:"flex items-center gap-1.5 text-[12.5px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"size-4 accent-brand",checked:C,onChange:e=>R(e.target.checked)}),"Watch new ones automatically"]}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsx)(r.K,{onClick:()=>k(!1),children:"Cancel"}),(0,t.jsx)(r.K,{variant:"primary",disabled:!y||T,onClick:function(){M(async()=>{let t=await l(e,[...S],C);if(!t.ok)return void s.c.error(t.error);let a=`Watching ${S.size} of ${y?.rows.length??0} resources in ${b("text",c)}. Checks start on the next collector run.`,n=t.data?.overLimit;n?s.c.warning("Selection saved",{description:`${a} ${n}`}):s.c.success("Selection saved",{description:a}),k(!1)})},children:T?"Saving…":"Save selection"})]})]})]})]})}],618897)},364440,e=>{var t=e.i(843476);e.i(522016),e.i(54131);var a=e.i(975157);let n={app:["APP","bg-brand-soft text-brand"],db:["DB","bg-teal-soft text-teal"],br:["BR","bg-teal-soft text-teal"],fs:["FS","bg-teal-soft text-teal"],mon:["MON","bg-amber-soft text-amber"],dpl:["DPL","bg-gray-soft text-ink-soft"],dom:["DOM","bg-gray-soft text-ink-soft"],dns:["DNS","bg-gray-soft text-ink-soft"],usr:["USR","bg-gray-soft text-ink-soft"]};e.s(["f",0,function({kind:e}){let[s,o]=n[e];return(0,t.jsx)("span",{className:(0,a.f)("rounded px-[5px] py-px font-mono text-[10.5px] font-medium tracking-[0.02em]",o),children:s})}])},776639,998218,152744,e=>{var t=e.i(843476),a=e.i(526323),n=e.i(828376);e.s(["f",0,n],998218);var n=n,s=e.i(209977),o=e.i(921637),r=e.i(141708),i=e.i(593480),d=e.i(309169),c=n;e.s(["f",0,c],152744);var c=n,l=e.i(975157),u=e.i(271645),p=e.i(540886),h=e.i(552245);let m=u.forwardRef(function(e,t){let{render:a,className:n,disabled:s=!1,focusableWhenDisabled:o=!1,nativeButton:r=!0,style:i,...d}=e,{getButtonProps:c,buttonRef:l}=(0,p.f)({disabled:s,focusableWhenDisabled:o,native:r});return(0,h.a)("button",e,{state:{disabled:s},ref:[t,l],props:[d,c]})}),f=(0,e.i(225913).f)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function g({className:e,variant:a="default",size:n="default",...s}){return(0,t.jsx)(m,{"data-slot":"button",className:(0,l.f)(f({variant:a,size:n,className:e})),...s})}var x=e.i(456420);let b={name:"x",size:24,node:[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]};b.node;let v=(0,x.f)(b);function k({...e}){return(0,t.jsx)(s.f.Portal,{"data-slot":"dialog-portal",...e})}function y({className:e,...a}){return(0,t.jsx)(r.f.Backdrop,{"data-slot":"dialog-overlay",className:(0,l.f)("fixed inset-0 isolate z-50 bg-black/40 duration-100 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}e.s(["N",0,function({...e}){return(0,t.jsx)(a.f.Root,{"data-slot":"dialog",...e})},"d",0,function({className:e,children:a,showCloseButton:n=!0,...s}){return(0,t.jsxs)(k,{children:[(0,t.jsx)(y,{}),(0,t.jsxs)(i.f.Popup,{"data-slot":"dialog-content",className:(0,l.f)("fixed top-1/2 left-1/2 z-50 grid w-full grid-cols-[minmax(0,1fr)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...s,children:[a,n&&(0,t.jsxs)(o.f.Close,{"data-slot":"dialog-close",render:(0,t.jsx)(g,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm"}),children:[(0,t.jsx)(v,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"C",0,function({className:e,...a}){return(0,t.jsx)(c.Description,{"data-slot":"dialog-description",className:(0,l.f)("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",e),...a})},"F",0,function({className:e,...a}){return(0,t.jsx)(d.f.Title,{"data-slot":"dialog-title",className:(0,l.f)("font-heading text-base leading-none font-medium",e),...a})},"a",0,function({...e}){return(0,t.jsx)(n.Trigger,{"data-slot":"dialog-trigger",...e})}],776639)}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,617708,e=>{let i=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,i],617708)},258277,e=>{var i=e.i(843476),a=e.i(617708),l=e.i(357772),t=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(500443),m=e.i(975157);let d=["requests","tokens"],
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,617708,e=>{let i=(0,e.i(33550).f)("outline","plus","Plus",[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]]);e.s(["f",0,i],617708)},258277,e=>{var i=e.i(843476),a=e.i(617708),l=e.i(357772),t=e.i(271645),s=e.i(846696),n=e.i(428325),r=e.i(500443),m=e.i(975157);let d=["requests","tokens"],o=["minute","day","week"];var c=e.i(95187);let u=(0,c.createServerReference)("60f5d07002495e2e433e48e888b55240002e5dbcad",c.callServer,void 0,c.findSourceMapURL,"saveLimits"),p={minute:"per minute",day:"per day",week:"per week"};function h({provider:e}){let[c,x]=(0,t.useState)(()=>e.limits.map(e=>({...e,limit:String(e.limit)}))),[v,g]=(0,t.useState)(!1),[f,b]=(0,t.useState)(null),[j,w]=(0,t.useTransition)();(0,r.useHoldRefresh)(v);let k=(e,i)=>{x(a=>a.map((a,l)=>l===e?{...a,...i}:a)),g(!0),b(null)};return(0,i.jsxs)("div",{className:"mb-4 last:mb-0",children:[(0,i.jsx)("div",{className:"mb-1.5 text-[13px] font-medium",children:e.name}),0===c.length&&(0,i.jsx)("p",{className:"mb-2 text-[12.5px] text-ink-faint",children:"No limits entered. Add one to count calls against it."}),c.map((a,t)=>(0,i.jsxs)("div",{className:"mb-2 grid grid-cols-[minmax(0,1fr)_auto] gap-x-2 gap-y-1.5",children:[(0,i.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,i.jsx)("select",{className:(0,m.f)(n.S,"w-auto"),"aria-label":`${e.name} limit ${t+1} metric`,value:a.metric,onChange:e=>k(t,{metric:e.target.value}),children:d.map(e=>(0,i.jsx)("option",{value:e,children:e},e))}),(0,i.jsx)("select",{className:(0,m.f)(n.S,"w-auto"),"aria-label":`${e.name} limit ${t+1} window`,value:a.window,onChange:e=>k(t,{window:e.target.value}),children:o.map(e=>(0,i.jsx)("option",{value:e,children:p[e]},e))}),(0,i.jsx)("input",{className:(0,m.f)(n.S,"w-[120px] font-mono"),inputMode:"numeric","aria-label":`${e.name} limit ${t+1} value`,value:a.limit,onChange:e=>k(t,{limit:e.target.value})}),(0,i.jsx)("input",{className:(0,m.f)(n.S,"w-[150px] font-mono"),"aria-label":`${e.name} limit ${t+1} model (all = every model)`,placeholder:"model, or all",value:a.scope,onChange:e=>k(t,{scope:e.target.value})})]}),(0,i.jsx)("button",{type:"button","aria-label":`Remove limit ${t+1}`,className:"rounded-md p-1.5 text-ink-faint hover:bg-hover hover:text-ink",onClick:()=>{x(e=>e.filter((e,i)=>i!==t)),g(!0),b(null)},children:(0,i.jsx)(l.f,{size:15,"aria-hidden":!0})})]},t)),f&&(0,i.jsx)("p",{className:"mb-2 text-[12.5px] text-err",role:"alert",children:f}),(0,i.jsxs)("div",{className:"flex gap-2",children:[(0,i.jsxs)(n.K,{size:"sm",disabled:c.length>=10,onClick:()=>{x(e=>[...e,{metric:"requests",scope:"all",limit:"",window:"day"}]),g(!0)},children:[(0,i.jsx)(a.f,{size:14,"aria-hidden":!0}),"Add limit"]}),(0,i.jsx)(n.K,{size:"sm",variant:"primary",disabled:!v||j,onClick:()=>w(async()=>{try{let i=await u(e.id,c);i.ok?(s.c.success(i.message??"Limits saved."),g(!1),b(null)):b(i.error)}catch{b("Watchbell didn't answer. Check that it's still running, then try again.")}}),children:j?"Saving...":"Save"})]})]})}e.s(["LimitsForm",0,function({providers:e}){return(0,i.jsx)(i.Fragment,{children:e.map(e=>(0,i.jsx)(h,{provider:e},e.id))})}],258277)}])})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,435005,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(846696),n=e.i(428325),l=e.i(95187);let i=(0,l.createServerReference)("003af8e20edb88a8005b0d242ed031ab373ed81cb6",l.callServer,void 0,l.findSourceMapURL,"dismissWhatsNew");e.s(["WhatsNewDismiss",0,function(){let[e,l]=(0,a.useTransition)();return(0,t.jsx)(n.K,{size:"sm",onClick:()=>l(async()=>{try{let e=await i();e.ok||s.c.error(e.error)}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}}),disabled:e,children:e?"Saving…":"Got it"})}],435005)},360261,e=>{var t=e.i(843476),a=e.i(271645),s=e.i(54131),n=e.i(39626),l=e.i(975157),i=e.i(618566),r=e.i(95187);let o=(0,r.createServerReference)("00019977cc003ec0e864e93e49cf0bd8858654523b",r.callServer,void 0,r.findSourceMapURL,"loadPaletteSource"),d={home:{label:"Home",holds:"Overview, Topology, Events and Provider status.",appears:"Always on."},hosting:{label:"Hosting",holds:"Applications, Deployments, Domains, DNS records, Uptime and Logs.",appears:"On from the start, so Uptime is always in the menu."},database:{label:"Database",holds:"Supabase, Neon, Firebase, Turso, Upstash Redis, Cloudflare D1, the SQL console and Free databases.",appears:"Appears when you connect Supabase, Neon, Firebase, Turso or Upstash, or once a database is watched.",keeps:"Keep active and Auto-restore keep running while it is off, so your free Supabase projects aren't paused."},devops:{label:"DevOps",holds:"Code: GitHub repositories, their Actions runs and dependency advisories. Servers and Security (self-hosted): Containers and OS vulnerabilities.",appears:"Appears when you connect GitHub; always there on a self-hosted console."},manage:{label:"Manage",holds:"Connections, Alerts, Auto-actions, Sections, Settings, AI gateway, API explorer, Status page and Backups.",appears:"Always on."}},c={home:[{key:"overview",label:"Overview",href:"/overview",icon:"dashboard",stage:2},{key:"topology",label:"Topology",href:"/topology",icon:"topology",stage:4},{key:"events",label:"Events",href:"/events",icon:"activity",stage:2},{key:"status",label:"Provider status",href:"/status",icon:"broadcast",stage:5}],hosting:[{key:"apps",label:"Applications",href:"/apps",icon:"apps",stage:2,sub:"Apps"},{key:"deployments",label:"Deployments",href:"/deployments",icon:"rocket",stage:2,sub:"Apps"},{key:"deploy",label:"Deploy an app",href:"/deploy",icon:"deploy",stage:16,hideForViewer:!0,sub:"Apps"},{key:"domains",label:"Domains",href:"/domains",icon:"world",stage:4,sub:"Network"},{key:"dns",label:"DNS records",href:"/dns",icon:"sitemap",stage:4,sub:"Network"},{key:"uptime",label:"Uptime",href:"/uptime",icon:"heartbeat",stage:2,sub:"Watch"},{key:"logs",label:"Logs",href:"/logs",icon:"file",stage:5,hideForViewer:!0,sub:"Watch"}],database:[{key:"supabase",label:"Supabase",href:"/supabase",icon:"bolt",stage:3,sub:"Providers"},{key:"neon",label:"Neon",href:"/neon",icon:"database",stage:3,sub:"Providers"},{key:"firebase",label:"Firebase",href:"/firebase",icon:"flame",stage:3,sub:"Providers"},{key:"turso",label:"Turso",href:"/turso",icon:"database",stage:8,sub:"Providers"},{key:"upstash",label:"Upstash Redis",href:"/upstash",icon:"bolt",stage:8,sub:"Providers"},{key:"d1",label:"Cloudflare D1",href:"/d1",icon:"cloud",stage:8,sub:"Providers"},{key:"sql",label:"SQL console",href:"/sql",icon:"terminal",stage:9,ownerOnly:!0,sub:"Tools"},{key:"catalog",label:"Free databases",href:"/catalog",icon:"books",stage:7,sub:"Tools"}],devops:[{key:"repos",label:"Repositories",href:"/repos",icon:"github",stage:9,sub:"Code"},{key:"containers",label:"Containers",href:"/containers",icon:"container",stage:15,hideForViewer:!0,selfhostOnly:!0,sub:"Servers"},{key:"os",label:"OS vulnerabilities",href:"/os",icon:"shield",stage:17,hideForViewer:!0,selfhostOnly:!0,sub:"Security"}],manage:[{key:"alerts",label:"Alerts",href:"/alerts",icon:"bell",stage:5,sub:"Alerting"},{key:"status-page",label:"Status page",href:"/settings?tab=status-page",icon:"page",stage:7,ownerOnly:!0,sub:"Alerting"},{key:"connections",label:"Connections",href:"/connections",icon:"plug",stage:1,ownerOnly:!0,sub:"Setup"},{key:"settings",label:"Settings",href:"/settings",icon:"settings",stage:1,ownerOnly:!0,sub:"Setup"},{key:"sections",label:"Sections",href:"/manage/sections",icon:"layout",stage:12,ownerOnly:!0,sub:"Setup"},{key:"backups",label:"Backups",href:"/backups",icon:"cloud-upload",stage:7,ownerOnly:!0,sub:"Setup"}]},h=["home","hosting","database","devops","manage"].map(e=>({section:e,group:d[e].label,items:c[e]})),u={nav:[]};function p(e=u){let t=h.map(e=>({...e,items:[...e.items]}));for(let a of e.nav){let e=t.find(e=>e.section===a.section)??t.find(e=>"manage"===e.section),s=a.after?e.items.findIndex(e=>e.key===a.after):-1;s<0?e.items.push(...a.items):e.items.splice(s+1,0,...a.items)}return t}function f(e,t=u,a,s={}){let n=a?new Set(a):null;return p(t).filter(e=>!n||n.has(e.section)).map(t=>({...t,items:t.items.filter(t=>(t.ownerOnly?"owner"===e:!t.hideForViewer||"viewer"!==e)&&(!t.selfhostOnly||!0===s.selfhost))})).filter(e=>e.items.length>0)}let m=e=>e.split("?")[0];function x(e,t){let a=t.trim().toLowerCase(),s=e.toLowerCase(),n=s.indexOf(a);if(n<0)return null;if(0===n)return 0;for(let e=s.indexOf(a);e>=0;e=s.indexOf(a,e+1))if(!/[a-z0-9]/.test(s[e-1]??" "))return 1;return 2}var v=e.i(484337),g=e.i(847379),b=e.i(33550);let k=(0,b.f)("outline","apps","Apps",[["path",{d:"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-0"}],["path",{d:"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-1"}],["path",{d:"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4",key:"svg-2"}],["path",{d:"M14 7l6 0",key:"svg-3"}],["path",{d:"M17 4l0 6",key:"svg-4"}]]);var y=e.i(668029),w=e.i(49601);let M=(0,b.f)("outline","books","Books",[["path",{d:"M5 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-0"}],["path",{d:"M9 5a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1l0 -14",key:"svg-1"}],["path",{d:"M5 8h4",key:"svg-2"}],["path",{d:"M9 16h4",key:"svg-3"}],["path",{d:"M13.803 4.56l2.184 -.53c.562 -.135 1.133 .19 1.282 .732l3.695 13.418a1.02 1.02 0 0 1 -.634 1.219l-.133 .041l-2.184 .53c-.562 .135 -1.133 -.19 -1.282 -.732l-3.695 -13.418a1.02 1.02 0 0 1 .634 -1.219l.133 -.041",key:"svg-4"}],["path",{d:"M14 9l4 -1",key:"svg-5"}],["path",{d:"M16 16l3.923 -.98",key:"svg-6"}]]);var j=e.i(386770),S=e.i(594810);let N=(0,b.f)("outline","broadcast","Broadcast",[["path",{d:"M18.364 19.364a9 9 0 1 0 -12.728 0",key:"svg-0"}],["path",{d:"M15.536 16.536a5 5 0 1 0 -7.072 0",key:"svg-1"}],["path",{d:"M11 13a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),C=(0,b.f)("outline","browser","Browser",[["path",{d:"M4 8h16",key:"svg-0"}],["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-1"}],["path",{d:"M8 4v4",key:"svg-2"}]]);var E=e.i(38156);let A=(0,b.f)("outline","cloud-upload","CloudUpload",[["path",{d:"M7 18a4.6 4.4 0 0 1 0 -9a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-1",key:"svg-0"}],["path",{d:"M9 15l3 -3l3 3",key:"svg-1"}],["path",{d:"M12 12l0 9",key:"svg-2"}]]);var R=e.i(213756);let L=(0,b.f)("outline","file-text","FileText",[["path",{d:"M14 3v4a1 1 0 0 0 1 1h4",key:"svg-0"}],["path",{d:"M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2",key:"svg-1"}],["path",{d:"M9 9l1 0",key:"svg-2"}],["path",{d:"M9 13l6 0",key:"svg-3"}],["path",{d:"M9 17l6 0",key:"svg-4"}]]);var P=e.i(504962),D=e.i(359133);let O=(0,b.f)("outline","hierarchy-3","Hierarchy3",[["path",{d:"M10 5a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-0"}],["path",{d:"M6 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-1"}],["path",{d:"M10 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-2"}],["path",{d:"M18 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-3"}],["path",{d:"M2 19a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-4"}],["path",{d:"M14 12a2 2 0 1 0 4 0a2 2 0 1 0 -4 0",key:"svg-5"}],["path",{d:"M5 17l2 -3",key:"svg-6"}],["path",{d:"M9 10l2 -3",key:"svg-7"}],["path",{d:"M13 7l2 3",key:"svg-8"}],["path",{d:"M17 14l2 3",key:"svg-9"}],["path",{d:"M15 14l-2 3",key:"svg-10"}],["path",{d:"M9 14l2 3",key:"svg-11"}]]);var z=e.i(627406);let T=(0,b.f)("outline","layout-list","LayoutList",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-0"}],["path",{d:"M4 16a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v2a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -2",key:"svg-1"}]]),$=(0,b.f)("outline","package-export","PackageExport",[["path",{d:"M12 21l-8 -4.5v-9l8 -4.5l8 4.5v4.5",key:"svg-0"}],["path",{d:"M12 12l8 -4.5",key:"svg-1"}],["path",{d:"M12 12v9",key:"svg-2"}],["path",{d:"M12 12l-8 -4.5",key:"svg-3"}],["path",{d:"M15 18h7",key:"svg-4"}],["path",{d:"M19 15l3 3l-3 3",key:"svg-5"}]]);var U=e.i(11409);let F=(0,b.f)("outline","rocket","Rocket",[["path",{d:"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3",key:"svg-0"}],["path",{d:"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3",key:"svg-1"}],["path",{d:"M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-2"}]]),I=(0,b.f)("outline","route-2","Route2",[["path",{d:"M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4",key:"svg-1"}],["path",{d:"M14 5a2 2 0 0 0 -2 2v10a2 2 0 0 1 -2 2",key:"svg-2"}]]),B=(0,b.f)("outline","settings","Settings",[["path",{d:"M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065",key:"svg-0"}],["path",{d:"M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-1"}]]);var K=e.i(105674),W=e.i(763995);let _=(0,b.f)("outline","terminal-2","Terminal2",[["path",{d:"M8 9l3 3l-3 3",key:"svg-0"}],["path",{d:"M13 15l3 0",key:"svg-1"}],["path",{d:"M3 6a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2l0 -12",key:"svg-2"}]]),V=(0,b.f)("outline","world","World",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M3.6 9h16.8",key:"svg-1"}],["path",{d:"M3.6 15h16.8",key:"svg-2"}],["path",{d:"M11.5 3a17 17 0 0 0 0 18",key:"svg-3"}],["path",{d:"M12.5 3a17 17 0 0 1 0 18",key:"svg-4"}]]),H={dashboard:z.f,topology:O,activity:v.f,apps:k,rocket:F,world:V,sitemap:W.f,bolt:w.f,database:R.f,flame:P.f,books:M,heartbeat:D.f,bell:y.f,file:L,broadcast:N,plug:U.f,"cloud-upload":A,cloud:E.f,settings:B,route:I,api:g.f,github:j.f,terminal:_,layout:T,page:C,container:S.f,deploy:$,shield:K.f};function G({role:e,ext:s,sections:n,selfhost:l=!1,open:i,opener:r,onOpen:c,onClose:h}){let[u,p]=(0,a.useState)(null),[m,x]=(0,a.useState)(!1),v=(0,a.useRef)(!1);(0,a.useEffect)(()=>{function e(e){"k"!==e.key.toLowerCase()||!(e.ctrlKey||e.metaKey)||e.shiftKey||e.altKey||(e.preventDefault(),e.repeat||(i?h():c(document.activeElement)))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i,c,h]),(0,a.useEffect)(()=>{i&&!v.current&&(v.current=!0,o().then(e=>{e.ok&&e.data?(p(e.data),x(!1)):x(!0)}).catch(()=>x(!0)).finally(()=>{v.current=!1}))},[i]);let g=(0,a.useMemo)(()=>(function(e,t,a={nav:[],palette:[]},s,n={}){let l=f(e,a,s,n).flatMap(e=>e.items.map(t=>({id:`page:${t.key}`,label:t.label,hint:e.group,href:t.href,icon:t.icon}))),i="owner"!==e?[]:a.palette.filter(e=>!l.some(t=>t.href===e.href)).map(e=>{let t=a.nav.flatMap(e=>e.items.map(t=>({g:e,i:t}))).find(({i:t})=>e.href===t.href||e.href.startsWith(`${t.href}/`));return{id:`ext:${e.href}`,label:e.label,hint:t?`${d[t.g.section].label} \xb7 ${t.i.label}`:"Page",href:e.href,icon:t?.i.icon??"dashboard",keywords:e.keywords}}),r=[...l,...i];if(!t)return r;let o=t.apps.map(e=>({id:`app:${e.id}`,label:e.name,hint:e.domain,href:`/apps/${e.id}`,icon:"apps"})),c=t.monitors.map(e=>({id:`monitor:${e.id}`,label:`${e.appName}${e.path}`,hint:"Monitor",href:`/apps/${e.appId}`,icon:"heartbeat"}));return[...r,...o,...(t.domains??[]).map(e=>({id:`domain:${e.id}`,label:e.name,hint:"Domain",href:"/domains",icon:"world"})),...c]})(e,u,s,n,{selfhost:l}),[e,u,s,n,l]);return i?(0,t.jsx)(q,{items:g,loading:null===u&&!m,opener:r,onClose:h}):null}function q({items:e,loading:n,opener:r=null,onClose:o}){let d=(0,i.useRouter)(),c=(0,a.useId)(),h=(0,a.useRef)(null),[u,p]=(0,a.useState)(""),[f,m]=(0,a.useState)(0),{shot:v}=(0,s.usePrivacy)(),g=(0,s.useMask)(),b=(0,a.useMemo)(()=>e.map(e=>e.id.startsWith("page:")?e:{...e,label:g("text",e.label),hint:g("text",e.hint)}),[e,g]),k=(0,a.useMemo)(()=>(function(e,t,a,s=20){if(!a.trim())return t.slice(0,s);let n=e=>(function(e,t){let a=x(e.label,t);if(null!==a)return a;let s=x(e.hint,t);if(null!==s)return s+3;let n=(e.keywords??[]).map(e=>x(e,t)).filter(e=>null!==e);return n.length?Math.min(...n)+6:null})(e,a),l=[];return e.forEach((e,a)=>{let s=n(e),i=n(t[a]),r=null===s?i:null===i?s:Math.min(s,i);null!==r&&l.push({item:t[a],score:r})}),l.sort((e,t)=>e.score-t.score).slice(0,s).map(e=>e.item)})(e,v?b:e,u),[e,b,v,u]),y=Math.min(f,Math.max(0,k.length-1)),w=e=>`${c}-opt-${e}`;function M(e){e&&(o(),d.push(e.href))}return(0,a.useEffect)(()=>{h.current?.focus()},[]),(0,a.useEffect)(()=>()=>{r instanceof HTMLElement&&r.isConnected&&r.focus()},[r]),(0,a.useEffect)(()=>{document.getElementById(`${c}-opt-${y}`)?.scrollIntoView?.({block:"nearest"})},[c,y,k]),(0,a.useEffect)(()=>{function e(e){"Escape"===e.key&&o(),"Tab"===e.key&&e.preventDefault()}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[o]),(0,t.jsx)("div",{className:"fixed inset-0 z-[80] flex items-start justify-center bg-black/45 pt-[12vh]",onMouseDown:e=>{e.target===e.currentTarget&&o()},children:(0,t.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Search",onMouseDown:e=>{e.target!==h.current&&e.preventDefault()},className:"w-[560px] max-w-[calc(100vw-32px)] overflow-hidden rounded-[10px] border border-line-strong bg-surface shadow-[0_16px_48px_rgba(0,0,0,.25)]",children:[(0,t.jsx)("input",{ref:h,role:"combobox","aria-expanded":k.length>0,"aria-controls":k.length>0?`${c}-list`:void 0,"aria-activedescendant":k.length>0?w(y):void 0,"aria-autocomplete":"list","aria-label":"Search",autoComplete:"off",placeholder:"Jump to a page, app, database, or domain",value:u,onChange:e=>{p(e.target.value),m(0)},onKeyDown:function(e){e.nativeEvent.isComposing||("ArrowDown"===e.key&&(m(Math.min(y+1,k.length-1)),e.preventDefault()),"ArrowUp"===e.key&&(m(Math.max(y-1,0)),e.preventDefault()),"Enter"===e.key&&(M(k[y]),e.preventDefault()))},className:"w-full border-0 border-b border-line bg-transparent px-4 py-3.5 text-[15px] text-ink outline-none placeholder:text-ink-faint"}),k.length>0?(0,t.jsx)("ul",{id:`${c}-list`,role:"listbox","aria-label":"Results",className:"m-0 max-h-[360px] list-none overflow-y-auto p-1.5",children:k.map((e,a)=>{let s=H[e.icon];return(0,t.jsxs)("li",{id:w(a),role:"option","aria-selected":a===y,onMouseMove:()=>{a!==y&&m(a)},onClick:()=>M(e),className:(0,l.f)("flex cursor-pointer items-center gap-2.5 rounded-md px-2.5 py-2",a===y&&"bg-brand-soft"),children:[(0,t.jsx)(s,{size:17,className:"shrink-0 text-ink-faint"}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:e.label}),(0,t.jsx)("small",{className:"ml-auto shrink-0 pl-3 text-[12.5px] text-ink-faint",children:e.hint})]},e.id)})}):(0,t.jsx)("p",{role:"status",className:"m-0 p-4 text-ink-soft",children:n&&u.trim()?"Loading apps…":"No matches"})]})})}function Q(){return(0,t.jsx)("div",{role:"note",className:"border-b border-line bg-brand-soft px-6 py-1.5 text-[12.5px] text-nav-active-text max-[720px]:px-3.5",children:"Demo — data is made up and resets. Results of your actions can disappear when the demo restarts."})}function J({version:e}){if(!e)return null;let a=`Watchbell ${e.text}`;return(0,t.jsx)("div",{className:"px-3 pb-2 text-[11.5px] text-ink-faint",children:e.href?(0,t.jsx)("a",{href:e.href,target:"_blank",rel:"noopener",className:"hover:text-ink-soft hover:underline",children:a}):(0,t.jsx)("span",{children:a})})}function X({size:e=28,title:a,className:s}){return(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",width:e,height:e,className:(0,l.f)("shrink-0",s),role:a?"img":void 0,"aria-hidden":!a||void 0,focusable:"false",children:[a?(0,t.jsx)("title",{children:a}):null,(0,t.jsx)("rect",{x:"0.5",y:"0.5",width:"31",height:"31",rx:"7",fill:"#14213d",strokeWidth:"1",className:"stroke-transparent dark:stroke-[#2f4372]"}),(0,t.jsxs)("g",{transform:"rotate(-14 15 16)",fill:"#fcc419",children:[(0,t.jsx)("rect",{x:"13.7",y:"5.4",width:"2.6",height:"2.4",rx:"1.1"}),(0,t.jsx)("path",{d:"M15 7.2c-4.3 0-6.8 3.1-6.8 7.3v4.1l-2.4 3.3h18.4l-2.4-3.3v-4.1c0-4.2-2.5-7.3-6.8-7.3z"}),(0,t.jsx)("circle",{cx:"15",cy:"24.3",r:"2.3"})]}),(0,t.jsxs)("g",{fill:"none",stroke:"#fcc419",strokeWidth:"2.2",strokeLinecap:"round",children:[(0,t.jsx)("path",{d:"M24.4 9.2c1.4 1.4 2.2 3.2 2.2 5.2"}),(0,t.jsx)("path",{d:"M22.8 11.1c.8.8 1.2 1.8 1.2 2.9"})]})]})}let Z=(0,b.f)("outline","chevron-right","ChevronRight",[["path",{d:"M9 6l6 6l-6 6",key:"svg-0"}]]);var Y=e.i(522016),ee=e.i(500443),et=e.i(203709);let ea={ok:"bg-ok",warn:"bg-warn-icon",err:"bg-err",idle:"bg-idle"};function es({initialLastRunAt:e,initialNow:s,demo:n=!1,initialStaleMs:i}){let[r,o]=(0,a.useState)(e),[d,c]=(0,a.useState)(i),[h,u]=(0,a.useState)(s);(0,a.useEffect)(()=>{(0,ee.markCollectorRun)(n||!r?null:Date.parse(r))},[r,n]),(0,a.useEffect)(()=>{if(n)return;let e=()=>{fetch("/api/status",{cache:"no-store"}).then(e=>e.ok&&!e.redirected&&(e.headers.get("content-type")??"").includes("application/json")?e.json():null).then(e=>{e&&"object"==typeof e&&"lastRunAt"in e&&(o(e.lastRunAt??null),"number"==typeof e.staleMs&&c(e.staleMs),u(Date.now()))}).catch(()=>void 0)},t=()=>{"visible"===document.visibilityState&&e()},a=()=>{"visible"===document.visibilityState&&e()};t();let s=setInterval(()=>u(Date.now()),5e3),l=setInterval(t,3e4);return document.addEventListener("visibilitychange",a),()=>{clearInterval(s),clearInterval(l),document.removeEventListener("visibilitychange",a)}},[n]);let p=n?{state:"ok",text:et.e}:(0,et.m)(r?new Date(r):null,new Date(h),d);return(0,t.jsxs)("div",{className:"flex items-center gap-2 border-t border-line px-4 py-3 text-xs text-ink-soft","aria-live":"off",children:[(0,t.jsx)("span",{className:(0,l.f)("size-2 shrink-0 rounded-full",ea[p.state]),"aria-hidden":!0}),p.text]})}function en({role:e,ext:s,sections:n,selfhost:r=!1,version:o=null,collector:d,alerts:c,mobileOpen:h,onNavigate:x,navRef:v}){let g=function(e,t=u,a){return function(e,t=u,a){let[s,n]=e.split("?"),l=s.replace(/\/+$/,"")||"/",i=null!=a?new URLSearchParams(a):void 0!==n?new URLSearchParams(n):null,r=null;for(let e of p(t).flatMap(e=>e.items)){let t=m(e.href);if(l!==t&&!l.startsWith(`${t}/`))continue;let a=e.href.includes("?");if(a&&(l!==t||!function(e,t){let a=e.split("?")[1];return!a||!!t&&[...new URLSearchParams(a)].every(([e,a])=>t.get(e)===a)}(e.href,i)))continue;let s=r?m(r.href).length:-1;(!r||t.length>s||t.length===s&&a&&!r.href.includes("?"))&&(r=e)}return r}(e,t,a)?.key??null}((0,i.usePathname)(),s,(0,i.useSearchParams)()),[b,k]=(0,a.useState)({});return(0,t.jsxs)("nav",{ref:v,tabIndex:-1,"aria-label":"Main navigation",className:(0,l.f)("sticky top-0 flex h-screen flex-col overflow-y-auto border-r border-line bg-nav focus:outline-none","max-[1000px]:fixed max-[1000px]:inset-y-0 max-[1000px]:left-0 max-[1000px]:z-50 max-[1000px]:w-[264px]",!h&&"max-[1000px]:invisible max-[1000px]:-translate-x-full"),children:[(0,t.jsxs)(Y.default,{href:"/",className:"flex items-center gap-2.5 border-b border-line px-4 py-3.5 text-ink hover:no-underline",children:[(0,t.jsx)(X,{}),(0,t.jsxs)("span",{children:[(0,t.jsx)("b",{className:"font-semibold",children:"Watchbell"}),(0,t.jsx)("small",{className:"block text-xs text-ink-faint",children:"Personal"})]})]}),(0,t.jsx)("div",{className:"flex-1 px-2 pb-4 pt-2",children:f(e,s,n,{selfhost:r}).map(e=>{let s=!b[e.section];return(0,t.jsxs)("div",{className:"mt-1.5",children:[(0,t.jsxs)("button",{type:"button","aria-expanded":s,onClick:()=>k(t=>({...t,[e.section]:s})),className:"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium text-ink-faint hover:text-ink",children:[e.group,(0,t.jsx)(Z,{size:14,className:(0,l.f)("ml-auto transition-transform",s&&"rotate-90")})]}),s&&(0,t.jsx)("ul",{children:e.items.map((s,n)=>{let i=H[s.icon],r=s.key===g,o=s.sub&&s.sub!==e.items[n-1]?.sub?s.sub:null;return(0,t.jsxs)(a.Fragment,{children:[o&&(0,t.jsx)("li",{"aria-hidden":!0,className:"px-2.5 pb-0.5 pt-1.5 text-[11px] uppercase tracking-[0.06em] text-ink-faint",children:o}),(0,t.jsx)("li",{children:(0,t.jsxs)(Y.default,{href:s.href,onClick:x,"aria-current":r?"page":void 0,className:(0,l.f)("flex items-center gap-2.5 rounded-md px-2.5 py-[7px] text-nav-text hover:bg-hover hover:no-underline",r&&"bg-nav-active font-medium text-nav-active-text"),children:[(0,t.jsx)(i,{size:17,className:r?"text-nav-active-text":"text-ink-faint"}),s.label,"alerts"===s.key&&c>0&&(0,t.jsxs)("span",{className:"ml-auto rounded-[10px] bg-err-soft px-1.5 font-mono text-[11px] font-medium text-err",children:[c,(0,t.jsx)("span",{className:"sr-only",children:" firing"})]})]})})]},s.key)})})]},e.section)})}),(0,t.jsx)(es,{initialLastRunAt:d.lastRunAt,initialNow:d.now,demo:d.demo,initialStaleMs:d.staleMs}),(0,t.jsx)(J,{version:o})]})}let el=(0,b.f)("outline","eye","Eye",[["path",{d:"M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6",key:"svg-1"}]]),ei=(0,b.f)("outline","eye-off","EyeOff",[["path",{d:"M10.585 10.587a2 2 0 0 0 2.829 2.828",key:"svg-0"}],["path",{d:"M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]),er=(0,b.f)("outline","layout-sidebar","LayoutSidebar",[["path",{d:"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12",key:"svg-0"}],["path",{d:"M9 4l0 16",key:"svg-1"}]]),eo=(0,b.f)("outline","search","Search",[["path",{d:"M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0",key:"svg-0"}],["path",{d:"M21 21l-6 -6",key:"svg-1"}]]),ed=(0,b.f)("outline","tag","Tag",[["path",{d:"M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-0"}],["path",{d:"M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592 -5.592a2.41 2.41 0 0 0 0 -3.408l-7.71 -7.71a2 2 0 0 0 -1.414 -.586h-5.172a3 3 0 0 0 -3 3",key:"svg-1"}]]);var ec=e.i(428325),eh=e.i(914552);let eu=(0,b.f)("outline","sun","Sun",[["path",{d:"M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7",key:"svg-1"}]]);var ep=e.i(301844);function ef(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>t.disconnect()}function em(){return"dark"===document.documentElement.dataset.theme?"dark":"light"}function ex(){return"light"}function ev(){let e=(0,a.useSyncExternalStore)(ef,em,ex);return(0,t.jsx)("button",{type:"button",onClick:function(){let t=(0,ep.w)(e);document.documentElement.dataset.theme=t;try{localStorage.setItem(ep.K,t)}catch{}},"aria-label":"Toggle theme",title:"Toggle theme",className:"relative inline-grid size-[34px] shrink-0 place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:"dark"===e?(0,t.jsx)(eu,{size:18}):(0,t.jsx)(eh.f,{size:18})})}var eg=e.i(526323),eb=e.i(209977),ek=e.i(141708),ey=e.i(593480),ew=e.i(309169),eM=e.i(921637);let ej=(0,b.f)("outline","building-skyscraper","BuildingSkyscraper",[["path",{d:"M3 21l18 0",key:"svg-0"}],["path",{d:"M5 21v-14l8 -4v18",key:"svg-1"}],["path",{d:"M19 21v-10l-6 -4",key:"svg-2"}],["path",{d:"M9 9l0 .01",key:"svg-3"}],["path",{d:"M9 12l0 .01",key:"svg-4"}],["path",{d:"M9 15l0 .01",key:"svg-5"}],["path",{d:"M9 18l0 .01",key:"svg-6"}]]);var eS=e.i(357772);function eN({link:e}){let[s,n]=(0,a.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ec._,{label:e.label,pressed:s,onClick:()=>n(!0),children:(0,t.jsx)(ej,{size:18})}),(0,t.jsx)(eg.f.Root,{open:s,onOpenChange:n,children:(0,t.jsxs)(eb.f.Portal,{children:[(0,t.jsx)(ek.f.Backdrop,{className:"fixed inset-0 z-50 bg-black/10"}),(0,t.jsxs)(ey.f.Popup,{"aria-describedby":void 0,className:"fixed inset-y-0 right-0 z-50 flex w-1/2 min-w-[560px] flex-col border-l border-line bg-surface text-ink shadow-lg outline-none max-[900px]:w-full max-[900px]:min-w-0",children:[(0,t.jsxs)("div",{className:"flex h-[52px] shrink-0 items-center gap-3 border-b border-line px-4",children:[(0,t.jsx)(ew.f.Title,{className:"text-[15px] font-semibold",children:e.title}),(0,t.jsx)(Y.default,{href:e.href,onClick:()=>n(!1),className:"ml-auto text-[13px] font-medium text-brand hover:underline",children:e.openLabel}),(0,t.jsx)(eM.f.Close,{"aria-label":"Close",title:"Close",className:"inline-grid size-[34px] place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:(0,t.jsx)(eS.f,{size:18})})]}),(0,t.jsx)("iframe",{src:e.frame,title:e.title,className:"min-h-0 w-full flex-1 border-0"})]})]})})]})}var eC=e.i(982680),eE=e.i(755146);let eA={owner:"Owner",operator:"Operator",viewer:"Viewer"};function eR({email:e,role:n,hasPassword:l=!1}){let[i,r]=(0,a.useTransition)(),o=(0,s.useMask)()("email",e),d=o!==e;return(0,t.jsxs)(eE.G,{children:[(0,t.jsx)(eE.X,{"aria-label":"Account menu",className:"ml-1 grid size-[30px] shrink-0 place-items-center rounded-full border border-line bg-sunken font-mono text-[11px] font-medium uppercase focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:d?"··":e.slice(0,2)}),(0,t.jsxs)(eE.L,{align:"end",className:"min-w-[200px]",children:[(0,t.jsx)(eE.P,{children:(0,t.jsxs)(eE.B,{children:[(0,t.jsx)("span",{className:"block truncate",children:o}),(0,t.jsx)("span",{className:"block text-xs font-normal text-ink-faint",children:eA[n]})]})}),(0,t.jsx)(eE.U,{}),l&&(0,t.jsx)(eE.r,{render:(0,t.jsx)(Y.default,{href:"/account/password"}),children:"Change password"}),(0,t.jsx)(eE.r,{className:"text-err",disabled:i,onClick:()=>r(()=>(0,eC.f)()),children:"Sign out"})]})]})}function eL({user:e,office:a,alerts:l,onToggleNav:i,onOpenPalette:r,navButtonRef:o}){let{show:d,toggle:c}=(0,n.useSources)(),{shot:h,setShot:u}=(0,s.usePrivacy)();return(0,t.jsxs)("header",{className:"sticky top-0 z-20 flex h-[52px] items-center gap-2 border-b border-line bg-surface px-4",children:[(0,t.jsx)(ec._,{ref:o,label:"Toggle navigation",onClick:i,children:(0,t.jsx)(er,{size:18})}),(0,t.jsxs)("button",{type:"button",onClick:e=>r(e.currentTarget),"aria-label":"Search","aria-keyshortcuts":"Control+K Meta+K",className:"ml-2 flex w-[280px] min-w-0 items-center gap-2 overflow-hidden whitespace-nowrap rounded-[7px] border border-line bg-surface-2 px-2.5 py-1.5 text-ink-faint max-[720px]:w-auto",children:[(0,t.jsx)(eo,{size:16,className:"shrink-0"}),(0,t.jsx)("span",{className:"min-w-0 truncate max-[720px]:hidden",children:"Search apps, databases, pages"}),(0,t.jsx)("kbd",{className:"ml-auto rounded border border-line-strong px-[5px] font-mono text-[11px] text-ink-soft max-[720px]:hidden",children:"Ctrl K"})]}),(0,t.jsxs)("div",{className:"ml-auto flex min-w-0 items-center gap-0.5",children:[h&&(0,t.jsxs)("button",{type:"button",onClick:()=>u(!1),title:"Screenshot mode is on. Click to turn it off.","aria-label":"Screenshot mode is on. Turn it off",className:"mr-1.5 inline-flex items-center gap-1 whitespace-nowrap rounded-full border border-warn/40 bg-warn-soft px-2.5 py-0.5 text-[12.5px] font-medium text-ink focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/40",children:[(0,t.jsx)(ei,{size:14,"aria-hidden":!0,className:"text-warn-icon"}),(0,t.jsx)("span",{className:"max-[480px]:hidden",children:"Screenshot mode"})]}),(0,t.jsx)(ee.LiveIndicator,{}),(0,t.jsx)(ec._,{label:"Show data sources",pressed:d,onClick:c,children:(0,t.jsx)(ed,{size:18})}),a&&"owner"===e.role&&(0,t.jsx)(eN,{link:a}),(0,t.jsx)(ec._,{label:"Screenshot mode",pressed:h,onClick:()=>u(!h),children:h?(0,t.jsx)(ei,{size:18}):(0,t.jsx)(el,{size:18})}),(0,t.jsx)(ev,{}),(0,t.jsxs)(Y.default,{href:"/alerts","aria-label":l?`Alerts, ${l} firing`:"Alerts",className:"relative inline-grid size-[34px] shrink-0 place-items-center rounded-md text-ink-soft hover:bg-hover hover:text-ink",children:[(0,t.jsx)(y.f,{size:18}),l>0&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute right-0.5 top-[3px] rounded-[9px] bg-err px-1 font-mono text-[10px] font-medium leading-[15px] text-white",children:l})]}),(0,t.jsx)(eR,{email:e.email,role:e.role,hasPassword:e.hasPassword})]})]})}let eP={nav:[],palette:[]};e.s(["Shell",0,function({user:e,collector:i,alerts:r,book:o,shot:d,ext:c=eP,sections:h,selfhost:u=!1,version:p=null,children:f}){let[m,x]=(0,a.useState)(!1),[v,g]=(0,a.useState)(!1),[b,k]=(0,a.useState)(!1),[y,w]=(0,a.useState)(null),M=(0,a.useRef)(null),j=(0,a.useRef)(null),S=(0,a.useRef)(!1);function N(e){w(e),k(!0)}return(0,a.useEffect)(()=>{m?(S.current=!0,M.current?.focus()):S.current&&(S.current=!1,j.current?.focus())},[m]),(0,a.useEffect)(()=>{if(m)return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&x(!1)}},[m]),(0,t.jsx)(s.AliasProvider,{book:o,shot:d,children:(0,t.jsxs)(n.SourcesProvider,{children:[(0,t.jsxs)("div",{className:(0,l.f)("grid min-h-screen grid-cols-1",!v&&"min-[1001px]:grid-cols-[248px_minmax(0,1fr)]"),children:[(!v||m)&&(0,t.jsx)(en,{role:e.role,ext:c,sections:h,selfhost:u,version:p,collector:i,alerts:r,mobileOpen:m,onNavigate:()=>x(!1),navRef:M}),m&&(0,t.jsx)("button",{type:"button","aria-label":"Close navigation",className:"fixed inset-0 z-40 bg-black/45 min-[1001px]:hidden",onClick:()=>x(!1)}),(0,t.jsxs)("main",{className:"min-w-0",children:[i.demo&&(0,t.jsx)(Q,{}),(0,t.jsx)(eL,{user:e,office:c.office,alerts:r,onToggleNav:function(){window.matchMedia("(max-width: 1000px)").matches?x(e=>!e):g(e=>!e)},onOpenPalette:N,navButtonRef:j}),(0,t.jsx)("div",{className:"flex max-w-[1480px] flex-col gap-4 px-6 pb-10 pt-5 max-[720px]:px-3.5",children:f})]})]}),(0,t.jsx)(G,{role:e.role,ext:c,sections:h,selfhost:u,open:b,opener:y,onOpen:N,onClose:()=>k(!1)})]})})}],360261)},140173,e=>{var t=e.i(684496);e.s(["TimeZoneSync",0,function({zone:e}){return(0,t.k)(e),null}])}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,746154,e=>{var t=e.i(843476),i=e.i(271645),n=e.i(16340),s=e.i(516171),a=e.i(171197);let r=0,o=0;e.s(["default",0,function({error:e,retry:l}){return(0,i.useEffect)(()=>{let e=Date.now();e-o>12e4&&(r=0);let t=setInterval(()=>(function(e,t){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let i=Date.now();i-Math.max(e,o)<(0,a.$)(r)||(r+=1,o=i,t())})(e,l),1e3);return()=>clearInterval(t)},[l]),(0,t.jsx)(n.f,{digest:e.digest,retry:l,note:"Retrying…",notice:(0,s.f)(e.digest)??void 0})}])},16340,e=>{var t=e.i(843476),i=e.i(146874),n=e.i(
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,746154,e=>{var t=e.i(843476),i=e.i(271645),n=e.i(16340),s=e.i(516171),a=e.i(171197);let r=0,o=0;e.s(["default",0,function({error:e,retry:l}){return(0,i.useEffect)(()=>{let e=Date.now();e-o>12e4&&(r=0);let t=setInterval(()=>(function(e,t){if("visible"!==document.visibilityState||!1===navigator.onLine)return;let i=Date.now();i-Math.max(e,o)<(0,a.$)(r)||(r+=1,o=i,t())})(e,l),1e3);return()=>clearInterval(t)},[l]),(0,t.jsx)(n.f,{digest:e.digest,retry:l,note:"Retrying…",notice:(0,s.f)(e.digest)??void 0})}])},16340,e=>{var t=e.i(843476),i=e.i(146874),n=e.i(982680),s=e.i(428325);e.s(["f",0,function({digest:e,retry:a,withSignOut:r=!1,note:o,notice:l}){return(0,t.jsx)(s.N,{children:(0,t.jsxs)(s.k,{icon:i.f,title:l?"Try again soon":"This page didn't load",action:(0,t.jsxs)("div",{className:"flex flex-wrap justify-center gap-2",children:[(0,t.jsx)(s.K,{variant:"primary",onClick:()=>a(),children:"Try again"}),r&&(0,t.jsx)("form",{action:n.f,children:(0,t.jsx)(s.K,{type:"submit",children:"Sign out"})})]}),children:[l??"Watchbell couldn't read its database, or a setting is missing. It keeps retrying on its own; the server log has the details (reference below).",o&&(0,t.jsx)("p",{className:"mt-2 text-xs text-ink-soft",role:"status",children:o}),e&&!l&&(0,t.jsxs)("p",{className:"mt-2 font-mono text-xs text-ink-faint",children:["Reference ",e]})]})})}])},516171,e=>{let t=new Map([["watchbell-demo-busy","The demo is busy right now. Try again in a minute."],["watchbell-demo-too-many","Too many new demo sessions from your network. Try again in a few minutes."]]);new Map([...t].map(([e,t])=>[t,e])),e.s(["f",0,function(e){return"string"==typeof e?t.get(e)??null:null}])}])})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,293654,e=>{var t=e.i(843476),n=e.i(763995),s=e.i(271645),r=e.i(846696),a=e.i(54131),l=e.i(428325),i=e.i(500443),c=e.i(799589),o=e.i(776639),d=e.i(450547);let x=["76.76.21.21"],h=/(^|\.)vercel-dns(-\d+)?\.com$/;function p(e,t=[]){return"CNAME"===e.type?h.test(e.content.toLowerCase().replace(/\.$/,"")):"A"===e.type&&[...x,...t].includes(e.content.trim())}var m=e.i(225794),u=e.i(212253),f=e.i(95187);let j=(0,f.createServerReference)("
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,293654,e=>{var t=e.i(843476),n=e.i(763995),s=e.i(271645),r=e.i(846696),a=e.i(54131),l=e.i(428325),i=e.i(500443),c=e.i(799589),o=e.i(776639),d=e.i(450547);let x=["76.76.21.21"],h=/(^|\.)vercel-dns(-\d+)?\.com$/;function p(e,t=[]){return"CNAME"===e.type?h.test(e.content.toLowerCase().replace(/\.$/,"")):"A"===e.type&&[...x,...t].includes(e.content.trim())}var m=e.i(225794),u=e.i(212253),f=e.i(95187);let j=(0,f.createServerReference)("784c3cc4c5433acd48fa60e8393a32b1d25641e670",f.callServer,void 0,f.findSourceMapURL,"editDnsRecordAction"),g="Owner only";function y({label:e,why:n}){return(0,t.jsx)("span",{title:n,className:"inline-flex",children:(0,t.jsx)(l.K,{size:"sm",disabled:!0,"aria-label":`${e}: ${n}`,children:e})})}function b({rows:e}){return(0,t.jsx)("span",{className:"mt-2 grid grid-cols-[auto_minmax(0,1fr)_auto_minmax(0,1fr)] items-baseline gap-x-2.5 gap-y-1.5 text-ink",children:e.map(e=>(0,t.jsxs)("span",{className:"contents",children:[(0,t.jsx)("span",{className:"text-ink-soft",children:e.label}),(0,t.jsx)("span",{className:"font-mono text-[12.5px] [overflow-wrap:anywhere]",children:e.before}),(0,t.jsx)("span",{"aria-hidden":!0,className:"text-ink-faint",children:"→"}),(0,t.jsx)("span",{className:"font-mono text-[12.5px] [overflow-wrap:anywhere]",children:e.after})]},e.label))})}let v=e=>({content:e.content,ttl:e.ttl,proxied:e.proxied});function N({zoneId:e,r:n}){let s=(0,a.useMask)(),r=p(n);return(0,t.jsx)(c.p,{label:"Set DNS only",title:s("text",`Set ${n.name} to DNS only?`),body:(0,t.jsx)(b,{rows:[{label:"Proxy",before:"Proxied through Cloudflare",after:r?"DNS only, straight to Vercel":"DNS only, straight to the origin"}]}),cta:"Set DNS only",run:()=>j(e,n.id,v(n),{...v(n),proxied:!1})})}let k={content:"Content",ttl:"TTL",proxied:"Proxy"};function S({zoneId:e,r:n,mask:r}){let[a,c]=(0,s.useState)(!1);return(0,i.useHoldRefresh)(a),(0,t.jsxs)(o.N,{open:a,onOpenChange:c,children:[(0,t.jsx)(o.a,{render:(0,t.jsx)(l.K,{size:"sm"}),children:"Edit"}),(0,t.jsx)(o.d,{className:"gap-0 p-0 sm:max-w-[640px]",showCloseButton:!1,children:a&&(0,t.jsx)(C,{zoneId:e,r:n,mask:r,onDone:()=>c(!1)})})]})}function C({zoneId:e,r:a,mask:i,onDone:c}){let[x,h]=(0,s.useState)(a.content),[f,g]=(0,s.useState)(a.ttl),[y,N]=(0,s.useState)(a.proxied),[S,w]=(0,s.useState)(null),[A,T]=(0,s.useState)(null),[R,O]=(0,s.useTransition)(),D={content:x,ttl:f,proxied:y},$=(0,d.z)(a.type),z=d.i.includes(a.ttl)?d.i:[...d.i,a.ttl].sort((e,t)=>e-t),K=y&&p({type:a.type,content:x}),M=e=>A?.field===e?A.text:void 0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 px-[18px] pb-2 pt-4",children:[(0,t.jsx)("span",{className:"grid size-9 shrink-0 place-items-center rounded-lg bg-sunken text-ink-soft",children:(0,t.jsx)(n.f,{size:19})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(o.F,{className:"text-base",children:i("text",S?`Save ${a.type} record ${a.name}?`:`Edit ${a.type} record ${a.name}`)}),(0,t.jsx)(o.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:S?(0,t.jsxs)(t.Fragment,{children:["Cloudflare changes this record now. Nothing else in the zone changes, and nothing is deleted.",(0,t.jsx)(b,{rows:S.map(e=>({label:k[e.field],before:i("text",e.before),after:i("text",e.after)}))})]}):"Type and name stay as they are. Watchbell never creates or deletes records here."})]})]}),!S&&(0,t.jsxs)("div",{className:"px-[18px] pt-1.5",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3 max-[560px]:grid-cols-1",children:[(0,t.jsx)(l.O,{id:"dns-type",label:"Type",children:(0,t.jsx)("input",{id:"dns-type",className:l.S,value:a.type,readOnly:!0,disabled:!0})}),(0,t.jsx)(l.O,{id:"dns-name",label:"Name",children:(0,t.jsx)("input",{id:"dns-name",className:l.S,value:i("text",a.name),readOnly:!0,disabled:!0})})]}),(0,t.jsx)(l.O,{id:"dns-content",label:"Content",error:M("content"),help:"CNAME"===a.type||"A"===a.type?"For Vercel, copy the value shown on the project's Domains page.":void 0,children:(0,t.jsx)("input",{id:"dns-content",className:l.S,value:x,spellCheck:!1,autoComplete:"off",maxLength:2048,"aria-invalid":!!M("content"),onChange:e=>h(e.target.value)})}),(0,t.jsx)(l.O,{id:"dns-ttl",label:"TTL",error:M("ttl"),help:y?"A proxied record always uses Auto.":void 0,children:(0,t.jsx)("select",{id:"dns-ttl",className:l.S,value:y?1:f,disabled:y,onChange:e=>g(Number(e.target.value)),children:z.map(e=>(0,t.jsx)("option",{value:e,children:(0,u.f)(e)},e))})}),$&&(0,t.jsxs)("div",{className:"mb-3.5 flex flex-col gap-[5px]",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2 text-[13px]",children:[(0,t.jsx)("input",{type:"checkbox",className:"accent-brand",checked:y,onChange:e=>N(e.target.checked)}),"Proxied through Cloudflare (orange cloud)"]}),M("proxied")&&(0,t.jsx)("span",{className:"text-[12.5px] text-err",role:"alert",children:M("proxied")})]}),K&&(0,t.jsx)("div",{className:"mb-3.5",children:(0,t.jsx)(l.M,{tone:"warning",title:"Vercel recommends DNS only here",children:"Proxying a record that points to Vercel can stop its certificate from renewing."})}),A?.field==="form"&&(0,t.jsx)("p",{className:"mb-3 text-[12.5px] text-err",role:"alert",children:A.text})]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:S?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.K,{onClick:()=>w(null),disabled:R,children:"Back"}),(0,t.jsx)(l.K,{variant:"primary",onClick:function(){O(async()=>{try{let t=(0,m.f)(await j(e,a.id,v(a),D),e=>i("text",e));t.ok?(r.c.success(t.message),c()):r.c.error(t.message)}catch{r.c.error("Watchbell didn't answer. Check that it's still running, then try again.")}})},disabled:R,children:R?"Saving…":"Save record"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.K,{onClick:c,children:"Keep as is"}),(0,t.jsx)(l.K,{variant:"primary",onClick:function(){let e=(0,d.V)(a,D);if(!e.ok)return T({field:e.field,text:e.error});let t=(0,d.t)(a,D);if(!t.ok)return T({field:"form",text:t.error});T(null),w(t.changes)},children:"Review"})]})})]})}e.s(["DnsRecordActions",0,function({zoneId:e,r:n,owner:s,vercel:r}){let l=(0,a.useMask)(),i=n.proxied&&r;return s?(0,t.jsxs)("div",{className:"flex gap-1.5",children:[i&&(0,t.jsx)(N,{zoneId:e,r:n}),(0,d.O)(n.type)?(0,t.jsx)(S,{zoneId:e,r:n,mask:l}):(0,t.jsx)(y,{label:"Edit",why:"Only A, AAAA, CNAME and TXT records can be edited here."})]}):(0,t.jsxs)("div",{className:"flex gap-1.5",children:[i&&(0,t.jsx)(y,{label:"Set DNS only",why:g}),(0,t.jsx)(y,{label:"Edit",why:g})]})},"SetDnsOnlyButton",0,N],293654)},150290,e=>{var t=e.i(843476),n=e.i(271645),s=e.i(846696),r=e.i(428325),a=e.i(95187);let l=(0,a.createServerReference)("401fa42d93f55eb67d217ec1bcee3b01f7352e14f8",a.callServer,void 0,a.findSourceMapURL,"recheck");e.s(["RecheckButton",0,function({domainId:e,name:a}){let[i,c]=(0,n.useTransition)(),o=(0,n.useRef)(!1);return(0,t.jsx)(r.K,{size:"sm",onClick:()=>{if(o.current)return;o.current=!0;let t=s.c.loading(`Checking ${a}. This takes a few seconds.`);c(async()=>{try{let n=await l(e);n.ok?s.c.success(n.message??"",{id:t}):s.c.error(n.error,{id:t})}catch{s.c.error("Watchbell didn't answer. Check that it's still running, then try again.",{id:t})}finally{o.current=!1}})},disabled:i,"aria-label":`Re-check ${a}`,children:i?"Checking…":"Re-check"})}],150290)}])})();
|