@hirra/vibemeter 0.1.2 → 0.1.4
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/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +7 -1
- package/.next/build-manifest.json +7 -8
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +16 -12
- package/.next/required-server-files.js +5 -4
- package/.next/required-server-files.json +5 -4
- package/.next/routes-manifest.json +36 -0
- package/.next/server/app/_global-error/page/build-manifest.json +4 -5
- package/.next/server/app/_global-error/page.js +4 -4
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +4 -5
- package/.next/server/app/_not-found/page.js +5 -4
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/page/build-manifest.json +4 -5
- package/.next/server/app/admin/page.js +7 -5
- package/.next/server/app/admin/page.js.nft.json +1 -1
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/codex-accounts/route.js +1 -1
- package/.next/server/app/api/codex-accounts/route.js.nft.json +1 -1
- package/.next/server/app/api/float/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/float/route/build-manifest.json +9 -0
- package/.next/server/app/api/float/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/float/route.js +8 -0
- package/.next/server/app/api/float/route.js.map +5 -0
- package/.next/server/app/api/float/route.js.nft.json +1 -0
- package/.next/server/app/api/float/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/import-sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/tags/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/tags/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/alerts/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/settings/alerts/route/build-manifest.json +9 -0
- package/.next/server/app/api/settings/alerts/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/settings/alerts/route.js +9 -0
- package/.next/server/app/api/settings/alerts/route.js.map +5 -0
- package/.next/server/app/api/settings/alerts/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/alerts/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/settings/notify/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/settings/notify/route/build-manifest.json +9 -0
- package/.next/server/app/api/settings/notify/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/settings/notify/route.js +7 -0
- package/.next/server/app/api/settings/notify/route.js.map +5 -0
- package/.next/server/app/api/settings/notify/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/notify/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/usage/route.js +1 -1
- package/.next/server/app/api/usage/route.js.nft.json +1 -1
- package/.next/server/app/float/page/app-paths-manifest.json +3 -0
- package/.next/server/app/float/page/build-manifest.json +16 -0
- package/.next/server/app/float/page/next-font-manifest.json +11 -0
- package/.next/server/app/float/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/float/page/server-reference-manifest.json +4 -0
- package/.next/server/app/float/page.js +15 -0
- package/.next/server/app/float/page.js.map +5 -0
- package/.next/server/app/float/page.js.nft.json +1 -0
- package/.next/server/app/float/page_client-reference-manifest.js +3 -0
- package/.next/server/app/install.sh/route/app-paths-manifest.json +3 -0
- package/.next/server/app/install.sh/route/build-manifest.json +9 -0
- package/.next/server/app/install.sh/route/server-reference-manifest.json +4 -0
- package/.next/server/app/install.sh/route.js +6 -0
- package/.next/server/app/install.sh/route.js.map +5 -0
- package/.next/server/app/install.sh/route.js.nft.json +1 -0
- package/.next/server/app/install.sh/route_client-reference-manifest.js +3 -0
- package/.next/server/app/install.sh.body +108 -0
- package/.next/server/app/install.sh.meta +1 -0
- package/.next/server/app/page/build-manifest.json +4 -5
- package/.next/server/app/page.js +8 -5
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/page/build-manifest.json +16 -0
- package/.next/server/app/settings/page/next-font-manifest.json +11 -0
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/settings/page/server-reference-manifest.json +4 -0
- package/.next/server/app/settings/page.js +17 -0
- package/.next/server/app/settings/page.js.map +5 -0
- package/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +7 -1
- package/.next/server/chunks/[externals]__0_i~3ox._.js +3 -0
- package/.next/server/chunks/[externals]__0_i~3ox._.js.map +1 -0
- package/.next/server/chunks/[externals]__13p_1zh._.js +3 -0
- package/.next/server/chunks/[externals]__13p_1zh._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__01t2c3w._.js +38 -0
- package/.next/server/chunks/[root-of-the-server]__01t2c3w._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0g0u0lm._.js → [root-of-the-server]__024yzee._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__00q0o~z._.js → [root-of-the-server]__082iwfa._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0chedn~._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mwf0bn._.js +38 -0
- package/.next/server/chunks/[root-of-the-server]__0mwf0bn._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0-74syk._.js → [root-of-the-server]__0ru3_it._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0u6y_k1._.js +111 -0
- package/.next/server/chunks/[root-of-the-server]__0u6y_k1._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0866q87._.js → [root-of-the-server]__0xa4dzi._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__13415c6._.js +96 -0
- package/.next/server/chunks/[root-of-the-server]__13415c6._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__13j_28o._.js +96 -0
- package/.next/server/chunks/[root-of-the-server]__13j_28o._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_float_route_actions_012j~jr.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_float_route_actions_012j~jr.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_alerts_route_actions_0ydcyko.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_alerts_route_actions_0ydcyko.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_notify_route_actions_0-j35mb.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_notify_route_actions_0-j35mb.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_install_sh_route_actions_0cj-6me.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_install_sh_route_actions_0cj-6me.js.map +1 -0
- package/.next/server/chunks/node_modules_next_06f88ko._.js +19 -0
- package/.next/server/chunks/node_modules_next_06f88ko._.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_03jj5jj.js +18 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_03jj5jj.js.map +1 -0
- package/.next/server/chunks/src_12i1qk5._.js +3 -0
- package/.next/server/chunks/src_12i1qk5._.js.map +1 -0
- package/.next/server/chunks/src_lib_alerts_ticker_ts_0n6oy1d._.js +169 -0
- package/.next/server/chunks/src_lib_alerts_ticker_ts_0n6oy1d._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__03mt8o0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__03mt8o0._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__098zro9._.js → [root-of-the-server]__090jxzh._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__090jxzh._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__09hgk-7._.js → [root-of-the-server]__0c3j40u._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0c3j40u._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ot4nev._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ot4nev._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0q_~l2m._.js +90 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0q_~l2m._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0cqes87._.js → [root-of-the-server]__0qt26ty._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0qt26ty._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s5.uhg._.js +55 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s5.uhg._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x~-phx._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x~-phx._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_zq8k._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_zq8k._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__08qr2ji._.js → [root-of-the-server]__0~953ob._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0~953ob._.js.map +1 -0
- package/.next/server/chunks/ssr/_0-9j34y._.js +70 -0
- package/.next/server/chunks/ssr/_0-9j34y._.js.map +1 -0
- package/.next/server/chunks/ssr/_0jxmm9h._.js +6 -0
- package/.next/server/chunks/ssr/_0jxmm9h._.js.map +1 -0
- package/.next/server/chunks/ssr/_0lfe3wr._.js +3 -0
- package/.next/server/chunks/ssr/_0lfe3wr._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_0i2xw~e._.js → _0nvprxh._.js} +5 -2
- package/.next/server/chunks/ssr/_0nvprxh._.js.map +1 -0
- package/.next/server/chunks/ssr/_0pugb10._.js +6 -0
- package/.next/server/chunks/ssr/_0pugb10._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_float_page_actions_0x6hm4p.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_float_page_actions_0x6hm4p.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_0mr68ai.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_0mr68ai.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_11~q6fv._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@swc_helpers_cjs__interop_require_default_cjs_11~q6fv._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_09jzzl8._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_09jzzl8._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_0e1izl_._.js → node_modules_next_dist_0h9llsw._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06b_a87.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06b_a87.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0p_u4px.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0p_u4px.js.map +1 -0
- package/.next/server/chunks/ssr/src_0urkups._.js +3 -0
- package/.next/server/chunks/ssr/src_0urkups._.js.map +1 -0
- package/.next/server/chunks/ssr/src_components_0ox9d~w._.js +3 -0
- package/.next/server/chunks/ssr/src_components_0ox9d~w._.js.map +1 -0
- package/.next/server/chunks/ssr/src_components_CodexAccountsPanel_tsx_0n9xjzi._.js +1 -1
- package/.next/server/chunks/ssr/src_components_CodexAccountsPanel_tsx_0n9xjzi._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_FloatingWidget_tsx_089.6oo._.js +3 -0
- package/.next/server/chunks/ssr/src_components_FloatingWidget_tsx_089.6oo._.js.map +1 -0
- package/.next/server/chunks/ssr/src_lib_i18n_client_tsx_07pysgz._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_i18n_client_tsx_07pysgz._.js.map +1 -0
- package/.next/server/edge/chunks/_0-m5tdn._.js +3 -0
- package/.next/server/edge/chunks/_0-m5tdn._.js.map +1 -0
- package/.next/server/edge/chunks/node_modules_next_dist_esm_build_templates_edge-wrapper_0mz-5sp.js.map +1 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0mz-5sp.js +3 -0
- package/.next/server/functions-config-manifest.json +4 -1
- package/.next/server/instrumentation/middleware-manifest.json +12 -0
- package/.next/server/instrumentation.js +4 -0
- package/.next/server/instrumentation.js.map +5 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/middleware-build-manifest.js +7 -8
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +8 -0
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages-manifest.json +0 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/0bymg5d-lqs0o.js +5 -0
- package/.next/static/chunks/0ebdqsutnp8y4.js +1 -0
- package/.next/static/chunks/0i3~mnai-l497.js +1 -0
- package/.next/static/chunks/0idj4tdmyr934.js +1 -0
- package/.next/static/chunks/10eoi4q2wk80z.js +1 -0
- package/.next/static/chunks/10refkmyp9rbl.css +3 -0
- package/.next/static/chunks/{07lhk_q6pmm3r.js → 10u3y4bw1ayzs.js} +1 -1
- package/.next/static/chunks/{00gq-v0e07i1q.js → 115dplafwys-z.js} +1 -1
- package/.next/static/chunks/12-9memveha-v.js +1 -0
- package/.next/static/chunks/163s8y.j70104.js +4 -0
- package/.next/static/chunks/turbopack-0k9twle9a8sh6.js +1 -0
- package/.next/types/routes.d.ts +8 -2
- package/.next/types/validator.ts +54 -0
- package/README.md +57 -17
- package/bin/vibemeter-float.swift +970 -0
- package/bin/vibemeter-notify.sh +172 -0
- package/bin/vibemeter.mjs +385 -7
- package/package.json +2 -1
- package/public/demo1.png +0 -0
- package/public/float-ball.png +0 -0
- package/public/float-collapsed.png +0 -0
- package/public/float-expanded.png +0 -0
- package/public/pay-alipay.jpg +0 -0
- package/.next/server/app/_not-found.html +0 -1
- package/.next/server/app/_not-found.meta +0 -16
- package/.next/server/app/_not-found.rsc +0 -16
- package/.next/server/app/_not-found.segments/_full.segment.rsc +0 -16
- package/.next/server/app/_not-found.segments/_head.segment.rsc +0 -6
- package/.next/server/app/_not-found.segments/_index.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +0 -5
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +0 -2
- package/.next/server/chunks/[root-of-the-server]__0y68a5d._.js +0 -96
- package/.next/server/chunks/[root-of-the-server]__0y68a5d._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__054lv8d._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__054lv8d._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__08qr2ji._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__098zro9._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__09hgk-7._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0cqes87._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0l.drdn._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0l.drdn._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v1zqf~._.js +0 -120
- package/.next/server/chunks/ssr/[root-of-the-server]__0v1zqf~._.js.map +0 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0v73tbn._.js.map +0 -1
- package/.next/server/chunks/ssr/_0ye~8el._.js +0 -7
- package/.next/server/chunks/ssr/_0ye~8el._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_0ck2~9g._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0ck2~9g._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_0i2xw~e._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_0e1izl_._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_0gsjr7_._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_0gsjr7_._.js.map +0 -1
- package/.next/server/pages/404.html +0 -1
- package/.next/static/chunks/002~6040mndie.css +0 -3
- package/.next/static/chunks/02g3221oh~3le.js +0 -2
- package/.next/static/chunks/0erq0bmub6w_z.js +0 -2
- package/.next/static/chunks/0ljfidstam_7k.js +0 -1
- package/.next/static/chunks/0pqt~8bl3ukh4.js +0 -4
- package/.next/static/chunks/turbopack-14vio.b1b9i4l.js +0 -1
- /package/.next/server/chunks/{[root-of-the-server]__0g0u0lm._.js.map → [root-of-the-server]__024yzee._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__00q0o~z._.js.map → [root-of-the-server]__082iwfa._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0-74syk._.js.map → [root-of-the-server]__0ru3_it._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0866q87._.js.map → [root-of-the-server]__0xa4dzi._.js.map} +0 -0
- /package/.next/static/{Ong62ufsHaRU36s0QK5ZZ → _Y03MiN6NI16Ms86q6vCJ}/_buildManifest.js +0 -0
- /package/.next/static/{Ong62ufsHaRU36s0QK5ZZ → _Y03MiN6NI16Ms86q6vCJ}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Ong62ufsHaRU36s0QK5ZZ → _Y03MiN6NI16Ms86q6vCJ}/_ssgManifest.js +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
module.exports=[57997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={UnrecognizedActionError:function(){return f},unstable_isUnrecognizedActionError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});class f extends Error{constructor(...a){super(...a),this.name="UnrecognizedActionError"}}function g(a){return!!(a&&"object"==typeof a&&a instanceof f)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},75718,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},15128,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},11026,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(15128),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},22099,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(15128),g=a.r(11026),h=a.r(20635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?"push":"replace",f.RedirectStatusCode.TemporaryRedirect)}function k(a,b="replace"){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},8535,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},28102,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(8535),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},64177,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(8535).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88213,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(8535).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},40656,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(88644),h=a.r(54427);var i=((d={})[d.Before=1]="Before",d[d.EarlyStatic=2]="EarlyStatic",d[d.Static=3]="Static",d[d.EarlyRuntime=4]="EarlyRuntime",d[d.Runtime=5]="Runtime",d[d.Dynamic=6]="Dynamic",d[d.Abandoned=7]="Abandoned",d);class j{constructor(a,b,c){this.abortSignal=a,this.abandonController=b,this.shouldTrackSyncIO=c,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,h.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,h.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.staticStagePromise.promise.catch(k),this.staticStagePromise.reject(b),this.earlyRuntimeStagePromise.promise.catch(k),this.earlyRuntimeStagePromise.reject(b),this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b),this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b)},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){if(this.currentStage>=a)b();else if(3===a)this.staticStageListeners.push(b);else if(4===a)this.earlyRuntimeStageListeners.push(b);else if(5===a)this.runtimeStageListeners.push(b);else if(6===a)this.dynamicStageListeners.push(b);else throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(a){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=a,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:a}=this;switch(a){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(a){if(a<=this.currentStage)return;let b=this.currentStage;if(this.currentStage=a,b<3&&a>=3&&this.resolveStaticStage(),b<4&&a>=4&&this.resolveEarlyRuntimeStage(),b<5&&a>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),b<6&&a>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let a=this.staticStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let a=this.earlyRuntimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let a=this.runtimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let a=this.dynamicStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.dynamicStagePromise.resolve()}getStagePromise(a){switch(a){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},35710,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(40656);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},31101,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},41997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},77747,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(8535),e=a.r(11026);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},3326,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DynamicServerError:function(){return g},isDynamicServerError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="DYNAMIC_SERVER_USAGE";class g extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},99392,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={StaticGenBailoutError:function(){return g},isStaticGenBailoutError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="NEXT_STATIC_GEN_BAILOUT";class g extends Error{constructor(...a){super(...a),this.code=f}}function h(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},83590,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={METADATA_BOUNDARY_NAME:function(){return f},OUTLET_BOUNDARY_NAME:function(){return h},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_metadata_boundary__",g="__next_viewport_boundary__",h="__next_outlet_boundary__",i="__next_root_layout_boundary__"},76383,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={atLeastOneTask:function(){return h},scheduleImmediate:function(){return g},scheduleOnNextTick:function(){return f},waitAtLeastOneReactRenderTask:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},g=a=>{setImmediate(a)};function h(){return new Promise(a=>g(a))}function i(){return new Promise(a=>setImmediate(a))}},21177,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return d}});let d="__next_instant_validation_boundary__"},54110,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return $},Postpone:function(){return D},PreludeState:function(){return af},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return B},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return Q},consumeDynamicAccess:function(){return M},createDynamicTrackingState:function(){return u},createDynamicValidationState:function(){return v},createHangingInputAbortSignal:function(){return P},createInstantValidationState:function(){return _},createRenderInBrowserAbortSignal:function(){return O},formatDynamicAPIAccesses:function(){return N},getFirstDynamicReason:function(){return w},getNavigationDisallowedDynamicReasons:function(){return aj},getStaticShellDisallowedDynamicReasons:function(){return ai},isDynamicPostpone:function(){return G},isPrerenderInterruptedError:function(){return K},logDisallowedDynamicError:function(){return ag},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return E},throwIfDisallowedDynamic:function(){return ah},throwToInterruptStaticGeneration:function(){return y},trackAllowedDynamicAccess:function(){return Z},trackDynamicDataInDynamicRender:function(){return z},trackDynamicHoleInNavigation:function(){return aa},trackDynamicHoleInRuntimeShell:function(){return ac},trackDynamicHoleInStaticShell:function(){return ad},trackThrownErrorInNavigation:function(){return ab},useDynamicRouteParams:function(){return R},useDynamicSearchParams:function(){return S}};for(var h in g)Object.defineProperty(c,h,{enumerable:!0,get:g[h]});let i=(d=a.r(72131))&&d.__esModule?d:{default:d},j=a.r(3326),k=a.r(99392),l=a.r(32319),m=a.r(56704),n=a.r(35710),o=a.r(83590),p=a.r(76383),q=a.r(41997),r=a.r(88644),s=a.r(21177),t="function"==typeof i.default.unstable_postpone;function u(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function v(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function w(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function x(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return E(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function y(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function z(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(a,b,c){let d=J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function B(a,b,c,d){let e=d.dynamicTracking;A(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){A(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function D({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();E(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function E(a,b,c){(function(){if(!t)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(F(a,b))}function F(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function G(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&H(a.message)}function H(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===H(F("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let I="NEXT_PRERENDER_INTERRUPTED";function J(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=I,b}function K(a){return"object"==typeof a&&null!==a&&a.digest===I&&"name"in a&&"message"in a&&a instanceof Error}function L(a){return a.length>0}function M(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function N(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
|
|
2
|
-
${b}`))}function O(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function P(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else if("prerender-runtime"===a.type&&a.stagedRendering){let{stagedRendering:c}=a;c.waitForStage((0,n.getRuntimeStage)(c)).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()))}else(0,p.scheduleOnNextTick)(()=>b.abort());return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function Q(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function R(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return E(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function S(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let T=/\n\s+at Suspense \(<anonymous>\)/,U=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),V=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),W=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),X=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),Y=RegExp(`\\n\\s+at ${s.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`);function Z(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.hasDynamicMetadata=!0;return}if(W.test(b)){c.hasDynamicViewport=!0;return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1079",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}var $=((e={})[e.Runtime=1]="Runtime",e[e.Dynamic=2]="Dynamic",e);function _(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],createInstantStack:a}}function aa(a,b,c,d,e,f){if(X.test(b))return;if(V.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateMetadata` or you have file-based metadata such as icons that depend on dynamic params segments.":"Uncached data or `connection()` was accessed inside `generateMetadata`."} Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1076",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicMetadata=d;return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateViewport`.":"Uncached data or `connection()` was accessed inside `generateViewport`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1086",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(d);return}let g=Y.exec(b);if(g){let a=T.exec(b);if(a&&a.index<g.index){c.hasAllowedDynamic=!0;return}}else if(f.expectedIds.size===f.renderedIds.size){c.hasAllowedClientDynamicAboveBoundary=!0,c.hasAllowedDynamic=!0;return}else{let d=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1082",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.validationPreventingErrors.push(d);return}if(d.syncDynamicErrorWithStack){let a=d.syncDynamicErrorWithStack;null!==c.createInstantStack&&void 0===a.cause&&(a.cause=c.createInstantStack()),c.dynamicErrors.push(a);return}let h=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed outside of `<Suspense>`.":"Uncached data or `connection()` was accessed outside of `<Suspense>`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1078",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(h)}function ab(a,b,c,d){let e=Y.exec(d);if(e){let f=T.exec(d);if(f&&f.index<e.index)return;let g=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1112",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=ae(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d){if(X.test(b))return;if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1080",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1077",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}if(T.test(b)){c.hasAllowedDynamic=!0;return}else if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1084",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(e)}function ad(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1085",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1081",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1083",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}function ae(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var af=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function ag(a,b){console.error(b),console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
|
|
3
|
-
- Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
|
|
4
|
-
- Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},44753,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(35710),e=a.r(31101),f=a.r(41997),g=a.r(77747),h=a.r(54110),i=a.r(3326);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},47083,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(44753).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},21066,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return m},forbidden:function(){return i.forbidden},notFound:function(){return h.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return j.unauthorized},unstable_isUnrecognizedActionError:function(){return l},unstable_rethrow:function(){return k.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(75718),g=a.r(22099),h=a.r(28102),i=a.r(64177),j=a.r(88213),k=a.r(47083);function l(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let m={push:"push",replace:"replace"};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},74137,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return h.ReadonlyURLSearchParams},RedirectType:function(){return l.RedirectType},ServerInsertedHTMLContext:function(){return j.ServerInsertedHTMLContext},forbidden:function(){return l.forbidden},notFound:function(){return l.notFound},permanentRedirect:function(){return l.permanentRedirect},redirect:function(){return l.redirect},unauthorized:function(){return l.unauthorized},unstable_isUnrecognizedActionError:function(){return k.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return l.unstable_rethrow},useParams:function(){return u},usePathname:function(){return s},useRouter:function(){return t},useSearchParams:function(){return r},useSelectedLayoutSegment:function(){return w},useSelectedLayoutSegments:function(){return v},useServerInsertedHTML:function(){return j.useServerInsertedHTML}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(46058)._(a.r(72131)),g=a.r(9270),h=a.r(36313),i=a.r(39118),j=a.r(18341),k=a.r(57997),l=a.r(21066),m=a.r(54110).useDynamicRouteParams,n=a.r(54110).useDynamicSearchParams,{instrumentParamsForClientValidation:o,instrumentSearchParamsForClientValidation:p,expectCompleteParamsInClientValidation:q}={};function r(){n?.("useSearchParams()");let a=(0,f.useContext)(h.SearchParamsContext);return(0,f.useMemo)(()=>a?new h.ReadonlyURLSearchParams(a):null,[a])}function s(){return m?.("usePathname()"),(0,f.useContext)(h.PathnameContext)}function t(){let a=(0,f.useContext)(g.AppRouterContext);if(null===a)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return a}function u(){return m?.("useParams()"),(0,f.useContext)(h.PathParamsContext)}function v(a="children"){m?.("useSelectedLayoutSegments()");let b=(0,f.useContext)(g.LayoutRouterContext);return b?(0,i.getSelectedLayoutSegmentPath)(b.parentTree,a):null}function w(a="children"){m?.("useSelectedLayoutSegment()"),(0,f.useContext)(h.NavigationPromisesContext);let b=v(a);return(0,i.computeSelectedLayoutSegment)(b,a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},50944,(a,b,c)=>{b.exports=a.r(74137)},39579,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944);let e=["blocked","poc","spike","review","done"];function f(a){return a?a.split("/").filter(Boolean).pop()??a:"—"}function g({tool:a}){return"codex"===a?(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-emerald-900/40 text-emerald-400 border border-emerald-800/50",children:"codex"}):"cursor"===a?(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-sky-900/40 text-sky-400 border border-sky-800/50",children:"cursor"}):(0,b.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-violet-900/40 text-violet-400 border border-violet-800/50",children:"claude"})}function h({label:a,onRemove:c}){let d={blocked:"bg-red-900/40 text-red-400 border-red-800/50",poc:"bg-yellow-900/40 text-yellow-400 border-yellow-800/50",spike:"bg-orange-900/40 text-orange-400 border-orange-800/50",review:"bg-blue-900/40 text-blue-400 border-blue-800/50",done:"bg-zinc-700/40 text-zinc-400 border-zinc-600/50"}[a]??"bg-zinc-800/40 text-zinc-400 border-zinc-700/50";return(0,b.jsxs)("span",{className:`inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded border ${d}`,children:[a,c&&(0,b.jsx)("button",{onClick:c,className:"hover:text-white leading-none",children:"×"})]})}function i({sessions:a}){let[d,j]=(0,c.useState)(""),[k,l]=(0,c.useState)({}),[m,n]=(0,c.useState)({}),[o,p]=(0,c.useState)(null),q=(0,c.useMemo)(()=>{let b=d.toLowerCase();return b?a.filter(a=>f(a.cwd).toLowerCase().includes(b)||(a.ai_title??"").toLowerCase().includes(b)||(a.summary??"").toLowerCase().includes(b)):a},[a,d]);async function r(a,b){l(c=>({...c,[a]:b})),await fetch(`/api/sessions/${a}/tags`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({tags:b})})}function s(a){return k[a.id]??function(a){try{return a?JSON.parse(a):[]}catch{return[]}}(a.tags)}function t(a,b){let c=b.trim().toLowerCase().replace(/\s+/g,"-");if(!c)return;let d=s(a);d.includes(c)||(r(a.id,[...d,c]),n(b=>({...b,[a.id]:""})))}return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-zinc-800 gap-4",children:[(0,b.jsx)("h2",{className:"text-sm font-medium text-zinc-300 shrink-0",children:"Recent Sessions"}),(0,b.jsx)("input",{type:"text",placeholder:"search project / title…",value:d,onChange:a=>j(a.target.value),className:"flex-1 max-w-xs bg-zinc-800 border border-zinc-700 rounded px-3 py-1 text-xs text-zinc-200 placeholder-zinc-600 focus:outline-none focus:border-zinc-500"}),(0,b.jsxs)("span",{className:"text-xs text-zinc-500 shrink-0",children:[a.filter(a=>!a.ended_at).length," active · ",q.length,"/",a.length]})]}),0===q.length?(0,b.jsx)("p",{className:"px-5 py-8 text-zinc-600 text-sm text-center",children:"No sessions match."}):(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"text-xs text-zinc-500 border-b border-zinc-800",children:[(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"started"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"tool"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"project · title"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"dur"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"status"}),(0,b.jsx)("th",{className:"px-4 py-2 text-left font-normal",children:"tags"})]})}),(0,b.jsx)("tbody",{children:q.map(a=>{let d=!a.ended_at,i=s(a),j=o===a.id;return(0,b.jsx)(c.default.Fragment,{children:(0,b.jsxs)("tr",{className:"border-b border-zinc-800/40 hover:bg-zinc-800/20 transition-colors",children:[(0,b.jsx)("td",{className:"px-4 py-2 text-zinc-500 tabular-nums whitespace-nowrap text-xs",children:new Date(a.started_at).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1})}),(0,b.jsx)("td",{className:"px-4 py-2",children:(0,b.jsx)(g,{tool:a.tool})}),(0,b.jsxs)("td",{className:"px-4 py-2 max-w-xs",children:[(0,b.jsx)("div",{className:"text-zinc-200 text-xs font-medium",children:f(a.cwd)}),a.ai_title&&(0,b.jsx)("div",{className:"text-zinc-500 text-xs truncate",children:a.ai_title}),!a.ai_title&&a.summary&&(0,b.jsx)("div",{className:"text-zinc-600 text-xs truncate",children:a.summary})]}),(0,b.jsx)("td",{className:"px-4 py-2 text-zinc-500 tabular-nums text-xs",children:function(a,b){if(!b)return"active";let c=Math.round((b-a)/6e4);return c<60?`${c}m`:`${Math.floor(c/60)}h ${c%60}m`}(a.started_at,a.ended_at??null)}),(0,b.jsx)("td",{className:"px-4 py-2",children:d?(0,b.jsxs)("span",{className:"inline-flex items-center gap-1 text-emerald-400 text-xs",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-400 animate-pulse inline-block"}),"active"]}):(0,b.jsx)("span",{className:"text-zinc-700 text-xs",children:"done"})}),(0,b.jsx)("td",{className:"px-4 py-2",children:(0,b.jsxs)("div",{className:"flex flex-wrap gap-1 items-center",children:[i.map(c=>(0,b.jsx)(h,{label:c,onRemove:()=>{r(a.id,s(a).filter(a=>a!==c))}},c)),j?(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsx)("input",{autoFocus:!0,value:m[a.id]??"",onChange:b=>n(c=>({...c,[a.id]:b.target.value})),onKeyDown:b=>{"Enter"===b.key&&t(a,m[a.id]??""),"Escape"===b.key&&p(null)},placeholder:"tag…",className:"w-16 bg-zinc-800 border border-zinc-600 rounded px-1 py-0.5 text-xs text-zinc-200 focus:outline-none"}),(0,b.jsx)("div",{className:"flex gap-1",children:e.filter(a=>!i.includes(a)).slice(0,3).map(c=>(0,b.jsx)("button",{onClick:()=>t(a,c),className:"text-xs text-zinc-500 hover:text-zinc-300 px-1 py-0.5 rounded border border-zinc-700",children:c},c))}),(0,b.jsx)("button",{onClick:()=>p(null),className:"text-zinc-600 hover:text-zinc-400 text-xs",children:"✕"})]}):(0,b.jsx)("button",{onClick:()=>p(a.id),className:"text-zinc-700 hover:text-zinc-400 text-xs leading-none",children:"+"})]})})]})},a.id)})})]})]})}let j={"claude-code":"bg-violet-500",codex:"bg-emerald-500",cursor:"bg-sky-500",other:"bg-zinc-500"};function k({data:a}){let c=a.reduce((a,b)=>a+b.sessions,0);return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"tool split"}),0===a.length?(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no data"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex h-2 rounded overflow-hidden gap-0.5 mb-3",children:a.map(a=>(0,b.jsx)("div",{className:`${j[a.tool]??"bg-zinc-500"} rounded-sm`,style:{width:`${a.pct}%`}},a.tool))}),(0,b.jsx)("div",{className:"space-y-1.5",children:a.map(a=>{let c;return(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:`w-2 h-2 rounded-sm inline-block ${j[a.tool]??"bg-zinc-500"}`}),(0,b.jsx)("span",{className:"text-zinc-300",children:"claude-code"===a.tool?"claude code":a.tool})]}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums",children:[a.sessions," sessions · ",(c=a.totalMs/36e5)<1?`${Math.round(60*c)}m`:`${c.toFixed(1)}h`," · ",a.pct,"%"]})]},a.tool)})}),(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mt-2",children:[c," total sessions"]})]})]})}function l(a){return a.map(a=>`${a.x.toFixed(1)},${a.y.toFixed(1)}`).join(" ")}function m(a){let b=new Date(a),c=new Date,d=b.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1});return b.toDateString()===c.toDateString()?d:`${(b.getMonth()+1).toString().padStart(2,"0")}/${b.getDate().toString().padStart(2,"0")} ${d}`}function n({data:a,label:d="claude code"}){let e=(0,c.useRef)(null),[f,g]=(0,c.useState)(null),h=a.length>=2?a[0].ts:0,i=a.length>=2?a[a.length-1].ts:1,j=i-h||1,k=a=>32+(a-h)/j*520,o=a=>null==a?null:4+(1-a/100)*112,p=(0,c.useCallback)(b=>{if(!e.current||a.length<2)return;let c=e.current.getBoundingClientRect(),d=32+520*Math.max(0,Math.min(1,(b.clientX-c.left)/c.width)),f=a[0],h=1/0;for(let b of a){let a=Math.abs(k(b.ts)-d);a<h&&(h=a,f=b)}g({svgX:k(f.ts),screenX:b.clientX,screenY:c.top,point:f})},[a,h,j]);if(a.length<2)return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["usage history (7d) · ",d]}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"not enough data yet"})]});let q=a.filter(a=>null!=a.pct5h).map(a=>({x:k(a.ts),y:o(a.pct5h)})),r=a.filter(a=>null!=a.pctWeekly).map(a=>({x:k(a.ts),y:o(a.pctWeekly)})),s=a.filter(a=>null!=a.pct5h).at(-1)?.pct5h,t=a.filter(a=>null!=a.pctWeekly).at(-1)?.pctWeekly;return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5 relative",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:["usage history (7d) · ",d]}),(0,b.jsxs)("svg",{ref:e,viewBox:"0 0 560 120",className:"w-full h-28 cursor-crosshair",preserveAspectRatio:"none",onMouseMove:p,onMouseLeave:()=>g(null),children:[[0,25,50,75,100].map(a=>{let c=o(a);return(0,b.jsxs)("g",{children:[(0,b.jsx)("line",{x1:32,y1:c,x2:552,y2:c,stroke:"#27272a",strokeWidth:"1"}),(0,b.jsxs)("text",{x:29,y:c+3.5,textAnchor:"end",fontSize:"8",fill:"#52525b",children:[a,"%"]})]},a)}),q.length>=2&&(0,b.jsx)("polyline",{points:l(q),fill:"none",stroke:"#8b5cf6",strokeWidth:"1.5",strokeLinejoin:"round"}),r.length>=2&&(0,b.jsx)("polyline",{points:l(r),fill:"none",stroke:"#10b981",strokeWidth:"1.5",strokeLinejoin:"round",strokeDasharray:"4 2"}),f&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("line",{x1:f.svgX,y1:4,x2:f.svgX,y2:116,stroke:"#52525b",strokeWidth:"1",strokeDasharray:"3 2"}),null!=f.point.pct5h&&(0,b.jsx)("circle",{cx:f.svgX,cy:o(f.point.pct5h),r:"2.5",fill:"#8b5cf6"}),null!=f.point.pctWeekly&&(0,b.jsx)("circle",{cx:f.svgX,cy:o(f.point.pctWeekly),r:"2.5",fill:"#10b981"})]})]}),f&&(0,b.jsxs)("div",{className:"pointer-events-none absolute z-10 bg-zinc-800 border border-zinc-700 rounded px-2 py-1.5 text-xs shadow-lg",style:{left:`${((f.svgX-32)/520*100).toFixed(1)}%`,transform:f.svgX>364?"translateX(-110%)":"translateX(4px)",top:"40px"},children:[(0,b.jsx)("p",{className:"text-zinc-400 mb-1",children:m(f.point.ts)}),null!=f.point.pct5h&&(0,b.jsxs)("p",{className:"text-violet-400",children:["5h: ",f.point.pct5h.toFixed(0),"% used"]}),null!=f.point.pctWeekly&&(0,b.jsxs)("p",{className:"text-emerald-400",children:["7day: ",f.point.pctWeekly.toFixed(0),"% used"]})]}),(0,b.jsxs)("div",{className:"flex items-center justify-between mt-1 text-xs text-zinc-600",children:[(0,b.jsx)("span",{children:m(h)}),(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsxs)("span",{className:"text-violet-400",children:["— 5h ",null!=s?`(${s.toFixed(0)}% used)`:""]}),(0,b.jsxs)("span",{className:"text-emerald-400",children:["-- 7day ",null!=t?`(${t.toFixed(0)}% used)`:""]})]}),(0,b.jsx)("span",{children:m(i)})]})]})}function o({data:a}){if(0===a.length)return null;let c=a[0].changes;return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"file hotspots"}),(0,b.jsx)("div",{className:"space-y-2",children:a.map(a=>{let d,e;return(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between text-xs mb-0.5",children:[(0,b.jsxs)("span",{className:"text-zinc-300 truncate max-w-xs",title:a.path,children:[(0,b.jsxs)("span",{className:"text-zinc-600",children:[(d=a.path.split("/")).length>1?d.slice(-2,-1)[0]:"","/"]}),(e=a.path).split("/").pop()??e]}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums ml-2 shrink-0",children:[a.changes,"× · ",a.sessions," sessions"]})]}),(0,b.jsx)("div",{className:"h-1 bg-zinc-800 rounded",children:(0,b.jsx)("div",{className:"h-1 bg-amber-500/60 rounded",style:{width:`${a.changes/c*100}%`}})})]},a.path)})})]})}function p(a){return a>=1e9?`${(a/1e9).toFixed(1)}B`:a>=1e6?`${(a/1e6).toFixed(0)}M`:a>=1e3?`${(a/1e3).toFixed(0)}K`:String(a)}function q({data:a,toolFilter:c}){let d="all"===c||"claude-code"===c,e="all"===c||"codex"===c,f=d?Math.max(...a.daily.map(a=>a.claudeUsd),.01):.01,g=e?Math.max(...a.daily.map(a=>a.codexTokens),1):1;return d||e?(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"spending / consumption"}),(0,b.jsxs)("div",{className:"flex gap-6 mb-4",children:[d&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("p",{className:"text-xl font-bold text-violet-400",children:["$",a.claudeTotalUsd.toFixed(2)]}),(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-0.5",children:"claude code total"})]}),e&&(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-xl font-bold text-emerald-400",children:p(a.codexTotalTokens)}),(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-0.5",children:"codex tokens"})]})]}),(0,b.jsx)("p",{className:"text-xs text-zinc-600 mb-2",children:"last 14 days"}),(0,b.jsx)("div",{className:"flex items-end gap-px h-16",children:a.daily.map(a=>{let c=d?a.claudeUsd/f*100:0,h=e?a.codexTokens/g*100:0,i=[a.date.slice(5),d?`Claude $${a.claudeUsd.toFixed(2)}`:"",e?`Codex ${p(a.codexTokens)} tokens`:""].filter(Boolean).join("\n");return(0,b.jsx)("div",{className:"flex-1 flex flex-col items-center",title:i,children:(0,b.jsxs)("div",{className:"w-full flex flex-col justify-end gap-px",style:{height:"56px"},children:[e&&a.codexTokens>0&&(0,b.jsx)("div",{className:"w-full bg-emerald-600/60 rounded-sm",style:{height:`${Math.max(.56*h,1)}px`}}),d&&a.claudeUsd>0&&(0,b.jsx)("div",{className:"w-full bg-violet-500/70 rounded-sm",style:{height:`${Math.max(.56*c,1)}px`}})]})},a.date)})}),(0,b.jsxs)("div",{className:"flex justify-between mt-1",children:[(0,b.jsx)("span",{className:"text-zinc-700 text-xs",children:a.daily[0]?.date.slice(5)}),(0,b.jsx)("span",{className:"text-zinc-700 text-xs",children:a.daily[a.daily.length-1]?.date.slice(5)})]}),(0,b.jsxs)("div",{className:"flex gap-4 mt-2",children:[d&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-zinc-600",children:[(0,b.jsx)("span",{className:"w-2 h-2 rounded-sm bg-violet-500/70 inline-block"})," claude ($)"]}),e&&(0,b.jsxs)("span",{className:"flex items-center gap-1 text-xs text-zinc-600",children:[(0,b.jsx)("span",{className:"w-2 h-2 rounded-sm bg-emerald-600/60 inline-block"})," codex (tokens)"]})]})]}):(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"spending / consumption"}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no spending data for cursor"})]})}let r=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function s(a){return a<60?`${Math.round(a)}m`:`${(a/60).toFixed(1)}h`}function t(a){let b=new Date(a);return`${b.getHours().toString().padStart(2,"0")}:${b.getMinutes().toString().padStart(2,"0")}`}let u={"claude-code":"bg-violet-500/80 border-violet-400 text-violet-50",codex:"bg-emerald-600/80 border-emerald-400 text-emerald-50",cursor:"bg-sky-600/80 border-sky-400 text-sky-50"};function v({sessions:a,streak:d,timeline:e}){var f;let[g,h]=(0,c.useState)("pattern"),[i,j]=(0,c.useState)(null),k=(0,c.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=c.started_at,d=c.ended_at??Math.min(Date.now(),c.started_at+36e5),e=a,f=null;for(;e<d;){let a=new Date(e),c=(a.getDay()+6)%7,g=a.getHours(),h=`${c}-${g}`,i=new Date(a);i.setMinutes(0,0,0),i.setHours(a.getHours()+1);let j=(Math.min(i.getTime(),d)-e)/6e4,k=b.get(h)??{minutes:0,sessions:0};k.minutes+=j,null===f&&(k.sessions+=1,f=h),b.set(h,k),e=i.getTime()}}let c=[];for(let a=0;a<7;a++)for(let d=0;d<24;d++){let e=b.get(`${a}-${d}`)??{minutes:0,sessions:0};c.push({dow:a,hour:d,...e})}return c})(a),[a]),l=Math.max(...k.map(a=>a.minutes),1),m=k.reduce((a,b)=>a+b.minutes,0)/60,n=k.reduce((a,b)=>b.minutes>a.minutes?b:a,k[0]),o=new Date(e.dateLabel+"T00:00:00").getTime(),p=o+864e5,q=e.sessions.map(a=>({...a,_start:Math.max(a.startMs,o),_end:Math.min(a.endMs,p)})).filter(a=>a._end>a._start).sort((a,b)=>a._start-b._start),w=[];for(let a of q){let b=!1;for(let c of w)if(c[c.length-1]._end<=a._start){c.push(a),b=!0;break}b||w.push([a])}let x=Math.max(w.length,1),y=q.reduce((a,b)=>a+(b._end-b._start),0)/36e5;return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5 relative",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4 gap-4 flex-wrap",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider",children:"activity"}),(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)("button",{onClick:()=>h("pattern"),className:`text-xs px-2.5 py-1 rounded border transition-colors ${"pattern"===g?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-800 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:"pattern"}),(0,b.jsx)("button",{onClick:()=>h("today"),className:`text-xs px-2.5 py-1 rounded border transition-colors ${"today"===g?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-800 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:"today"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-4 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-base font-bold text-zinc-100 tabular-nums",children:d.current}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"day streak"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-base font-bold text-zinc-300 tabular-nums",children:d.longest}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"longest"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-base font-bold text-zinc-300 tabular-nums",children:d.totalDays}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"active days"})]}),(0,b.jsxs)("div",{className:"border-l border-zinc-800 pl-4",children:[(0,b.jsxs)("span",{className:"text-base font-bold text-violet-400 tabular-nums",children:[m.toFixed(0),"h"]}),(0,b.jsx)("span",{className:"text-zinc-500 ml-1",children:"total"})]})]})]}),"pattern"===g?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mb-2",children:["peak slot: ",r[n.dow]," ",n.hour.toString().padStart(2,"0"),":00 (",s(n.minutes),")"]}),(0,b.jsxs)("div",{className:"flex gap-1 text-xs",children:[(0,b.jsx)("div",{className:"w-8 shrink-0"}),(0,b.jsx)("div",{className:"flex-1 grid gap-px",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24}).map((a,c)=>(0,b.jsx)("div",{className:`text-center text-[9px] text-zinc-600 ${c%3==0?"":"opacity-40"}`,children:c%3==0?c.toString().padStart(2,"0"):""},c))})]}),r.map((a,c)=>(0,b.jsxs)("div",{className:"flex gap-1 mt-px",children:[(0,b.jsx)("div",{className:"w-8 shrink-0 text-[10px] text-zinc-600 leading-4",children:a}),(0,b.jsx)("div",{className:"flex-1 grid gap-px",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24}).map((d,e)=>{let f=k[24*c+e];return(0,b.jsx)("div",{className:`h-4 rounded-sm ${function(a,b){if(0===a)return"bg-zinc-900";let c=b>0?a/b:0;return c<.15?"bg-violet-900/40":c<.3?"bg-violet-800/60":c<.5?"bg-violet-700":c<.75?"bg-violet-600":"bg-violet-400"}(f.minutes,l)}`,title:`${a} ${e.toString().padStart(2,"0")}:00
|
|
5
|
-
${s(f.minutes)} \xb7 ${f.sessions} sessions`},e)})})]},a)),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-3 text-[10px] text-zinc-600",children:[(0,b.jsx)("span",{children:"less"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-zinc-900 border border-zinc-800"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-900/40"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-800/60"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-700"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-600"}),(0,b.jsx)("span",{className:"w-3 h-3 rounded-sm bg-violet-400"}),(0,b.jsx)("span",{children:"more"})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-600 mb-2",children:[e.dateLabel," · ",q.length," sessions · ",y.toFixed(1),"h active"]}),0===q.length?(0,b.jsx)("p",{className:"text-zinc-600 text-sm py-4",children:"no sessions today"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"relative h-4 mb-1",children:Array.from({length:25}).map((a,c)=>(0,b.jsx)("div",{className:"absolute top-0 text-[10px] text-zinc-600 tabular-nums",style:{left:`${c/24*100}%`,transform:"translateX(-50%)"},children:c%3==0?c.toString().padStart(2,"0"):""},c))}),(0,b.jsxs)("div",{className:"relative bg-zinc-950/50 rounded overflow-hidden",style:{height:`${32*x+4}px`},children:[Array.from({length:25}).map((a,c)=>(0,b.jsx)("div",{className:"absolute top-0 bottom-0 border-l border-zinc-800/40",style:{left:`${c/24*100}%`}},c)),w.flatMap((a,c)=>a.map(a=>{let d=(a._start-o)/864e5*100,e=(a._end-a._start)/864e5*100;return(0,b.jsx)("div",{className:`absolute rounded border text-[11px] font-medium leading-none cursor-pointer hover:brightness-125 transition-all overflow-hidden ${u[a.tool]??"bg-zinc-600 border-zinc-500 text-zinc-100"}`,style:{left:`${d}%`,width:`${Math.max(e,.4)}%`,top:`${4+32*c}px`,height:"28px"},onMouseEnter:b=>j({s:a,x:b.clientX,y:b.clientY}),onMouseMove:b=>j({s:a,x:b.clientX,y:b.clientY}),onMouseLeave:()=>j(null),children:e>4&&(0,b.jsxs)("div",{className:"px-1.5 py-1 truncate",children:[(0,b.jsx)("span",{className:"opacity-80",children:t(a._start)})," · ",a.project]})},a.id)}))]}),(0,b.jsxs)("div",{className:"flex gap-4 mt-3 text-[11px] text-zinc-600",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-violet-500/80 inline-block"})," claude code"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-emerald-600/80 inline-block"})," codex"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:"w-2.5 h-2.5 rounded-sm bg-sky-600/80 inline-block"})," cursor"]})]}),i&&(0,b.jsxs)("div",{className:"fixed z-20 bg-zinc-800 border border-zinc-700 rounded px-3 py-2 text-xs shadow-xl pointer-events-none max-w-xs",style:{left:i.x+12,top:i.y+12},children:[(0,b.jsxs)("p",{className:"text-zinc-100 font-medium mb-0.5",children:[i.s.project," ",(0,b.jsxs)("span",{className:"text-zinc-500 font-normal",children:["· ",i.s.tool]})]}),i.s.aiTitle&&(0,b.jsx)("p",{className:"text-zinc-400 mb-1 line-clamp-2",children:i.s.aiTitle}),(0,b.jsxs)("p",{className:"text-zinc-500 tabular-nums",children:[t(i.s.startMs)," → ",t(i.s.endMs)," · ",(f=i.s.startMs,Math.max(1,Math.round((i.s.endMs-f)/6e4))),"m"]})]})]})]})]})}let w={"claude-code":"bg-violet-500",codex:"bg-emerald-500",cursor:"bg-sky-500"};function x({sessions:a,limit:d=10}){let e=(0,c.useMemo)(()=>{let b=new Map;for(let d of a){var c;let a=(c=d.cwd)?c.split("/").filter(Boolean).pop()??c:"—";if("—"===a)continue;let e=(d.ended_at??d.started_at)-d.started_at,f=b.get(a)??{project:a,cwd:d.cwd,sessions:0,totalMs:0,tools:{}};f.sessions+=1,f.totalMs+=e,f.tools[d.tool]=(f.tools[d.tool]??0)+1,b.set(a,f)}return[...b.values()].sort((a,b)=>b.totalMs-a.totalMs).slice(0,d)},[a,d]),f=Math.max(...e.map(a=>a.totalMs),1);return 0===e.length?(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"project leaderboard"}),(0,b.jsx)("p",{className:"text-zinc-600 text-sm",children:"no projects yet"})]}):(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-3",children:"project leaderboard"}),(0,b.jsx)("div",{className:"space-y-1.5",children:e.map((a,c)=>{let d;return(0,b.jsxs)("div",{className:"group",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 text-xs",children:[(0,b.jsx)("span",{className:"w-5 text-right text-zinc-600 tabular-nums",children:c+1}),(0,b.jsx)("span",{className:"flex-1 text-zinc-200 truncate",title:a.cwd??a.project,children:a.project}),(0,b.jsx)("div",{className:"flex gap-0.5",children:Object.entries(a.tools).map(([a,c])=>(0,b.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${w[a]??"bg-zinc-500"}`,title:`${a}: ${c}`},a))}),(0,b.jsxs)("span",{className:"text-zinc-500 tabular-nums w-12 text-right",children:[a.sessions,"×"]}),(0,b.jsx)("span",{className:"text-zinc-400 tabular-nums w-14 text-right",children:(d=a.totalMs/36e5)<1?`${Math.round(60*d)}m`:`${d.toFixed(1)}h`})]}),(0,b.jsx)("div",{className:"flex gap-px h-1 mt-0.5 ml-8",children:(0,b.jsx)("div",{className:"bg-violet-500/30 rounded-sm",style:{width:`${a.totalMs/f*100}%`}})})]},a.project)})})]})}function y({data:a}){let[d,e]=(0,c.useState)(!1),f=a.filter(a=>a.unlocked),g=a.filter(a=>!a.unlocked).sort((a,b)=>{let c=a.progress?a.progress.current/a.progress.target:0;return(b.progress?b.progress.current/b.progress.target:0)-c}),h=d?[...f,...g]:[...f.slice(0,4),...g.slice(0,Math.max(0,6-Math.min(f.length,4)))];return(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider",children:"achievements"}),(0,b.jsxs)("p",{className:"text-xs text-zinc-600",children:[f.length," / ",a.length," unlocked"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-2 gap-2",children:h.map(a=>{let c=a.progress?Math.min(100,a.progress.current/a.progress.target*100):100*!!a.unlocked;return(0,b.jsxs)("div",{className:`rounded border px-2.5 py-2 ${a.unlocked?"border-amber-700/50 bg-amber-950/30":"border-zinc-800 bg-zinc-950/30"}`,title:a.description,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsxs)("span",{className:`text-xs font-medium ${a.unlocked?"text-amber-300":"text-zinc-500"}`,children:[a.unlocked?"★":"☆"," ",a.title]}),(0,b.jsx)("span",{className:"text-[10px] text-zinc-600 tabular-nums shrink-0",children:function(a){if(!a.progress)return"";let{current:b,target:c}=a.progress;return c>=1e6?`${(b/1e6).toFixed(0)}M / ${(c/1e6).toFixed(0)}M`:c>=1e3?`${b.toLocaleString()} / ${c.toLocaleString()}`:c>=100&&Number.isFinite(b)&&b<100&&b%1!=0?`${b.toFixed(1)} / ${c}`:`${Math.floor(b)} / ${c}`}(a)})]}),(0,b.jsx)("div",{className:"h-0.5 bg-zinc-800 rounded mt-1.5 overflow-hidden",children:(0,b.jsx)("div",{className:`h-full ${a.unlocked?"bg-amber-500":"bg-zinc-600"}`,style:{width:`${c}%`}})}),(0,b.jsx)("p",{className:"text-[10px] text-zinc-600 mt-1 truncate",children:a.description})]},a.id)})}),a.length>6&&(0,b.jsx)("button",{onClick:()=>e(!d),className:"w-full mt-3 text-xs text-zinc-500 hover:text-zinc-300 border border-zinc-800 rounded py-1",children:d?"show less":`show all (${a.length})`})]})}let z=["all","claude-code","codex","cursor"],A={all:"All","claude-code":"Claude Code",codex:"Codex",cursor:"Cursor"},B=["today","7d","30d","all"],C={today:"Today","7d":"7 days","30d":"30 days",all:"All time"};function D(a){if(!a)return"";let b=a-Date.now();if(b<=0)return"resetting…";let c=new Date(a),d=c.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",hour12:!1}),e=new Date().toDateString()===c.toDateString()?d:`${(c.getMonth()+1).toString().padStart(2,"0")}/${c.getDate().toString().padStart(2,"0")} ${d}`,f=Math.floor(b/36e5),g=Math.floor(b%36e5/6e4),h=f>0?`${f}h ${g}m`:`${g}m`;return`resets at ${e} (in ${h})`}a.s(["Dashboard",0,function({sessions:a,streak:e,allBurndown:f,claudeBurndown:g,codexBurndown:h,hotspots:j,allUsage:l,claudeUsage:m,codexUsage:p,codexAccounts:r,selectedCodexAccountId:s,initialToolFilter:t,spending:u,timeline:w,achievements:E}){var F;let G,H,I=(0,d.useRouter)(),J=(0,d.usePathname)(),K=(0,d.useSearchParams)(),[L,M]=(0,c.useState)(t),[N,O]=(0,c.useState)("all"),[P,Q]=(0,c.useState)("idle"),[R,S]=(0,c.useState)(null),T=(0,c.useMemo)(()=>r.find(a=>a.accountId===s)??null,[r,s]),U=T?`codex \xb7 ${T.label}`:"codex · all accounts",V=(0,c.useMemo)(()=>{let a;return a=new Date,"today"===N?(a.setHours(0,0,0,0),a.getTime()):"7d"===N?Date.now()-6048e5:"30d"===N?Date.now()-2592e6:0},[N]),W=(0,c.useMemo)(()=>{let b=V>0?a.filter(a=>a.started_at>=V):a,c={all:b.length};for(let a of b)c[a.tool]=(c[a.tool]??0)+1;return c},[a,V]),X=(0,c.useMemo)(()=>{let b="all"===L?a:a.filter(a=>a.tool===L);return V>0&&(b=b.filter(a=>a.started_at>=V)),b},[a,L,V]),Y=(0,c.useMemo)(()=>{let a=new Map;for(let b of X){let c=(b.ended_at??b.started_at)-b.started_at,d=a.get(b.tool)??{sessions:0,totalMs:0};a.set(b.tool,{sessions:d.sessions+1,totalMs:d.totalMs+c})}let b=Math.max([...a.values()].reduce((a,b)=>a+b.totalMs,0),1);return[...a.entries()].map(([a,c])=>({tool:a,sessions:c.sessions,totalMs:c.totalMs,pct:Math.round(c.totalMs/b*100)})).sort((a,b)=>b.totalMs-a.totalMs)},[X]),Z=(0,c.useMemo)(()=>{if(0===V)return u;let a=new Date(V).toISOString().slice(0,10);return{...u,daily:u.daily.filter(b=>b.date>=a)}},[u,V]);async function $(){Q("refreshing"),S(null);try{let a=await fetch("/api/import-sessions",{method:"POST"}),b=await a.json();if(!a.ok)throw Error(b.error??"Refresh failed");Q("done"),S(`scanned ${b.scanned??0} logs in ${Math.round((b.durationMs??0)/100)/10}s`),I.refresh()}catch(a){Q("error"),S(a instanceof Error?a.message:"Refresh failed")}}function _(a,b){let c=new URLSearchParams(K.toString());"all"===a?(c.delete("agent"),c.delete("codexAccount")):(c.set("agent",a),"codex"!==a&&c.delete("codexAccount")),"codex"===a&&b?c.set("codexAccount",b):c.delete("codexAccount");let d=c.toString();I.replace(d?`${J}?${d}`:J,{scroll:!1}),I.refresh()}return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between mb-4 gap-3",children:[(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:z.filter(a=>"all"===a||(W[a]??0)>0).sort((a,b)=>"all"===a?-1:"all"===b?1:(W[b]??0)-(W[a]??0)).map(a=>(0,b.jsxs)("button",{onClick:()=>{M(a),_(a,"codex"===a?s:null)},className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${L===a?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:[A[a],(0,b.jsx)("span",{className:"ml-1.5 text-zinc-600 tabular-nums",children:W[a]??0})]},a))}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,b.jsx)("div",{className:"flex gap-1",children:B.map(a=>(0,b.jsx)("button",{onClick:()=>O(a),className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${N===a?"bg-zinc-700 border-zinc-500 text-zinc-100":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,children:C[a]},a))}),(0,b.jsx)("button",{type:"button",onClick:$,disabled:"refreshing"===P,className:"text-xs px-3 py-1.5 rounded-full border border-violet-500/40 bg-violet-500/10 text-violet-100 transition-colors hover:bg-violet-500/20 disabled:cursor-not-allowed disabled:opacity-50",children:"refreshing"===P?"Refreshing...":"Refresh data"})]})]}),R&&(0,b.jsx)("div",{className:`mb-4 rounded-lg border px-4 py-3 text-xs ${"error"===P?"border-red-900/60 bg-red-950/40 text-red-200":"border-emerald-900/60 bg-emerald-950/30 text-emerald-200"}`,children:R}),"codex"===L&&r.length>0&&(0,b.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-2 rounded-lg border border-zinc-800 bg-zinc-900 px-4 py-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("p",{className:"text-xs uppercase tracking-wider text-zinc-500",children:"Codex account"}),(0,b.jsx)("p",{className:"mt-1 truncate text-xs text-zinc-600",children:T?T.isCurrent?"current account only":"saved account only":"all saved and legacy Codex usage"})]}),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsxs)("select",{value:s??"",onChange:a=>{var b;return b=a.target.value,void(M("codex"),_("codex",b||null))},className:"max-w-72 rounded-md border border-zinc-700 bg-zinc-950 px-3 py-2 text-xs text-zinc-100 outline-none transition-colors hover:border-zinc-500 focus:border-violet-500",children:[(0,b.jsx)("option",{value:"",children:"All Codex accounts"}),r.map(a=>(0,b.jsxs)("option",{value:a.accountId,children:[a.label," · ",a.planType??"unknown",a.isCurrent?" · current":""]},a.accountId))]}),(0,b.jsx)("span",{className:"hidden shrink-0 text-xs text-zinc-600 sm:inline",children:T?(F=T.accountId).length>12?`${F.slice(0,6)}...${F.slice(-4)}`:F:"all"})]})]}),(G="codex"===L?p:"claude-code"===L?m:"all"===L?l:null,H="codex"===L?U:"claude-code"===L?"claude code":"all"===L?"all agents":A[L].toLowerCase(),(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["5h window · ",H]}),G?.window_5h_used_pct!=null?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-3xl font-bold text-zinc-100",children:[(100-G.window_5h_used_pct).toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500 mt-1",children:["remaining · ",G.window_5h_used_pct.toFixed(0),"% used"]}),G.reset_at_5h&&(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-1",children:D(G.reset_at_5h)})]}):(0,b.jsx)("p",{className:"text-zinc-600 text-sm mt-1",children:"codex"===L&&s?"no usage snapshot for this account yet":"no data yet"})]}),(0,b.jsxs)("div",{className:"rounded-lg border border-zinc-800 bg-zinc-900 p-5",children:[(0,b.jsxs)("p",{className:"text-xs text-zinc-500 uppercase tracking-wider mb-2",children:["7-day budget · ",H]}),G?.window_weekly_used_pct!=null?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"text-3xl font-bold text-zinc-100",children:[(100-G.window_weekly_used_pct).toFixed(0),"%"]}),(0,b.jsxs)("p",{className:"text-xs text-zinc-500 mt-1",children:["remaining · ",G.window_weekly_used_pct.toFixed(0),"% used"]}),G.reset_at_weekly&&(0,b.jsx)("p",{className:"text-xs text-zinc-600 mt-1",children:D(G.reset_at_weekly)})]}):(0,b.jsx)("p",{className:"text-zinc-600 text-sm mt-1",children:"codex"===L&&s?"click Refresh data after using this account":"no data yet"})]})]})})),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsx)(q,{data:Z,toolFilter:L}),(0,b.jsx)(y,{data:E})]}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(v,{sessions:X,streak:e,timeline:w})}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(n,{data:"codex"===L?h:"claude-code"===L?g:f,label:"codex"===L?U:"claude-code"===L?"claude code":"all agents"})}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[(0,b.jsx)(k,{data:Y}),(0,b.jsx)(x,{sessions:X})]}),(0,b.jsx)("div",{className:"mb-4",children:(0,b.jsx)(i,{sessions:X.slice(0,40)})}),j.length>0&&(0,b.jsx)(o,{data:j})]})}],39579)}];
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=_0ye~8el._.js.map
|