@karan171996/metricflow 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_1gfkiq9._.js +1 -1
- package/.next/build/chunks/{node_modules__pnpm_0x15692._.js → node_modules__pnpm_1x2anb_._.js} +3 -3
- package/.next/build-manifest.json +6 -6
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +5 -33
- package/.next/server/app/_global-error/page/build-manifest.json +3 -3
- 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 +7 -7
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/.next/server/app/_not-found/page.js +1 -1
- 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 +39 -44
- package/.next/server/app/_not-found.segments/_full.segment.rsc +39 -44
- package/.next/server/app/_not-found.segments/_index.segment.rsc +30 -35
- 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 +2 -2
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/connect/route.js +2 -2
- package/.next/server/app/api/connect/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/metrics/route.js +2 -2
- package/.next/server/app/api/metrics/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +2 -1
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/ai/route.js +2 -2
- package/.next/server/app/api/setup/ai/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/route.js +2 -2
- package/.next/server/app/api/setup/route.js.nft.json +1 -1
- package/.next/server/app/api/timings/route.js +2 -2
- package/.next/server/app/api/timings/route.js.nft.json +1 -1
- package/.next/server/app/connect/page/build-manifest.json +3 -3
- package/.next/server/app/connect/page.js +1 -1
- 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 +4 -4
- package/.next/server/app/connect.rsc +40 -45
- package/.next/server/app/connect.segments/_full.segment.rsc +40 -45
- package/.next/server/app/connect.segments/_index.segment.rsc +30 -35
- 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/index.html +2 -2
- package/.next/server/app/index.rsc +40 -45
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/index.segments/_full.segment.rsc +40 -45
- package/.next/server/app/index.segments/_index.segment.rsc +30 -35
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page/build-manifest.json +3 -3
- package/.next/server/app/page.js +1 -1
- 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 +3 -3
- package/.next/server/app/performance/[slug]/page.js +3 -3
- 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 +3 -3
- package/.next/server/app/performance/page.js +1 -1
- 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 +47 -58
- package/.next/server/app/performance.segments/_full.segment.rsc +47 -58
- package/.next/server/app/performance.segments/_index.segment.rsc +30 -35
- package/.next/server/app/performance.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/performance.segments/performance/__PAGE__.segment.rsc +17 -23
- package/.next/server/app/settings/page/build-manifest.json +3 -3
- package/.next/server/app/settings/page.js +2 -2
- 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/setup/page/build-manifest.json +3 -3
- package/.next/server/app/setup/page.js +1 -1
- 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 +41 -46
- package/.next/server/app/setup.segments/_full.segment.rsc +41 -46
- package/.next/server/app/setup.segments/_index.segment.rsc +30 -35
- 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/build-manifest.json +3 -3
- package/.next/server/app/tools/[tool]/page.js +2 -2
- package/.next/server/app/tools/[tool]/page.js.nft.json +1 -1
- package/.next/server/app/tools/[tool]/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0086g9z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05mqvyo._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0dv0ig6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0fkj1-q._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0ui-otz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0urnrab._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1f_fo0j._.js → [root-of-the-server]__0wkeqwu._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0o2ceqr._.js → [root-of-the-server]__0xy2rkf._.js} +2 -2
- package/.next/server/chunks/_0j7t8f9._.js +3 -0
- package/.next/server/chunks/node_modules__pnpm_1qoj6e0._.js +8 -0
- package/.next/server/chunks/ssr/0hs5_cn_dist_index_1l1fs8y.js +3 -0
- package/.next/server/chunks/ssr/0x0c_next_dist_03da18h._.js +2 -2
- package/.next/server/chunks/ssr/0x0c_next_dist_0lkq344._.js +1 -1
- package/.next/server/chunks/ssr/0x0c_next_dist_1icgwks._.js +1 -1
- package/.next/server/chunks/ssr/0x0c_next_dist_client_components_1z4ahr3._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__02c3m72._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0kik87u._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0tikq3c._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1jyq1xk._.js +3 -0
- package/.next/server/chunks/ssr/_03vzzge._.js +3 -0
- package/.next/server/chunks/ssr/_05t4klq._.js +151 -0
- package/.next/server/chunks/ssr/_0_8ffmk._.js +3 -0
- package/.next/server/chunks/ssr/_0aid3rp._.js +23 -0
- package/.next/server/chunks/ssr/_0n2v1-f._.js +3 -0
- package/.next/server/chunks/ssr/_0ovnhv_._.js +3 -0
- package/.next/server/chunks/ssr/_0r3_nx1._.js +3 -0
- package/.next/server/chunks/ssr/{_0cq6qjs._.js → _1-c62g-._.js} +2 -2
- package/.next/server/chunks/ssr/_13m9nev._.js +1 -1
- package/.next/server/chunks/ssr/_15jjw6y._.js +6 -0
- package/.next/server/chunks/ssr/_1m21xmc._.js +3 -0
- package/.next/server/chunks/ssr/_1op3e_1._.js +3 -0
- package/.next/server/chunks/ssr/_1u-atbb._.js +3 -0
- package/.next/server/chunks/ssr/{_0bxxvzb._.js → _1vj5488._.js} +2 -2
- package/.next/server/chunks/ssr/components_1_8btz1._.js +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1nkgz3w._.js +3 -0
- package/.next/server/middleware-build-manifest.js +6 -6
- package/.next/server/pages/404.html +2 -2
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +0 -14
- package/.next/static/chunks/08mon8yjj189v.js +1 -0
- package/.next/static/chunks/0_gj-5u7ifqf4.js +1 -0
- package/.next/static/chunks/0qyqgoivxmfa9.js +1 -0
- package/.next/static/chunks/{2k11j1snr6r1u.js → 0vpb-2i9p8zhe.js} +1 -1
- package/.next/static/chunks/0y_7csdv76zje.js +1 -0
- package/.next/static/chunks/1-e3y5w9yuttx.js +1 -0
- package/.next/static/chunks/1yf_zdc606yo0.js +4 -0
- package/.next/static/chunks/2-_lp05t5zcjb.js +1 -0
- package/.next/static/chunks/{3fmhqgzb47j23.js → 21q5shbghrpvd.js} +1 -1
- package/.next/static/chunks/24b86benpq6o_.css +1 -0
- package/.next/static/chunks/{2dpz7gbtyu5go.js → 287u55qyslbe_.js} +1 -1
- package/.next/static/chunks/{2pf7wdwyhi6ks.js → 2ez5lwfhls4_u.js} +1 -1
- package/.next/static/chunks/{1habrj18124lo.js → 2gp4docstg2a8.js} +1 -1
- package/.next/static/chunks/3u-yh5wnxswb0.js +1 -0
- package/.next/static/chunks/{44rowux-iee-x.js → 3vpvl6gwhuz4w.js} +1 -1
- package/.next/static/chunks/{turbopack-00gi3z1duuih6.js → turbopack-2-umre2j9nu7o.js} +1 -1
- package/.next/trace +1 -1
- package/.next/trace-build +1 -1
- package/README.md +9 -0
- package/package.json +15 -15
- package/.next/server/app/settings.html +0 -2
- package/.next/server/app/settings.meta +0 -35
- package/.next/server/app/settings.rsc +0 -60
- package/.next/server/app/settings.segments/_full.segment.rsc +0 -60
- package/.next/server/app/settings.segments/_index.segment.rsc +0 -35
- package/.next/server/app/settings.segments/_tree.segment.rsc +0 -2
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +0 -43
- package/.next/server/chunks/[root-of-the-server]__0pil1g6._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18s35pf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1naf7j4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1rx5s6r._.js +0 -3
- package/.next/server/chunks/node_modules__pnpm_0qgcly_._.js +0 -8
- package/.next/server/chunks/ssr/0f2__cn_dist_index_1jh2egc.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1jr0qvs._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1xhr2zy._.js +0 -3
- package/.next/server/chunks/ssr/_02_o-ya._.js +0 -6
- package/.next/server/chunks/ssr/_045bvlq._.js +0 -3
- package/.next/server/chunks/ssr/_0_02db6._.js +0 -3
- package/.next/server/chunks/ssr/_0htqt7_._.js +0 -23
- package/.next/server/chunks/ssr/_0ompurr._.js +0 -7
- package/.next/server/chunks/ssr/_0un641_._.js +0 -3
- package/.next/server/chunks/ssr/_10-bhov._.js +0 -151
- package/.next/server/chunks/ssr/_19s4g71._.js +0 -3
- package/.next/server/chunks/ssr/_1n6rdd2._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_0o-aqpb._.js +0 -3
- package/.next/static/chunks/036zzfotyi252.js +0 -1
- package/.next/static/chunks/18thq9ido-jej.js +0 -5
- package/.next/static/chunks/190rvtbj8tqbw.js +0 -1
- package/.next/static/chunks/1kqzgl2gb6ily.js +0 -1
- package/.next/static/chunks/2k0i-ii_d9i1v.js +0 -1
- package/.next/static/chunks/2ts5849lckpvw.js +0 -4
- package/.next/static/chunks/31od3fbrskb5_.js +0 -1
- package/.next/static/chunks/342os69xzg5nr.js +0 -1
- package/.next/static/chunks/41hd4j26grz8n.css +0 -1
- /package/.next/static/{tLjq-FpU0cC-ZxNdszo7D → GVE2T1XZpK2w4phBvG0Q0}/_buildManifest.js +0 -0
- /package/.next/static/{tLjq-FpU0cC-ZxNdszo7D → GVE2T1XZpK2w4phBvG0Q0}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{tLjq-FpU0cC-ZxNdszo7D → GVE2T1XZpK2w4phBvG0Q0}/_ssgManifest.js +0 -0
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[11522,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"SidebarProvider"]
|
|
3
|
-
3:I[67097,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"AppSidebar"]
|
|
4
|
-
4:I[11522,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"SidebarInset"]
|
|
5
|
-
5:I[17792,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"Header"]
|
|
6
|
-
6:I[27341,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"Tabs"]
|
|
7
|
-
7:I[27341,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"TabsList"]
|
|
8
|
-
8:I[27341,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"TabsTrigger"]
|
|
9
|
-
9:I[27341,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"TabsContent"]
|
|
10
|
-
a:I[91153,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"default"]
|
|
11
|
-
b:I[3547,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],""]
|
|
12
|
-
14:X
|
|
13
|
-
19:X
|
|
14
|
-
19:C
|
|
15
|
-
0:{"buildId":"tLjq-FpU0cC-ZxNdszo7D","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"children":[["$","$L3",null,{}],["$","$L4",null,{"className":"bg-dash-surface","children":[["$","$L5",null,{}],["$","div",null,{"className":"flex flex-1 flex-col p-6 md:p-8 max-w-[1200px] mx-auto w-full","children":[["$","div",null,{"className":"mb-8","children":[["$","h1",null,{"className":"title-enter text-2xl font-bold text-white tracking-tight","children":"Settings"}],["$","p",null,{"className":"text-sm text-gray-400","children":"Manage your account, team, and dashboard preferences."}]]}],["$","$L6",null,{"defaultValue":"general","className":"w-full","children":[["$","$L7",null,{"className":"bg-[#0f1419] border border-[#2d3748] mb-8 p-1 h-auto","children":[["$","$L8",null,{"value":"general","className":"data-[state=active]:bg-[#1a202c] data-[state=active]:text-white text-gray-400","children":"General & API"}],["$","$L8",null,{"value":"thresholds","className":"data-[state=active]:bg-[#1a202c] data-[state=active]:text-white text-gray-400","children":"Performance Thresholds"}],["$","$L8",null,{"value":"team","className":"data-[state=active]:bg-[#1a202c] data-[state=active]:text-white text-gray-400","children":"Notifications & Team"}]]}],["$","$L9",null,{"value":"general","className":"space-y-6 mt-0","children":[["$","div",null,{"data-slot":"card","data-size":"default","className":"group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl 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 border-[#2d3748] bg-[#1a202c] shadow-md","children":[["$","div",null,{"data-slot":"card-header","className":"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)","children":[["$","div",null,{"data-slot":"card-title","className":"title-enter font-heading group-data-[size=sm]/card:text-sm text-[18px] font-bold text-white tracking-tight flex items-center gap-2","children":[["$","$La",null,{"icon":{"name":"key","size":24,"node":[["path",{"d":"m2 21 9.6-9.6","key":"9l79m3"}],["path",{"d":"m7.5 15.5 2.3 2.3a1 1 0 0 1 0 1.4l-2.1 2.1a1 1 0 0 1-1.4 0L4 19","key":"fw8biw"}],["circle",{"cx":"15.5","cy":"7.5","r":"5.5","key":"4wxmhb"}]]},"className":"h-5 w-5 text-gray-400"}],"API Keys"]}],["$","div",null,{"data-slot":"card-description","className":"text-sm text-gray-400","children":"Your New Relic and Sentry keys are stored in .env.local on this machine and are never shown here."}]]}],["$","div",null,{"data-slot":"card-content","className":"px-(--card-spacing)","children":["$","$Lb",null,{"href":"/setup","className":"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2","children":"Manage keys"}]}]]}],"$Lc"]}],"$Ld","$Le"]}]]}]]}]]}],["$Lf","$L10","$L11"],"$L12"]}],"isPartial":"$@13","staleTime":"$14","varyParams":null},{"rsc":"$L15","isPartial":"$@16","staleTime":"$14","varyParams":null},{"rsc":"$L17","isPartial":"$@18","staleTime":"$14","varyParams":"$19"}],"isUpgradeableISRFallback":false,"a":"$@1a","rootVaryParams":null,"needsRuntimeRequest":"$@1b"}
|
|
16
|
-
1c:I[84007,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"ExportSettings"]
|
|
17
|
-
1d:I[99802,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"ThresholdSettings"]
|
|
18
|
-
1e:I[82952,["/_next/static/chunks/2dpz7gbtyu5go.js","/_next/static/chunks/036zzfotyi252.js","/_next/static/chunks/2k0i-ii_d9i1v.js","/_next/static/chunks/2ts5849lckpvw.js"],"NotificationPrefs"]
|
|
19
|
-
1f:I[43120,["/_next/static/chunks/2dpz7gbtyu5go.js"],"OutletBoundary"]
|
|
20
|
-
20:"$Sreact.suspense"
|
|
21
|
-
22:I[43120,["/_next/static/chunks/2dpz7gbtyu5go.js"],"ViewportBoundary"]
|
|
22
|
-
23:I[43120,["/_next/static/chunks/2dpz7gbtyu5go.js"],"MetadataBoundary"]
|
|
23
|
-
24:I[27499,["/_next/static/chunks/2dpz7gbtyu5go.js"],"IconMark"]
|
|
24
|
-
25:I[46495,["/_next/static/chunks/2dpz7gbtyu5go.js"],"LoadingBoundaryProvider"]
|
|
25
|
-
26:I[46495,["/_next/static/chunks/2dpz7gbtyu5go.js"],"default"]
|
|
26
|
-
27:I[90434,["/_next/static/chunks/2dpz7gbtyu5go.js"],"default"]
|
|
27
|
-
c:["$","$L1c",null,{}]
|
|
28
|
-
d:["$","$L9",null,{"value":"thresholds","className":"mt-0","children":["$","$L1d",null,{}]}]
|
|
29
|
-
e:["$","$L9",null,{"value":"team","className":"space-y-6 mt-0","children":["$","$L1e",null,{}]}]
|
|
30
|
-
f:["$","script","script-0",{"src":"/_next/static/chunks/036zzfotyi252.js","async":true}]
|
|
31
|
-
10:["$","script","script-1",{"src":"/_next/static/chunks/2k0i-ii_d9i1v.js","async":true}]
|
|
32
|
-
11:["$","script","script-2",{"src":"/_next/static/chunks/2ts5849lckpvw.js","async":true}]
|
|
33
|
-
12:["$","$L1f",null,{"children":["$","$20",null,{"name":"Next.MetadataOutlet","children":"$@21"}]}]
|
|
34
|
-
15:["$","$1","h",{"children":[null,["$","$L22",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L23",null,{"children":["$","$20",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MetricFlow"}],["$","meta","1",{"name":"description","content":"Local performance dashboard for your site: New Relic metrics and Sentry errors per page."}],["$","link","2",{"rel":"icon","href":"/icon.svg?icon.23mz8iwcatff2.svg","sizes":"any","type":"image/svg+xml"}],["$","$L24","3",{}]]}]}]}],null]}]
|
|
35
|
-
17:["$","$L25",null,{"loading":[["$","$L2","l",{"children":[["$","$L3",null,{}],["$","$L4",null,{"className":"bg-dash-surface","children":[["$","div",null,{"className":"fixed top-0 left-0 right-0 z-50 h-[3px]","children":["$","div",null,{"className":"h-full bg-gradient-to-r from-[#3ee0a1] via-[#06b6d4] to-[#8b5cf6] animate-[shimmer_1.5s_ease-in-out_infinite] bg-[length:200%_100%]"}]}],["$","$L5",null,{}],["$","div",null,{"className":"flex flex-1 flex-col p-6 md:p-8 max-w-[1200px] mx-auto w-full","children":[["$","div",null,{"className":"mb-8 space-y-2","children":[["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-8 w-32 rounded-md bg-[#2d3748]"}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-4 w-64 rounded-full bg-[#2d3748]"}]]}],["$","div",null,{"className":"flex gap-2 mb-8","children":[["$","div","0",{"data-slot":"skeleton","className":"animate-pulse h-9 rounded-md bg-[#2d3748]","style":{"width":120}}],["$","div","1",{"data-slot":"skeleton","className":"animate-pulse h-9 rounded-md bg-[#2d3748]","style":{"width":180}}],["$","div","2",{"data-slot":"skeleton","className":"animate-pulse h-9 rounded-md bg-[#2d3748]","style":{"width":160}}]]}],["$","div",null,{"className":"space-y-6","children":[["$","div",null,{"className":"rounded-xl border border-[#2d3748] bg-[#1a202c] p-6 space-y-4","children":[["$","div",null,{"className":"flex items-center gap-2","children":[["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-5 w-5 rounded-full bg-[#2d3748]"}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-5 w-40 rounded-md bg-[#2d3748]"}]]}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-3 w-64 rounded-full bg-[#2d3748]"}],["$","div",null,{"className":"space-y-3 pt-2","children":[["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-10 w-full max-w-md rounded-lg bg-[#2d3748]"}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-9 w-32 rounded-lg bg-[#2d3748]"}]]}]]}],["$","div",null,{"className":"rounded-xl border border-[#2d3748] bg-[#1a202c] p-6 space-y-4","children":[["$","div",null,{"className":"flex items-center gap-2","children":[["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-5 w-5 rounded-full bg-[#2d3748]"}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-5 w-40 rounded-md bg-[#2d3748]"}]]}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-3 w-64 rounded-full bg-[#2d3748]"}],["$","div",null,{"className":"space-y-3 pt-2","children":[["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-10 w-full max-w-md rounded-lg bg-[#2d3748]"}],["$","div",null,{"data-slot":"skeleton","className":"animate-pulse h-9 w-32 rounded-lg bg-[#2d3748]"}]]}]]}]]}]]}]]}]]}],[],[["$","script","script-0",{"src":"/_next/static/chunks/1habrj18124lo.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/2k0i-ii_d9i1v.js","async":true}]]],"children":["$","$1","c",{"children":[null,["$","$L26",null,{"parallelRouterKey":"children","template":["$","$L27",null,{}]}]]}]}]
|
|
36
|
-
1b:true
|
|
37
|
-
21:null
|
|
38
|
-
14:300
|
|
39
|
-
14:C
|
|
40
|
-
1a:0
|
|
41
|
-
16:"$undefined"
|
|
42
|
-
18:"$undefined"
|
|
43
|
-
13:"$undefined"
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},25328,(e,t,r)=>{t.exports=e.x("http2",()=>require("http2"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},4446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},55004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},70722,(e,t,r)=>{t.exports=e.x("tty",()=>require("tty"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},12892,67119,e=>{"use strict";var t=e.i(2157),r=e.i(50227),s=e.i(39151),o=e.i(19374);function n(e,t=[],r=[]){let a,i="string"==typeof e?function(e,t,r=[]){if(null==t)throw Error("[lucide]: iconNode is required when icon name is used");return{name:e?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:t,...r.length>0?{aliases:r}:{}}}(e,t,r):e,l=(0,s.forwardRef)(({className:e,...t},r)=>(0,s.createElement)(o.default,{ref:r,icon:i,className:e,...t}));return i.name&&(l.displayName=(a=(e=>{let t="",r=!1;for(let s of e){if("-"===s||"_"===s||s<=" "){r=t.length>0;continue}0===t.length?t+=s.toLowerCase():t+=r?s.toUpperCase():s,r=!1}return t})(i.name)).charAt(0).toUpperCase()+a.slice(1)),l}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 i=n(a),l={name:"bug",size:24,node:[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]};l.node;let c=n(l);function d(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 r=Math.round(t/1e3),s=e<0?"-":"";return r<3600?`${s}${Math.floor(r/60)}m ${r%60}s`:`${s}${Math.floor(r/3600)}h ${Math.floor(r%3600/60)}m`}let u=["pages","traffic","loadTime","apdex","vitals","ajax","errorRate","errors"],p=e=>e.length?e.reduce((e,t)=>e+t,0)/e.length:0,h=e=>void 0===e?"—":d(e),f=e=>e.byTool?.sentry?.errors??(e.sentry&&{count:e.sentry.errorCount,latest:e.sentry.latestErrors}),y=e=>f(e)?.count??0,m={"new-relic":{label:"New Relic",icon:i,description:"Real-user performance per page: load time, Core Web Vitals, throughput and Apdex.",connectReason:"Add your New Relic keys to see load time and Core Web Vitals for each page.",setupNote:"The key that sends events (Ingest - License) is separate and is added later on the Connect page.",keys:{required:["NEWRELIC_API_KEY","NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID"],optional:["NEWRELIC_INSERT_KEY"],derived:["NEWRELIC_REGION"]},capabilities:["pages","traffic","loadTime","apdex","vitals","ajax","errorRate"],stats:e=>[{label:"Avg Load Time",value:d(p(e.map(e=>e.newRelic.loadTime)))},{label:"Avg LCP",value:d(p(e.map(e=>e.newRelic.lcp)))},{label:"Avg TTFB",value:d(p(e.map(e=>e.newRelic.ttfb)))},{label:"Avg Apdex",value:p(e.map(e=>e.newRelic.apdexScore)).toFixed(2)}],columns:[{needs:"loadTime",header:"Load",cell:e=>d(e.newRelic.loadTime)},{needs:"vitals",header:"LCP",cell:e=>d(e.newRelic.lcp)},{needs:"vitals",header:"TTFB",cell:e=>d(e.newRelic.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.newRelic.cls.toFixed(2)},{needs:"vitals",header:"INP",cell:e=>{let t=e.newRelic.inp;return void 0===t?"—":d(t)}},{needs:"errorRate",header:"Error Rate",cell:e=>`${e.newRelic.errorRate.toFixed(2)}%`},{needs:"traffic",header:"Throughput",cell:e=>e.newRelic.throughput.toLocaleString()},{needs:"apdex",header:"Apdex",cell:e=>e.newRelic.apdexScore.toFixed(2)}]},sentry:{label:"Sentry",icon:c,description:"Errors per page over the last 24 hours, with page loads and web vitals when your site sends traces.",connectReason:"Add your Sentry keys to see the errors on each page.",keys:{required:["SENTRY_API_KEY","SENTRY_DSN"],optional:[]},capabilities:["pages","traffic","vitals","errors"],stats:e=>{let t=e.reduce((e,t)=>y(t)>(e?y(e):0)?t:e,null);return[{label:"Total Errors",value:String(e.map(y).reduce((e,t)=>e+t,0))},{label:"Pages With Errors",value:`${e.filter(e=>y(e)>0).length} of ${e.length}`},{label:"Noisiest Page",value:t?.name??"None"}]},columns:[{needs:"errors",header:"Errors",cell:e=>String(y(e))},{needs:"errors",header:"Latest Error",cell:e=>f(e)?.latest[0]?.title??"—"},{needs:"errors",header:"Last Seen",cell:e=>{let t=Date.parse(f(e)?.latest[0]?.lastSeen??"");return Number.isNaN(t)?"—":new Date(t).toLocaleString()}},{needs:"traffic",header:"Page loads (sampled)",cell:e=>e.byTool?.sentry?.traffic?.count.toLocaleString()??"—"},{needs:"vitals",header:"LCP",cell:e=>h(e.byTool?.sentry?.vitals?.lcp)},{needs:"vitals",header:"TTFB",cell:e=>h(e.byTool?.sentry?.vitals?.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.byTool?.sentry?.vitals?.cls?.toFixed(2)??"—"},{needs:"vitals",header:"INP",cell:e=>h(e.byTool?.sentry?.vitals?.inp)}]}},x=Object.fromEntries(Object.entries({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".'},NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID:{label:"New Relic account ID",secret:!1,help:"A plain number, shown next to your keys in New Relic."},SENTRY_API_KEY:{label:"Sentry auth token",secret:!0,help:"Lets the dashboard read issues (scopes: project:read, event:read)."},SENTRY_DSN:{label:"Sentry DSN",secret:!1,help:"Project settings, then Client Keys (DSN). The project and host are read from it."}}).map(([e,t])=>[e,t.label])),g=Object.keys(m);e.s(["KEY_LABELS",0,x,"TOOLS",0,m,"TOOL_IDS",0,g,"mergeMetrics",0,function(e,t,r){let s={};for(let[o,n]of Object.entries(t)){let t=r.includes(n)?void 0:e[n]?.[o];void 0!==t&&(s[o]=t)}return s},"sourcesFor",0,function(e){let t={};for(let r of u){let s=g.find(t=>e.includes(t)&&m[t].capabilities.includes(r));s&&(t[r]=s)}return t}],67119);let v=g.flatMap(e=>m[e].keys.required),E="NEWRELIC_REGION",R={us:{graphql:"https://api.newrelic.com/graphql",ingest:"https://insights-collector.newrelic.com"},eu:{graphql:"https://api.eu.newrelic.com/graphql",ingest:"https://insights-collector.eu01.nr-data.net"}},b={gemini:{label:"Google Gemini",key:"GEMINI_API_KEY"},claude:{label:"Anthropic Claude",key:"CLAUDE_API_KEY"},openai:{label:"OpenAI",key:"OPENAI_API_KEY"}},w="AI_PROVIDER";function S(e){return process.env[e]??""}let I=e=>m[e].keys.required.every(e=>S(e));function N(){return process.env.METRICFLOW_PROJECT_DIR||process.cwd()}let _=/[\s\0#"'`\\$]/;class k extends Error{}e.s(["AI_PROVIDERS",0,b,"AI_PROVIDER_KEY",0,w,"EnvWriteRefused",0,k,"INSERT_KEY",0,"NEWRELIC_INSERT_KEY","REGION_KEY",0,E,"SETUP_KEYS",0,v,"UNSAFE",0,_,"activeAi",0,function(){let e=process.env[w];for(let t of(e&&e in b?[e]:[]).concat(Object.keys(b))){let e=process.env[b[t].key];if(e)return{provider:t,key:e}}return null},"connectedTools",0,()=>g.filter(I),"env",0,S,"isToolConnected",0,I,"nrHosts",0,(e="eu"===process.env[E]?"eu":"us")=>R[e],"projectDir",0,N,"writeEnvLocal",0,function(e,s=process.env.METRICFLOW_ENV_FILE||(0,r.join)(N(),".env.local")){let o=new Set([...Object.values(m).flatMap(e=>[...e.keys.required,...e.keys.optional,...e.keys.derived??[]]),...Object.values(b).map(e=>e.key),w]);for(let[t,r]of Object.entries(e)){if(!o.has(t))throw new k("Refused to write a key name no tool declares.");if(_.test(r))throw new k("Refused to write a value with unsafe characters.")}let n=(0,t.existsSync)(s)?(0,t.readFileSync)(s,"utf8").split("\n"):[],a=new Map(Object.entries(e)),i=n.map(e=>{let t=e.match(/^\s*([A-Z0-9_]+)\s*=/)?.[1];if(t&&a.has(t)){let e=a.get(t);return a.delete(t),`${t}=${e}`}return e});for(;i.length&&""===i[i.length-1];)i.pop();for(let[e,t]of a)i.push(`${e}=${t}`);let l=`${s}.tmp`;for(let[r,o]of((0,t.writeFileSync)(l,i.join("\n")+"\n",{mode:384}),(0,t.renameSync)(l,s),Object.entries(e)))process.env[r]=o}],12892)},24514,e=>{"use strict";let t=new Set(["localhost","127.0.0.1","[::1]"]),r=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]);e.s(["REFUSAL_MESSAGE",0,()=>"1"===process.env.METRICFLOW_EXPOSED?"Setup and Connect are disabled because the dashboard is exposed on the network (--host). Restart without --host to use them.":"Setup is only available from localhost.","isLocalRequest",0,function(e){if("1"===process.env.METRICFLOW_EXPOSED)return!1;let s=e.headers.get("x-forwarded-for");if(s&&!s.split(",").every(e=>r.has(e.trim().replace(/^\[|\]$/g,"")))||"cross-site"===e.headers.get("sec-fetch-site"))return!1;let o=(e.headers.get("host")??"").replace(/:\d+$/,"");if(!t.has(o))return!1;let n=e.headers.get("origin");try{return!n||t.has(new URL(n).hostname)}catch{return!1}},"requireJson",0,function(e){return/^application\/json\s*(;|$)/i.test(e.headers.get("content-type")??"")?null:Response.json({error:"Send the request as application/json."},{status:415})}])},84594,e=>{"use strict";var t=e.i(60756),r=e.i(12892);async function s(e,o=()=>!1){let n,a;if(process.env[r.REGION_KEY])return e((0,r.nrHosts)());try{if(n=await e((0,r.nrHosts)("us")),!o(n))return n}catch(r){let e=t.default.isAxiosError(r)?r.response?.status:void 0;if(401!==e&&403!==e)throw r;a=r}try{let t=await e((0,r.nrHosts)("eu"));if(!o(t))return process.env[r.REGION_KEY]="eu",t}catch{}if(a)throw a;return n}async function o(e,r,o){return(await s(s=>t.default.post(s.graphql,{query:r},{headers:{"API-Key":e,"Content-Type":"application/json"},timeout:o}),e=>!e.data?.data?.actor)).data}e.s(["nrGraphql",0,o,"withRegion",0,s])},83808,e=>{"use strict";var t=e.i(60756);let r=new Set(["localhost","127.0.0.1","[::1]"]);function s(e){let t;try{t=new URL(e)}catch{return{ok:!1,error:"Sentry DSN is not a valid URL."}}if("https:"!==t.protocol&&"http:"!==t.protocol)return{ok:!1,error:"Sentry DSN must be an http(s) URL."};if(t.password)return{ok:!1,error:"This is a legacy DSN that contains a secret key. Copy the DSN from Project settings > Client Keys."};if("http:"===t.protocol&&!r.has(t.hostname))return{ok:!1,error:"Sentry DSN must use https (http is only accepted for localhost)."};if(!t.username)return{ok:!1,error:"Sentry DSN is missing its public key."};let s=t.pathname.replace(/^\/|\/$/g,"");if(!/^\d+$/.test(s))return{ok:!1,error:"Sentry DSN is missing a numeric project id."};let o=t.host.match(/^o(\d+)\.ingest\.(.+)$/i),n=o?o[2]:t.host;return{ok:!0,projectId:s,orgId:o?o[1]:null,apiBase:`${t.protocol}//${n}/api/0`}}async function o(e,r){let s={Authorization:`Bearer ${e}`},o=r.orgId?await t.default.get(`${r.apiBase}/organizations/`,{headers:s,timeout:8e3}):await t.default.get(`${r.apiBase}/projects/`,{headers:s,timeout:8e3}),n=Array.isArray(o.data)?o.data:[];return(r.orgId?n.find(e=>String(e.id)===r.orgId)?.slug:n.find(e=>String(e.id)===r.projectId)?.organization?.slug)??null}e.s(["orgSlugForDsn",0,o,"parseSentryDsn",0,s,"publicDsn",0,function(e){let t=s(e);if(!t.ok)return null;let r=new URL(e);return`${r.protocol}//${r.username}@${r.host}/${t.projectId}`},"sentryHostNotice",0,function(e){let t=new URL(e).hostname;return"sentry.io"===t||t.endsWith(".sentry.io")?null:`Your Sentry token will be sent to ${t}, which is not sentry.io. Continue only if that is your own Sentry server.`}])},27252,e=>{"use strict";e.s(["default",()=>t]);let t=(0,e.i(18286).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs","default")},19374,e=>{"use strict";var t=e.i(27252);e.n(t)},18286,(e,t,r)=>{"use strict";t.exports=e.r(99403).vendored["react-rsc"].ReactServerDOMTurbopackServer}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0pil1g6._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},60780,e=>{"use strict";var t=e.i(2157),r=e.i(50227),n=e.i(24514),a=e.i(12892);let s={loadSeconds:1.5,errorPercent:2,apdexMin:.9,uptimeSLA:99.9},o=()=>process.env.METRICFLOW_SETTINGS_FILE||(0,r.join)((0,a.projectDir)(),".metricflow-settings.json"),i={loadSeconds:[.1,30],errorPercent:[.1,100],apdexMin:[0,1],uptimeSLA:[90,100]};function l(){try{return{...s,...JSON.parse((0,t.readFileSync)(o(),"utf8"))}}catch{return s}}async function c(){return Response.json(l())}async function d(e){let r;if(!(0,n.isLocalRequest)(e))return Response.json({error:(0,n.REFUSAL_MESSAGE)()},{status:403});try{r=await e.json()}catch{return Response.json({error:"Invalid request body."},{status:400})}let a=(0,n.requireJson)(e);if(a)return a;let s=l();for(let[e,[t,n]]of Object.entries(i)){if(void 0===r[e])continue;let a=r[e];if("number"!=typeof a||!Number.isFinite(a)||a<t||a>n)return Response.json({error:`${e} must be a number between ${t} and ${n}.`},{status:400});s[e]=a}try{let e=`${o()}.tmp`;(0,t.writeFileSync)(e,JSON.stringify(s,null,2)),(0,t.renameSync)(e,o())}catch{return Response.json({error:"Settings could not be written. Check folder permissions."},{status:500})}return Response.json(s)}e.s(["GET",0,c,"PUT",0,d],60780)},30229,e=>{"use strict";var t=e.i(12425),r=e.i(83353),n=e.i(47902),a=e.i(37892),s=e.i(54261),o=e.i(39548),i=e.i(68187),l=e.i(63984),c=e.i(88743),d=e.i(24698),u=e.i(13487),p=e.i(48776),h=e.i(29398),f=e.i(31610),R=e.i(45919),v=e.i(93695),m=e.i(12741);e.i(95315);var E=e.i(98732);let y=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/settings/route.ts",nextConfigOutput:"",userland:()=>e.r(60780),...{}}),{workAsyncStorage:g,workUnitAsyncStorage:w,serverHooks:x}=y;async function b(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),y.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/settings/route";g=g.replace(/\/index$/,"")||"/";let w=await y.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:x,deploymentId:b,params:S,nextConfig:C,parsedUrl:T,isDraftMode:_,prerenderManifest:A,routerServerContext:N,isOnDemandRevalidate:I,revalidateOnlyGenerated:O,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:j}=w,L=(0,i.normalizeAppPath)(g),M=!!A.routes[k]&&(y.isDev||(0,m.isRouteCacheOwner)(k,y.cacheOwner,A.routes[k])),q=!!(A.dynamicRoutes[L]||M),D=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,T,!1):t.end("This page could not be found"),null);if(q&&!_){let e=A.dynamicRoutes[L];if(e&&!1===e.fallback&&!M){if(C.adapterPath)return await D();throw new v.NoFallbackError}}let F=null;!q||y.isDev||_||(F="/index"===(F=k)?"/":F);let $=!0===y.isDev||!q,U=q&&!$;j&&P&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:P,serverActionsManifest:j});let K=e.method||"GET",H=(0,s.getTracer)(),W=H.getActiveScopeSpan(),Y=!!(null==N?void 0:N.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,C,A,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let V={params:S,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,isDraftMode:_,supportsDynamicResponse:$,incrementalCache:B,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>y.onRequestError(e,t,n,a,N)},sharedContext:{buildId:x,deploymentId:b}},z=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),J=c.NextRequestAdapter.fromNodeNextRequest(z,(0,c.signalFromNodeResponse)(t)),Z=async({previousCacheEntry:r})=>{try{if(!G&&I&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await y.handle(J,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let o=V.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(z,X,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,n=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?C.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),t}},Q=async(a,o)=>{try{var i,l;let a=await y.handleResponse({req:e,nextConfig:C,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:I,revalidateOnlyGenerated:O,responseGenerator:Z,waitUntil:n.waitUntil,isMinimalMode:G});if(!q)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",I?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&q||s.delete(R.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(z,X,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:I})},!1,N),q)throw t;await (0,p.sendResponse)(z,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:s.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||L,i=`${K} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":i}),a.updateName(i),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(i))})()}};if(Y&&W)await Q(W,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${K} ${g}`,kind:s.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},e=>Q(e,t)),void 0,!Y)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:g,workUnitAsyncStorage:w})},"routeModule",0,y,"serverHooks",0,x,"workAsyncStorage",0,g,"workUnitAsyncStorage",0,w])},12892,67119,e=>{"use strict";var t=e.i(2157),r=e.i(50227),n=e.i(39151),a=e.i(19374);function s(e,t=[],r=[]){let o,i="string"==typeof e?function(e,t,r=[]){if(null==t)throw Error("[lucide]: iconNode is required when icon name is used");return{name:e?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:t,...r.length>0?{aliases:r}:{}}}(e,t,r):e,l=(0,n.forwardRef)(({className:e,...t},r)=>(0,n.createElement)(a.default,{ref:r,icon:i,className:e,...t}));return i.name&&(l.displayName=(o=(e=>{let t="",r=!1;for(let n of e){if("-"===n||"_"===n||n<=" "){r=t.length>0;continue}0===t.length?t+=n.toLowerCase():t+=r?n.toUpperCase():n,r=!1}return t})(i.name)).charAt(0).toUpperCase()+o.slice(1)),l}let o={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"}]]};o.node;let i=s(o),l={name:"bug",size:24,node:[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]};l.node;let c=s(l);function d(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 r=Math.round(t/1e3),n=e<0?"-":"";return r<3600?`${n}${Math.floor(r/60)}m ${r%60}s`:`${n}${Math.floor(r/3600)}h ${Math.floor(r%3600/60)}m`}let u=["pages","traffic","loadTime","apdex","vitals","ajax","errorRate","errors"],p=e=>e.length?e.reduce((e,t)=>e+t,0)/e.length:0,h=e=>void 0===e?"—":d(e),f=e=>e.byTool?.sentry?.errors??(e.sentry&&{count:e.sentry.errorCount,latest:e.sentry.latestErrors}),R=e=>f(e)?.count??0,v={"new-relic":{label:"New Relic",icon:i,description:"Real-user performance per page: load time, Core Web Vitals, throughput and Apdex.",connectReason:"Add your New Relic keys to see load time and Core Web Vitals for each page.",setupNote:"The key that sends events (Ingest - License) is separate and is added later on the Connect page.",keys:{required:["NEWRELIC_API_KEY","NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID"],optional:["NEWRELIC_INSERT_KEY"],derived:["NEWRELIC_REGION"]},capabilities:["pages","traffic","loadTime","apdex","vitals","ajax","errorRate"],stats:e=>[{label:"Avg Load Time",value:d(p(e.map(e=>e.newRelic.loadTime)))},{label:"Avg LCP",value:d(p(e.map(e=>e.newRelic.lcp)))},{label:"Avg TTFB",value:d(p(e.map(e=>e.newRelic.ttfb)))},{label:"Avg Apdex",value:p(e.map(e=>e.newRelic.apdexScore)).toFixed(2)}],columns:[{needs:"loadTime",header:"Load",cell:e=>d(e.newRelic.loadTime)},{needs:"vitals",header:"LCP",cell:e=>d(e.newRelic.lcp)},{needs:"vitals",header:"TTFB",cell:e=>d(e.newRelic.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.newRelic.cls.toFixed(2)},{needs:"vitals",header:"INP",cell:e=>{let t=e.newRelic.inp;return void 0===t?"—":d(t)}},{needs:"errorRate",header:"Error Rate",cell:e=>`${e.newRelic.errorRate.toFixed(2)}%`},{needs:"traffic",header:"Throughput",cell:e=>e.newRelic.throughput.toLocaleString()},{needs:"apdex",header:"Apdex",cell:e=>e.newRelic.apdexScore.toFixed(2)}]},sentry:{label:"Sentry",icon:c,description:"Errors per page over the last 24 hours, with page loads and web vitals when your site sends traces.",connectReason:"Add your Sentry keys to see the errors on each page.",keys:{required:["SENTRY_API_KEY","SENTRY_DSN"],optional:[]},capabilities:["pages","traffic","vitals","errors"],stats:e=>{let t=e.reduce((e,t)=>R(t)>(e?R(e):0)?t:e,null);return[{label:"Total Errors",value:String(e.map(R).reduce((e,t)=>e+t,0))},{label:"Pages With Errors",value:`${e.filter(e=>R(e)>0).length} of ${e.length}`},{label:"Noisiest Page",value:t?.name??"None"}]},columns:[{needs:"errors",header:"Errors",cell:e=>String(R(e))},{needs:"errors",header:"Latest Error",cell:e=>f(e)?.latest[0]?.title??"—"},{needs:"errors",header:"Last Seen",cell:e=>{let t=Date.parse(f(e)?.latest[0]?.lastSeen??"");return Number.isNaN(t)?"—":new Date(t).toLocaleString()}},{needs:"traffic",header:"Page loads (sampled)",cell:e=>e.byTool?.sentry?.traffic?.count.toLocaleString()??"—"},{needs:"vitals",header:"LCP",cell:e=>h(e.byTool?.sentry?.vitals?.lcp)},{needs:"vitals",header:"TTFB",cell:e=>h(e.byTool?.sentry?.vitals?.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.byTool?.sentry?.vitals?.cls?.toFixed(2)??"—"},{needs:"vitals",header:"INP",cell:e=>h(e.byTool?.sentry?.vitals?.inp)}]}},m=Object.fromEntries(Object.entries({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".'},NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID:{label:"New Relic account ID",secret:!1,help:"A plain number, shown next to your keys in New Relic."},SENTRY_API_KEY:{label:"Sentry auth token",secret:!0,help:"Lets the dashboard read issues (scopes: project:read, event:read)."},SENTRY_DSN:{label:"Sentry DSN",secret:!1,help:"Project settings, then Client Keys (DSN). The project and host are read from it."}}).map(([e,t])=>[e,t.label])),E=Object.keys(v);e.s(["KEY_LABELS",0,m,"TOOLS",0,v,"TOOL_IDS",0,E,"mergeMetrics",0,function(e,t,r){let n={};for(let[a,s]of Object.entries(t)){let t=r.includes(s)?void 0:e[s]?.[a];void 0!==t&&(n[a]=t)}return n},"sourcesFor",0,function(e){let t={};for(let r of u){let n=E.find(t=>e.includes(t)&&v[t].capabilities.includes(r));n&&(t[r]=n)}return t}],67119);let y=E.flatMap(e=>v[e].keys.required),g="NEWRELIC_REGION",w={us:{graphql:"https://api.newrelic.com/graphql",ingest:"https://insights-collector.newrelic.com"},eu:{graphql:"https://api.eu.newrelic.com/graphql",ingest:"https://insights-collector.eu01.nr-data.net"}},x={gemini:{label:"Google Gemini",key:"GEMINI_API_KEY"},claude:{label:"Anthropic Claude",key:"CLAUDE_API_KEY"},openai:{label:"OpenAI",key:"OPENAI_API_KEY"}},b="AI_PROVIDER";function S(e){return process.env[e]??""}let C=e=>v[e].keys.required.every(e=>S(e));function T(){return process.env.METRICFLOW_PROJECT_DIR||process.cwd()}let _=/[\s\0#"'`\\$]/;class A extends Error{}e.s(["AI_PROVIDERS",0,x,"AI_PROVIDER_KEY",0,b,"EnvWriteRefused",0,A,"INSERT_KEY",0,"NEWRELIC_INSERT_KEY","REGION_KEY",0,g,"SETUP_KEYS",0,y,"UNSAFE",0,_,"activeAi",0,function(){let e=process.env[b];for(let t of(e&&e in x?[e]:[]).concat(Object.keys(x))){let e=process.env[x[t].key];if(e)return{provider:t,key:e}}return null},"connectedTools",0,()=>E.filter(C),"env",0,S,"isToolConnected",0,C,"nrHosts",0,(e="eu"===process.env[g]?"eu":"us")=>w[e],"projectDir",0,T,"writeEnvLocal",0,function(e,n=process.env.METRICFLOW_ENV_FILE||(0,r.join)(T(),".env.local")){let a=new Set([...Object.values(v).flatMap(e=>[...e.keys.required,...e.keys.optional,...e.keys.derived??[]]),...Object.values(x).map(e=>e.key),b]);for(let[t,r]of Object.entries(e)){if(!a.has(t))throw new A("Refused to write a key name no tool declares.");if(_.test(r))throw new A("Refused to write a value with unsafe characters.")}let s=(0,t.existsSync)(n)?(0,t.readFileSync)(n,"utf8").split("\n"):[],o=new Map(Object.entries(e)),i=s.map(e=>{let t=e.match(/^\s*([A-Z0-9_]+)\s*=/)?.[1];if(t&&o.has(t)){let e=o.get(t);return o.delete(t),`${t}=${e}`}return e});for(;i.length&&""===i[i.length-1];)i.pop();for(let[e,t]of o)i.push(`${e}=${t}`);let l=`${n}.tmp`;for(let[r,a]of((0,t.writeFileSync)(l,i.join("\n")+"\n",{mode:384}),(0,t.renameSync)(l,n),Object.entries(e)))process.env[r]=a}],12892)},24514,e=>{"use strict";let t=new Set(["localhost","127.0.0.1","[::1]"]),r=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]);e.s(["REFUSAL_MESSAGE",0,()=>"1"===process.env.METRICFLOW_EXPOSED?"Setup and Connect are disabled because the dashboard is exposed on the network (--host). Restart without --host to use them.":"Setup is only available from localhost.","isLocalRequest",0,function(e){if("1"===process.env.METRICFLOW_EXPOSED)return!1;let n=e.headers.get("x-forwarded-for");if(n&&!n.split(",").every(e=>r.has(e.trim().replace(/^\[|\]$/g,"")))||"cross-site"===e.headers.get("sec-fetch-site"))return!1;let a=(e.headers.get("host")??"").replace(/:\d+$/,"");if(!t.has(a))return!1;let s=e.headers.get("origin");try{return!s||t.has(new URL(s).hostname)}catch{return!1}},"requireJson",0,function(e){return/^application\/json\s*(;|$)/i.test(e.headers.get("content-type")??"")?null:Response.json({error:"Send the request as application/json."},{status:415})}])},27252,e=>{"use strict";e.s(["default",()=>t]);let t=(0,e.i(18286).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs","default")},19374,e=>{"use strict";var t=e.i(27252);e.n(t)},18286,(e,t,r)=>{"use strict";t.exports=e.r(99403).vendored["react-rsc"].ReactServerDOMTurbopackServer}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__18s35pf._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},25328,(e,t,r)=>{t.exports=e.x("http2",()=>require("http2"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},4446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},55004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},70722,(e,t,r)=>{t.exports=e.x("tty",()=>require("tty"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},12892,67119,e=>{"use strict";var t=e.i(2157),r=e.i(50227),s=e.i(39151),a=e.i(19374);function n(e,t=[],r=[]){let o,l="string"==typeof e?function(e,t,r=[]){if(null==t)throw Error("[lucide]: iconNode is required when icon name is used");return{name:e?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:t,...r.length>0?{aliases:r}:{}}}(e,t,r):e,i=(0,s.forwardRef)(({className:e,...t},r)=>(0,s.createElement)(a.default,{ref:r,icon:l,className:e,...t}));return l.name&&(i.displayName=(o=(e=>{let t="",r=!1;for(let s of e){if("-"===s||"_"===s||s<=" "){r=t.length>0;continue}0===t.length?t+=s.toLowerCase():t+=r?s.toUpperCase():s,r=!1}return t})(l.name)).charAt(0).toUpperCase()+o.slice(1)),i}let o={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"}]]};o.node;let l=n(o),i={name:"bug",size:24,node:[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]};i.node;let c=n(i);function d(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 r=Math.round(t/1e3),s=e<0?"-":"";return r<3600?`${s}${Math.floor(r/60)}m ${r%60}s`:`${s}${Math.floor(r/3600)}h ${Math.floor(r%3600/60)}m`}let p=["pages","traffic","loadTime","apdex","vitals","ajax","errorRate","errors"],u=e=>e.length?e.reduce((e,t)=>e+t,0)/e.length:0,h=e=>void 0===e?"—":d(e),f=e=>e.byTool?.sentry?.errors??(e.sentry&&{count:e.sentry.errorCount,latest:e.sentry.latestErrors}),x=e=>f(e)?.count??0,y={"new-relic":{label:"New Relic",icon:l,description:"Real-user performance per page: load time, Core Web Vitals, throughput and Apdex.",connectReason:"Add your New Relic keys to see load time and Core Web Vitals for each page.",setupNote:"The key that sends events (Ingest - License) is separate and is added later on the Connect page.",keys:{required:["NEWRELIC_API_KEY","NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID"],optional:["NEWRELIC_INSERT_KEY"],derived:["NEWRELIC_REGION"]},capabilities:["pages","traffic","loadTime","apdex","vitals","ajax","errorRate"],stats:e=>[{label:"Avg Load Time",value:d(u(e.map(e=>e.newRelic.loadTime)))},{label:"Avg LCP",value:d(u(e.map(e=>e.newRelic.lcp)))},{label:"Avg TTFB",value:d(u(e.map(e=>e.newRelic.ttfb)))},{label:"Avg Apdex",value:u(e.map(e=>e.newRelic.apdexScore)).toFixed(2)}],columns:[{needs:"loadTime",header:"Load",cell:e=>d(e.newRelic.loadTime)},{needs:"vitals",header:"LCP",cell:e=>d(e.newRelic.lcp)},{needs:"vitals",header:"TTFB",cell:e=>d(e.newRelic.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.newRelic.cls.toFixed(2)},{needs:"vitals",header:"INP",cell:e=>{let t=e.newRelic.inp;return void 0===t?"—":d(t)}},{needs:"errorRate",header:"Error Rate",cell:e=>`${e.newRelic.errorRate.toFixed(2)}%`},{needs:"traffic",header:"Throughput",cell:e=>e.newRelic.throughput.toLocaleString()},{needs:"apdex",header:"Apdex",cell:e=>e.newRelic.apdexScore.toFixed(2)}]},sentry:{label:"Sentry",icon:c,description:"Errors per page over the last 24 hours, with page loads and web vitals when your site sends traces.",connectReason:"Add your Sentry keys to see the errors on each page.",keys:{required:["SENTRY_API_KEY","SENTRY_DSN"],optional:[]},capabilities:["pages","traffic","vitals","errors"],stats:e=>{let t=e.reduce((e,t)=>x(t)>(e?x(e):0)?t:e,null);return[{label:"Total Errors",value:String(e.map(x).reduce((e,t)=>e+t,0))},{label:"Pages With Errors",value:`${e.filter(e=>x(e)>0).length} of ${e.length}`},{label:"Noisiest Page",value:t?.name??"None"}]},columns:[{needs:"errors",header:"Errors",cell:e=>String(x(e))},{needs:"errors",header:"Latest Error",cell:e=>f(e)?.latest[0]?.title??"—"},{needs:"errors",header:"Last Seen",cell:e=>{let t=Date.parse(f(e)?.latest[0]?.lastSeen??"");return Number.isNaN(t)?"—":new Date(t).toLocaleString()}},{needs:"traffic",header:"Page loads (sampled)",cell:e=>e.byTool?.sentry?.traffic?.count.toLocaleString()??"—"},{needs:"vitals",header:"LCP",cell:e=>h(e.byTool?.sentry?.vitals?.lcp)},{needs:"vitals",header:"TTFB",cell:e=>h(e.byTool?.sentry?.vitals?.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.byTool?.sentry?.vitals?.cls?.toFixed(2)??"—"},{needs:"vitals",header:"INP",cell:e=>h(e.byTool?.sentry?.vitals?.inp)}]}},v=Object.fromEntries(Object.entries({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".'},NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID:{label:"New Relic account ID",secret:!1,help:"A plain number, shown next to your keys in New Relic."},SENTRY_API_KEY:{label:"Sentry auth token",secret:!0,help:"Lets the dashboard read issues (scopes: project:read, event:read)."},SENTRY_DSN:{label:"Sentry DSN",secret:!1,help:"Project settings, then Client Keys (DSN). The project and host are read from it."}}).map(([e,t])=>[e,t.label])),m=Object.keys(y);e.s(["KEY_LABELS",0,v,"TOOLS",0,y,"TOOL_IDS",0,m,"mergeMetrics",0,function(e,t,r){let s={};for(let[a,n]of Object.entries(t)){let t=r.includes(n)?void 0:e[n]?.[a];void 0!==t&&(s[a]=t)}return s},"sourcesFor",0,function(e){let t={};for(let r of p){let s=m.find(t=>e.includes(t)&&y[t].capabilities.includes(r));s&&(t[r]=s)}return t}],67119);let E=m.flatMap(e=>y[e].keys.required),R="NEWRELIC_REGION",g={us:{graphql:"https://api.newrelic.com/graphql",ingest:"https://insights-collector.newrelic.com"},eu:{graphql:"https://api.eu.newrelic.com/graphql",ingest:"https://insights-collector.eu01.nr-data.net"}},b={gemini:{label:"Google Gemini",key:"GEMINI_API_KEY"},claude:{label:"Anthropic Claude",key:"CLAUDE_API_KEY"},openai:{label:"OpenAI",key:"OPENAI_API_KEY"}},w="AI_PROVIDER";function _(e){return process.env[e]??""}let I=e=>y[e].keys.required.every(e=>_(e));function S(){return process.env.METRICFLOW_PROJECT_DIR||process.cwd()}let N=/[\s\0#"'`\\$]/;class k extends Error{}e.s(["AI_PROVIDERS",0,b,"AI_PROVIDER_KEY",0,w,"EnvWriteRefused",0,k,"INSERT_KEY",0,"NEWRELIC_INSERT_KEY","REGION_KEY",0,R,"SETUP_KEYS",0,E,"UNSAFE",0,N,"activeAi",0,function(){let e=process.env[w];for(let t of(e&&e in b?[e]:[]).concat(Object.keys(b))){let e=process.env[b[t].key];if(e)return{provider:t,key:e}}return null},"connectedTools",0,()=>m.filter(I),"env",0,_,"isToolConnected",0,I,"nrHosts",0,(e="eu"===process.env[R]?"eu":"us")=>g[e],"projectDir",0,S,"writeEnvLocal",0,function(e,s=process.env.METRICFLOW_ENV_FILE||(0,r.join)(S(),".env.local")){let a=new Set([...Object.values(y).flatMap(e=>[...e.keys.required,...e.keys.optional,...e.keys.derived??[]]),...Object.values(b).map(e=>e.key),w]);for(let[t,r]of Object.entries(e)){if(!a.has(t))throw new k("Refused to write a key name no tool declares.");if(N.test(r))throw new k("Refused to write a value with unsafe characters.")}let n=(0,t.existsSync)(s)?(0,t.readFileSync)(s,"utf8").split("\n"):[],o=new Map(Object.entries(e)),l=n.map(e=>{let t=e.match(/^\s*([A-Z0-9_]+)\s*=/)?.[1];if(t&&o.has(t)){let e=o.get(t);return o.delete(t),`${t}=${e}`}return e});for(;l.length&&""===l[l.length-1];)l.pop();for(let[e,t]of o)l.push(`${e}=${t}`);let i=`${s}.tmp`;for(let[r,a]of((0,t.writeFileSync)(i,l.join("\n")+"\n",{mode:384}),(0,t.renameSync)(i,s),Object.entries(e)))process.env[r]=a}],12892)},24514,e=>{"use strict";let t=new Set(["localhost","127.0.0.1","[::1]"]),r=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]);e.s(["REFUSAL_MESSAGE",0,()=>"1"===process.env.METRICFLOW_EXPOSED?"Setup and Connect are disabled because the dashboard is exposed on the network (--host). Restart without --host to use them.":"Setup is only available from localhost.","isLocalRequest",0,function(e){if("1"===process.env.METRICFLOW_EXPOSED)return!1;let s=e.headers.get("x-forwarded-for");if(s&&!s.split(",").every(e=>r.has(e.trim().replace(/^\[|\]$/g,"")))||"cross-site"===e.headers.get("sec-fetch-site"))return!1;let a=(e.headers.get("host")??"").replace(/:\d+$/,"");if(!t.has(a))return!1;let n=e.headers.get("origin");try{return!n||t.has(new URL(n).hostname)}catch{return!1}},"requireJson",0,function(e){return/^application\/json\s*(;|$)/i.test(e.headers.get("content-type")??"")?null:Response.json({error:"Send the request as application/json."},{status:415})}])},27252,e=>{"use strict";e.s(["default",()=>t]);let t=(0,e.i(18286).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs","default")},19374,e=>{"use strict";var t=e.i(27252);e.n(t)},18286,(e,t,r)=>{"use strict";t.exports=e.r(99403).vendored["react-rsc"].ReactServerDOMTurbopackServer}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1naf7j4._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[49719,(e,t,r)=>{t.exports=e.x("assert",()=>require("assert"))},54799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},21517,(e,t,r)=>{t.exports=e.x("http",()=>require("http"))},25328,(e,t,r)=>{t.exports=e.x("http2",()=>require("http2"))},24836,(e,t,r)=>{t.exports=e.x("https",()=>require("https"))},4446,(e,t,r)=>{t.exports=e.x("net",()=>require("net"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},55004,(e,t,r)=>{t.exports=e.x("tls",()=>require("tls"))},70722,(e,t,r)=>{t.exports=e.x("tty",()=>require("tty"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},90770,e=>{"use strict";let t=new Map;e.s(["getTimings",0,function(){return Array.from(t.entries()).map(([e,t])=>({name:e,value:t})).sort((e,t)=>t.value-e.value)},"recordTiming",0,function(e,r){t.set(e,Math.round(r))}])},12892,67119,e=>{"use strict";var t=e.i(2157),r=e.i(50227),s=e.i(39151),a=e.i(19374);function n(e,t=[],r=[]){let o,l="string"==typeof e?function(e,t,r=[]){if(null==t)throw Error("[lucide]: iconNode is required when icon name is used");return{name:e?.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),size:24,node:t,...r.length>0?{aliases:r}:{}}}(e,t,r):e,i=(0,s.forwardRef)(({className:e,...t},r)=>(0,s.createElement)(a.default,{ref:r,icon:l,className:e,...t}));return l.name&&(i.displayName=(o=(e=>{let t="",r=!1;for(let s of e){if("-"===s||"_"===s||s<=" "){r=t.length>0;continue}0===t.length?t+=s.toLowerCase():t+=r?s.toUpperCase():s,r=!1}return t})(l.name)).charAt(0).toUpperCase()+o.slice(1)),i}let o={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"}]]};o.node;let l=n(o),i={name:"bug",size:24,node:[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]};i.node;let c=n(i);function d(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 r=Math.round(t/1e3),s=e<0?"-":"";return r<3600?`${s}${Math.floor(r/60)}m ${r%60}s`:`${s}${Math.floor(r/3600)}h ${Math.floor(r%3600/60)}m`}let p=["pages","traffic","loadTime","apdex","vitals","ajax","errorRate","errors"],u=e=>e.length?e.reduce((e,t)=>e+t,0)/e.length:0,h=e=>void 0===e?"—":d(e),f=e=>e.byTool?.sentry?.errors??(e.sentry&&{count:e.sentry.errorCount,latest:e.sentry.latestErrors}),x=e=>f(e)?.count??0,m={"new-relic":{label:"New Relic",icon:l,description:"Real-user performance per page: load time, Core Web Vitals, throughput and Apdex.",connectReason:"Add your New Relic keys to see load time and Core Web Vitals for each page.",setupNote:"The key that sends events (Ingest - License) is separate and is added later on the Connect page.",keys:{required:["NEWRELIC_API_KEY","NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID"],optional:["NEWRELIC_INSERT_KEY"],derived:["NEWRELIC_REGION"]},capabilities:["pages","traffic","loadTime","apdex","vitals","ajax","errorRate"],stats:e=>[{label:"Avg Load Time",value:d(u(e.map(e=>e.newRelic.loadTime)))},{label:"Avg LCP",value:d(u(e.map(e=>e.newRelic.lcp)))},{label:"Avg TTFB",value:d(u(e.map(e=>e.newRelic.ttfb)))},{label:"Avg Apdex",value:u(e.map(e=>e.newRelic.apdexScore)).toFixed(2)}],columns:[{needs:"loadTime",header:"Load",cell:e=>d(e.newRelic.loadTime)},{needs:"vitals",header:"LCP",cell:e=>d(e.newRelic.lcp)},{needs:"vitals",header:"TTFB",cell:e=>d(e.newRelic.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.newRelic.cls.toFixed(2)},{needs:"vitals",header:"INP",cell:e=>{let t=e.newRelic.inp;return void 0===t?"—":d(t)}},{needs:"errorRate",header:"Error Rate",cell:e=>`${e.newRelic.errorRate.toFixed(2)}%`},{needs:"traffic",header:"Throughput",cell:e=>e.newRelic.throughput.toLocaleString()},{needs:"apdex",header:"Apdex",cell:e=>e.newRelic.apdexScore.toFixed(2)}]},sentry:{label:"Sentry",icon:c,description:"Errors per page over the last 24 hours, with page loads and web vitals when your site sends traces.",connectReason:"Add your Sentry keys to see the errors on each page.",keys:{required:["SENTRY_API_KEY","SENTRY_DSN"],optional:[]},capabilities:["pages","traffic","vitals","errors"],stats:e=>{let t=e.reduce((e,t)=>x(t)>(e?x(e):0)?t:e,null);return[{label:"Total Errors",value:String(e.map(x).reduce((e,t)=>e+t,0))},{label:"Pages With Errors",value:`${e.filter(e=>x(e)>0).length} of ${e.length}`},{label:"Noisiest Page",value:t?.name??"None"}]},columns:[{needs:"errors",header:"Errors",cell:e=>String(x(e))},{needs:"errors",header:"Latest Error",cell:e=>f(e)?.latest[0]?.title??"—"},{needs:"errors",header:"Last Seen",cell:e=>{let t=Date.parse(f(e)?.latest[0]?.lastSeen??"");return Number.isNaN(t)?"—":new Date(t).toLocaleString()}},{needs:"traffic",header:"Page loads (sampled)",cell:e=>e.byTool?.sentry?.traffic?.count.toLocaleString()??"—"},{needs:"vitals",header:"LCP",cell:e=>h(e.byTool?.sentry?.vitals?.lcp)},{needs:"vitals",header:"TTFB",cell:e=>h(e.byTool?.sentry?.vitals?.ttfb)},{needs:"vitals",header:"CLS",cell:e=>e.byTool?.sentry?.vitals?.cls?.toFixed(2)??"—"},{needs:"vitals",header:"INP",cell:e=>h(e.byTool?.sentry?.vitals?.inp)}]}},y=Object.fromEntries(Object.entries({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".'},NEXT_PUBLIC_NEWRELIC_ACCOUNT_ID:{label:"New Relic account ID",secret:!1,help:"A plain number, shown next to your keys in New Relic."},SENTRY_API_KEY:{label:"Sentry auth token",secret:!0,help:"Lets the dashboard read issues (scopes: project:read, event:read)."},SENTRY_DSN:{label:"Sentry DSN",secret:!1,help:"Project settings, then Client Keys (DSN). The project and host are read from it."}}).map(([e,t])=>[e,t.label])),v=Object.keys(m);e.s(["KEY_LABELS",0,y,"TOOLS",0,m,"TOOL_IDS",0,v,"mergeMetrics",0,function(e,t,r){let s={};for(let[a,n]of Object.entries(t)){let t=r.includes(n)?void 0:e[n]?.[a];void 0!==t&&(s[a]=t)}return s},"sourcesFor",0,function(e){let t={};for(let r of p){let s=v.find(t=>e.includes(t)&&m[t].capabilities.includes(r));s&&(t[r]=s)}return t}],67119);let E=v.flatMap(e=>m[e].keys.required),g="NEWRELIC_REGION",R={us:{graphql:"https://api.newrelic.com/graphql",ingest:"https://insights-collector.newrelic.com"},eu:{graphql:"https://api.eu.newrelic.com/graphql",ingest:"https://insights-collector.eu01.nr-data.net"}},b={gemini:{label:"Google Gemini",key:"GEMINI_API_KEY"},claude:{label:"Anthropic Claude",key:"CLAUDE_API_KEY"},openai:{label:"OpenAI",key:"OPENAI_API_KEY"}},w="AI_PROVIDER";function _(e){return process.env[e]??""}let I=e=>m[e].keys.required.every(e=>_(e));function S(){return process.env.METRICFLOW_PROJECT_DIR||process.cwd()}let N=/[\s\0#"'`\\$]/;class T extends Error{}e.s(["AI_PROVIDERS",0,b,"AI_PROVIDER_KEY",0,w,"EnvWriteRefused",0,T,"INSERT_KEY",0,"NEWRELIC_INSERT_KEY","REGION_KEY",0,g,"SETUP_KEYS",0,E,"UNSAFE",0,N,"activeAi",0,function(){let e=process.env[w];for(let t of(e&&e in b?[e]:[]).concat(Object.keys(b))){let e=process.env[b[t].key];if(e)return{provider:t,key:e}}return null},"connectedTools",0,()=>v.filter(I),"env",0,_,"isToolConnected",0,I,"nrHosts",0,(e="eu"===process.env[g]?"eu":"us")=>R[e],"projectDir",0,S,"writeEnvLocal",0,function(e,s=process.env.METRICFLOW_ENV_FILE||(0,r.join)(S(),".env.local")){let a=new Set([...Object.values(m).flatMap(e=>[...e.keys.required,...e.keys.optional,...e.keys.derived??[]]),...Object.values(b).map(e=>e.key),w]);for(let[t,r]of Object.entries(e)){if(!a.has(t))throw new T("Refused to write a key name no tool declares.");if(N.test(r))throw new T("Refused to write a value with unsafe characters.")}let n=(0,t.existsSync)(s)?(0,t.readFileSync)(s,"utf8").split("\n"):[],o=new Map(Object.entries(e)),l=n.map(e=>{let t=e.match(/^\s*([A-Z0-9_]+)\s*=/)?.[1];if(t&&o.has(t)){let e=o.get(t);return o.delete(t),`${t}=${e}`}return e});for(;l.length&&""===l[l.length-1];)l.pop();for(let[e,t]of o)l.push(`${e}=${t}`);let i=`${s}.tmp`;for(let[r,a]of((0,t.writeFileSync)(i,l.join("\n")+"\n",{mode:384}),(0,t.renameSync)(i,s),Object.entries(e)))process.env[r]=a}],12892)},24514,e=>{"use strict";let t=new Set(["localhost","127.0.0.1","[::1]"]),r=new Set(["127.0.0.1","::1","::ffff:127.0.0.1"]);e.s(["REFUSAL_MESSAGE",0,()=>"1"===process.env.METRICFLOW_EXPOSED?"Setup and Connect are disabled because the dashboard is exposed on the network (--host). Restart without --host to use them.":"Setup is only available from localhost.","isLocalRequest",0,function(e){if("1"===process.env.METRICFLOW_EXPOSED)return!1;let s=e.headers.get("x-forwarded-for");if(s&&!s.split(",").every(e=>r.has(e.trim().replace(/^\[|\]$/g,"")))||"cross-site"===e.headers.get("sec-fetch-site"))return!1;let a=(e.headers.get("host")??"").replace(/:\d+$/,"");if(!t.has(a))return!1;let n=e.headers.get("origin");try{return!n||t.has(new URL(n).hostname)}catch{return!1}},"requireJson",0,function(e){return/^application\/json\s*(;|$)/i.test(e.headers.get("content-type")??"")?null:Response.json({error:"Send the request as application/json."},{status:415})}])},27252,e=>{"use strict";e.s(["default",()=>t]);let t=(0,e.i(18286).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/node_modules/.pnpm/lucide-react@1.47.0_react@19.2.8/node_modules/lucide-react/dist/esm/Icon.mjs","default")},19374,e=>{"use strict";var t=e.i(27252);e.n(t)},18286,(e,t,r)=>{"use strict";t.exports=e.r(99403).vendored["react-rsc"].ReactServerDOMTurbopackServer}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__1rx5s6r._.js.map
|