@karan171996/metricflow 0.1.4 → 0.1.6
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 +3 -2
- package/.next/build/chunks/[root-of-the-server]__1kki86f._.js +2 -2
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9._.js +1 -1
- package/.next/build/chunks/{node_modules_20v-8wl._.js → node_modules__pnpm_0q5gz_g._.js} +181 -230
- package/.next/build-manifest.json +7 -7
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +14 -14
- package/.next/routes-manifest.json +11 -3
- package/.next/server/app/_global-error/page/build-manifest.json +4 -4
- package/.next/server/app/_global-error/page.js +7 -7
- 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 +8 -9
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +12 -13
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -9
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +4 -4
- package/.next/server/app/_not-found/page.js +10 -10
- 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/_not-found.html +2 -2
- package/.next/server/app/_not-found.rsc +18 -18
- package/.next/server/app/_not-found.segments/_full.segment.rsc +18 -18
- package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/analyze/route.js +5 -5
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/connect/route.js +5 -5
- package/.next/server/app/api/connect/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +4 -4
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/metrics/route.js +6 -6
- package/.next/server/app/api/metrics/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +4 -4
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/ai/route.js +5 -5
- package/.next/server/app/api/setup/ai/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/route.js +5 -5
- package/.next/server/app/api/setup/route.js.nft.json +1 -1
- package/.next/server/app/api/timings/route.js +4 -4
- package/.next/server/app/api/timings/route.js.nft.json +1 -1
- package/.next/server/app/connect/page/build-manifest.json +4 -4
- package/.next/server/app/connect/page.js +11 -11
- package/.next/server/app/connect/page.js.nft.json +1 -1
- package/.next/server/app/connect/page_client-reference-manifest.js +1 -1
- package/.next/server/app/connect.html +2 -2
- package/.next/server/app/connect.rsc +20 -20
- package/.next/server/app/connect.segments/_full.segment.rsc +20 -20
- package/.next/server/app/connect.segments/_index.segment.rsc +11 -11
- package/.next/server/app/connect.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/connect.segments/connect/__PAGE__.segment.rsc +12 -12
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
- package/.next/server/app/icon.svg/route.js +7 -0
- package/.next/server/app/icon.svg/route.js.nft.json +1 -0
- package/.next/server/app/icon.svg.body +4 -0
- package/.next/server/app/icon.svg.meta +1 -0
- package/.next/server/app/index.html +2 -2
- package/.next/server/app/index.rsc +21 -21
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/index.segments/_full.segment.rsc +21 -21
- package/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page/build-manifest.json +4 -4
- package/.next/server/app/page.js +11 -11
- 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/performance/[slug]/page/build-manifest.json +4 -4
- package/.next/server/app/performance/[slug]/page.js +13 -12
- package/.next/server/app/performance/[slug]/page.js.nft.json +1 -1
- package/.next/server/app/performance/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/performance/page/build-manifest.json +4 -4
- package/.next/server/app/performance/page.js +11 -11
- package/.next/server/app/performance/page.js.nft.json +1 -1
- package/.next/server/app/performance/page_client-reference-manifest.js +1 -1
- package/.next/server/app/performance.html +2 -2
- package/.next/server/app/performance.rsc +21 -21
- package/.next/server/app/performance.segments/_full.segment.rsc +21 -21
- package/.next/server/app/performance.segments/_index.segment.rsc +11 -11
- package/.next/server/app/performance.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/performance.segments/performance/__PAGE__.segment.rsc +32 -31
- package/.next/server/app/settings/page/build-manifest.json +4 -4
- package/.next/server/app/settings/page.js +12 -12
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +2 -2
- package/.next/server/app/settings.rsc +32 -32
- package/.next/server/app/settings.segments/_full.segment.rsc +32 -32
- package/.next/server/app/settings.segments/_index.segment.rsc +11 -11
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +27 -27
- package/.next/server/app/setup/page/build-manifest.json +4 -4
- package/.next/server/app/setup/page.js +11 -11
- package/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/setup.html +2 -2
- package/.next/server/app/setup.rsc +21 -21
- package/.next/server/app/setup.segments/_full.segment.rsc +21 -21
- package/.next/server/app/setup.segments/_index.segment.rsc +11 -11
- package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +13 -13
- package/.next/server/app/tools/[tool]/page/app-paths-manifest.json +3 -0
- package/.next/server/app/tools/[tool]/page/build-manifest.json +19 -0
- package/.next/server/app/tools/[tool]/page/next-font-manifest.json +6 -0
- package/.next/server/app/tools/[tool]/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/tools/[tool]/page/server-reference-manifest.json +4 -0
- package/.next/server/app/tools/[tool]/page.js +17 -0
- package/.next/server/app/tools/[tool]/page.js.nft.json +1 -0
- package/.next/server/app/tools/[tool]/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +3 -2
- package/.next/server/chunks/{[externals]__162fo45._.js → [externals]__1o8qm3w._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__05mqvyo._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0luj3_8._.js → [root-of-the-server]__0eo1oa6._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0fkj1-q._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0i0nt_u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1su9v2-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1wcikrf._.js +5 -0
- package/.next/server/chunks/_08xo8nu._.js +22 -0
- package/.next/server/chunks/_0w8wvdn._.js +3 -0
- package/.next/server/chunks/_0wct7-r._.js +17 -0
- package/.next/server/chunks/_1f80q3b._.js +158 -0
- package/.next/server/chunks/_1l9d64o._.js +3 -0
- package/.next/server/chunks/_1lktrox._.js +8 -0
- package/.next/server/chunks/_1ze9o4l._.js +8 -0
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_cn_dist_index_166wuka.js → 0f2__cn_dist_index_1jh2egc.js} +2 -2
- package/.next/server/chunks/ssr/0x0c_next_dist_03da18h._.js +6 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_1v8aef8._.js → 0x0c_next_dist_0lkq344._.js} +2 -2
- package/.next/server/chunks/ssr/0x0c_next_dist_1icgwks._.js +151 -0
- package/.next/server/chunks/ssr/0x0c_next_dist_client_components_1z4ahr3._.js +3 -0
- package/.next/server/chunks/ssr/0x0c_next_dist_client_components_builtin_forbidden_0pm41ij.js +3 -0
- package/.next/server/chunks/ssr/0x0c_next_dist_client_components_builtin_global-error_1-wtk5-.js +3 -0
- package/.next/server/chunks/ssr/0x0c_next_dist_client_components_builtin_unauthorized_0v3_y-3.js +3 -0
- package/.next/server/chunks/ssr/{node_modules_next_dist_client_components_server-async-storage_0t1dato.js → 0x0c_next_dist_client_components_server-async-storage_1-oepaa.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__02c3m72._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__031i31p._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__1c8dejo._.js → [root-of-the-server]__07myivi._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0g1dtzd._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0kocjhm._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0l4t71c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0tikq3c._.js +14 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__1vxra_4._.js → [root-of-the-server]__1-0b897._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__146cm0r._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1cl7b4r._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1mydt_n._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1thxzex._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__18hr860._.js → [root-of-the-server]__1wd0g6g._.js} +3 -3
- package/.next/server/chunks/ssr/_02_o-ya._.js +6 -0
- package/.next/server/chunks/ssr/_09540a5._.js +151 -0
- package/.next/server/chunks/ssr/{_1b_fov9._.js → _0defuav._.js} +2 -2
- package/.next/server/chunks/ssr/_0e_s0v0._.js +3 -0
- package/.next/server/chunks/ssr/_0htqt7_._.js +18 -0
- package/.next/server/chunks/ssr/_0me-cg5._.js +3 -0
- package/.next/server/chunks/ssr/{_20txlee._.js → _13m9nev._.js} +2 -2
- package/.next/server/chunks/ssr/_1idvrlk._.js +7 -0
- package/.next/server/chunks/ssr/_1qy3_r5._.js +3 -0
- package/.next/server/chunks/ssr/_1rd2o5p._.js +3 -0
- package/.next/server/chunks/ssr/_1t7ag6f._.js +3 -0
- package/.next/server/chunks/ssr/{_1rkc3oc._.js → _1tpe22e._.js} +3 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_tools_[tool]_page_actions_0-u-_p-.js +3 -0
- package/.next/server/chunks/ssr/app_layout_tsx_2144vk_._.js +1 -1
- package/.next/server/chunks/ssr/app_loading_tsx_0a1flg9._.js +1 -1
- package/.next/server/chunks/ssr/app_performance_[slug]_loading_tsx_0d5z78a._.js +1 -1
- package/.next/server/chunks/ssr/app_performance_loading_tsx_1bq2nq9._.js +1 -1
- package/.next/server/chunks/ssr/app_settings_loading_tsx_0nv_78v._.js +1 -1
- package/.next/server/chunks/ssr/components_0j32dj5._.js +1 -1
- package/.next/server/chunks/ssr/{node_modules_1wax83z._.js → node_modules__pnpm_0hf3oiy._.js} +3 -3
- package/.next/server/middleware-build-manifest.js +7 -7
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/06qwhmc60u5rw.js +5 -0
- package/.next/static/chunks/1-4lacz2t2rmw.js +4 -0
- package/.next/static/chunks/11ea1elg0081p.js +1 -0
- package/.next/static/chunks/12nwz8qd2ocwk.css +1 -0
- package/.next/static/chunks/1ou_bh9mvu5x1.js +1 -0
- package/.next/static/chunks/1t-tmstauvn0u.js +1 -0
- package/.next/static/chunks/23d4pgenwzdj5.js +1 -0
- package/.next/static/chunks/2dpz7gbtyu5go.js +1 -0
- package/.next/static/chunks/2rz3rt3tdd_p4.js +1 -0
- package/.next/static/chunks/3dfy6smxuju__.js +1 -0
- package/.next/static/chunks/{2uf-bm2nz17t-.js → 3dwrl3svcft9m.js} +1 -1
- package/.next/static/chunks/3fmhqgzb47j23.js +1 -0
- package/.next/static/chunks/{212boumyeyva9.js → 3y_9ajtx5_9ky.js} +2 -2
- package/.next/static/chunks/42z_0gfabqpr_.js +31 -0
- package/.next/static/chunks/44rowux-iee-x.js +22 -0
- package/.next/static/chunks/{turbopack-2-rd7l6sk4a9l.js → turbopack-00gi3z1duuih6.js} +1 -1
- package/.next/static/media/icon.23mz8iwcatff2.svg +4 -0
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/README.md +153 -65
- package/bin/cli.mjs +7 -2
- package/package.json +16 -17
- package/.next/server/app/favicon.ico/route/app-paths-manifest.json +0 -3
- package/.next/server/app/favicon.ico/route.js +0 -7
- package/.next/server/app/favicon.ico/route.js.nft.json +0 -1
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +0 -1
- package/.next/server/chunks/[root-of-the-server]__027a1hx._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__14tfjrn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1fj5wte._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lxxc0h._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1uv-wzy._.js +0 -5
- package/.next/server/chunks/_0g9k22b._.js +0 -8
- package/.next/server/chunks/_0zwkfj-._.js +0 -8
- package/.next/server/chunks/_10b5gsp._.js +0 -22
- package/.next/server/chunks/_1494cut._.js +0 -3
- package/.next/server/chunks/_1gvvd7n._.js +0 -158
- package/.next/server/chunks/_1pe45_3._.js +0 -17
- package/.next/server/chunks/_1qtlv__._.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__036j_vr._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__07u4jsj._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ev464o._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0f5axvr._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0tmkhxy._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1mwg_vi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1p_6ezv._.js +0 -14
- package/.next/server/chunks/ssr/[root-of-the-server]__1uohrpp._.js +0 -3
- package/.next/server/chunks/ssr/_0c7qo1d._.js +0 -3
- package/.next/server/chunks/ssr/_0dbmzjx._.js +0 -166
- package/.next/server/chunks/ssr/_0fa4_2r._.js +0 -3
- package/.next/server/chunks/ssr/_0v7wda8._.js +0 -3
- package/.next/server/chunks/ssr/_1d1ipgp._.js +0 -6
- package/.next/server/chunks/ssr/_1l_271l._.js +0 -3
- package/.next/server/chunks/ssr/_1p5i72g._.js +0 -151
- package/.next/server/chunks/ssr/_1q7r2qu._.js +0 -7
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +0 -3
- package/.next/static/chunks/0-xs4v9s677gv.js +0 -1
- package/.next/static/chunks/0no0cbj4p6v97.js +0 -5
- package/.next/static/chunks/1kpyel_do_nn_.js +0 -1
- package/.next/static/chunks/1rj7ns8rte9vc.js +0 -1
- package/.next/static/chunks/1u5zan5bs9a7v.js +0 -31
- package/.next/static/chunks/2qnz-czvmzvfy.js +0 -1
- package/.next/static/chunks/2wylvi3d9igvb.css +0 -1
- package/.next/static/chunks/3-kx-5mj07qy0.js +0 -22
- package/.next/static/chunks/32d1qdgpjfhb0.js +0 -4
- package/.next/static/chunks/39nm1s5w6_g9_.js +0 -1
- package/.next/static/chunks/3fntmmi971322.js +0 -1
- package/.next/static/chunks/3uvkn3v63w-bb.js +0 -1
- package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- /package/.next/server/app/{favicon.ico → icon.svg}/route/build-manifest.json +0 -0
- /package/.next/static/{HBZh84zxGSK-agDgmsIjU → PgrMGvOetgfaX9yDcTEN_}/_buildManifest.js +0 -0
- /package/.next/static/{HBZh84zxGSK-agDgmsIjU → PgrMGvOetgfaX9yDcTEN_}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{HBZh84zxGSK-agDgmsIjU → PgrMGvOetgfaX9yDcTEN_}/_ssgManifest.js +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
module.exports=[92994,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(3130),e=a.i(40695);a.s(["EmptyState",0,function({title:a="No data yet",reason:f="Keys work, but no page events have arrived.",href:g="/connect",cta:h="Send your first events",onRetry:i}){return(0,b.jsx)(d.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,b.jsxs)(d.CardContent,{className:"flex flex-col items-center gap-3 p-10 text-center",children:[(0,b.jsx)("h3",{className:"text-lg font-semibold text-white",children:a}),(0,b.jsx)("p",{className:"max-w-md text-sm text-gray-400",children:f}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)(c.default,{href:g,className:(0,e.buttonVariants)(),children:h}),i&&(0,b.jsx)(e.Button,{variant:"outline",onClick:i,children:"Retry"})]})]})})}])},77083,a=>{"use strict";var b=a.i(87924),c=a.i(3130),d=a.i(64831);let e={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]};e.node;let f=(0,d.default)(e);var g=a.i(8311),h=a.i(90702),i=a.i(62191),j=a.i(77790);a.s(["HubMetrics",0,function({pages:a}){let d=a.filter(i.hasData),e=d.length?d.reduce((a,b)=>a+b.newRelic.loadTime,0)/d.length:null,k=a.reduce((a,b)=>a+b.sentry.errorCount,0),l=[{label:"Pages Reporting",value:`${d.length} of ${a.length}`,icon:(0,b.jsx)(f,{className:"h-4 w-4 text-[#3ee0a1]"})},{label:"Avg Load Time",value:null===e?"No data yet":(0,j.formatDuration)(e),icon:(0,b.jsx)(g.Clock,{className:"h-4 w-4 text-[#06b6d4]"})},{label:"Open Errors",value:d.length||k?String(k):"No data yet",icon:(0,b.jsx)(h.AlertTriangle,{className:"h-4 w-4 text-[#ef4444]"})}];return(0,b.jsx)("div",{className:"grid gap-6 md:grid-cols-3 mb-8 mt-4",children:l.map((a,d)=>(0,b.jsx)(c.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,b.jsxs)(c.CardContent,{className:"p-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsx)("span",{className:"text-sm font-medium text-gray-400",children:a.label}),(0,b.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#0f1419] border border-[#2d3748]",children:a.icon})]}),(0,b.jsx)("div",{className:"flex items-baseline gap-3",children:(0,b.jsx)("span",{className:"text-3xl font-bold text-white tracking-tight",children:a.value})})]})},d))})}],77083)},28185,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(88237),e=a.i(3130),f=a.i(54161),g=a.i(62191),h=a.i(77790);a.s(["HubTable",0,function({pages:a}){let i=(0,c.useRouter)();return(0,b.jsxs)(e.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md flex-1",children:[(0,b.jsx)(e.CardHeader,{children:(0,b.jsx)(e.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight",children:"Tracked Pages Overview"})}),(0,b.jsx)(e.CardContent,{children:(0,b.jsx)("div",{className:"rounded-md border border-[#2d3748] overflow-hidden",children:(0,b.jsxs)(d.Table,{children:[(0,b.jsx)(d.TableHeader,{className:"bg-[#0f1419]",children:(0,b.jsxs)(d.TableRow,{className:"border-[#2d3748] hover:bg-transparent",children:[(0,b.jsx)(d.TableHead,{className:"text-gray-400",children:"Page Name"}),(0,b.jsx)(d.TableHead,{className:"text-gray-400",children:"Path"}),(0,b.jsx)(d.TableHead,{className:"text-gray-400",children:"Visitors (24h)"}),(0,b.jsx)(d.TableHead,{className:"text-gray-400",children:"Avg Load"}),(0,b.jsx)(d.TableHead,{className:"text-gray-400",children:"Errors"}),(0,b.jsx)(d.TableHead,{className:"text-right text-gray-400",children:"Status"})]})}),(0,b.jsx)(d.TableBody,{children:a.map(a=>{let c=(0,g.hasData)(a);return(0,b.jsxs)(d.TableRow,{className:"border-[#2d3748] hover:bg-white/5 transition-colors cursor-pointer",onClick:()=>i.push(`/performance/${a.slug}`),children:[(0,b.jsx)(d.TableCell,{className:"font-medium text-white",children:a.name}),(0,b.jsx)(d.TableCell,{className:"text-gray-500 font-mono text-xs",children:a.url}),(0,b.jsx)(d.TableCell,{className:"text-gray-400",children:c?a.visitors:"—"}),(0,b.jsx)(d.TableCell,{className:"text-gray-400",children:c?(0,h.formatDuration)(a.newRelic.loadTime):"—"}),(0,b.jsx)(d.TableCell,{className:"text-gray-400",children:c?a.sentry.errorCount:"—"}),(0,b.jsx)(d.TableCell,{className:"text-right",children:c?(0,b.jsx)(f.Badge,{variant:"outline",className:`
|
|
2
|
-
${"Healthy"===a.status?"border-[#3ee0a1] text-[#3ee0a1] bg-[#3ee0a1]/10":""}
|
|
3
|
-
${"Warning"===a.status?"border-[#f59e0b] text-[#f59e0b] bg-[#f59e0b]/10":""}
|
|
4
|
-
${"Critical"===a.status?"border-[#ef4444] text-[#ef4444] bg-[#ef4444]/10":""}
|
|
5
|
-
`,children:a.status}):(0,b.jsx)(f.Badge,{variant:"outline",className:"border-[#4a5568] text-gray-400",children:"No data yet"})})]},a.slug)})})]})})})]})}])},48097,a=>{"use strict";var b=a.i(87924),c=a.i(92994),d=a.i(50463),e=a.i(62191),f=a.i(77083),g=a.i(28185);a.s(["PerformanceHub",0,function(){let{state:a,retry:h}=(0,e.useMetrics)();return"loading"===a.status?(0,b.jsx)(d.Skeleton,{className:"mt-6 h-64 w-full bg-[#2d3748]"}):"error"===a.status?(0,b.jsx)(c.EmptyState,{title:"Could not load metrics",reason:a.message,onRetry:h}):a.configured?a.pages.length&&a.pages.some(e.hasData)?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.HubMetrics,{pages:a.pages}),(0,b.jsx)(g.HubTable,{pages:a.pages})]}):(0,b.jsx)(c.EmptyState,{}):(0,b.jsx)(c.EmptyState,{title:"Connect your data",reason:"Add your New Relic and Sentry keys to see real numbers.",href:"/setup",cta:"Set up keys"})}])},54161,a=>{"use strict";var b=a.i(76459),c=a.i(40031),d=a.i(187),e=a.i(13983);let f=(0,d.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});a.s(["Badge",0,function({className:a,variant:d="default",render:g,...h}){return(0,c.useRender)({defaultTagName:"span",props:(0,b.mergeProps)({className:(0,e.cn)(f({variant:d}),a)},h),render:g,state:{slot:"badge",variant:d}})}])},3130,a=>{"use strict";var b=a.i(87924),c=a.i(13983);a.s(["Card",0,function({className:a,size:d="default",...e}){return(0,b.jsx)("div",{"data-slot":"card","data-size":d,className:(0,c.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",a),...e})},"CardContent",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-(--card-spacing)",a),...d})},"CardDescription",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-sm text-muted-foreground",a),...d})},"CardHeader",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",a),...d})},"CardTitle",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",a),...d})}])},88237,a=>{"use strict";var b=a.i(87924),c=a.i(13983);a.s(["Table",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,b.jsx)("table",{"data-slot":"table",className:(0,c.cn)("w-full caption-bottom text-sm",a),...d})})},"TableBody",0,function({className:a,...d}){return(0,b.jsx)("tbody",{"data-slot":"table-body",className:(0,c.cn)("[&_tr:last-child]:border-0",a),...d})},"TableCell",0,function({className:a,...d}){return(0,b.jsx)("td",{"data-slot":"table-cell",className:(0,c.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",a),...d})},"TableHead",0,function({className:a,...d}){return(0,b.jsx)("th",{"data-slot":"table-head",className:(0,c.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",a),...d})},"TableHeader",0,function({className:a,...d}){return(0,b.jsx)("thead",{"data-slot":"table-header",className:(0,c.cn)("[&_tr]:border-b",a),...d})},"TableRow",0,function({className:a,...d}){return(0,b.jsx)("tr",{"data-slot":"table-row",className:(0,c.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",a),...d})}])},77790,a=>{"use strict";a.s(["formatDuration",0,function(a){if(!Number.isFinite(a))return"—";let b=Math.abs(Math.round(a));if(b<1e3)return`${Math.round(a)}ms`;if(b<59950)return`${+(a/1e3).toFixed(1)}s`;let c=Math.round(b/1e3),d=a<0?"-":"";return c<3600?`${d}${Math.floor(c/60)}m ${c%60}s`:`${d}${Math.floor(c/3600)}h ${Math.floor(c%3600/60)}m`}])},62191,a=>{"use strict";var b=a.i(72131),c=a.i(43368),d=a.i(66219);a.s(["hasData",0,function(a){return a.newRelic.throughput>0||a.newRelic.loadTime>0||a.sentry.errorCount>0},"useMetrics",0,function(){let[a,e]=(0,b.useState)({status:"loading"}),[f,g]=(0,b.useState)(0);(0,b.useEffect)(()=>{let a=!1;return fetch("/api/metrics").then(async b=>{let c=await b.json();if(!b.ok)throw Error(c.error??`HTTP ${b.status}`);a||e({status:"ready",configured:c.configured,pages:c.pages})}).catch(b=>{a||e({status:"error",message:b instanceof Error?b.message:"Request failed"})}),()=>{a=!0}},[f]);let h=(0,d.useThresholds)();return{state:"ready"===a.status?{...a,pages:a.pages.map(a=>({...a,status:(0,c.deriveStatus)(a.newRelic,h)}))}:a,retry:()=>{e({status:"loading"}),g(a=>a+1)}}}])},66219,43368,a=>{"use strict";var b=a.i(72131);let c={loadSeconds:1.5,errorPercent:2,uptimeSLA:99.9};a.s(["DEFAULT_THRESHOLDS",0,c,"deriveStatus",0,function(a,b){let c=a.loadTime/1e3/b.loadSeconds,d=a.errorRate/b.errorPercent;return c>2||d>2?"Critical":c>1||d>1||a.apdexScore<.9?"Warning":"Healthy"}],43368);let d="perf-thresholds",e=new Set,f=null;function g(){if(f)return f;try{f={...c,...JSON.parse(localStorage.getItem(d)??"{}")}}catch{f=c}return f}function h(a){f=a;try{localStorage.setItem(d,JSON.stringify(a))}catch{}e.forEach(a=>a())}let i=!1;function j(a){a.key===d&&(f=null,e.forEach(a=>a()))}function k(a){return e.add(a),i||(i=!0,fetch("/api/settings").then(a=>a.ok?a.json():null).then(a=>a&&h({...c,...a})).catch(()=>{i=!1})),window.addEventListener("storage",j),()=>{e.delete(a),window.removeEventListener("storage",j)}}a.s(["setThresholds",0,function(a){h({...g(),...a}),fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}).catch(()=>{})},"useThresholds",0,function(){return(0,b.useSyncExternalStore)(k,g,()=>c)}],66219)},8311,a=>{"use strict";var b=a.i(64831);let c={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};c.node;let d=(0,b.default)(c);a.s(["Clock",0,d],8311)},90702,a=>{"use strict";var b=a.i(64831);let c={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};c.node;let d=(0,b.default)(c);a.s(["AlertTriangle",0,d],90702)},69789,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={actionAsyncStorage:function(){return f.actionAsyncStorage},workAsyncStorage:function(){return g.workAsyncStorage},workUnitAsyncStorage:function(){return h.workUnitAsyncStorage}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(20635),g=a.r(56704),h=a.r(32319);("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)}];
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=_1q7r2qu._.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
module.exports=[64950,a=>{"use strict";var b=a.i(71306),c=a.i(79847),d=a.i(9185),e=a.i(72842),f=a.i(54897),g=a.i(56157),h=a.i(15988),i=a.i(25766),j=a.i(29725),k=a.i(4828),l=a.i(21626),m=a.i(89257),n=a.i(5785),o=a.i(74793),p=a.i(85826),q=a.i(21565),r=a.i(65911),s=a.i(25128),t=a.i(40781);a.i(69411);var u=a.i(63081),v=a.i(62837),w=a.i(34607),x=a.i(96338),y=a.i(50642),z=a.i(88530),A=a.i(93695),B=a.i(22980),C=a.i(8583),D=a.i(38534),E=a.i(5672);a.i(70408);var F=a.i(22922),G=a.i(78294),H=a.i(16625),I=a.i(88648),J=a.i(51914),K=a.i(25466);a.s(["createAppPageEntrypoint",0,function({tree:L,page:M,pathname:N,require:O,loadChunk:P,interopDefault:Q}){let R={require:O,loadChunk:P},S=new b.AppPageRouteModule({definition:{kind:c.RouteKind.APP_PAGE,page:M,pathname:N,bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:L},distDir:".next",relativeProjectDir:""}),T=M;T=T.replace(/\/index$/,"")||"/";let U=(0,q.normalizeAppPath)(T);async function V(b,q,M){var N,O,P,W,X,Y;M.requestMeta&&(0,f.setRequestMeta)(b,M.requestMeta),S.isDev&&(0,f.addRequestMeta)(b,"devRequestTimingInternalsEnd",process.hrtime.bigint());let Z=!!(0,f.getRequestMeta)(b,"minimalMode"),$=b.url,_=await S.prepare(b,q,{srcPage:T,multiZoneDraftMode:!1});if(!_)return q.statusCode=400,q.end("Bad Request"),null==M.waitUntil||M.waitUntil.call(M,Promise.resolve()),null;let{buildId:aa,query:ab,params:ac,pageIsDynamic:ad,buildManifest:ae,nextFontManifest:af,reactLoadableManifest:ag,serverActionsManifest:ah,clientReferenceManifest:ai,subresourceIntegrityManifest:aj,prerenderManifest:ak,prefetchHintsManifest:al,isDraftMode:am,resolvedPathname:an,revalidateOnlyGenerated:ao,routerServerContext:ap,nextConfig:aq,parsedUrl:ar,interceptionRoutePatterns:as,deploymentId:at,clientAssetToken:au}=_,{isOnDemandRevalidate:av}=_,aw=aq.experimental.ppr&&!aq.cacheComponents&&(0,J.isInterceptionRouteAppPath)(an)?null:S.match(an,ak),ax=(null==aw?void 0:aw.route)??null,ay=S.isDev||(0,B.isRouteCacheOwner)(an,S.cacheOwner,ak.routes[an])?ak.routes[an]:void 0,az=!!ay,aA=b.headers["user-agent"]||"",aB=(0,t.getBotType)(aA),aC=(0,f.getRequestMeta)(b,"isPrefetchRSCRequest")??"1"===b.headers[s.NEXT_ROUTER_PREFETCH_HEADER],aD=(0,f.getRequestMeta)(b,"isRSCRequest")??(0,k.isRSCRequestHeader)(b.headers[s.RSC_HEADER]),aE=(0,r.getIsPossibleServerAction)(b);if(U===m.UNDERSCORE_NOT_FOUND_ROUTE&&("GET"===b.method||"HEAD"===b.method)&&!aD&&(0,l.isNonHtmlSecFetchDest)(b.headers["sec-fetch-dest"]))return q.statusCode=404,q.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),q.setHeader("Content-Type","text/plain; charset=utf-8"),q.end("Not Found"),null==M.waitUntil||M.waitUntil.call(M,Promise.resolve()),null;let aF=(0,j.checkIsAppPPREnabled)(aq.experimental.ppr),aG=b.headers[x.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,f.getRequestMeta)(b,"postponed")&&Z&&aF&&aE&&aG&&"string"==typeof aG){let c=parseInt(aG,10),{maxPostponedStateSize:d,maxPostponedStateSizeBytes:e}=(0,D.getMaxPostponedStateSize)(aq.experimental.maxPostponedStateSize);if(!isNaN(c)&&c>0){if(c>e)return q.statusCode=413,q.end((0,D.getPostponedStateExceededErrorMessage)(d)),null==M.waitUntil||M.waitUntil.call(M,Promise.resolve()),null;let g="1 MB",h=(null==(X=aq.experimental.serverActions)?void 0:X.bodySizeLimit)??g,i=c+(h!==g?a.r(14465).parse(h):1048576),j=await (0,D.readBodyWithSizeLimit)(b,i);if(null===j)return q.statusCode=413,q.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==M.waitUntil||M.waitUntil.call(M,Promise.resolve()),null;if(j.length>=c){let a=j.subarray(0,c).toString("utf8");(0,f.addRequestMeta)(b,"postponed",a);let d=j.subarray(c);(0,f.addRequestMeta)(b,"actionBody",d)}else throw Object.defineProperty(Error(`invariant: expected ${c} bytes of postponed state but only received ${j.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if("string"!=typeof(0,f.getRequestMeta)(b,"postponed")&&aF&&"1"===b.headers[x.NEXT_RESUME_HEADER]&&"POST"===b.method){let{maxPostponedStateSize:a,maxPostponedStateSizeBytes:c}=(0,D.getMaxPostponedStateSize)(aq.experimental.maxPostponedStateSize),d=await (0,D.readBodyWithSizeLimit)(b,c);if(null===d)return q.statusCode=413,q.end((0,D.getPostponedStateExceededErrorMessage)(a)),null==M.waitUntil||M.waitUntil.call(M,Promise.resolve()),null;let e=d.toString("utf8");(0,f.addRequestMeta)(b,"postponed",e)}let aH=!0===S.isDev||!0===aq.experimental.exposeTestingApiInProductionBuild,aI=aH&&"string"==typeof b.headers.cookie&&b.headers.cookie.includes(s.NEXT_INSTANT_TEST_COOKIE+"=")&&(!(0,k.isRSCRequestHeader)(b.headers[s.RSC_HEADER])||"1"===b.headers[s.NEXT_ROUTER_PREFETCH_HEADER]),aJ=(aF||aI)&&((null==(N=ak.routes[U]??ak.dynamicRoutes[U])?void 0:N.renderingMode)==="PARTIALLY_STATIC"||aI&&(aH||(null==ap?void 0:ap.experimentalTestProxy)===!0)),aK=aI&&aJ,aL=aK&&!0===S.isDev,aM=!1,aN=aJ?(0,f.getRequestMeta)(b,"postponed"):void 0,aO="string"==typeof aN,aP=null==ay?void 0:ay.prefetchDataRoute,aQ=aJ&&aD&&!aC&&!aP;Z&&(aQ=aQ&&aO);let aR=b.headers[s.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER],aS=(0,f.getRequestMeta)(b,"segmentPrefetchRSCRequest")??(aC?"string"==typeof aR?aR:Array.isArray(aR)?aR[0]:void 0:void 0),aT=!aA||(0,p.shouldServeStreamingMetadata)(aA,aq.htmlLimitedBots),aU=aJ&&!aT,aV=!!((ax||az||ak.routes[U])&&!aU),aW=aJ&&!0===aq.cacheComponents,aX=!0===S.isDev||am||!aV||aO||(aW&&(0,f.getRequestMeta)(b,"onCacheEntryV2")?aQ&&!Z:aQ),aY=(null==ax?void 0:ax.remainingPrerenderableParams)??[],aZ=az&&aY.some(a=>{let b=null==ac?void 0:ac[a.paramName];return null==b||Array.isArray(b)&&0===b.length}),a$=(null==ax?void 0:ax.fallback)===null&&((null==(O=ax.fallbackRootParams)?void 0:O.length)??0)>0,a_=null,a0=!1;if(!am&&aV&&!aX&&!aE&&!aO&&!aQ){let a=aw?"string"==typeof(null==ax?void 0:ax.fallback)?ax.fallback:aw.source:null;if(aq.partialPrefetching&&a&&(null==ax||null==(Y=ax.fallbackRouteParams)?void 0:Y.length)){if(aY.length>0){let b,c=(b=new Map(aY.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,K.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==ac?void 0:ac[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,n.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");c!==a&&(a_=c,a0=!0)}}else a_=an}let a1=a_;!a1&&(S.isDev||aV&&ad&&(null==ax||null==(P=ax.fallbackRouteParams)?void 0:P.length)&&!aE)&&(a1=an),S.isDev||am||!aV||!aD||aQ||(0,h.stripFlightHeaders)(b.headers);let a2={...F,tree:L,handler:V,routeModule:S,__next_app__:R};ah&&ai&&(0,o.setManifestsSingleton)({page:T,clientReferenceManifest:ai,serverActionsManifest:ah});let a3=b.method||"GET",a4=(0,e.getTracer)(),a5=a4.getActiveScopeSpan(),a6=!!(null==ap?void 0:ap.isWrappedByNextServer),a7=aq.partialPrefetching&&aY.length>0?(null==ax||null==(W=ax.fallbackRouteParams)?void 0:W.filter(a=>!aY.some(b=>b.paramName===a.paramName)))??[]:[],a8=async()=>((null==ap?void 0:ap.render404)?await ap.render404(b,q,ar,!1):q.end("This page could not be found"),null);try{let a,h=S.getVaryHeader(an,as);q.setHeader("Vary",h);let j=async(c,d)=>{let f=new i.NodeNextRequest(b),h=new i.NodeNextResponse(q);return S.render(f,h,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":q.statusCode,"next.rsc":aD}),q.statusCode&&q.statusCode>=500&&(c.setStatus({code:e.SpanStatusCode.ERROR}),c.setAttribute("error.type",q.statusCode.toString()));let b=a4.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==g.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=b.get("next.route")||U,f=aD?`RSC ${a3} ${d}`:`${a3} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":f}),c.updateName(f),a&&a!==c&&(a.setAttribute("http.route",d),a.updateName(f))})},k=(0,f.getRequestMeta)(b,"incrementalCache")||await S.getIncrementalCache(b,aq,ak,Z);null==k||k.resetRequestCache(),globalThis.__incrementalCache=k;let l=async({span:a,postponed:c,fallbackRouteParams:d,forceStaticRender:e,allowEmptyStaticShell:g})=>{let h={query:ab,params:ac,page:U,sharedContext:{buildId:aa,deploymentId:at,clientAssetToken:au},serverComponentsHmrCache:(0,f.getRequestMeta)(b,"serverComponentsHmrCache"),fallbackRouteParams:d,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:a2,Component:Q(a2),params:ac,routeModule:S,page:T,postponed:c,allowEmptyStaticShell:g,serveStreamingMetadata:aT,supportsDynamicResponse:"string"==typeof c||aX,buildManifest:ae,nextFontManifest:af,reactLoadableManifest:ag,subresourceIntegrityManifest:aj,setCacheStatus:null==ap?void 0:ap.setCacheStatus,setIsrStatus:null==ap?void 0:ap.setIsrStatus,setReactDebugChannel:null==ap?void 0:ap.setReactDebugChannel,sendErrorsToBrowser:null==ap?void 0:ap.sendErrorsToBrowser,dir:require("path").join(process.cwd(),S.relativeProjectDir),isDraftMode:am,botType:aB,isOnDemandRevalidate:av,isPossibleServerAction:aE,assetPrefix:aq.assetPrefix,nextConfigOutput:aq.output,crossOrigin:aq.crossOrigin,trailingSlash:aq.trailingSlash,images:aq.images,previewProps:ak.preview,enableTainting:aq.experimental.taint,htmlLimitedBots:aq.htmlLimitedBots,reactMaxHeadersLength:aq.reactMaxHeadersLength,multiZoneDraftMode:!1,prefetchHints:al,incrementalCache:k,cacheLifeProfiles:aq.cacheLife,staticPageGenerationTimeout:aq.staticPageGenerationTimeout,basePath:aq.basePath,serverActions:aq.experimental.serverActions,logServerFunctions:"object"==typeof aq.logging&&!!aq.logging.serverFunctions,...aK||aL||aM?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aL}:{},cacheComponents:!!aq.cacheComponents,partialPrefetching:aq.partialPrefetching,isFallbackUpgradeable:!!aq.partialPrefetching&&aY.length>0,validationLevel:aq.experimental.instantInsights.validationLevel,experimental:{isRoutePPREnabled:aJ,expireTime:aq.expireTime,staleTimes:aq.experimental.staleTimes,dynamicOnHover:!!aq.experimental.dynamicOnHover,optimisticRouting:!!aq.experimental.optimisticRouting,inlineCss:!!aq.experimental.inlineCss,prefetchInlining:aq.experimental.prefetchInlining??!1,authInterrupts:!!aq.experimental.authInterrupts,serverComponentsHmrCancellation:!!aq.experimental.serverComponentsHmrCancellation,useCacheTimeout:aq.experimental.useCacheTimeout,cachedNavigations:aq.experimental.cachedNavigations??!1,clientTraceMetadata:aq.experimental.clientTraceMetadata||[],clientParamParsingOrigins:aq.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,C.parseMaxPostponedStateSize)(aq.experimental.maxPostponedStateSize),exposeTestingApi:aH},waitUntil:M.waitUntil,onClose:a=>{q.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(a,c,d,e)=>S.onRequestError(b,a,d,e,ap),err:(0,f.getRequestMeta)(b,"invokeError")}};e&&(h.renderOpts.supportsDynamicResponse=!1);let i=await j(a,h),{metadata:l}=i,{cacheControl:m,headers:n={},fetchTags:o,fetchMetrics:p}=l;if(m&&!1!==m.revalidate&&m.revalidate>0&&void 0===m.expire&&(m.expire=aq.expireTime),o&&(n[x.NEXT_CACHE_TAGS_HEADER]=o),b.fetchMetrics=p,aV&&(null==m?void 0:m.revalidate)===0&&!S.isDev&&!aJ){let a=l.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${an}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:i,headers:n,rscData:l.flightData,postponed:l.postponed,status:l.statusCode,segmentData:l.segmentData},cacheControl:m}},m=async({hasResolved:a,previousCacheEntry:e,isRevalidating:g,span:h,forceStaticRender:i=!1})=>{let j=!1===S.isDev,o=a||q.writableEnded;try{var p;let d;if(av&&ao&&!e&&!Z)return(null==ap?void 0:ap.render404)?await ap.render404(b,q):(q.statusCode=404,q.end("This page could not be found")),null;if(ax&&(d=(0,v.parseFallbackField)(ax.fallback)),aq.partialPrefetching&&(null==ax?void 0:ax.fallback)===null&&!aZ&&!a$&&aY.length>0&&(d=v.FallbackMode.PRERENDER),d!==v.FallbackMode.PRERENDER||(aJ?aT:!aB)||(d=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==e?void 0:e.isStale)===-1&&(av=!0),av&&(d!==v.FallbackMode.NOT_FOUND||e)&&(d=v.FallbackMode.BLOCKING_STATIC_RENDER),!Z&&d!==v.FallbackMode.BLOCKING_STATIC_RENDER&&a1&&!o&&!am&&ad&&(j||!az)){if((j||ax)&&d===v.FallbackMode.NOT_FOUND){if(aq.adapterPath)return await a8();throw new A.NoFallbackError}if(aJ&&(aq.cacheComponents?!aQ:!aD)){let d,e=j&&"string"==typeof(null==ax?void 0:ax.fallback)?ax.fallback:U;d=j?(null==ax?void 0:ax.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ax.fallbackRouteParams):aM?(0,n.getFallbackRouteParams)(U,S):null:aM?(0,n.getFallbackRouteParams)(U,S):aK?(0,f.getRequestMeta)(b,"fallbackParams")??null:null,aK&&d&&(0,f.addRequestMeta)(b,"fallbackParams",d);let g=await S.handleResponse({cacheKey:e,req:b,nextConfig:aq,routeKind:c.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ak,isRoutePPREnabled:aJ,responseGenerator:async()=>l({span:h,postponed:void 0,fallbackRouteParams:d,forceStaticRender:!0,allowEmptyStaticShell:aI||void 0}),waitUntil:M.waitUntil,isMinimalMode:Z});if(null===g)return null;if(g)return!Z&&aJ&&aq.partialPrefetching&&aY.length>0&&a_&&k&&!av&&!aM&&!aH&&!aI&&(0,I.scheduleOnNextTick)(async()=>{let c=S.getResponseCache(b);try{await c.revalidate(a_,k,aJ,!1,a=>l({span:a.span,postponed:void 0,fallbackRouteParams:a7.length>0?(0,n.createOpaqueFallbackRouteParams)(a7):null,forceStaticRender:!0}),null,a,M.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let r=av||g||!aN?void 0:aN;if(aW&&!Z&&k&&(aQ||aE)&&!i){let c=await k.get(an,{kind:u.IncrementalCacheKind.APP_PAGE,route:S.cacheOwner,isRoutePPREnabled:!0,isFallback:!1});c&&c.value&&c.value.kind===u.CachedRouteKind.APP_PAGE&&(r=c.value.postponed,c&&(-1===c.isStale||!0===c.isStale)&&(0,I.scheduleOnNextTick)(async()=>{let c=S.getResponseCache(b);try{await c.revalidate(an,k,aJ,!1,a=>m({...a,forceStaticRender:!0}),null,a,M.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aK||aL)&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.APP_PAGE,html:w.default.fromStatic("",aD?s.RSC_CONTENT_TYPE_HEADER:x.HTML_CONTENT_TYPE_HEADER),rscData:void 0,postponed:r,segmentData:void 0,headers:void 0,status:void 0}};let t=!S.isDev&&ad&&(null==ax?void 0:ax.fallbackRouteParams)?(0,n.getPlaceholderFallbackRouteParams)(ac,ax.fallbackRouteParams):null,y=t&&t.length>0?t:null==ax?void 0:ax.fallbackRouteParams,z=null!=t&&t.length>0,B=null;if(aq.cacheComponents&&(null==ax?void 0:ax.fallbackRouteParams)){let a=(0,f.getRequestMeta)(b,"resolvedRouteParamKeys");a&&a.size>0&&(B=ax.fallbackRouteParams.filter(b=>!a.has(b.paramName)))}let C=(j&&(0,f.getRequestMeta)(b,"renderFallbackShell")||z||aK&&!az)&&y?(0,n.createOpaqueFallbackRouteParams)(y):B&&B.length>0&&B.length<((null==ax||null==(p=ax.fallbackRouteParams)?void 0:p.length)??0)?(0,n.createOpaqueFallbackRouteParams)(B):!Z&&a0&&a7.length>0?(0,n.createOpaqueFallbackRouteParams)(a7):aM?(0,n.getFallbackRouteParams)(U,S):null;if((j||aK)&&aq.cacheComponents&&!az&&(null==ax?void 0:ax.fallbackRouteParams)){let a=(0,n.createOpaqueFallbackRouteParams)(y??ax.fallbackRouteParams);a&&(0,f.addRequestMeta)(b,"fallbackParams",a)}return l({span:h,postponed:r,fallbackRouteParams:C,forceStaticRender:i,allowEmptyStaticShell:aI||void 0})}catch(a){throw(null==e?void 0:e.isStale)&&await S.onRequestError(b,a,{routerKind:"App Router",routePath:T,routeType:"render",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:aV,isOnDemandRevalidate:av})},!1,ap),a}},o=async a=>{var d,e,g,h,i;let j,k=await S.handleResponse({cacheKey:a_,responseGenerator:b=>m({span:a,...b}),routeKind:c.RouteKind.APP_PAGE,isOnDemandRevalidate:av,isRoutePPREnabled:aJ,req:b,nextConfig:aq,prerenderManifest:ak,waitUntil:M.waitUntil,isMinimalMode:Z});if(am&&q.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),S.isDev&&q.setHeader("Cache-Control","1"===b.headers[s.NEXT_HMR_REFRESH_HEADER]?"no-store":"no-cache, must-revalidate"),!k){if(a_)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(d=k.value)?void 0:d.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(g=k.value)?void 0:g.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof k.value.postponed;aD&&!aE&&at&&q.setHeader(x.NEXT_NAV_DEPLOYMENT_ID_HEADER,at),aV&&!aQ&&(!o||aC)&&(Z||q.setHeader("x-nextjs-cache",av?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),q.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=k;if(aO)j={revalidate:0,expire:void 0};else if(aQ)j={revalidate:0,expire:void 0};else if(!S.isDev)if(am)j={revalidate:0,expire:void 0};else if(aV){if(k.cacheControl)if("number"==typeof k.cacheControl.revalidate){if(k.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${k.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});j={revalidate:k.cacheControl.revalidate,expire:k.cacheControl.expire}}else j={revalidate:x.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else q.getHeader("Cache-Control")||(j={revalidate:0,expire:void 0});if(k.cacheControl=j,"string"==typeof aS&&(null==p?void 0:p.kind)===u.CachedRouteKind.APP_PAGE&&p.segmentData){q.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let a=null==(h=p.headers)?void 0:h[x.NEXT_CACHE_TAGS_HEADER];Z&&aV&&a&&"string"==typeof a&&q.setHeader(x.NEXT_CACHE_TAGS_HEADER,a);let c=p.segmentData.get(aS);return void 0!==c?(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:w.default.fromStatic(c,s.RSC_CONTENT_TYPE_HEADER),cacheControl:k.cacheControl}):(q.statusCode=404,(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:w.default.EMPTY,cacheControl:k.cacheControl}))}let r=aW?(0,f.getRequestMeta)(b,"onCacheEntryV2")??(0,f.getRequestMeta)(b,"onCacheEntry"):(0,f.getRequestMeta)(b,"onCacheEntry");if(r&&!aK){let a=(0,f.getRequestMeta)(b,"initURL")??b.url,c=a?(null==(i=(0,E.parseUrl)(a))?void 0:i.pathname)??a:void 0;if(await r(k,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[b,c]of(Z&&aV||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==c)if(Array.isArray(c))for(let a of c)q.appendHeader(b,a);else"number"==typeof c&&(c=c.toString()),q.appendHeader(b,c)}let t=null==(e=p.headers)?void 0:e[x.NEXT_CACHE_TAGS_HEADER];if(Z&&aV&&t&&"string"==typeof t&&q.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!p.status||aD&&aJ||(q.statusCode=p.status),!Z&&p.status&&G.RedirectStatusCode[p.status]&&aD&&(q.statusCode=200),o&&!aQ&&q.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),aD&&!am){if(void 0===p.rscData){if(p.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(aq.cacheComponents)return q.statusCode=404,(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:w.default.EMPTY,cacheControl:k.cacheControl});else throw Object.defineProperty(new H.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:p.html,cacheControl:k.cacheControl})}return(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:w.default.fromStatic(p.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:k.cacheControl})}let v=p.html;if(aI&&aK){if("string"==typeof p.postponed&&F.isEmptyHTMLPrelude(p.postponed)){if(!0===S.isDev)throw Object.defineProperty(Error(`The Navigation Inspector was active, but you attempted to load a blocking route. Reload the page to reset the inspector.
|
|
3
|
-
|
|
4
|
-
To identify why this route is blocking, refer to the Instant Navigation docs: https://preview.nextjs.org/docs/app/guides/instant-navigation`),"__NEXT_ERROR_CODE",{value:"E1387",enumerable:!1,configurable:!0});let a=`<!DOCTYPE html><html><head><meta charSet="utf-8"/></head><body><script>document.cookie="${s.NEXT_INSTANT_TEST_COOKIE}=; Path=/; Max-Age=0"</script><p>The Navigation Inspector was active, but you attempted to load a blocking route. Reload the page to reset the inspector.</p><p>To identify why this route is blocking, refer to the <a href="https://preview.nextjs.org/docs/app/guides/instant-navigation">Instant Navigation docs</a>.</p></body></html>`;return(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:w.default.fromStatic(a,x.HTML_CONTENT_TYPE_HEADER),cacheControl:{revalidate:0,expire:void 0}})}return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})}if(!o||Z||aD)return(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:v,cacheControl:k.cacheControl});if(aK||aL)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;if(v.push(A.readable),aq.cacheComponents&&(null==ax?void 0:ax.fallbackRouteParams)){let a=(0,n.createOpaqueFallbackRouteParams)(ax.fallbackRouteParams);a&&(0,f.addRequestMeta)(b,"fallbackParams",a)}return l({span:a,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:b,res:q,generateEtags:aq.generateEtags,poweredByHeader:aq.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!a6||!a5)return a=a4.getActiveScopeSpan(),await a4.withPropagatedContext(b.headers,()=>a4.trace(g.BaseServerSpan.handleRequest,{spanName:`${a3} ${T}`,kind:e.SpanKind.SERVER,attributes:{"http.method":a3,"http.target":$}},o),void 0,!a6);await o(a5)}catch(a){throw aI&&!q.headersSent&&q.setHeader("Set-Cookie",`${s.NEXT_INSTANT_TEST_COOKIE}=; Path=/; Max-Age=0`),a instanceof A.NoFallbackError||await S.onRequestError(b,a,{routerKind:"App Router",routePath:T,routeType:"render",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:aV,isOnDemandRevalidate:av})},!1,ap),a}}return{__next_app__:R,routeModule:S,handler:V}}])},25128,function(a){a.n(a.i(91562))},78294,function(a){a.n(a.i(71717))},96338,function(a){a.n(a.i(21751))},62837,function(a){a.n(a.i(40795))},88648,function(a){a.n(a.i(68113))},5672,function(a){a.n(a.i(42440))},22922,function(a){a.n(a.i(96772))},70408,function(a){a.n(a.i(9095))},94331,function(a){a.n(a.i(60644))},74793,function(a){a.n(a.i(33169))},15988,function(a){a.n(a.i(56952))},25766,function(a){a.n(a.i(77341))},9185,function(a){a.n(a.i(29432))},29725,function(a){a.n(a.i(94290))},21626,function(a){a.n(a.i(975))},4828,function(a){a.n(a.i(46994))},38534,function(a){a.n(a.i(98175))},22980,function(a){a.n(a.i(96195))},65911,function(a){a.n(a.i(8950))},85826,function(a){a.n(a.i(37111))},56157,function(a){a.n(a.i(18970))},72842,function(a){a.n(a.i(75164))},34607,function(a){a.n(a.i(11614))},54897,function(a){a.n(a.i(30106))},5785,function(a){a.n(a.i(90588))},69411,function(a){a.n(a.i(75700))},63081,function(a){a.n(a.i(276))},79847,function(a){a.n(a.i(3343))},71306,(a,b,c)=>{b.exports=a.r(18622)},88530,function(a){a.n(a.i(10531))},50642,function(a){a.n(a.i(12213))},89257,function(a){a.n(a.i(58579))},16625,function(a){a.n(a.i(85034))},21565,function(a){a.n(a.i(41763))},25466,function(a){a.n(a.i(91505))},51914,function(a){a.n(a.i(66482))},40781,function(a){a.n(a.i(49670))},8583,function(a){a.n(a.i(1082))},12948,(a,b,c)=>{"use strict";function d(a){return a}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"instrumentModuleGetter",{enumerable:!0,get:function(){return d}})}];
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=node_modules_next_dist_0nkkbfv._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[79962,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(7997),e=a.r(72421);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("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)},43619,function(a){a.n(a.i(79962))},3549,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"styles",{enumerable:!0,get:function(){return d}});let d={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("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)},72421,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return f}});let d=a.r(7997),e=a.r(3549);function f({status:a,message:b}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("title",{children:`${a}: ${b}`}),(0,d.jsx)("div",{style:e.styles.error,children:(0,d.jsxs)("div",{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,d.jsx)("h1",{className:"next-error-h1",style:e.styles.h1,children:a}),(0,d.jsx)("div",{style:e.styles.desc,children:(0,d.jsx)("h2",{style:e.styles.h2,children:b})})]})})]})}("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)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=node_modules_next_dist_client_components_0wpq8j3._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[85523,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(7997),e=a.r(72421);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:403,message:"This page could not be accessed."})}("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)},13718,function(a){a.n(a.i(85523))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[82509,(a,b,c)=>{let{createClientModuleProxy:d}=a.r(11857);a.n(d("[project]/node_modules/next/dist/client/components/builtin/global-error.js"))},66114,a=>{"use strict";var b=a.i(82509);a.n(b)},62212,function(a){a.n(a.i(66114))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=node_modules_next_dist_client_components_builtin_global-error_0q-w892.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[45518,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(7997),e=a.r(72421);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:401,message:"You're not authorized to access this page."})}("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)},18198,function(a){a.n(a.i(45518))}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,96098,e=>{"use strict";var t=e.i(43476),a=e.i(76782),r=e.i(11825),s=e.i(79862),n=e.i(56420);let i={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};i.node;let c=(0,n.default)(i);function l({className:e,...a}){return(0,t.jsx)("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",className:(0,s.cn)(e),...a})}function o({className:e,...a}){return(0,t.jsx)("ol",{"data-slot":"breadcrumb-list",className:(0,s.cn)("flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground",e),...a})}function d({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"breadcrumb-item",className:(0,s.cn)("inline-flex items-center gap-1",e),...a})}function u({className:e,render:t,...n}){return(0,r.useRender)({defaultTagName:"a",props:(0,a.mergeProps)({className:(0,s.cn)("transition-colors hover:text-foreground",e)},n),render:t,state:{slot:"breadcrumb-link"}})}function m({className:e,...a}){return(0,t.jsx)("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:(0,s.cn)("font-normal text-foreground",e),...a})}function x({children:e,className:a,...r}){return(0,t.jsx)("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:(0,s.cn)("[&>svg]:size-3.5",a),...r,children:e??(0,t.jsx)(c,{})})}e.i(60972),e.s(["PerformanceBreadcrumb",0,function({pageName:e="Homepage"}){return(0,t.jsx)(l,{className:"mb-6",children:(0,t.jsxs)(o,{children:[(0,t.jsx)(d,{children:(0,t.jsx)(u,{href:"/performance",className:"text-gray-400 hover:text-white",children:"Performance"})}),(0,t.jsx)(x,{}),(0,t.jsx)(d,{children:(0,t.jsx)(m,{className:"text-white font-medium",children:e})})]})})}],96098)},29672,e=>{"use strict";var t=e.i(43476),a=e.i(18566),r=e.i(24851),s=e.i(71428),n=e.i(78320),i=e.i(96098),c=e.i(5080),l=e.i(97920);e.s(["PerformanceDetail",0,function({slug:e}){let{state:o,retry:d}=(0,n.useMetrics)();if("loading"===o.status)return(0,t.jsx)(s.Skeleton,{className:"h-64 w-full bg-[#2d3748]"});if("error"===o.status)return(0,t.jsx)(r.EmptyState,{title:"Could not load metrics",reason:o.message,onRetry:d});if(!o.configured)return(0,t.jsx)(r.EmptyState,{title:"Connect your data",reason:"Add your New Relic and Sentry keys to see real numbers.",href:"/setup",cta:"Set up keys"});if(0===o.pages.length)return(0,t.jsx)(r.EmptyState,{});let u=o.pages.find(t=>t.slug===e);return u||(0,a.notFound)(),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.PerformanceBreadcrumb,{pageName:u.name}),(0,n.hasData)(u)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.PerformanceKPIs,{page:u}),(0,t.jsx)(l.RelatedErrorsList,{errors:u.sentry.latestErrors})]}):(0,t.jsx)(r.EmptyState,{reason:`${u.name} (${u.url}): keys work, but no page events have arrived.`})]})}])},5080,e=>{"use strict";var t=e.i(43476),a=e.i(70065),r=e.i(79432),s=e.i(74544),n=e.i(64569),i=e.i(93961);e.s(["PerformanceKPIs",0,function({page:e}){let{newRelic:c}=e,l=[{label:"Average Load Time",value:(0,i.formatDuration)(c.loadTime),icon:(0,t.jsx)(s.Clock,{className:"h-4 w-4 text-[#3ee0a1]"})},{label:"Error Rate",value:`${c.errorRate.toFixed(2)}%`,icon:(0,t.jsx)(r.Activity,{className:"h-4 w-4 text-[#ef4444]"})},{label:"Traffic Volume",value:e.visitors,icon:(0,t.jsx)(n.Zap,{className:"h-4 w-4 text-[#06b6d4]"})}];return(0,t.jsx)("div",{className:"grid gap-6 md:grid-cols-3 mb-8",children:l.map(e=>(0,t.jsx)(a.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,t.jsxs)(a.CardContent,{className:"p-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-gray-400",children:e.label}),(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#0f1419] border border-[#2d3748]",children:e.icon})]}),(0,t.jsx)("span",{className:"text-3xl font-bold text-white tracking-tight",children:e.value})]})},e.label))})}])},97920,e=>{"use strict";var t=e.i(43476),a=e.i(70065),r=e.i(56420);let s={name:"circle-alert",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],aliases:["alert-circle"]};s.node;let n=(0,r.default)(s);var i=e.i(74544);e.s(["RelatedErrorsList",0,function({errors:e}){return(0,t.jsxs)(a.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md w-full lg:w-[400px]",children:[(0,t.jsx)(a.CardHeader,{children:(0,t.jsxs)(a.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight flex items-center gap-2",children:[(0,t.jsx)(n,{className:"h-5 w-5 text-[#ef4444]"}),"Related Errors"]})}),(0,t.jsx)(a.CardContent,{children:0===e.length?(0,t.jsx)("p",{className:"text-sm text-gray-400",children:"No errors reported for this page."}):(0,t.jsx)("div",{className:"flex flex-col gap-3",children:e.map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-2 rounded-lg border border-[#2d3748] bg-[#0f1419] p-4",children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsxs)("span",{className:"text-xs font-mono text-gray-500",children:[e.count," events"]})}),(0,t.jsx)("p",{className:"text-sm font-medium text-gray-200 line-clamp-2",children:e.title}),(0,t.jsxs)("div",{className:"flex items-center gap-1 mt-1 text-xs text-gray-500",children:[(0,t.jsx)(i.Clock,{className:"h-3 w-3"}),(0,t.jsx)("span",{children:new Date(e.lastSeen).toLocaleString()})]})]},e.title))})})]})}],97920)},24851,e=>{"use strict";var t=e.i(43476),a=e.i(22016),r=e.i(70065),s=e.i(67881);e.s(["EmptyState",0,function({title:e="No data yet",reason:n="Keys work, but no page events have arrived.",href:i="/connect",cta:c="Send your first events",onRetry:l}){return(0,t.jsx)(r.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,t.jsxs)(r.CardContent,{className:"flex flex-col items-center gap-3 p-10 text-center",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-white",children:e}),(0,t.jsx)("p",{className:"max-w-md text-sm text-gray-400",children:n}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(a.default,{href:i,className:(0,s.buttonVariants)(),children:c}),l&&(0,t.jsx)(s.Button,{variant:"outline",onClick:l,children:"Retry"})]})]})})}])},70065,e=>{"use strict";var t=e.i(43476),a=e.i(79862);e.s(["Card",0,function({className:e,size:r="default",...s}){return(0,t.jsx)("div",{"data-slot":"card","data-size":r,className:(0,a.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...s})},"CardContent",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-(--card-spacing)",e),...r})},"CardDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...r})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...r})}])},93961,e=>{"use strict";e.s(["formatDuration",0,function(e){if(!Number.isFinite(e))return"—";let t=Math.abs(Math.round(e));if(t<1e3)return`${Math.round(e)}ms`;if(t<59950)return`${+(e/1e3).toFixed(1)}s`;let a=Math.round(t/1e3),r=e<0?"-":"";return a<3600?`${r}${Math.floor(a/60)}m ${a%60}s`:`${r}${Math.floor(a/3600)}h ${Math.floor(a%3600/60)}m`}])},78320,e=>{"use strict";var t=e.i(71645),a=e.i(73011),r=e.i(50762);e.s(["hasData",0,function(e){return e.newRelic.throughput>0||e.newRelic.loadTime>0||e.sentry.errorCount>0},"useMetrics",0,function(){let[e,s]=(0,t.useState)({status:"loading"}),[n,i]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=!1;return fetch("/api/metrics").then(async t=>{let a=await t.json();if(!t.ok)throw Error(a.error??`HTTP ${t.status}`);e||s({status:"ready",configured:a.configured,pages:a.pages})}).catch(t=>{e||s({status:"error",message:t instanceof Error?t.message:"Request failed"})}),()=>{e=!0}},[n]);let c=(0,r.useThresholds)();return{state:"ready"===e.status?{...e,pages:e.pages.map(e=>({...e,status:(0,a.deriveStatus)(e.newRelic,c)}))}:e,retry:()=>{s({status:"loading"}),i(e=>e+1)}}}])},50762,73011,e=>{"use strict";var t=e.i(71645);let a={loadSeconds:1.5,errorPercent:2,uptimeSLA:99.9};e.s(["DEFAULT_THRESHOLDS",0,a,"deriveStatus",0,function(e,t){let a=e.loadTime/1e3/t.loadSeconds,r=e.errorRate/t.errorPercent;return a>2||r>2?"Critical":a>1||r>1||e.apdexScore<.9?"Warning":"Healthy"}],73011);let r="perf-thresholds",s=new Set,n=null;function i(){if(n)return n;try{n={...a,...JSON.parse(localStorage.getItem(r)??"{}")}}catch{n=a}return n}function c(e){n=e;try{localStorage.setItem(r,JSON.stringify(e))}catch{}s.forEach(e=>e())}let l=!1;function o(e){e.key===r&&(n=null,s.forEach(e=>e()))}function d(e){return s.add(e),l||(l=!0,fetch("/api/settings").then(e=>e.ok?e.json():null).then(e=>e&&c({...a,...e})).catch(()=>{l=!1})),window.addEventListener("storage",o),()=>{s.delete(e),window.removeEventListener("storage",o)}}e.s(["setThresholds",0,function(e){c({...i(),...e}),fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(()=>{})},"useThresholds",0,function(){return(0,t.useSyncExternalStore)(d,i,()=>a)}],50762)},79432,e=>{"use strict";var t=e.i(56420);let a={name:"activity",size:24,node:[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]};a.node;let r=(0,t.default)(a);e.s(["Activity",0,r],79432)},74544,e=>{"use strict";var t=e.i(56420);let a={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};a.node;let r=(0,t.default)(a);e.s(["Clock",0,r],74544)},60972,e=>{"use strict";var t=e.i(56420);let a={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};a.node;let r=(0,t.default)(a);e.s(["default",0,r])},64569,e=>{"use strict";var t=e.i(56420);let a={name:"zap",size:24,node:[["path",{d:"M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z",key:"1v7up4"}]]};a.node;let r=(0,t.default)(a);e.s(["Zap",0,r],64569)}]);
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24851,e=>{"use strict";var t=e.i(43476),a=e.i(22016),r=e.i(70065),s=e.i(67881);e.s(["EmptyState",0,function({title:e="No data yet",reason:n="Keys work, but no page events have arrived.",href:i="/connect",cta:l="Send your first events",onRetry:d}){return(0,t.jsx)(r.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,t.jsxs)(r.CardContent,{className:"flex flex-col items-center gap-3 p-10 text-center",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold text-white",children:e}),(0,t.jsx)("p",{className:"max-w-md text-sm text-gray-400",children:n}),(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)(a.default,{href:i,className:(0,s.buttonVariants)(),children:l}),d&&(0,t.jsx)(s.Button,{variant:"outline",onClick:d,children:"Retry"})]})]})})}])},28175,e=>{"use strict";var t=e.i(43476),a=e.i(70065),r=e.i(56420);let s={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]};s.node;let n=(0,r.default)(s);var i=e.i(74544),l=e.i(53138),d=e.i(78320),o=e.i(93961);e.s(["HubMetrics",0,function({pages:e}){let r=e.filter(d.hasData),s=r.length?r.reduce((e,t)=>e+t.newRelic.loadTime,0)/r.length:null,c=e.reduce((e,t)=>e+t.sentry.errorCount,0),u=[{label:"Pages Reporting",value:`${r.length} of ${e.length}`,icon:(0,t.jsx)(n,{className:"h-4 w-4 text-[#3ee0a1]"})},{label:"Avg Load Time",value:null===s?"No data yet":(0,o.formatDuration)(s),icon:(0,t.jsx)(i.Clock,{className:"h-4 w-4 text-[#06b6d4]"})},{label:"Open Errors",value:r.length||c?String(c):"No data yet",icon:(0,t.jsx)(l.AlertTriangle,{className:"h-4 w-4 text-[#ef4444]"})}];return(0,t.jsx)("div",{className:"grid gap-6 md:grid-cols-3 mb-8 mt-4",children:u.map((e,r)=>(0,t.jsx)(a.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md",children:(0,t.jsxs)(a.CardContent,{className:"p-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsx)("span",{className:"text-sm font-medium text-gray-400",children:e.label}),(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-[#0f1419] border border-[#2d3748]",children:e.icon})]}),(0,t.jsx)("div",{className:"flex items-baseline gap-3",children:(0,t.jsx)("span",{className:"text-3xl font-bold text-white tracking-tight",children:e.value})})]})},r))})}],28175)},7848,e=>{"use strict";var t=e.i(43476),a=e.i(18566),r=e.i(47627),s=e.i(70065),n=e.i(94179),i=e.i(78320),l=e.i(93961);e.s(["HubTable",0,function({pages:e}){let d=(0,a.useRouter)();return(0,t.jsxs)(s.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md flex-1",children:[(0,t.jsx)(s.CardHeader,{children:(0,t.jsx)(s.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight",children:"Tracked Pages Overview"})}),(0,t.jsx)(s.CardContent,{children:(0,t.jsx)("div",{className:"rounded-md border border-[#2d3748] overflow-hidden",children:(0,t.jsxs)(r.Table,{children:[(0,t.jsx)(r.TableHeader,{className:"bg-[#0f1419]",children:(0,t.jsxs)(r.TableRow,{className:"border-[#2d3748] hover:bg-transparent",children:[(0,t.jsx)(r.TableHead,{className:"text-gray-400",children:"Page Name"}),(0,t.jsx)(r.TableHead,{className:"text-gray-400",children:"Path"}),(0,t.jsx)(r.TableHead,{className:"text-gray-400",children:"Visitors (24h)"}),(0,t.jsx)(r.TableHead,{className:"text-gray-400",children:"Avg Load"}),(0,t.jsx)(r.TableHead,{className:"text-gray-400",children:"Errors"}),(0,t.jsx)(r.TableHead,{className:"text-right text-gray-400",children:"Status"})]})}),(0,t.jsx)(r.TableBody,{children:e.map(e=>{let a=(0,i.hasData)(e);return(0,t.jsxs)(r.TableRow,{className:"border-[#2d3748] hover:bg-white/5 transition-colors cursor-pointer",onClick:()=>d.push(`/performance/${e.slug}`),children:[(0,t.jsx)(r.TableCell,{className:"font-medium text-white",children:e.name}),(0,t.jsx)(r.TableCell,{className:"text-gray-500 font-mono text-xs",children:e.url}),(0,t.jsx)(r.TableCell,{className:"text-gray-400",children:a?e.visitors:"—"}),(0,t.jsx)(r.TableCell,{className:"text-gray-400",children:a?(0,l.formatDuration)(e.newRelic.loadTime):"—"}),(0,t.jsx)(r.TableCell,{className:"text-gray-400",children:a?e.sentry.errorCount:"—"}),(0,t.jsx)(r.TableCell,{className:"text-right",children:a?(0,t.jsx)(n.Badge,{variant:"outline",className:`
|
|
2
|
-
${"Healthy"===e.status?"border-[#3ee0a1] text-[#3ee0a1] bg-[#3ee0a1]/10":""}
|
|
3
|
-
${"Warning"===e.status?"border-[#f59e0b] text-[#f59e0b] bg-[#f59e0b]/10":""}
|
|
4
|
-
${"Critical"===e.status?"border-[#ef4444] text-[#ef4444] bg-[#ef4444]/10":""}
|
|
5
|
-
`,children:e.status}):(0,t.jsx)(n.Badge,{variant:"outline",className:"border-[#4a5568] text-gray-400",children:"No data yet"})})]},e.slug)})})]})})})]})}])},11777,e=>{"use strict";var t=e.i(43476),a=e.i(24851),r=e.i(71428),s=e.i(78320),n=e.i(28175),i=e.i(7848);e.s(["PerformanceHub",0,function(){let{state:e,retry:l}=(0,s.useMetrics)();return"loading"===e.status?(0,t.jsx)(r.Skeleton,{className:"mt-6 h-64 w-full bg-[#2d3748]"}):"error"===e.status?(0,t.jsx)(a.EmptyState,{title:"Could not load metrics",reason:e.message,onRetry:l}):e.configured?e.pages.length&&e.pages.some(s.hasData)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.HubMetrics,{pages:e.pages}),(0,t.jsx)(i.HubTable,{pages:e.pages})]}):(0,t.jsx)(a.EmptyState,{}):(0,t.jsx)(a.EmptyState,{title:"Connect your data",reason:"Add your New Relic and Sentry keys to see real numbers.",href:"/setup",cta:"Set up keys"})}])},94179,e=>{"use strict";var t=e.i(76782),a=e.i(11825),r=e.i(25913),s=e.i(79862);let n=(0,r.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:r="default",render:i,...l}){return(0,a.useRender)({defaultTagName:"span",props:(0,t.mergeProps)({className:(0,s.cn)(n({variant:r}),e)},l),render:i,state:{slot:"badge",variant:r}})}])},70065,e=>{"use strict";var t=e.i(43476),a=e.i(79862);e.s(["Card",0,function({className:e,size:r="default",...s}){return(0,t.jsx)("div",{"data-slot":"card","data-size":r,className:(0,a.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...s})},"CardContent",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-(--card-spacing)",e),...r})},"CardDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...r})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...r})}])},47627,e=>{"use strict";var t=e.i(43476),a=e.i(79862);e.s(["Table",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,a.cn)("w-full caption-bottom text-sm",e),...r})})},"TableBody",0,function({className:e,...r}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,a.cn)("[&_tr:last-child]:border-0",e),...r})},"TableCell",0,function({className:e,...r}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,a.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...r})},"TableHead",0,function({className:e,...r}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,a.cn)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e),...r})},"TableHeader",0,function({className:e,...r}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,a.cn)("[&_tr]:border-b",e),...r})},"TableRow",0,function({className:e,...r}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,a.cn)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...r})}])},93961,e=>{"use strict";e.s(["formatDuration",0,function(e){if(!Number.isFinite(e))return"—";let t=Math.abs(Math.round(e));if(t<1e3)return`${Math.round(e)}ms`;if(t<59950)return`${+(e/1e3).toFixed(1)}s`;let a=Math.round(t/1e3),r=e<0?"-":"";return a<3600?`${r}${Math.floor(a/60)}m ${a%60}s`:`${r}${Math.floor(a/3600)}h ${Math.floor(a%3600/60)}m`}])},78320,e=>{"use strict";var t=e.i(71645),a=e.i(73011),r=e.i(50762);e.s(["hasData",0,function(e){return e.newRelic.throughput>0||e.newRelic.loadTime>0||e.sentry.errorCount>0},"useMetrics",0,function(){let[e,s]=(0,t.useState)({status:"loading"}),[n,i]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=!1;return fetch("/api/metrics").then(async t=>{let a=await t.json();if(!t.ok)throw Error(a.error??`HTTP ${t.status}`);e||s({status:"ready",configured:a.configured,pages:a.pages})}).catch(t=>{e||s({status:"error",message:t instanceof Error?t.message:"Request failed"})}),()=>{e=!0}},[n]);let l=(0,r.useThresholds)();return{state:"ready"===e.status?{...e,pages:e.pages.map(e=>({...e,status:(0,a.deriveStatus)(e.newRelic,l)}))}:e,retry:()=>{s({status:"loading"}),i(e=>e+1)}}}])},50762,73011,e=>{"use strict";var t=e.i(71645);let a={loadSeconds:1.5,errorPercent:2,uptimeSLA:99.9};e.s(["DEFAULT_THRESHOLDS",0,a,"deriveStatus",0,function(e,t){let a=e.loadTime/1e3/t.loadSeconds,r=e.errorRate/t.errorPercent;return a>2||r>2?"Critical":a>1||r>1||e.apdexScore<.9?"Warning":"Healthy"}],73011);let r="perf-thresholds",s=new Set,n=null;function i(){if(n)return n;try{n={...a,...JSON.parse(localStorage.getItem(r)??"{}")}}catch{n=a}return n}function l(e){n=e;try{localStorage.setItem(r,JSON.stringify(e))}catch{}s.forEach(e=>e())}let d=!1;function o(e){e.key===r&&(n=null,s.forEach(e=>e()))}function c(e){return s.add(e),d||(d=!0,fetch("/api/settings").then(e=>e.ok?e.json():null).then(e=>e&&l({...a,...e})).catch(()=>{d=!1})),window.addEventListener("storage",o),()=>{s.delete(e),window.removeEventListener("storage",o)}}e.s(["setThresholds",0,function(e){l({...i(),...e}),fetch("/api/settings",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}).catch(()=>{})},"useThresholds",0,function(){return(0,t.useSyncExternalStore)(c,i,()=>a)}],50762)},74544,e=>{"use strict";var t=e.i(56420);let a={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};a.node;let r=(0,t.default)(a);e.s(["Clock",0,r],74544)},53138,e=>{"use strict";var t=e.i(56420);let a={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};a.node;let r=(0,t.default)(a);e.s(["AlertTriangle",0,r],53138)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55370,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(70065),r=e.i(67881),n=e.i(23750);let i=[{id:"gemini",label:"Google Gemini",help:"Create a key at aistudio.google.com/apikey."},{id:"claude",label:"Anthropic Claude",help:"Create a key at console.anthropic.com > API keys."},{id:"openai",label:"OpenAI",help:"Create a key at platform.openai.com/api-keys."}];e.s(["AiKeyForm",0,function(){let[e,l]=(0,a.useState)(i[0].id),[d,o]=(0,a.useState)(""),[c,m]=(0,a.useState)(null),[p,h]=(0,a.useState)({}),[x,u]=(0,a.useState)(null),[g,f]=(0,a.useState)(!1);async function y(t){t.preventDefault(),f(!0),u(null);try{let t=await fetch("/api/setup/ai",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e,key:d})}),a=await t.json();a.saved?(o(""),m(e),h({...p,[e]:!0}),u({ok:!0,text:"Saved. AI suggestions now use this provider. No restart needed."})):u({ok:!1,text:a.error??"Nothing was saved."})}catch{u({ok:!1,text:"Could not reach the dashboard server."})}finally{f(!1)}}(0,a.useEffect)(()=>{fetch("/api/setup/ai").then(e=>e.json()).then(e=>{e.keys&&(h(e.keys),m(e.provider),e.provider&&l(e.provider))}).catch(()=>{})},[]);let b=i.find(t=>t.id===e);return(0,t.jsxs)(s.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md max-w-2xl mt-6",children:[(0,t.jsxs)(s.CardHeader,{children:[(0,t.jsx)(s.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight",children:"AI suggestions (optional)"}),(0,t.jsx)(s.CardDescription,{className:"text-sm text-gray-400",children:"Add a Gemini, Claude or OpenAI key to get AI insights and recommendations for your pages. Only page names, load times and error counts are sent to the provider you pick. Without a key, the dashboard shows sample suggestions."})]}),(0,t.jsx)(s.CardContent,{children:(0,t.jsxs)("form",{onSubmit:y,className:"flex flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("label",{htmlFor:"ai-provider",className:"text-sm font-medium text-gray-300",children:"Provider"}),(0,t.jsx)("select",{id:"ai-provider",value:e,onChange:e=>l(e.target.value),className:"h-9 rounded-md border border-[#2d3748] bg-[#0f1419] px-3 text-sm text-gray-200",children:i.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.label,c===e.id?" (in use)":p[e.id]?" (key saved)":""]},e.id))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("label",{htmlFor:"ai-key",className:"text-sm font-medium text-gray-300",children:[b.label," API key ",p[e]&&(0,t.jsx)("span",{className:"ml-2 text-xs text-[#3ee0a1]",children:"✓ Set"})]}),(0,t.jsx)(n.Input,{id:"ai-key",type:"password",autoComplete:"off",spellCheck:!1,placeholder:p[e]?"•••••••• (type to replace)":"",value:d,onChange:e=>o(e.target.value),"aria-describedby":"ai-key-help",className:"bg-[#0f1419] border-[#2d3748] text-gray-200 font-mono text-xs"}),(0,t.jsx)("p",{id:"ai-key-help",className:"text-xs text-gray-400",children:b.help})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)(r.Button,{type:"submit",disabled:g||!d.trim(),children:g?"Checking…":"Check and save"}),(0,t.jsx)("span",{"aria-live":"polite",className:`text-sm ${x?.ok?"text-[#3ee0a1]":"text-[#f87171]"}`,children:x?.text})]})]})})]})}])},4603,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(22016),r=e.i(70065),n=e.i(67881),i=e.i(23750);let l=[{name:"NEWRELIC_API_KEY",label:"New Relic User API key",secret:!0,help:'READS your data (starts NRAK-). Create it under API keys > key type "User".'},{name:"NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID",label:"New Relic account ID",secret:!1,help:"A plain number, shown next to your keys in New Relic."},{name:"SENTRY_API_KEY",label:"Sentry auth token",secret:!0,help:"Lets the dashboard read issues (scopes: project:read, event:read)."},{name:"SENTRY_ORG_SLUG",label:"Sentry organization slug",secret:!1,help:"The name in your Sentry URL: sentry.io/organizations/<slug>/."},{name:"SENTRY_PROJECT_ID",label:"Sentry project slug",secret:!1,help:"The project's slug from Project settings."}];e.s(["SetupForm",0,function(){let[e,d]=(0,a.useState)({}),[o,c]=(0,a.useState)({}),[m,p]=(0,a.useState)({}),[h,x]=(0,a.useState)(null),[u,g]=(0,a.useState)(!1),[f,y]=(0,a.useState)(!1),b=(0,a.useRef)(null);async function v(t){t.preventDefault(),g(!0),x(null);try{let t=await fetch("/api/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),a=await t.json(),s=a.results??{};p(s);let r=l.find(e=>s[e.name]&&!s[e.name].ok);r&&setTimeout(()=>b.current?.querySelector(`#${r.name}`)?.focus(),0),a.saved?(y(!0),d({}),c(Object.fromEntries(l.map(e=>[e.name,!0]))),x({ok:!0,text:"Saved. Your keys are valid and stored in .env.local. No restart needed."})):x({ok:!1,text:a.error??"Nothing was saved. Fix the fields marked below."})}catch{x({ok:!1,text:"Could not reach the dashboard server."})}finally{g(!1)}}return(0,a.useEffect)(()=>{fetch("/api/setup").then(e=>e.json()).then(e=>{e.keys?c(e.keys):e.error&&x({ok:!1,text:e.error})}).catch(()=>{})},[]),(0,t.jsxs)(r.Card,{className:"border-[#2d3748] bg-[#1a202c] shadow-md max-w-2xl",children:[(0,t.jsxs)(r.CardHeader,{children:[(0,t.jsx)(r.CardTitle,{className:"text-[18px] font-bold text-white tracking-tight",children:"Connect New Relic and Sentry"}),(0,t.jsx)(r.CardDescription,{className:"text-sm text-gray-400",children:"Keys are checked once, saved to .env.local in this folder, and never shown again. The key that sends events (Ingest - License) is separate and is added later on the Connect page."})]}),(0,t.jsx)(r.CardContent,{children:(0,t.jsxs)("form",{ref:b,onSubmit:v,className:"flex flex-col gap-5",children:[l.map(a=>{let s=m[a.name];return(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsxs)("label",{htmlFor:a.name,className:"text-sm font-medium text-gray-300",children:[a.label," ",o[a.name]&&(0,t.jsx)("span",{className:"ml-2 text-xs text-[#3ee0a1]",children:"✓ Set"})]}),(0,t.jsx)(i.Input,{id:a.name,name:a.name,type:a.secret?"password":"text",autoComplete:"off",spellCheck:!1,placeholder:o[a.name]?"•••••••• (leave blank to keep, type to replace)":"",value:e[a.name]??"",onChange:t=>d({...e,[a.name]:t.target.value}),"aria-invalid":!!s&&!s.ok||void 0,"aria-describedby":`${a.name}-help ${a.name}-result`,className:"bg-[#0f1419] border-[#2d3748] text-gray-200 font-mono text-xs"}),(0,t.jsx)("p",{id:`${a.name}-help`,className:"text-xs text-gray-400",children:a.help}),(0,t.jsxs)("div",{id:`${a.name}-result`,"aria-live":"polite",children:[s&&!s.ok&&(0,t.jsxs)("p",{className:"text-xs text-[#f87171]",children:["✗ ",s.error]}),s?.ok&&(0,t.jsx)("p",{className:"text-xs text-[#3ee0a1]",children:"✓ Checked"})]})]},a.name)}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)(n.Button,{type:"submit",disabled:u,children:u?"Checking…":"Check and save"}),(0,t.jsx)("span",{"aria-live":"polite",className:`text-sm ${h?.ok?"text-[#3ee0a1]":"text-[#f87171]"}`,children:h?.text}),f&&(0,t.jsx)(s.default,{href:"/connect",className:(0,n.buttonVariants)({variant:"outline"}),children:"Next: connect your app"})]})]})})]})}])},70065,e=>{"use strict";var t=e.i(43476),a=e.i(79862);e.s(["Card",0,function({className:e,size:s="default",...r}){return(0,t.jsx)("div",{"data-slot":"card","data-size":s,className:(0,a.cn)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...r})},"CardContent",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-(--card-spacing)",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-sm text-muted-foreground",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...s})}])}]);
|