onvif-dashboard 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -0
- package/.next/standalone/.next/app-path-routes-manifest.json +18 -0
- package/.next/standalone/.next/build-manifest.json +25 -0
- package/.next/standalone/.next/package.json +1 -0
- package/.next/standalone/.next/prerender-manifest.json +72 -0
- package/.next/standalone/.next/required-server-files.json +364 -0
- package/.next/standalone/.next/routes-manifest.json +154 -0
- package/.next/standalone/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/standalone/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +9 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -0
- package/.next/standalone/.next/server/app/_global-error.meta +22 -0
- package/.next/standalone/.next/server/app/_global-error.rsc +15 -0
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/standalone/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/_not-found/page.js +13 -0
- package/.next/standalone/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route.js +8 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/credentials/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route.js +8 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/info/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route.js +9 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/live/whep/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route.js +8 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cameras/[id]/snapshot/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/discover/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/discover/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/discover/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/discover/route.js +9 -0
- package/.next/standalone/.next/server/app/api/discover/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/discover/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/discover/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route.js +7 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/recordings/clip/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/recordings/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/recordings/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/recordings/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/recordings/route.js +8 -0
- package/.next/standalone/.next/server/app/api/recordings/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/recordings/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/recordings/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page.js +15 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page.js.map +5 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/live/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page/server-reference-manifest.json +71 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page.js +16 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page.js.map +5 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/cameras/[id]/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js +8 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js.map +5 -0
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/favicon.ico.body +0 -0
- package/.next/standalone/.next/server/app/favicon.ico.meta +1 -0
- package/.next/standalone/.next/server/app/login/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/login/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/login/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/login/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/login/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/login/page.js +14 -0
- package/.next/standalone/.next/server/app/login/page.js.map +5 -0
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/page.js +15 -0
- package/.next/standalone/.next/server/app/page.js.map +5 -0
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/recordings/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/recordings/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/recordings/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/recordings/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/recordings/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/recordings/page.js +15 -0
- package/.next/standalone/.next/server/app/recordings/page.js.map +5 -0
- package/.next/standalone/.next/server/app/recordings/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/recordings/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/setup/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/setup/page/build-manifest.json +21 -0
- package/.next/standalone/.next/server/app/setup/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/setup/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/setup/page/server-reference-manifest.json +49 -0
- package/.next/standalone/.next/server/app/setup/page.js +14 -0
- package/.next/standalone/.next/server/app/setup/page.js.map +5 -0
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +18 -0
- package/.next/standalone/.next/server/chunks/[externals]__0sn8rhy._.js +3 -0
- package/.next/standalone/.next/server/chunks/[externals]__0t5_i3-._.js +3 -0
- package/.next/standalone/.next/server/chunks/[externals]__12pp_39._.js +3 -0
- package/.next/standalone/.next/server/chunks/[externals]__14kfdpf._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jcu5v1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qic8yw._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qs8j09._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0quekr0._.js +222 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__111vu-s._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__195bljr._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1b132sh._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ft0_3p._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gj_0zm._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1jyn0_o._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t624x_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[turbopack]_runtime.js +807 -0
- package/.next/standalone/.next/server/chunks/_032x87y._.js +158 -0
- package/.next/standalone/.next/server/chunks/_0efb75o._.js +60 -0
- package/.next/standalone/.next/server/chunks/_0uxp3uh._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1dqff-1._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1p694qt._.js +60 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_credentials_route_actions_061ggqe.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_info_route_actions_14bukfi.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_live_whep_route_actions_0hir1y8.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cameras_[id]_snapshot_route_actions_0pb4azs.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_discover_route_actions_0iz9n0w.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_recordings_clip_route_actions_10e75xy.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_recordings_route_actions_1vq6te4.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
- package/.next/standalone/.next/server/chunks/node_modules_zod_v4_classic_external_1f6yk33.js +60 -0
- package/.next/standalone/.next/server/chunks/src_0_8v7nl._.js +3 -0
- package/.next/standalone/.next/server/chunks/src_lib_video_ts_0y7vxk-._.js +43 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__00j0r--._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0aleo31._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0f6s48x._.js +14 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0jv6c_f._.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0wzsauh._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0xjk1v0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__105e8zw._.js +33 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1b88d-h._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +33 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1iduzaf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1utodff._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1wzocf7._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1x73b0k._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[turbopack]_runtime.js +807 -0
- package/.next/standalone/.next/server/chunks/ssr/_0tfm89e._.js +209 -0
- package/.next/standalone/.next/server/chunks/ssr/_0x3aj2a._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0z2nro_._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_140jbbg._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_172_a6w._.js +10 -0
- package/.next/standalone/.next/server/chunks/ssr/_1ayvbe1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1kud4aq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_1k0e21d.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_cameras_[id]_live_page_actions_1x6y7lz.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_1dmmi5g.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0ucar5e.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_recordings_page_actions_1ezb9xc.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_setup_page_actions_0-keti_.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_05issat._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_15lq9aw._.js +23 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1wax83z._.js +33 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_@tanstack_0udur9-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_0ufhxsd._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1bunoni._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +6 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_08xvpjs._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_0efwjni._.js +60 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_cameras_[id]_0-bkk65._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_cameras_[id]_0wpablc._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_providers_tsx_0c_dde7._.js +3 -0
- package/.next/standalone/.next/server/functions-config-manifest.json +14 -0
- package/.next/standalone/.next/server/instrumentation.js +4 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +25 -0
- package/.next/standalone/.next/server/middleware-manifest.json +6 -0
- package/.next/standalone/.next/server/middleware.js +5 -0
- package/.next/standalone/.next/server/next-font-manifest.js +1 -0
- package/.next/standalone/.next/server/next-font-manifest.json +35 -0
- package/.next/standalone/.next/server/pages/500.html +1 -0
- package/.next/standalone/.next/server/pages-manifest.json +3 -0
- package/.next/standalone/.next/server/prefetch-hints.json +11 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/server-reference-manifest.json +192 -0
- package/.next/standalone/.next/static/chunks/0-4hhghprzhtw.js +1 -0
- package/.next/standalone/.next/static/chunks/04l2v6p7fakl9.js +22 -0
- package/.next/standalone/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/standalone/.next/static/chunks/11be91k_gj8bl.js +1 -0
- package/.next/standalone/.next/static/chunks/1ng-ttmhg6s6h.css +3 -0
- package/.next/standalone/.next/static/chunks/21qqwm68cop21.js +1 -0
- package/.next/standalone/.next/static/chunks/24ug1160gwrkx.js +1 -0
- package/.next/standalone/.next/static/chunks/27t_qfc-3_lzs.js +1 -0
- package/.next/standalone/.next/static/chunks/2a1pvrfk7fzss.js +1 -0
- package/.next/standalone/.next/static/chunks/2e7rb5bft-ekp.js +1 -0
- package/.next/standalone/.next/static/chunks/2in4angy4ta5n.js +1 -0
- package/.next/standalone/.next/static/chunks/2mmpezlrfmbu5.js +1 -0
- package/.next/standalone/.next/static/chunks/2o10tcz0x86zp.js +1 -0
- package/.next/standalone/.next/static/chunks/310vm2bl3xxpt.js +31 -0
- package/.next/standalone/.next/static/chunks/32zls3n3ypa-e.js +1 -0
- package/.next/standalone/.next/static/chunks/3fntmmi971322.js +1 -0
- package/.next/standalone/.next/static/chunks/3jl0ivt7_0tuf.js +58 -0
- package/.next/standalone/.next/static/chunks/turbopack-1gvya9vclt5yj.js +1 -0
- package/.next/standalone/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/.next/standalone/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/standalone/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/.next/standalone/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/.next/standalone/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/standalone/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/.next/standalone/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/.next/standalone/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/standalone/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/.next/standalone/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/standalone/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/.next/standalone/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/.next/standalone/.next/static/whCVdskjCUfluHW0q3o9p/_buildManifest.js +11 -0
- package/.next/standalone/.next/static/whCVdskjCUfluHW0q3o9p/_clientMiddlewareManifest.js +6 -0
- package/.next/standalone/.next/static/whCVdskjCUfluHW0q3o9p/_ssgManifest.js +1 -0
- package/.next/standalone/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +1398 -0
- package/.next/standalone/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -0
- package/.next/standalone/node_modules/@emnapi/runtime/index.js +5 -0
- package/.next/standalone/node_modules/@emnapi/runtime/package.json +48 -0
- package/.next/standalone/node_modules/@next/env/dist/index.js +1 -0
- package/.next/standalone/node_modules/@next/env/package.json +36 -0
- package/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/.next/standalone/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/.next/standalone/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/.next/standalone/node_modules/@swc/helpers/package.json +705 -0
- package/.next/standalone/node_modules/client-only/index.js +0 -0
- package/.next/standalone/node_modules/client-only/package.json +19 -0
- package/.next/standalone/node_modules/detect-libc/lib/detect-libc.js +313 -0
- package/.next/standalone/node_modules/detect-libc/lib/elf.js +39 -0
- package/.next/standalone/node_modules/detect-libc/lib/filesystem.js +51 -0
- package/.next/standalone/node_modules/detect-libc/lib/process.js +24 -0
- package/.next/standalone/node_modules/detect-libc/package.json +44 -0
- package/.next/standalone/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
- package/.next/standalone/node_modules/next/dist/build/define-env.js +263 -0
- package/.next/standalone/node_modules/next/dist/build/duration-to-string.js +98 -0
- package/.next/standalone/node_modules/next/dist/build/get-supported-browsers.js +38 -0
- package/.next/standalone/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
- package/.next/standalone/node_modules/next/dist/build/next-config-ts/transpile-config.js +140 -0
- package/.next/standalone/node_modules/next/dist/build/output/format.js +84 -0
- package/.next/standalone/node_modules/next/dist/build/output/log.js +135 -0
- package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segment-config.js +178 -0
- package/.next/standalone/node_modules/next/dist/build/segment-config/app/app-segments.js +147 -0
- package/.next/standalone/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/app.js +783 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/pages.js +169 -0
- package/.next/standalone/node_modules/next/dist/build/static-paths/utils.js +119 -0
- package/.next/standalone/node_modules/next/dist/build/swc/helpers.js +15 -0
- package/.next/standalone/node_modules/next/dist/build/swc/index.js +1409 -0
- package/.next/standalone/node_modules/next/dist/build/swc/install-bindings.js +30 -0
- package/.next/standalone/node_modules/next/dist/build/swc/jest-transformer.js +77 -0
- package/.next/standalone/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
- package/.next/standalone/node_modules/next/dist/build/swc/options.js +411 -0
- package/.next/standalone/node_modules/next/dist/build/swc/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/build/utils.js +1258 -0
- package/.next/standalone/node_modules/next/dist/cli/next-test.js +171 -0
- package/.next/standalone/node_modules/next/dist/client/add-base-path.js +24 -0
- package/.next/standalone/node_modules/next/dist/client/app-call-server.js +34 -0
- package/.next/standalone/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
- package/.next/standalone/node_modules/next/dist/client/assign-location.js +29 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-headers.js +128 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-instance.js +407 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router-utils.js +62 -0
- package/.next/standalone/node_modules/next/dist/client/components/app-router.js +522 -0
- package/.next/standalone/node_modules/next/dist/client/components/builtin/default.js +35 -0
- package/.next/standalone/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
- package/.next/standalone/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
- package/.next/standalone/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
- package/.next/standalone/node_modules/next/dist/client/components/error-boundary.js +148 -0
- package/.next/standalone/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
- package/.next/standalone/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
- package/.next/standalone/node_modules/next/dist/client/components/forbidden.js +48 -0
- package/.next/standalone/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
- package/.next/standalone/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
- package/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
- package/.next/standalone/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
- package/.next/standalone/node_modules/next/dist/client/components/instant-samples.js +134 -0
- package/.next/standalone/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
- package/.next/standalone/node_modules/next/dist/client/components/links.js +316 -0
- package/.next/standalone/node_modules/next/dist/client/components/match-segments.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +38 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation-untracked.js +69 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation.js +246 -0
- package/.next/standalone/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
- package/.next/standalone/node_modules/next/dist/client/components/not-found.js +42 -0
- package/.next/standalone/node_modules/next/dist/client/components/offline.js +172 -0
- package/.next/standalone/node_modules/next/dist/client/components/readonly-url-search-params.js +46 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect-error.js +43 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
- package/.next/standalone/node_modules/next/dist/client/components/redirect.js +91 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +205 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +161 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +603 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +70 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1474 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +29 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +90 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +75 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +349 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +67 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/router-reducer.js +74 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +66 -0
- package/.next/standalone/node_modules/next/dist/client/components/router-transition.js +135 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/bfcache.js +130 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-key.js +56 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache-map.js +326 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/cache.js +2684 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/fetch.js +37 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +415 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/navigation.js +773 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +648 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/prefetch.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/scheduler.js +1770 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/types.js +84 -0
- package/.next/standalone/node_modules/next/dist/client/components/segment-cache/vary-path.js +326 -0
- package/.next/standalone/node_modules/next/dist/client/components/server-async-storage.js +43 -0
- package/.next/standalone/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
- package/.next/standalone/node_modules/next/dist/client/components/unauthorized.js +49 -0
- package/.next/standalone/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
- package/.next/standalone/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
- package/.next/standalone/node_modules/next/dist/client/components/unstable-rethrow.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/components/use-action-queue.js +148 -0
- package/.next/standalone/node_modules/next/dist/client/components/use-offline.js +68 -0
- package/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +428 -0
- package/.next/standalone/node_modules/next/dist/client/flight-data-helpers.js +235 -0
- package/.next/standalone/node_modules/next/dist/client/has-base-path.js +23 -0
- package/.next/standalone/node_modules/next/dist/client/lib/console.js +177 -0
- package/.next/standalone/node_modules/next/dist/client/lib/javascript-url.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/navigation-build-id.js +53 -0
- package/.next/standalone/node_modules/next/dist/client/normalize-trailing-slash.js +37 -0
- package/.next/standalone/node_modules/next/dist/client/remove-base-path.js +32 -0
- package/.next/standalone/node_modules/next/dist/client/route-params.js +249 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@vercel/detect-agent/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/@vercel/detect-agent/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-retry/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-retry/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-sema/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/async-sema/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/busboy/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/busboy/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/bytes/index.js +8 -0
- package/.next/standalone/node_modules/next/dist/compiled/bytes/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ci-info/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ci-info/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/commander/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/commander/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/comment-json/index.js +7 -0
- package/.next/standalone/node_modules/next/dist/compiled/comment-json/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/compression/index.js +58 -0
- package/.next/standalone/node_modules/next/dist/compiled/compression/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/conf/index.js +3 -0
- package/.next/standalone/node_modules/next/dist/compiled/conf/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
- package/.next/standalone/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/cookie/index.js +7 -0
- package/.next/standalone/node_modules/next/dist/compiled/cookie/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/debug/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/debug/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/find-up/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/find-up/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/fresh/index.js +8 -0
- package/.next/standalone/node_modules/next/dist/compiled/fresh/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/httpxy/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/httpxy/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/image-size/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/image-size/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-animated/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-animated/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-docker/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-docker/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
- package/.next/standalone/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/nanoid/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +183 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +183 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
- package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-limit/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-limit/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-queue/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/p-queue/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/picomatch/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/picomatch/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/index.js +7 -0
- package/.next/standalone/node_modules/next/dist/compiled/react-is/package.json +26 -0
- package/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
- package/.next/standalone/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
- package/.next/standalone/node_modules/next/dist/compiled/semver/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/semver/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/send/index.js +70 -0
- package/.next/standalone/node_modules/next/dist/compiled/send/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/source-map/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/string-hash/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/string-hash/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/superstruct/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/tar/index.min.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/tar/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/text-table/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/text-table/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/watchpack/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/write-file-atomic/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/write-file-atomic/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ws/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/ws/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod/index.cjs +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
- package/.next/standalone/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/context.js +57 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/fetch.js +158 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/httpget.js +33 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
- package/.next/standalone/node_modules/next/dist/experimental/testmode/server.js +73 -0
- package/.next/standalone/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
- package/.next/standalone/node_modules/next/dist/lib/batcher.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/build-custom-route.js +46 -0
- package/.next/standalone/node_modules/next/dist/lib/bundler.js +168 -0
- package/.next/standalone/node_modules/next/dist/lib/client-and-server-references.js +54 -0
- package/.next/standalone/node_modules/next/dist/lib/coalesced-function.js +39 -0
- package/.next/standalone/node_modules/next/dist/lib/compile-error.js +14 -0
- package/.next/standalone/node_modules/next/dist/lib/constants.js +420 -0
- package/.next/standalone/node_modules/next/dist/lib/create-client-router-filter.js +83 -0
- package/.next/standalone/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
- package/.next/standalone/node_modules/next/dist/lib/detached-promise.js +32 -0
- package/.next/standalone/node_modules/next/dist/lib/detect-typo.js +51 -0
- package/.next/standalone/node_modules/next/dist/lib/download-swc.js +183 -0
- package/.next/standalone/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
- package/.next/standalone/node_modules/next/dist/lib/fallback.js +100 -0
- package/.next/standalone/node_modules/next/dist/lib/file-exists.js +53 -0
- package/.next/standalone/node_modules/next/dist/lib/find-config.js +102 -0
- package/.next/standalone/node_modules/next/dist/lib/find-pages-dir.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/find-root.js +280 -0
- package/.next/standalone/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
- package/.next/standalone/node_modules/next/dist/lib/format-dynamic-import-path.js +43 -0
- package/.next/standalone/node_modules/next/dist/lib/format-server-error.js +75 -0
- package/.next/standalone/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
- package/.next/standalone/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
- package/.next/standalone/node_modules/next/dist/lib/fs/rename.js +87 -0
- package/.next/standalone/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
- package/.next/standalone/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
- package/.next/standalone/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
- package/.next/standalone/node_modules/next/dist/lib/get-network-host.js +44 -0
- package/.next/standalone/node_modules/next/dist/lib/get-package-version.js +118 -0
- package/.next/standalone/node_modules/next/dist/lib/get-project-dir.js +51 -0
- package/.next/standalone/node_modules/next/dist/lib/git-worktree.js +74 -0
- package/.next/standalone/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-online.js +50 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-pkg-manager.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/git.js +59 -0
- package/.next/standalone/node_modules/next/dist/lib/helpers/install.js +83 -0
- package/.next/standalone/node_modules/next/dist/lib/import-next-warning.js +50 -0
- package/.next/standalone/node_modules/next/dist/lib/inline-static-env.js +112 -0
- package/.next/standalone/node_modules/next/dist/lib/install-dependencies.js +40 -0
- package/.next/standalone/node_modules/next/dist/lib/interop-default.js +16 -0
- package/.next/standalone/node_modules/next/dist/lib/is-api-route.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/is-app-page-route.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/is-app-route-route.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
- package/.next/standalone/node_modules/next/dist/lib/is-error.js +78 -0
- package/.next/standalone/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/is-internal-component.js +36 -0
- package/.next/standalone/node_modules/next/dist/lib/is-serializable-props.js +111 -0
- package/.next/standalone/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
- package/.next/standalone/node_modules/next/dist/lib/load-custom-routes.js +594 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/shutdown.js +29 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/startup.js +47 -0
- package/.next/standalone/node_modules/next/dist/lib/memory/trace.js +109 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/constants.js +40 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/get-metadata-route.js +162 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/metadata.js +1660 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
- package/.next/standalone/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
- package/.next/standalone/node_modules/next/dist/lib/mime-type.js +20 -0
- package/.next/standalone/node_modules/next/dist/lib/mkcert.js +204 -0
- package/.next/standalone/node_modules/next/dist/lib/multi-file-writer.js +75 -0
- package/.next/standalone/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
- package/.next/standalone/node_modules/next/dist/lib/non-nullable.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/normalize-path.js +21 -0
- package/.next/standalone/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
- package/.next/standalone/node_modules/next/dist/lib/page-types.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
- package/.next/standalone/node_modules/next/dist/lib/pick.js +19 -0
- package/.next/standalone/node_modules/next/dist/lib/picocolors.js +177 -0
- package/.next/standalone/node_modules/next/dist/lib/pretty-bytes.js +74 -0
- package/.next/standalone/node_modules/next/dist/lib/profiles-dir.js +45 -0
- package/.next/standalone/node_modules/next/dist/lib/realpath.js +20 -0
- package/.next/standalone/node_modules/next/dist/lib/recursive-copy.js +76 -0
- package/.next/standalone/node_modules/next/dist/lib/recursive-delete.js +137 -0
- package/.next/standalone/node_modules/next/dist/lib/recursive-readdir.js +124 -0
- package/.next/standalone/node_modules/next/dist/lib/redirect-status.js +46 -0
- package/.next/standalone/node_modules/next/dist/lib/require-instrumentation-client.js +32 -0
- package/.next/standalone/node_modules/next/dist/lib/resolve-build-paths.js +182 -0
- package/.next/standalone/node_modules/next/dist/lib/resolve-from.js +65 -0
- package/.next/standalone/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
- package/.next/standalone/node_modules/next/dist/lib/scheduler.js +64 -0
- package/.next/standalone/node_modules/next/dist/lib/semver-noop.js +18 -0
- package/.next/standalone/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
- package/.next/standalone/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
- package/.next/standalone/node_modules/next/dist/lib/static-env.js +92 -0
- package/.next/standalone/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
- package/.next/standalone/node_modules/next/dist/lib/turbopack-cache-seed.js +171 -0
- package/.next/standalone/node_modules/next/dist/lib/turbopack-warning.js +185 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +73 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/loadTsConfig.js +181 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/missingDependencyError.js +26 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeCheckCli.js +53 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/runTypeScriptCli.js +256 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +77 -0
- package/.next/standalone/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
- package/.next/standalone/node_modules/next/dist/lib/url.js +75 -0
- package/.next/standalone/node_modules/next/dist/lib/verify-partytown-setup.js +104 -0
- package/.next/standalone/node_modules/next/dist/lib/verify-root-layout.js +165 -0
- package/.next/standalone/node_modules/next/dist/lib/verify-typescript-setup.js +271 -0
- package/.next/standalone/node_modules/next/dist/lib/wait.js +19 -0
- package/.next/standalone/node_modules/next/dist/lib/with-promise-cache.js +24 -0
- package/.next/standalone/node_modules/next/dist/lib/worker.js +234 -0
- package/.next/standalone/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/accept-header.js +132 -0
- package/.next/standalone/node_modules/next/dist/server/after/after-context.js +178 -0
- package/.next/standalone/node_modules/next/dist/server/after/after.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/after/awaiter.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/after/index.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/after/run-with-after.js +35 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/index.js +217 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +89 -0
- package/.next/standalone/node_modules/next/dist/server/api-utils/web.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +1125 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +332 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/app-render.js +6496 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/blocking-route-messages.js +181 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/collect-segment-data.js +937 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-component-tree.js +806 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-error-handler.js +190 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +154 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.js +47 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.node.js +60 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/debug-channel-server.web.js +60 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-error-delivery.js +37 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-events.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-scheduler.js +87 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-globals.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dev-validation-worker-snapshot.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/dynamic-rendering.js +1201 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/encryption.js +261 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/entry-base.js +265 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-layer-assets.js +69 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-test-bootstrap.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +31 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +127 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +241 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +934 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/interop-default.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +91 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +327 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/instrument-module-getter.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +62 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/postponed-state.js +230 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/render-css-resource.js +57 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/staged-rendering.js +324 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stale-time.js +101 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.js +155 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.node.js +842 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/stream-ops.web.js +249 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/sync-io-messages.js +67 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/types.js +65 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/use-flight-response.js +217 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/vary-params.js +261 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/wait-for-response.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +237 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
- package/.next/standalone/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +250 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/request-store.js +201 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/with-store.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/async-storage/work-store.js +98 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/helpers.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/index.js +54 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/node.js +147 -0
- package/.next/standalone/node_modules/next/dist/server/base-http/web.js +124 -0
- package/.next/standalone/node_modules/next/dist/server/base-server.js +1957 -0
- package/.next/standalone/node_modules/next/dist/server/body-streams.js +122 -0
- package/.next/standalone/node_modules/next/dist/server/cache-dir.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
- package/.next/standalone/node_modules/next/dist/server/ci-info.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/config-schema.js +800 -0
- package/.next/standalone/node_modules/next/dist/server/config-shared.js +395 -0
- package/.next/standalone/node_modules/next/dist/server/config-utils.js +185 -0
- package/.next/standalone/node_modules/next/dist/server/config.js +1836 -0
- package/.next/standalone/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
- package/.next/standalone/node_modules/next/dist/server/crypto-utils.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
- package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +610 -0
- package/.next/standalone/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
- package/.next/standalone/node_modules/next/dist/server/dev/debug-channel.js +112 -0
- package/.next/standalone/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
- package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker-pool.js +232 -0
- package/.next/standalone/node_modules/next/dist/server/dev/dev-validation-worker.js +308 -0
- package/.next/standalone/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-middleware.js +276 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1756 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-types.js +60 -0
- package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1380 -0
- package/.next/standalone/node_modules/next/dist/server/dev/log-requests.js +152 -0
- package/.next/standalone/node_modules/next/dist/server/dev/messages.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/dev/middleware-turbopack.js +422 -0
- package/.next/standalone/node_modules/next/dist/server/dev/middleware-webpack.js +495 -0
- package/.next/standalone/node_modules/next/dist/server/dev/node-stack-frames.js +81 -0
- package/.next/standalone/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
- package/.next/standalone/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
- package/.next/standalone/node_modules/next/dist/server/dev/require-cache.js +109 -0
- package/.next/standalone/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
- package/.next/standalone/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
- package/.next/standalone/node_modules/next/dist/server/dev/static-paths-worker.js +106 -0
- package/.next/standalone/node_modules/next/dist/server/dev/turbopack-utils.js +727 -0
- package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-pool.js +177 -0
- package/.next/standalone/node_modules/next/dist/server/dev/use-cache-probe-worker.js +180 -0
- package/.next/standalone/node_modules/next/dist/server/dynamic-rendering-utils.js +285 -0
- package/.next/standalone/node_modules/next/dist/server/font-utils.js +43 -0
- package/.next/standalone/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/get-page-files.js +40 -0
- package/.next/standalone/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
- package/.next/standalone/node_modules/next/dist/server/image-optimizer.js +1262 -0
- package/.next/standalone/node_modules/next/dist/server/instrumentation/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/instrumentation/utils.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/internal-utils.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/is-private-ip.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +135 -0
- package/.next/standalone/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-control.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/default.js +196 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
- package/.next/standalone/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
- package/.next/standalone/node_modules/next/dist/server/lib/clone-response.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/lib/cpu-profile.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
- package/.next/standalone/node_modules/next/dist/server/lib/dev-bundler-service.js +110 -0
- package/.next/standalone/node_modules/next/dist/server/lib/disk-lru-cache.external.js +63 -0
- package/.next/standalone/node_modules/next/dist/server/lib/encode-header-safe.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/lib/etag.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
- package/.next/standalone/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
- package/.next/standalone/node_modules/next/dist/server/lib/find-page-file.js +147 -0
- package/.next/standalone/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/lib/format-hostname.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/lib/generate-agent-files.js +180 -0
- package/.next/standalone/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
- package/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +87 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +348 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +547 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
- package/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/lib/is-non-html-sec-fetch-dest.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/lib/is-rsc-request.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/lazy-module.js +80 -0
- package/.next/standalone/node_modules/next/dist/server/lib/lazy-result.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/lib/lru-cache.js +191 -0
- package/.next/standalone/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/lib/mock-request.js +441 -0
- package/.next/standalone/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
- package/.next/standalone/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/lib/params-utils.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/lib/parse-stack.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +1027 -0
- package/.next/standalone/node_modules/next/dist/server/lib/patch-set-header.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
- package/.next/standalone/node_modules/next/dist/server/lib/release-compression-stream.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/lib/render-server.js +157 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-server.js +756 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +212 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/filesystem.js +612 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +114 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +128 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +646 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/root-params-type-utils.js +61 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +326 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/typegen.js +892 -0
- package/.next/standalone/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
- package/.next/standalone/node_modules/next/dist/server/lib/server-ipc/utils.js +83 -0
- package/.next/standalone/node_modules/next/dist/server/lib/source-maps.js +241 -0
- package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +540 -0
- package/.next/standalone/node_modules/next/dist/server/lib/streaming-metadata.js +27 -0
- package/.next/standalone/node_modules/next/dist/server/lib/to-route.js +37 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/constants.js +208 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/local-span-recorder.js +385 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights-identity.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/request-insights.js +308 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/span-store.js +69 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/tracer.js +392 -0
- package/.next/standalone/node_modules/next/dist/server/lib/trace/utils.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/lib/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/lib/utils.js +292 -0
- package/.next/standalone/node_modules/next/dist/server/lib/worker-utils.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/load-components.js +185 -0
- package/.next/standalone/node_modules/next/dist/server/load-default-error-components.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/load-manifest.external.js +117 -0
- package/.next/standalone/node_modules/next/dist/server/match-bundle.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/compile-route.js +86 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-compilation-issues.js +68 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-request-insights.js +57 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-compilation-issues.js +72 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
- package/.next/standalone/node_modules/next/dist/server/mcp/tools/utils/resolve-path-to-route.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/next-server.js +1443 -0
- package/.next/standalone/node_modules/next/dist/server/next-typescript.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/next.js +485 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-baseline.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/io-utils.js +102 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +170 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +518 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/node-environment.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
- package/.next/standalone/node_modules/next/dist/server/og/cache-image-response.js +341 -0
- package/.next/standalone/node_modules/next/dist/server/og/image-response.js +72 -0
- package/.next/standalone/node_modules/next/dist/server/patch-error-inspect.js +507 -0
- package/.next/standalone/node_modules/next/dist/server/pipe-readable.js +212 -0
- package/.next/standalone/node_modules/next/dist/server/post-process.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/render-result.js +246 -0
- package/.next/standalone/node_modules/next/dist/server/render.js +1150 -0
- package/.next/standalone/node_modules/next/dist/server/request/connection.js +135 -0
- package/.next/standalone/node_modules/next/dist/server/request/cookies.js +239 -0
- package/.next/standalone/node_modules/next/dist/server/request/draft-mode.js +238 -0
- package/.next/standalone/node_modules/next/dist/server/request/fallback-params.js +95 -0
- package/.next/standalone/node_modules/next/dist/server/request/headers.js +235 -0
- package/.next/standalone/node_modules/next/dist/server/request/io.js +96 -0
- package/.next/standalone/node_modules/next/dist/server/request/params.js +634 -0
- package/.next/standalone/node_modules/next/dist/server/request/pathname.js +141 -0
- package/.next/standalone/node_modules/next/dist/server/request/root-params.js +202 -0
- package/.next/standalone/node_modules/next/dist/server/request/search-params.js +582 -0
- package/.next/standalone/node_modules/next/dist/server/request/utils.js +84 -0
- package/.next/standalone/node_modules/next/dist/server/request-meta.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/require-hook.js +82 -0
- package/.next/standalone/node_modules/next/dist/server/require.js +109 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/index.js +323 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/types.js +41 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/utils.js +104 -0
- package/.next/standalone/node_modules/next/dist/server/response-cache/web.js +101 -0
- package/.next/standalone/node_modules/next/dist/server/resume-data-cache/cache-store.js +101 -0
- package/.next/standalone/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +142 -0
- package/.next/standalone/node_modules/next/dist/server/revalidation-utils.js +156 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-kind.js +32 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
- package/.next/standalone/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-matches/route-match.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.js +176 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +62 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/module.js +948 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/checks.js +45 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/pages-handler.js +567 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
- package/.next/standalone/node_modules/next/dist/server/route-modules/route-module.js +697 -0
- package/.next/standalone/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/send-payload.js +88 -0
- package/.next/standalone/node_modules/next/dist/server/send-response.js +70 -0
- package/.next/standalone/node_modules/next/dist/server/serve-static.js +66 -0
- package/.next/standalone/node_modules/next/dist/server/server-route-utils.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/server-utils.js +340 -0
- package/.next/standalone/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/node-buffered-transform-stream.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +939 -0
- package/.next/standalone/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/constant.js +98 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/index.js +199 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/client-boundary.js +100 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/config.js +534 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/error.js +38 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/rules/server.js +79 -0
- package/.next/standalone/node_modules/next/dist/server/typescript/utils.js +212 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life-profile.js +84 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/cache-life.js +102 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/clone-cache-entry.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/constants.js +44 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/handlers.js +274 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/tiered-cache-handler.js +145 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-errors.js +59 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-globals.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-probe-scheduler.js +117 -0
- package/.next/standalone/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +2610 -0
- package/.next/standalone/node_modules/next/dist/server/utils.js +73 -0
- package/.next/standalone/node_modules/next/dist/server/web/adapter.js +428 -0
- package/.next/standalone/node_modules/next/dist/server/web/edge-route-module-wrapper.js +136 -0
- package/.next/standalone/node_modules/next/dist/server/web/error.js +69 -0
- package/.next/standalone/node_modules/next/dist/server/web/exports/index.js +56 -0
- package/.next/standalone/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
- package/.next/standalone/node_modules/next/dist/server/web/globals.js +128 -0
- package/.next/standalone/node_modules/next/dist/server/web/http.js +39 -0
- package/.next/standalone/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
- package/.next/standalone/node_modules/next/dist/server/web/next-url.js +199 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/context.js +468 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/index.js +28 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/resource-managers.js +123 -0
- package/.next/standalone/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +293 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +226 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/revalidate.js +226 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +307 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/url-pattern.js +13 -0
- package/.next/standalone/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
- package/.next/standalone/node_modules/next/dist/server/web/types.js +6 -0
- package/.next/standalone/node_modules/next/dist/server/web/utils.js +151 -0
- package/.next/standalone/node_modules/next/dist/server/web/web-on-close.js +87 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/app-router-types.js +159 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/constants.js +453 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/dset.js +34 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/error-source.js +36 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +31 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +25 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/hash.js +42 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/head.js +164 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/htmlescape.js +52 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/image-config.js +77 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/instant-messages.js +43 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/invariant-error.js +23 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/request-insights.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/adapters.js +139 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/routes/app.js +158 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +70 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +293 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +66 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/segment.js +102 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +68 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/side-effect.js +63 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/size-limit.js +40 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/utils.js +216 -0
- package/.next/standalone/node_modules/next/dist/shared/lib/zod.js +101 -0
- package/.next/standalone/node_modules/next/dist/telemetry/agent-name.js +20 -0
- package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +91 -0
- package/.next/standalone/node_modules/next/dist/telemetry/detached-flush.js +56 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/build.js +187 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/index.js +41 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/plugins.js +51 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
- package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +68 -0
- package/.next/standalone/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
- package/.next/standalone/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
- package/.next/standalone/node_modules/next/dist/telemetry/project-id.js +48 -0
- package/.next/standalone/node_modules/next/dist/telemetry/storage.js +305 -0
- package/.next/standalone/node_modules/next/dist/trace/index.js +58 -0
- package/.next/standalone/node_modules/next/dist/trace/report/index.js +37 -0
- package/.next/standalone/node_modules/next/dist/trace/report/to-json-build.js +40 -0
- package/.next/standalone/node_modules/next/dist/trace/report/to-json.js +171 -0
- package/.next/standalone/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
- package/.next/standalone/node_modules/next/dist/trace/shared.js +39 -0
- package/.next/standalone/node_modules/next/dist/trace/trace.js +211 -0
- package/.next/standalone/node_modules/next/package.json +139 -0
- package/.next/standalone/node_modules/onvif/lib/cam.js +1301 -0
- package/.next/standalone/node_modules/onvif/lib/device.js +704 -0
- package/.next/standalone/node_modules/onvif/lib/discovery.js +212 -0
- package/.next/standalone/node_modules/onvif/lib/events.js +457 -0
- package/.next/standalone/node_modules/onvif/lib/imaging.js +717 -0
- package/.next/standalone/node_modules/onvif/lib/media.js +1552 -0
- package/.next/standalone/node_modules/onvif/lib/onvif.js +10 -0
- package/.next/standalone/node_modules/onvif/lib/ptz.js +612 -0
- package/.next/standalone/node_modules/onvif/lib/recording.js +330 -0
- package/.next/standalone/node_modules/onvif/lib/replay.js +45 -0
- package/.next/standalone/node_modules/onvif/lib/utils.js +171 -0
- package/.next/standalone/node_modules/onvif/package.json +74 -0
- package/.next/standalone/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
- package/.next/standalone/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
- package/.next/standalone/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
- package/.next/standalone/node_modules/react/cjs/react.development.js +1284 -0
- package/.next/standalone/node_modules/react/cjs/react.production.js +542 -0
- package/.next/standalone/node_modules/react/compiler-runtime.js +14 -0
- package/.next/standalone/node_modules/react/index.js +7 -0
- package/.next/standalone/node_modules/react/jsx-dev-runtime.js +7 -0
- package/.next/standalone/node_modules/react/jsx-runtime.js +7 -0
- package/.next/standalone/node_modules/react/package.json +51 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
- package/.next/standalone/node_modules/react-dom/cjs/react-dom.production.js +210 -0
- package/.next/standalone/node_modules/react-dom/index.js +38 -0
- package/.next/standalone/node_modules/react-dom/package.json +117 -0
- package/.next/standalone/node_modules/react-dom/server.browser.js +16 -0
- package/.next/standalone/node_modules/react-dom/server.edge.js +17 -0
- package/.next/standalone/node_modules/react-dom/server.node.js +18 -0
- package/.next/standalone/node_modules/react-dom/static.node.js +14 -0
- package/.next/standalone/node_modules/sax/lib/sax.js +1866 -0
- package/.next/standalone/node_modules/sax/package.json +34 -0
- package/.next/standalone/node_modules/semver/package.json +38 -0
- package/.next/standalone/node_modules/styled-jsx/dist/index/index.js +499 -0
- package/.next/standalone/node_modules/styled-jsx/index.js +1 -0
- package/.next/standalone/node_modules/styled-jsx/package.json +132 -0
- package/.next/standalone/node_modules/styled-jsx/style.js +1 -0
- package/.next/standalone/node_modules/xml2js/lib/bom.js +12 -0
- package/.next/standalone/node_modules/xml2js/lib/builder.js +127 -0
- package/.next/standalone/node_modules/xml2js/lib/defaults.js +72 -0
- package/.next/standalone/node_modules/xml2js/lib/parser.js +395 -0
- package/.next/standalone/node_modules/xml2js/lib/processors.js +34 -0
- package/.next/standalone/node_modules/xml2js/lib/xml2js.js +39 -0
- package/.next/standalone/node_modules/xml2js/package.json +93 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/DocumentPosition.js +12 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/NodeType.js +23 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/Utility.js +83 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/WriterState.js +10 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLAttribute.js +108 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLCData.js +36 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLCharacterData.js +79 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLComment.js +36 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +64 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +16 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +32 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDOMStringList.js +28 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDAttList.js +55 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDElement.js +38 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDEntity.js +97 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDTDNotation.js +52 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDeclaration.js +43 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDocType.js +186 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDocument.js +242 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDocumentCB.js +528 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLDummy.js +31 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLElement.js +298 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +58 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLNode.js +785 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLNodeList.js +28 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +49 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLRaw.js +35 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLStreamWriter.js +176 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLStringWriter.js +35 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLStringifier.js +240 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLText.js +69 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/XMLWriterBase.js +428 -0
- package/.next/standalone/node_modules/xmlbuilder/lib/index.js +65 -0
- package/.next/standalone/node_modules/xmlbuilder/package.json +39 -0
- package/.next/standalone/package.json +79 -0
- package/.next/standalone/public/file.svg +1 -0
- package/.next/standalone/public/globe.svg +1 -0
- package/.next/standalone/public/next.svg +1 -0
- package/.next/standalone/public/vercel.svg +1 -0
- package/.next/standalone/public/window.svg +1 -0
- package/.next/standalone/server.js +38 -0
- package/.next/standalone/src/app/api/recordings/clip/route.test.ts +83 -0
- package/.next/standalone/src/app/api/recordings/clip/route.ts +64 -0
- package/.next/standalone/src/app/api/recordings/route.test.ts +34 -0
- package/.next/standalone/src/app/api/recordings/route.ts +12 -0
- package/.next/standalone/src/app/recordings/clip-list.test.tsx +101 -0
- package/.next/standalone/src/app/recordings/clip-list.tsx +111 -0
- package/.next/standalone/src/app/recordings/page.test.tsx +68 -0
- package/.next/standalone/src/app/recordings/page.tsx +45 -0
- package/.next/static/chunks/0-4hhghprzhtw.js +1 -0
- package/.next/static/chunks/04l2v6p7fakl9.js +22 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/11be91k_gj8bl.js +1 -0
- package/.next/static/chunks/1ng-ttmhg6s6h.css +3 -0
- package/.next/static/chunks/21qqwm68cop21.js +1 -0
- package/.next/static/chunks/24ug1160gwrkx.js +1 -0
- package/.next/static/chunks/27t_qfc-3_lzs.js +1 -0
- package/.next/static/chunks/2a1pvrfk7fzss.js +1 -0
- package/.next/static/chunks/2e7rb5bft-ekp.js +1 -0
- package/.next/static/chunks/2in4angy4ta5n.js +1 -0
- package/.next/static/chunks/2mmpezlrfmbu5.js +1 -0
- package/.next/static/chunks/2o10tcz0x86zp.js +1 -0
- package/.next/static/chunks/310vm2bl3xxpt.js +31 -0
- package/.next/static/chunks/32zls3n3ypa-e.js +1 -0
- package/.next/static/chunks/3fntmmi971322.js +1 -0
- package/.next/static/chunks/3jl0ivt7_0tuf.js +58 -0
- package/.next/static/chunks/turbopack-1gvya9vclt5yj.js +1 -0
- package/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/.next/static/whCVdskjCUfluHW0q3o9p/_buildManifest.js +11 -0
- package/.next/static/whCVdskjCUfluHW0q3o9p/_clientMiddlewareManifest.js +6 -0
- package/.next/static/whCVdskjCUfluHW0q3o9p/_ssgManifest.js +1 -0
- package/LICENSE +21 -0
- package/README.md +173 -0
- package/cli/onvif-dashboard.mjs +128 -0
- package/cli/onvif-dashboard.test.ts +73 -0
- package/package.json +79 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
- package/scripts/create-admin.mts +96 -0
- package/scripts/install-mediamtx.mts +18 -0
- package/src/lib/admin-file.ts +152 -0
- package/src/lib/first-run.ts +153 -0
- package/src/lib/mediamtx-install.ts +157 -0
- package/src/lib/paths.ts +54 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Creates (or with --force, replaces) the admin login file, outside the app, so the web
|
|
2
|
+
// interface never has to run unsecured. No dependencies beyond the app's own; runs on
|
|
3
|
+
// Node 24+ directly:
|
|
4
|
+
//
|
|
5
|
+
// npm run admin:create # prompts for username and password
|
|
6
|
+
// npm run admin:create -- --username admin # prompts for password only
|
|
7
|
+
// npm run admin:create -- --force # replace an existing admin (resets password)
|
|
8
|
+
// printf '%s\n' "$PW" | npm run admin:create -- --username admin # non-interactive
|
|
9
|
+
//
|
|
10
|
+
// Writes ADMIN_AUTH_FILE if set, otherwise ./.data/admin.json, owner-only (0600).
|
|
11
|
+
import { createInterface } from "node:readline/promises";
|
|
12
|
+
import { Writable } from "node:stream";
|
|
13
|
+
import { parseArgs } from "node:util";
|
|
14
|
+
import {
|
|
15
|
+
adminFilePath,
|
|
16
|
+
createAdminRecord,
|
|
17
|
+
passwordSchema,
|
|
18
|
+
readAdminFile,
|
|
19
|
+
usernameSchema,
|
|
20
|
+
writeAdminFile,
|
|
21
|
+
} from "../src/lib/admin-file.ts";
|
|
22
|
+
|
|
23
|
+
const { values } = parseArgs({
|
|
24
|
+
options: {
|
|
25
|
+
username: { type: "string" },
|
|
26
|
+
force: { type: "boolean", default: false },
|
|
27
|
+
help: { type: "boolean", short: "h", default: false },
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
if (values.help) {
|
|
32
|
+
console.log("Usage: npm run admin:create -- [--username NAME] [--force]");
|
|
33
|
+
process.exit(0);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const file = adminFilePath();
|
|
37
|
+
const interactive = process.stdin.isTTY === true;
|
|
38
|
+
|
|
39
|
+
// Echo is switched off while a password is typed.
|
|
40
|
+
let muted = false;
|
|
41
|
+
const output = new Writable({
|
|
42
|
+
write(chunk, _encoding, done) {
|
|
43
|
+
if (!muted) process.stdout.write(chunk);
|
|
44
|
+
done();
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
const rl = createInterface({ input: process.stdin, output, terminal: interactive });
|
|
48
|
+
// Piped input can arrive before the questions are asked, so read it line by line.
|
|
49
|
+
const lines = interactive ? null : rl[Symbol.asyncIterator]();
|
|
50
|
+
|
|
51
|
+
async function ask(question: string, { secret = false } = {}): Promise<string> {
|
|
52
|
+
if (lines) {
|
|
53
|
+
const next = await lines.next();
|
|
54
|
+
return next.done ? "" : String(next.value);
|
|
55
|
+
}
|
|
56
|
+
if (!secret) return rl.question(question);
|
|
57
|
+
process.stdout.write(question);
|
|
58
|
+
muted = true;
|
|
59
|
+
const answer = await rl.question("");
|
|
60
|
+
muted = false;
|
|
61
|
+
process.stdout.write("\n");
|
|
62
|
+
return answer;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function fail(message: string): never {
|
|
66
|
+
console.error(`Error: ${message}`);
|
|
67
|
+
rl.close();
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async function main() {
|
|
72
|
+
const existing = await readAdminFile(file).catch((err: Error) => fail(err.message));
|
|
73
|
+
if (existing && !values.force) {
|
|
74
|
+
fail(`an admin ("${existing.username}") already exists in ${file}. Re-run with --force to replace it.`);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const username = values.username ?? (await ask("Admin username: "));
|
|
78
|
+
const name = usernameSchema.safeParse(username);
|
|
79
|
+
if (!name.success) fail(`username ${name.error.issues[0].message}`);
|
|
80
|
+
|
|
81
|
+
const password = await ask("Password (12+ characters): ", { secret: true });
|
|
82
|
+
const strong = passwordSchema.safeParse(password);
|
|
83
|
+
if (!strong.success) fail(`password: ${strong.error.issues[0].message}`);
|
|
84
|
+
if (interactive && (await ask("Repeat password: ", { secret: true })) !== password) {
|
|
85
|
+
fail("passwords don't match.");
|
|
86
|
+
}
|
|
87
|
+
rl.close();
|
|
88
|
+
|
|
89
|
+
await writeAdminFile(file, await createAdminRecord(username, password), {
|
|
90
|
+
overwrite: values.force,
|
|
91
|
+
});
|
|
92
|
+
console.log(`Admin "${username}" saved to ${file} (owner-only).`);
|
|
93
|
+
if (existing) console.log("Existing sessions are signed out; log in again with the new password.");
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
await main();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Installs the pinned MediaMTX video bridge into ./bin (vrek dec-xkn4z0e). The download is
|
|
2
|
+
// checked against a SHA-256 committed in src/lib/mediamtx-install.ts before anything is
|
|
3
|
+
// written. Safe to re-run: an installed matching build is left alone.
|
|
4
|
+
//
|
|
5
|
+
// npm run video:install
|
|
6
|
+
import { installMediamtx } from "../src/lib/mediamtx-install.ts";
|
|
7
|
+
|
|
8
|
+
try {
|
|
9
|
+
const result = await installMediamtx();
|
|
10
|
+
console.log(
|
|
11
|
+
result.status === "installed"
|
|
12
|
+
? `Installed MediaMTX ${result.version} at ${result.binary} (checksum verified).`
|
|
13
|
+
: `MediaMTX ${result.version} is already installed at ${result.binary}.`,
|
|
14
|
+
);
|
|
15
|
+
} catch (err) {
|
|
16
|
+
console.error(err instanceof Error ? err.message : err);
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The admin login file: format, password hashing, and atomic read/write.
|
|
3
|
+
*
|
|
4
|
+
* Plain Node on purpose (no "server-only", no path aliases, no TS-only syntax) so that
|
|
5
|
+
* scripts/create-admin.mts can run it directly with `node` to create the file outside the
|
|
6
|
+
* app. The app uses it through admin-auth.ts.
|
|
7
|
+
*/
|
|
8
|
+
import { randomBytes, scrypt as scryptCb, timingSafeEqual, type ScryptOptions } from "node:crypto";
|
|
9
|
+
import { link, mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
10
|
+
import path from "node:path";
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { adminFile } from "./paths.ts";
|
|
13
|
+
|
|
14
|
+
// Runtime data, not a build input: the ignore comment keeps it out of Next's output file
|
|
15
|
+
// tracing (see camera-registry.ts).
|
|
16
|
+
/** ADMIN_AUTH_FILE if set, otherwise admin.json in the data folder (see lib/paths.ts). */
|
|
17
|
+
export function adminFilePath(env: Record<string, string | undefined> = process.env): string {
|
|
18
|
+
return adminFile(env);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const usernameSchema = z
|
|
22
|
+
.string()
|
|
23
|
+
.regex(/^[A-Za-z0-9._@-]{1,64}$/, "1–64 letters, digits, or . _ @ -");
|
|
24
|
+
|
|
25
|
+
export const passwordSchema = z
|
|
26
|
+
.string()
|
|
27
|
+
.min(12, "At least 12 characters")
|
|
28
|
+
.max(256, "At most 256 characters");
|
|
29
|
+
|
|
30
|
+
// scrypt cost: N=2^16, r=8, p=1 needs 64 MiB and ~100–200 ms per hash, which makes guessing
|
|
31
|
+
// against a stolen file expensive while keeping a login quick.
|
|
32
|
+
const COST = { N: 2 ** 16, r: 8, p: 1 };
|
|
33
|
+
const KEY_LENGTH = 64;
|
|
34
|
+
const SALT_LENGTH = 16;
|
|
35
|
+
// Refuse absurd parameters from a tampered file rather than exhausting memory.
|
|
36
|
+
const MAX_N = 2 ** 20;
|
|
37
|
+
|
|
38
|
+
function scrypt(
|
|
39
|
+
password: string,
|
|
40
|
+
salt: Buffer,
|
|
41
|
+
keylen: number,
|
|
42
|
+
{ N, r, p }: { N: number; r: number; p: number },
|
|
43
|
+
) {
|
|
44
|
+
// scrypt needs 128·N·r bytes; allow twice that so Node's default 32 MiB cap doesn't refuse.
|
|
45
|
+
const options: ScryptOptions = { N, r, p, maxmem: 256 * N * r };
|
|
46
|
+
return new Promise<Buffer>((resolve, reject) =>
|
|
47
|
+
scryptCb(password, salt, keylen, options, (err, key) => (err ? reject(err) : resolve(key))),
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** `scrypt$N$r$p$salt$hash`, with salt and hash in base64. */
|
|
52
|
+
export async function hashPassword(password: string): Promise<string> {
|
|
53
|
+
const salt = randomBytes(SALT_LENGTH);
|
|
54
|
+
const key = await scrypt(password, salt, KEY_LENGTH, COST);
|
|
55
|
+
const { N, r, p } = COST;
|
|
56
|
+
return ["scrypt", N, r, p, salt.toString("base64"), key.toString("base64")].join("$");
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const HASH_PATTERN = /^scrypt\$(\d+)\$(\d+)\$(\d+)\$([A-Za-z0-9+/=]+)\$([A-Za-z0-9+/=]+)$/;
|
|
60
|
+
|
|
61
|
+
function parseHash(encoded: string) {
|
|
62
|
+
const m = HASH_PATTERN.exec(encoded);
|
|
63
|
+
if (!m) return null;
|
|
64
|
+
const [N, r, p] = [m[1], m[2], m[3]].map(Number);
|
|
65
|
+
const salt = Buffer.from(m[4], "base64");
|
|
66
|
+
const key = Buffer.from(m[5], "base64");
|
|
67
|
+
const powerOfTwo = N > 1 && (N & (N - 1)) === 0;
|
|
68
|
+
if (!powerOfTwo || N > MAX_N || r < 1 || r > 32 || p < 1 || p > 16) return null;
|
|
69
|
+
if (salt.length < 8 || key.length < 32) return null;
|
|
70
|
+
return { N, r, p, salt, key };
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function isValidPasswordHash(encoded: string): boolean {
|
|
74
|
+
return parseHash(encoded) !== null;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Recomputes the hash with its stored parameters and compares in constant time. */
|
|
78
|
+
export async function verifyPassword(password: string, encoded: string): Promise<boolean> {
|
|
79
|
+
const parsed = parseHash(encoded);
|
|
80
|
+
if (!parsed) return false;
|
|
81
|
+
const { N, r, p, salt, key } = parsed;
|
|
82
|
+
const candidate = await scrypt(password, salt, key.length, { N, r, p });
|
|
83
|
+
return timingSafeEqual(candidate, key);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export const adminFileSchema = z.object({
|
|
87
|
+
version: z.literal(1),
|
|
88
|
+
username: usernameSchema,
|
|
89
|
+
passwordHash: z.string().refine(isValidPasswordHash, "Not a scrypt$N$r$p$salt$hash string"),
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
export type AdminFile = z.infer<typeof adminFileSchema>;
|
|
93
|
+
|
|
94
|
+
export class AdminFileError extends Error {
|
|
95
|
+
name = "AdminFileError";
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* The admin file, or null if it doesn't exist. A file that exists but is unreadable or
|
|
100
|
+
* malformed throws: a typo must never silently turn authentication off.
|
|
101
|
+
*/
|
|
102
|
+
export async function readAdminFile(file: string): Promise<AdminFile | null> {
|
|
103
|
+
let text: string;
|
|
104
|
+
try {
|
|
105
|
+
text = await readFile(file, "utf8");
|
|
106
|
+
} catch (err) {
|
|
107
|
+
if ((err as NodeJS.ErrnoException).code === "ENOENT") return null;
|
|
108
|
+
throw new AdminFileError(`Can't read admin file ${file}: ${(err as Error).message}`);
|
|
109
|
+
}
|
|
110
|
+
let json: unknown;
|
|
111
|
+
try {
|
|
112
|
+
json = JSON.parse(text);
|
|
113
|
+
} catch {
|
|
114
|
+
throw new AdminFileError(`Admin file ${file} is not valid JSON`);
|
|
115
|
+
}
|
|
116
|
+
const parsed = adminFileSchema.safeParse(json);
|
|
117
|
+
if (!parsed.success) {
|
|
118
|
+
const problems = parsed.error.issues.map((i) => `${i.path.join(".") || "file"}: ${i.message}`);
|
|
119
|
+
throw new AdminFileError(`Admin file ${file} is malformed: ${problems.join("; ")}`);
|
|
120
|
+
}
|
|
121
|
+
return parsed.data;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Writes the file owner-only (0600) via a temp file, so a crash never leaves it half
|
|
126
|
+
* written. Without `overwrite`, fails with EEXIST if an admin already exists, atomically.
|
|
127
|
+
*/
|
|
128
|
+
export async function writeAdminFile(
|
|
129
|
+
file: string,
|
|
130
|
+
admin: AdminFile,
|
|
131
|
+
{ overwrite = false }: { overwrite?: boolean } = {},
|
|
132
|
+
): Promise<void> {
|
|
133
|
+
const contents = `${JSON.stringify(adminFileSchema.parse(admin), null, 2)}\n`;
|
|
134
|
+
await mkdir(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
135
|
+
const tmp = `${file}.${process.pid}.${randomBytes(4).toString("hex")}.tmp`;
|
|
136
|
+
await writeFile(tmp, contents, { mode: 0o600 });
|
|
137
|
+
try {
|
|
138
|
+
// link() refuses to replace an existing file; rename() replaces it.
|
|
139
|
+
await (overwrite ? rename(tmp, file) : link(tmp, file));
|
|
140
|
+
} finally {
|
|
141
|
+
if (!overwrite) await unlink(tmp).catch(() => {});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/** Builds a validated admin record, hashing the password. */
|
|
146
|
+
export async function createAdminRecord(username: string, password: string): Promise<AdminFile> {
|
|
147
|
+
return {
|
|
148
|
+
version: 1,
|
|
149
|
+
username: usernameSchema.parse(username),
|
|
150
|
+
passwordHash: await hashPassword(passwordSchema.parse(password)),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* First run (vrek iss-kz5c88a, dec-wx1j9gj): decide where the app keeps its files, make
|
|
3
|
+
* sure the key that protects stored camera logins exists, and say whether the video bridge
|
|
4
|
+
* is installed.
|
|
5
|
+
*
|
|
6
|
+
* Two rules shape this. The answer has to be remembered, so a globally installed app finds
|
|
7
|
+
* its data again from any directory: the chosen folder is written to a small pointer file
|
|
8
|
+
* under the user's config directory. And nothing may block a service: without a terminal
|
|
9
|
+
* the defaults are taken and the choices are logged.
|
|
10
|
+
*
|
|
11
|
+
* Plain Node on purpose (no "server-only", no path aliases) so the CLI can use it.
|
|
12
|
+
*/
|
|
13
|
+
import { randomBytes } from "node:crypto";
|
|
14
|
+
import { chmod, mkdir, readFile, writeFile } from "node:fs/promises";
|
|
15
|
+
import os from "node:os";
|
|
16
|
+
import path from "node:path";
|
|
17
|
+
import { dataDir as defaultDataDir, mediamtxBinary } from "./paths.ts";
|
|
18
|
+
|
|
19
|
+
type Env = Record<string, string | undefined>;
|
|
20
|
+
|
|
21
|
+
export const CONFIG_NAME = "onvif-dashboard";
|
|
22
|
+
export const SECRETS_FILE = "secrets.env";
|
|
23
|
+
|
|
24
|
+
/** Where the pointer to the data folder lives: $XDG_CONFIG_HOME or ~/.config. */
|
|
25
|
+
export function configFile(env: Env = process.env, home = os.homedir()): string {
|
|
26
|
+
return path.join(env.XDG_CONFIG_HOME || path.join(home, ".config"), CONFIG_NAME, "config.json");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export async function readConfig(env: Env = process.env, home = os.homedir()): Promise<{ dataDir?: string }> {
|
|
30
|
+
try {
|
|
31
|
+
const parsed: unknown = JSON.parse(await readFile(configFile(env, home), "utf8"));
|
|
32
|
+
const dir = (parsed as { dataDir?: unknown }).dataDir;
|
|
33
|
+
return typeof dir === "string" && dir ? { dataDir: dir } : {};
|
|
34
|
+
} catch {
|
|
35
|
+
return {};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export async function writeConfig(dir: string, env: Env = process.env, home = os.homedir()): Promise<void> {
|
|
40
|
+
const file = configFile(env, home);
|
|
41
|
+
await mkdir(path.dirname(file), { recursive: true });
|
|
42
|
+
await writeFile(file, `${JSON.stringify({ dataDir: dir }, null, 2)}\n`);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** KEY=value lines, as written by setup and read at startup. */
|
|
46
|
+
export function parseEnvFile(text: string): Record<string, string> {
|
|
47
|
+
const values: Record<string, string> = {};
|
|
48
|
+
for (const line of text.split("\n")) {
|
|
49
|
+
const match = /^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.*)$/.exec(line);
|
|
50
|
+
if (match && !line.trimStart().startsWith("#")) values[match[1]] = match[2].trim();
|
|
51
|
+
}
|
|
52
|
+
return values;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Makes sure CAMERA_CREDENTIALS_KEY exists, creating one on first run and keeping it
|
|
57
|
+
* owner-only. Returns the values and whether a key was just made.
|
|
58
|
+
*/
|
|
59
|
+
export async function ensureSecrets(dir: string): Promise<{ values: Record<string, string>; created: boolean }> {
|
|
60
|
+
const file = path.join(dir, SECRETS_FILE);
|
|
61
|
+
const existing = parseEnvFile(await readFile(file, "utf8").catch(() => ""));
|
|
62
|
+
if (existing.CAMERA_CREDENTIALS_KEY) return { values: existing, created: false };
|
|
63
|
+
|
|
64
|
+
const values = { ...existing, CAMERA_CREDENTIALS_KEY: randomBytes(32).toString("hex") };
|
|
65
|
+
await mkdir(dir, { recursive: true, mode: 0o700 });
|
|
66
|
+
const text = Object.entries(values)
|
|
67
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
68
|
+
.join("\n");
|
|
69
|
+
await writeFile(file, `# Written by onvif-dashboard. Keep this file private.\n${text}\n`, { mode: 0o600 });
|
|
70
|
+
await chmod(file, 0o600);
|
|
71
|
+
return { values, created: true };
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export interface FirstRunOptions {
|
|
75
|
+
env?: Env;
|
|
76
|
+
home?: string;
|
|
77
|
+
/** Asks the user; undefined when there is no terminal, so the default is taken. */
|
|
78
|
+
ask?: (question: string, fallback: string) => Promise<string>;
|
|
79
|
+
log?: (line: string) => void;
|
|
80
|
+
/** Whether the MediaMTX binary is present; injected so tests don't touch the disk. */
|
|
81
|
+
exists?: (file: string) => Promise<boolean>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export interface FirstRunResult {
|
|
85
|
+
dataDir: string;
|
|
86
|
+
/** Where the choice came from, which is worth saying out loud. */
|
|
87
|
+
source: "environment" | "remembered" | "answered" | "default";
|
|
88
|
+
secretCreated: boolean;
|
|
89
|
+
videoReady: boolean;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Settles where data lives and makes sure the credential key exists. Safe to run again:
|
|
94
|
+
* nothing already set is regenerated or overwritten.
|
|
95
|
+
*/
|
|
96
|
+
export async function firstRun(options: FirstRunOptions = {}): Promise<FirstRunResult> {
|
|
97
|
+
const env = options.env ?? process.env;
|
|
98
|
+
const home = options.home ?? os.homedir();
|
|
99
|
+
const log = options.log ?? ((line: string) => console.log(line));
|
|
100
|
+
const exists =
|
|
101
|
+
options.exists ??
|
|
102
|
+
(async (file: string) => {
|
|
103
|
+
const { access } = await import("node:fs/promises");
|
|
104
|
+
return access(file).then(
|
|
105
|
+
() => true,
|
|
106
|
+
() => false,
|
|
107
|
+
);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
let dataDir: string;
|
|
111
|
+
let source: FirstRunResult["source"];
|
|
112
|
+
const remembered = await readConfig(env, home);
|
|
113
|
+
|
|
114
|
+
if (env.CAMERAS_DATA_DIR) {
|
|
115
|
+
dataDir = env.CAMERAS_DATA_DIR;
|
|
116
|
+
source = "environment";
|
|
117
|
+
} else if (remembered.dataDir) {
|
|
118
|
+
dataDir = remembered.dataDir;
|
|
119
|
+
source = "remembered";
|
|
120
|
+
} else {
|
|
121
|
+
const fallback = defaultDataDir({});
|
|
122
|
+
if (options.ask) {
|
|
123
|
+
const answer = (await options.ask("Where should this keep its data?", fallback)).trim();
|
|
124
|
+
dataDir = path.resolve(answer || fallback);
|
|
125
|
+
source = "answered";
|
|
126
|
+
} else {
|
|
127
|
+
dataDir = fallback;
|
|
128
|
+
source = "default";
|
|
129
|
+
log(`[setup] No terminal to ask; keeping data in ${dataDir}. Set CAMERAS_DATA_DIR to change it.`);
|
|
130
|
+
}
|
|
131
|
+
await writeConfig(dataDir, env, home);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
await mkdir(dataDir, { recursive: true, mode: 0o700 });
|
|
135
|
+
const { created } = await ensureSecrets(dataDir);
|
|
136
|
+
if (created) log(`[setup] Made a key for stored camera logins in ${path.join(dataDir, SECRETS_FILE)}.`);
|
|
137
|
+
|
|
138
|
+
const videoReady = await exists(mediamtxBinary(env));
|
|
139
|
+
if (!videoReady) log("[setup] Live video and recording need MediaMTX: run onvif-dashboard install-video.");
|
|
140
|
+
|
|
141
|
+
return { dataDir, source, secretCreated: created, videoReady };
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/** Puts the remembered folder and the stored key into the environment for this run. */
|
|
145
|
+
export async function applyEnvironment(env: Env = process.env, home = os.homedir()): Promise<void> {
|
|
146
|
+
if (!env.CAMERAS_DATA_DIR) {
|
|
147
|
+
const remembered = await readConfig(env, home);
|
|
148
|
+
if (remembered.dataDir) env.CAMERAS_DATA_DIR = remembered.dataDir;
|
|
149
|
+
}
|
|
150
|
+
const dir = env.CAMERAS_DATA_DIR ?? defaultDataDir(env);
|
|
151
|
+
const stored = parseEnvFile(await readFile(path.join(dir, SECRETS_FILE), "utf8").catch(() => ""));
|
|
152
|
+
for (const [key, value] of Object.entries(stored)) env[key] ??= value;
|
|
153
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Downloads the pinned MediaMTX release and installs its binary into bin/ (vrek
|
|
3
|
+
* dec-xkn4z0e, iss-qdc4vqw). The archive must match a SHA-256 committed here, so a changed
|
|
4
|
+
* or tampered download is refused before anything is written.
|
|
5
|
+
*
|
|
6
|
+
* Plain Node on purpose (no "server-only", no path aliases, no TS-only syntax) so that
|
|
7
|
+
* scripts/install-mediamtx.mts can run it directly with Node's type stripping.
|
|
8
|
+
*/
|
|
9
|
+
import { execFile } from "node:child_process";
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
11
|
+
import { access, chmod, copyFile, mkdir, mkdtemp, readFile, rename, rm, writeFile } from "node:fs/promises";
|
|
12
|
+
import os from "node:os";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
import { promisify } from "node:util";
|
|
15
|
+
import { binDir as defaultBinDir } from "./paths.ts";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* To upgrade: bump the version and replace every sha256 with the values from that
|
|
19
|
+
* release's checksums.sha256 (cross-check against GitHub's per-asset digests).
|
|
20
|
+
*/
|
|
21
|
+
export const MEDIAMTX_RELEASE = {
|
|
22
|
+
version: "v1.21.0",
|
|
23
|
+
sha256: {
|
|
24
|
+
"darwin-arm64": "159b8e8164022189e654b61ee8bb7edf2d3ff9354ff06cf4c315bb59f5cc9eca",
|
|
25
|
+
"darwin-amd64": "2ee772efb7e2e365307599e41f849c54539f6019a2ebd4563be9b1256edfeb65",
|
|
26
|
+
"linux-amd64": "e02e34c3337a35f20ac9e5aa31524566108964e6e37dbc46cf8292169f6c792b",
|
|
27
|
+
"linux-arm64": "a8113b5928ba1a934b81557b61b8a07954b76921a4b567d54c7f086f8b39d9a2",
|
|
28
|
+
} as Record<string, string>,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const BINARY = "mediamtx";
|
|
32
|
+
const MARKER = "mediamtx.version.json";
|
|
33
|
+
/** Release archives are about 27 MB; anything far larger is not what we expect. */
|
|
34
|
+
const MAX_ARCHIVE_BYTES = 100 * 1024 * 1024;
|
|
35
|
+
|
|
36
|
+
export class MediamtxInstallError extends Error {
|
|
37
|
+
name = "MediamtxInstallError";
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Node's platform/arch as MediaMTX names them, e.g. "darwin-arm64", "linux-amd64". */
|
|
41
|
+
export function platformKey(platform: string = process.platform, arch: string = process.arch): string {
|
|
42
|
+
return `${platform}-${arch === "x64" ? "amd64" : arch}`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface ReleaseAsset {
|
|
46
|
+
file: string;
|
|
47
|
+
url: string;
|
|
48
|
+
sha256: string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function releaseAsset(key: string, release = MEDIAMTX_RELEASE): ReleaseAsset {
|
|
52
|
+
const sha256 = release.sha256[key];
|
|
53
|
+
if (!sha256) {
|
|
54
|
+
throw new MediamtxInstallError(
|
|
55
|
+
`No pinned MediaMTX build for ${key}. Supported: ${Object.keys(release.sha256).join(", ")}.`,
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
const [platform, arch] = key.split("-");
|
|
59
|
+
const file = `mediamtx_${release.version}_${platform}_${arch}.tar.gz`;
|
|
60
|
+
return { file, sha256, url: `https://github.com/bluenviron/mediamtx/releases/download/${release.version}/${file}` };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function sha256Of(data: Uint8Array): string {
|
|
64
|
+
return createHash("sha256").update(data).digest("hex");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** The network and archive steps, replaceable in tests (pri-e14bahk). */
|
|
68
|
+
export interface InstallDeps {
|
|
69
|
+
download(url: string): Promise<Uint8Array>;
|
|
70
|
+
/** Extracts the single file `name` from the .tar.gz at `archive` into the folder `into`. */
|
|
71
|
+
extract(archive: string, into: string, name: string): Promise<void>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export const defaultDeps: InstallDeps = {
|
|
75
|
+
async download(url) {
|
|
76
|
+
const res = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120_000) });
|
|
77
|
+
if (!res.ok) throw new MediamtxInstallError(`Download failed: HTTP ${res.status} for ${url}`);
|
|
78
|
+
const length = Number(res.headers.get("content-length") ?? 0);
|
|
79
|
+
if (length > MAX_ARCHIVE_BYTES) throw new MediamtxInstallError(`Download too large (${length} bytes)`);
|
|
80
|
+
const data = new Uint8Array(await res.arrayBuffer());
|
|
81
|
+
if (data.length > MAX_ARCHIVE_BYTES) throw new MediamtxInstallError(`Download too large (${data.length} bytes)`);
|
|
82
|
+
return data;
|
|
83
|
+
},
|
|
84
|
+
async extract(archive, into, name) {
|
|
85
|
+
await promisify(execFile)("tar", ["-xzf", archive, "-C", into, name]);
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export interface InstallResult {
|
|
90
|
+
status: "installed" | "already-installed";
|
|
91
|
+
version: string;
|
|
92
|
+
binary: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
async function exists(file: string) {
|
|
96
|
+
return access(file).then(
|
|
97
|
+
() => true,
|
|
98
|
+
() => false,
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async function installedMarker(binDir: string): Promise<{ version: string; sha256: string } | null> {
|
|
103
|
+
try {
|
|
104
|
+
return JSON.parse(await readFile(path.join(binDir, MARKER), "utf8"));
|
|
105
|
+
} catch {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Installs the pinned MediaMTX into `binDir` unless that exact build is already there.
|
|
112
|
+
* Verifies the archive's SHA-256 before extracting, and swaps the binary in atomically.
|
|
113
|
+
*/
|
|
114
|
+
export async function installMediamtx({
|
|
115
|
+
binDir = defaultBinDir(),
|
|
116
|
+
key = platformKey(),
|
|
117
|
+
release = MEDIAMTX_RELEASE,
|
|
118
|
+
deps = defaultDeps,
|
|
119
|
+
}: { binDir?: string; key?: string; release?: typeof MEDIAMTX_RELEASE; deps?: InstallDeps } = {}): Promise<InstallResult> {
|
|
120
|
+
const asset = releaseAsset(key, release);
|
|
121
|
+
const binary = path.join(binDir, BINARY);
|
|
122
|
+
const marker = await installedMarker(binDir);
|
|
123
|
+
if (marker?.version === release.version && marker.sha256 === asset.sha256 && (await exists(binary))) {
|
|
124
|
+
return { status: "already-installed", version: release.version, binary };
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const data = await deps.download(asset.url);
|
|
128
|
+
const actual = sha256Of(data);
|
|
129
|
+
if (actual !== asset.sha256) {
|
|
130
|
+
throw new MediamtxInstallError(
|
|
131
|
+
`Checksum mismatch for ${asset.file}: expected ${asset.sha256}, got ${actual}. Nothing was installed.`,
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const work = await mkdtemp(path.join(os.tmpdir(), "mediamtx-"));
|
|
136
|
+
try {
|
|
137
|
+
const archive = path.join(work, asset.file);
|
|
138
|
+
await writeFile(archive, data);
|
|
139
|
+
await deps.extract(archive, work, BINARY);
|
|
140
|
+
const extracted = path.join(work, BINARY);
|
|
141
|
+
if (!(await exists(extracted))) throw new MediamtxInstallError(`${asset.file} has no ${BINARY} binary`);
|
|
142
|
+
|
|
143
|
+
await mkdir(binDir, { recursive: true });
|
|
144
|
+
// Copy next to the target first (tmp may be another volume), then rename into place.
|
|
145
|
+
const staged = `${binary}.tmp`;
|
|
146
|
+
await copyFile(extracted, staged);
|
|
147
|
+
await chmod(staged, 0o755);
|
|
148
|
+
await rename(staged, binary);
|
|
149
|
+
await writeFile(
|
|
150
|
+
path.join(binDir, MARKER),
|
|
151
|
+
JSON.stringify({ version: release.version, sha256: asset.sha256 }, null, 2) + "\n",
|
|
152
|
+
);
|
|
153
|
+
return { status: "installed", version: release.version, binary };
|
|
154
|
+
} finally {
|
|
155
|
+
await rm(work, { recursive: true, force: true });
|
|
156
|
+
}
|
|
157
|
+
}
|
package/src/lib/paths.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the app keeps its files (vrek iss-rab8hnz, dec-wx1j9gj). One module answers this,
|
|
3
|
+
* so the app can run from anywhere, not only from its own source folder.
|
|
4
|
+
*
|
|
5
|
+
* CAMERAS_DATA_DIR names the folder holding the admin file, camera registry, encrypted
|
|
6
|
+
* credentials, audit log, recordings and the video bridge's config. Without it the folder
|
|
7
|
+
* is ./.data, which is what running from the repo has always meant. Each file also keeps
|
|
8
|
+
* its own long-standing override, so nothing that worked before stops working.
|
|
9
|
+
*
|
|
10
|
+
* Plain Node on purpose (no "server-only", no path aliases, no TS-only syntax) so the
|
|
11
|
+
* scripts in scripts/ can use it directly.
|
|
12
|
+
*/
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
|
|
15
|
+
type Env = Record<string, string | undefined>;
|
|
16
|
+
|
|
17
|
+
/** The folder that holds everything the app writes. */
|
|
18
|
+
export function dataDir(env: Env = process.env): string {
|
|
19
|
+
return env.CAMERAS_DATA_DIR || path.join(/* turbopackIgnore: true */ process.cwd(), ".data");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Where downloaded helpers live, MediaMTX today. Kept beside the app, not in the data folder. */
|
|
23
|
+
export function binDir(env: Env = process.env): string {
|
|
24
|
+
return env.CAMERAS_BIN_DIR || path.join(/* turbopackIgnore: true */ process.cwd(), "bin");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function adminFile(env: Env = process.env): string {
|
|
28
|
+
return env.ADMIN_AUTH_FILE || path.join(dataDir(env), "admin.json");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function registryFile(env: Env = process.env): string {
|
|
32
|
+
return env.CAMERA_REGISTRY_FILE || path.join(dataDir(env), "cameras.json");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function credentialsFile(env: Env = process.env): string {
|
|
36
|
+
return env.CAMERA_CREDENTIALS_FILE || path.join(dataDir(env), "credentials.json");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function auditLogFile(env: Env = process.env): string {
|
|
40
|
+
return env.AUDIT_LOG_FILE || path.join(dataDir(env), "audit.jsonl");
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function recordingsDir(env: Env = process.env): string {
|
|
44
|
+
return env.RECORDINGS_DIR || path.join(dataDir(env), "recordings");
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** The video bridge's generated config and pid file. */
|
|
48
|
+
export function videoBridgeDir(env: Env = process.env): string {
|
|
49
|
+
return path.join(dataDir(env), "mediamtx");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function mediamtxBinary(env: Env = process.env): string {
|
|
53
|
+
return env.MEDIAMTX_BIN || path.join(binDir(env), "mediamtx");
|
|
54
|
+
}
|