@karan171996/metricflow 0.1.8 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/fallback-build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +1 -1
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/server/app/_not-found.html +1 -1
  11. package/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  14. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/api/analyze/route.js +2 -2
  17. package/.next/server/app/api/analyze/route.js.nft.json +1 -1
  18. package/.next/server/app/api/connect/route.js +2 -2
  19. package/.next/server/app/api/connect/route.js.nft.json +1 -1
  20. package/.next/server/app/api/metrics/route.js +2 -2
  21. package/.next/server/app/api/metrics/route.js.nft.json +1 -1
  22. package/.next/server/app/api/settings/route.js +1 -1
  23. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  24. package/.next/server/app/api/setup/ai/route.js +2 -2
  25. package/.next/server/app/api/setup/ai/route.js.nft.json +1 -1
  26. package/.next/server/app/api/setup/route.js +2 -2
  27. package/.next/server/app/api/setup/route.js.nft.json +1 -1
  28. package/.next/server/app/connect.html +1 -1
  29. package/.next/server/app/connect.rsc +1 -1
  30. package/.next/server/app/connect.segments/_full.segment.rsc +1 -1
  31. package/.next/server/app/connect.segments/_index.segment.rsc +1 -1
  32. package/.next/server/app/connect.segments/_tree.segment.rsc +1 -1
  33. package/.next/server/app/connect.segments/connect/__PAGE__.segment.rsc +1 -1
  34. package/.next/server/app/index.html +1 -1
  35. package/.next/server/app/index.rsc +1 -1
  36. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  37. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  38. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  39. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  40. package/.next/server/app/performance/[slug]/page.js.nft.json +1 -1
  41. package/.next/server/app/performance.html +1 -1
  42. package/.next/server/app/performance.rsc +1 -1
  43. package/.next/server/app/performance.segments/_full.segment.rsc +1 -1
  44. package/.next/server/app/performance.segments/_index.segment.rsc +1 -1
  45. package/.next/server/app/performance.segments/_tree.segment.rsc +1 -1
  46. package/.next/server/app/performance.segments/performance/__PAGE__.segment.rsc +1 -1
  47. package/.next/server/app/settings.html +1 -1
  48. package/.next/server/app/settings.rsc +1 -1
  49. package/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  50. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  51. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  52. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  53. package/.next/server/app/setup/page.js.nft.json +1 -1
  54. package/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/setup.html +2 -2
  56. package/.next/server/app/setup.rsc +8 -8
  57. package/.next/server/app/setup.segments/_full.segment.rsc +8 -8
  58. package/.next/server/app/setup.segments/_index.segment.rsc +5 -5
  59. package/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
  60. package/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +7 -7
  61. package/.next/server/chunks/[root-of-the-server]__0gv2l08._.js +3 -0
  62. package/.next/server/chunks/{[root-of-the-server]__0vkb6_m._.js → [root-of-the-server]__0pbux_a._.js} +2 -2
  63. package/.next/server/chunks/[root-of-the-server]__16h-056._.js +3 -0
  64. package/.next/server/chunks/[root-of-the-server]__1mwvot_._.js +3 -0
  65. package/.next/server/chunks/[root-of-the-server]__1o8nu3b._.js +3 -0
  66. package/.next/server/chunks/[root-of-the-server]__1p0_79u._.js +3 -0
  67. package/.next/server/chunks/_0w8wvdn._.js +1 -1
  68. package/.next/server/chunks/_0wct7-r._.js +1 -1
  69. package/.next/server/chunks/_1l9d64o._.js +1 -1
  70. package/.next/server/chunks/{_1lktrox._.js → node_modules__pnpm_0qgcly_._.js} +4 -4
  71. package/.next/server/chunks/ssr/_0defuav._.js +1 -1
  72. package/.next/server/chunks/ssr/_0htqt7_._.js +1 -1
  73. package/.next/server/middleware-build-manifest.js +3 -3
  74. package/.next/server/pages/404.html +1 -1
  75. package/.next/server/pages/500.html +1 -1
  76. package/.next/static/chunks/3xupay20_o0lm.js +1 -0
  77. package/.next/trace +1 -1
  78. package/.next/trace-build +1 -1
  79. package/README.md +2 -3
  80. package/bin/cli.mjs +1 -0
  81. package/package.json +5 -3
  82. package/.next/server/chunks/[root-of-the-server]__02yfc43._.js +0 -3
  83. package/.next/server/chunks/[root-of-the-server]__0i0nt_u._.js +0 -3
  84. package/.next/server/chunks/[root-of-the-server]__1226gv2._.js +0 -3
  85. package/.next/server/chunks/[root-of-the-server]__1d1y03f._.js +0 -3
  86. package/.next/server/chunks/[root-of-the-server]__1su9v2-._.js +0 -3
  87. package/.next/server/chunks/_1ze9o4l._.js +0 -8
  88. package/.next/static/chunks/11ea1elg0081p.js +0 -1
  89. /package/.next/static/{4eFlFb3mHDe_1sW60xSTA → hVxca481NAlwtx6J2pBuC}/_buildManifest.js +0 -0
  90. /package/.next/static/{4eFlFb3mHDe_1sW60xSTA → hVxca481NAlwtx6J2pBuC}/_clientMiddlewareManifest.js +0 -0
  91. /package/.next/static/{4eFlFb3mHDe_1sW60xSTA → hVxca481NAlwtx6J2pBuC}/_ssgManifest.js +0 -0
package/bin/cli.mjs CHANGED
@@ -58,6 +58,7 @@ const server = spawn(process.execPath, [nextBin, "start", "-p", port, "-H", host
58
58
  // Pass --no-color/--json down so Next's own output matches.
59
59
  env: {
60
60
  METRICFLOW_PROJECT_NAME: projectName, // set it yourself to override the title
61
+ METRICFLOW_PROJECT_DIR: process.cwd(), // server cwd is the package; writes (.env.local, settings) belong here
61
62
  ...process.env,
62
63
  ...(loopback ? {} : { METRICFLOW_EXPOSED: "1" }), // app's isLocalRequest honors this
63
64
  ...(process.argv.includes("--no-color") || wantsJson ? { FORCE_COLOR: undefined, NO_COLOR: "1" } : {}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@karan171996/metricflow",
3
- "version": "0.1.8",
3
+ "version": "0.2.1",
4
4
  "description": "Local performance dashboard: New Relic page metrics and Sentry errors per page, with AI suggestions. Run with one npx command.",
5
5
  "keywords": [
6
6
  "performance",
@@ -85,7 +85,8 @@
85
85
  "!.next/cache",
86
86
  "!.next/types",
87
87
  "!.next/diagnostics",
88
- "!.next/**/*.map"
88
+ "!.next/**/*.map",
89
+ "!**/.env*"
89
90
  ],
90
91
  "engines": {
91
92
  "node": ">=20.12"
@@ -104,6 +105,7 @@
104
105
  "test:cli": "node --experimental-test-module-mocks --import ./test/register.mjs --test test/*.test.mjs",
105
106
  "test:basic": "node scripts/test-env.mjs basic",
106
107
  "test:real": "node scripts/test-env.mjs real",
107
- "test": "pnpm run test:basic"
108
+ "test": "pnpm run test:basic",
109
+ "release:bump": "node scripts/bump-version.mjs"
108
110
  }
109
111
  }
@@ -1,3 +0,0 @@
1
- module.exports=[49719,(e,r,t)=>{r.exports=e.x("assert",()=>require("assert"))},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},27699,(e,r,t)=>{r.exports=e.x("events",()=>require("events"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},21517,(e,r,t)=>{r.exports=e.x("http",()=>require("http"))},25328,(e,r,t)=>{r.exports=e.x("http2",()=>require("http2"))},24836,(e,r,t)=>{r.exports=e.x("https",()=>require("https"))},4446,(e,r,t)=>{r.exports=e.x("net",()=>require("net"))},18622,(e,r,t)=>{r.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,r,t)=>{r.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,r,t)=>{r.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,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},66680,(e,r,t)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},88947,(e,r,t)=>{r.exports=e.x("stream",()=>require("stream"))},55004,(e,r,t)=>{r.exports=e.x("tls",()=>require("tls"))},70722,(e,r,t)=>{r.exports=e.x("tty",()=>require("tty"))},92509,(e,r,t)=>{r.exports=e.x("url",()=>require("url"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},90770,e=>{"use strict";let r=new Map;e.s(["getTimings",0,function(){return Array.from(r.entries()).map(([e,r])=>({name:e,value:r})).sort((e,r)=>r.value-e.value)},"recordTiming",0,function(e,t){r.set(e,Math.round(t))}])},84594,e=>{"use strict";var r=e.i(60756),t=e.i(12892);async function s(e,o=()=>!1){let n,i;if(process.env[t.REGION_KEY])return e((0,t.nrHosts)());try{if(n=await e((0,t.nrHosts)("us")),!o(n))return n}catch(t){let e=r.default.isAxiosError(t)?t.response?.status:void 0;if(401!==e&&403!==e)throw t;i=t}try{let r=await e((0,t.nrHosts)("eu"));if(!o(r))return process.env[t.REGION_KEY]="eu",r}catch{}if(i)throw i;return n}async function o(e,t,o){return(await s(s=>r.default.post(s.graphql,{query:t},{headers:{"API-Key":e,"Content-Type":"application/json"},timeout:o}),e=>!e.data?.data?.actor)).data}e.s(["nrGraphql",0,o,"withRegion",0,s])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__02yfc43._.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"))},83464,e=>{"use strict";var t=e.i(60756),r=e.i(12892),s=e.i(24514);let a=/[\s\0#"'`\\$]/,n=()=>Response.json({error:(0,s.REFUSAL_MESSAGE)()},{status:403}),o={gemini:e=>t.default.get("https://generativelanguage.googleapis.com/v1beta/models",{params:{key:e},timeout:8e3}),claude:e=>t.default.get("https://api.anthropic.com/v1/models",{headers:{"x-api-key":e,"anthropic-version":"2023-06-01"},timeout:8e3}),openai:e=>t.default.get("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${e}`},timeout:8e3})};async function i(e){return(0,s.isLocalRequest)(e)?Response.json({provider:(0,r.activeAi)()?.provider??null,keys:Object.fromEntries(Object.entries(r.AI_PROVIDERS).map(([e,t])=>[e,!!process.env[t.key]]))}):n()}async function u(e){let i;if(!(0,s.isLocalRequest)(e))return n();try{i=await e.json()}catch{return Response.json({error:"Invalid request body."},{status:400})}let u=i.provider;if(!("string"==typeof u&&u in r.AI_PROVIDERS))return Response.json({saved:!1,error:"Choose a provider."},{status:400});let l="string"==typeof i.key?i.key.trim():"";if(!l)return Response.json({saved:!1,error:"Required."},{status:400});if(a.test(l))return Response.json({saved:!1,error:"Contains spaces or special characters. Paste the key without them."},{status:400});try{await o[u](l)}catch(a){let e=t.default.isAxiosError(a)?a.response?.status:void 0,s=400===e||401===e||403===e?`${r.AI_PROVIDERS[u].label} rejected this key.`:`Could not reach ${r.AI_PROVIDERS[u].label} to check the key.`;return Response.json({saved:!1,error:s},{status:422})}try{(0,r.writeEnvLocal)({[r.AI_PROVIDER_KEY]:u,[r.AI_PROVIDERS[u].key]:l})}catch{return Response.json({saved:!1,error:"Key is valid but .env.local could not be written. Check folder permissions."},{status:500})}return Response.json({saved:!0,provider:u})}e.s(["GET",0,i,"POST",0,u])},9001,e=>{"use strict";var t=e.i(12425),r=e.i(83353),s=e.i(47902),a=e.i(37892),n=e.i(54261),o=e.i(39548),i=e.i(68187),u=e.i(63984),l=e.i(88743),p=e.i(24698),d=e.i(13487),c=e.i(48776),h=e.i(29398),x=e.i(31610),R=e.i(45919),v=e.i(93695),f=e.i(12741);e.i(95315);var m=e.i(98732);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/setup/ai/route",pathname:"/api/setup/ai",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/setup/ai/route.ts",nextConfigOutput:"",userland:()=>e.r(83464),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:y}=g;async function q(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),g.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/setup/ai/route";E=E.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:y,deploymentId:q,params:C,nextConfig:A,parsedUrl:b,isDraftMode:S,prerenderManifest:O,routerServerContext:P,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,resolvedPathname:I,clientReferenceManifest:k,serverActionsManifest:j}=w,N=(0,i.normalizeAppPath)(E),D=!!O.routes[I]&&(g.isDev||(0,f.isRouteCacheOwner)(I,g.cacheOwner,O.routes[I])),M=!!(O.dynamicRoutes[N]||D),H=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!S){let e=O.dynamicRoutes[N];if(e&&!1===e.fallback&&!D){if(A.adapterPath)return await H();throw new v.NoFallbackError}}let U=null;!M||g.isDev||S||(U="/index"===(U=I)?"/":U);let L=!0===g.isDev||!M,$=M&&!L;j&&k&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:k,serverActionsManifest:j});let F=e.method||"GET",K=(0,n.getTracer)(),V=K.getActiveScopeSpan(),G=!!(null==P?void 0:P.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,A,O,B);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let z={params:C,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts,useCacheTimeout:A.experimental.useCacheTimeout},cacheComponents:!!A.cacheComponents,validationLevel:A.experimental.instantInsights.validationLevel,isDraftMode:S,supportsDynamicResponse:L,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:A.cacheLife,staticPageGenerationTimeout:A.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>g.onRequestError(e,t,s,a,P)},sharedContext:{buildId:y,deploymentId:q}},W=new u.NodeNextRequest(e),Y=new u.NodeNextResponse(t),Z=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!B&&T&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await g.handle(Z,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let n=z.renderOpts.pendingWaitUntil;n&&s.waitUntil&&(s.waitUntil(n),n=void 0);let o=z.renderOpts.collectedTags;if(!M)return await (0,c.sendResponse)(W,Y,a,n),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!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,s=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?A.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:T})},!1,P),t}},Q=async(a,o)=>{try{var i,u;let a=await g.handleResponse({req:e,nextConfig:A,cacheKey:U,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:B});if(!M)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(u=a.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",T?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);B&&M||n.delete(R.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,x.getCacheControlHeader)(a.cacheControl)),await (0,c.sendResponse)(W,Y,new Response(a.value.body,{headers:n,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:N,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:T})},!1,P),M)throw t;await (0,c.sendResponse)(W,Y,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:n.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.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 s=r.get("next.route")||N,i=`${F} ${s}`;a.setAttributes({"next.route":s,"http.route":s,"next.span_name":i}),a.updateName(i),o&&o!==a&&(o.setAttribute("http.route",s),o.updateName(i))})()}};if(G&&V)await Q(V,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Q(e,t)),void 0,!G)}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,y,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,w])},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,""))))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}}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__0i0nt_u._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[49719,(e,r,t)=>{r.exports=e.x("assert",()=>require("assert"))},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},27699,(e,r,t)=>{r.exports=e.x("events",()=>require("events"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},21517,(e,r,t)=>{r.exports=e.x("http",()=>require("http"))},25328,(e,r,t)=>{r.exports=e.x("http2",()=>require("http2"))},24836,(e,r,t)=>{r.exports=e.x("https",()=>require("https"))},4446,(e,r,t)=>{r.exports=e.x("net",()=>require("net"))},18622,(e,r,t)=>{r.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,r,t)=>{r.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,r,t)=>{r.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,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},88947,(e,r,t)=>{r.exports=e.x("stream",()=>require("stream"))},55004,(e,r,t)=>{r.exports=e.x("tls",()=>require("tls"))},70722,(e,r,t)=>{r.exports=e.x("tty",()=>require("tty"))},92509,(e,r,t)=>{r.exports=e.x("url",()=>require("url"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},24514,e=>{"use strict";let r=new Set(["localhost","127.0.0.1","[::1]"]),t=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=>t.has(e.trim().replace(/^\[|\]$/g,""))))return!1;let o=(e.headers.get("host")??"").replace(/:\d+$/,"");if(!r.has(o))return!1;let a=e.headers.get("origin");try{return!a||r.has(new URL(a).hostname)}catch{return!1}}])},84594,e=>{"use strict";var r=e.i(60756),t=e.i(12892);async function s(e,o=()=>!1){let a,n;if(process.env[t.REGION_KEY])return e((0,t.nrHosts)());try{if(a=await e((0,t.nrHosts)("us")),!o(a))return a}catch(t){let e=r.default.isAxiosError(t)?t.response?.status:void 0;if(401!==e&&403!==e)throw t;n=t}try{let r=await e((0,t.nrHosts)("eu"));if(!o(r))return process.env[t.REGION_KEY]="eu",r}catch{}if(n)throw n;return a}async function o(e,t,o){return(await s(s=>r.default.post(s.graphql,{query:t},{headers:{"API-Key":e,"Content-Type":"application/json"},timeout:o}),e=>!e.data?.data?.actor)).data}e.s(["nrGraphql",0,o,"withRegion",0,s])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1226gv2._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[49719,(e,r,t)=>{r.exports=e.x("assert",()=>require("assert"))},54799,(e,r,t)=>{r.exports=e.x("crypto",()=>require("crypto"))},27699,(e,r,t)=>{r.exports=e.x("events",()=>require("events"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},21517,(e,r,t)=>{r.exports=e.x("http",()=>require("http"))},25328,(e,r,t)=>{r.exports=e.x("http2",()=>require("http2"))},24836,(e,r,t)=>{r.exports=e.x("https",()=>require("https"))},4446,(e,r,t)=>{r.exports=e.x("net",()=>require("net"))},18622,(e,r,t)=>{r.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,r,t)=>{r.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,r,t)=>{r.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,r,t)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},2157,(e,r,t)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,r,t)=>{r.exports=e.x("node:path",()=>require("node:path"))},81111,(e,r,t)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},88947,(e,r,t)=>{r.exports=e.x("stream",()=>require("stream"))},55004,(e,r,t)=>{r.exports=e.x("tls",()=>require("tls"))},70722,(e,r,t)=>{r.exports=e.x("tty",()=>require("tty"))},92509,(e,r,t)=>{r.exports=e.x("url",()=>require("url"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},6461,(e,r,t)=>{r.exports=e.x("zlib",()=>require("zlib"))},24514,e=>{"use strict";let r=new Set(["localhost","127.0.0.1","[::1]"]),t=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=>t.has(e.trim().replace(/^\[|\]$/g,""))))return!1;let o=(e.headers.get("host")??"").replace(/:\d+$/,"");if(!r.has(o))return!1;let x=e.headers.get("origin");try{return!x||r.has(new URL(x).hostname)}catch{return!1}}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1d1y03f._.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);let a={loadSeconds:1.5,errorPercent:2,uptimeSLA:99.9},s=()=>process.env.METRICFLOW_SETTINGS_FILE||(0,r.join)(process.cwd(),".metricflow-settings.json"),o={loadSeconds:[.1,30],errorPercent:[.1,100],uptimeSLA:[90,100]};function i(){try{return{...a,...JSON.parse((0,t.readFileSync)(s(),"utf8"))}}catch{return a}}async function l(){return Response.json(i())}async function u(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=i();for(let[e,[t,n]]of Object.entries(o)){if(void 0===r[e])continue;let s=r[e];if("number"!=typeof s||!Number.isFinite(s)||s<t||s>n)return Response.json({error:`${e} must be a number between ${t} and ${n}.`},{status:400});a[e]=s}try{let e=`${s()}.tmp`;(0,t.writeFileSync)(e,JSON.stringify(a,null,2)),(0,t.renameSync)(e,s())}catch{return Response.json({error:"Settings could not be written. Check folder permissions."},{status:500})}return Response.json(a)}e.s(["GET",0,l,"PUT",0,u],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),u=e.i(88743),d=e.i(24698),c=e.i(13487),p=e.i(48776),h=e.i(29398),R=e.i(31610),x=e.i(45919),v=e.i(93695),f=e.i(12741);e.i(95315);var m=e.i(98732);let g=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:E,workUnitAsyncStorage:w,serverHooks:S}=g;async function y(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),g.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/settings/route";E=E.replace(/\/index$/,"")||"/";let w=await g.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,deploymentId:y,params:C,nextConfig:b,parsedUrl:A,isDraftMode:T,prerenderManifest:q,routerServerContext:O,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,resolvedPathname:_,clientReferenceManifest:j,serverActionsManifest:I}=w,k=(0,i.normalizeAppPath)(E),M=!!q.routes[_]&&(g.isDev||(0,f.isRouteCacheOwner)(_,g.cacheOwner,q.routes[_])),H=!!(q.dynamicRoutes[k]||M),U=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,A,!1):t.end("This page could not be found"),null);if(H&&!T){let e=q.dynamicRoutes[k];if(e&&!1===e.fallback&&!M){if(b.adapterPath)return await U();throw new v.NoFallbackError}}let L=null;!H||g.isDev||T||(L="/index"===(L=_)?"/":L);let F=!0===g.isDev||!H,D=H&&!F;I&&j&&(0,o.setManifestsSingleton)({page:E,clientReferenceManifest:j,serverActionsManifest:I});let $=e.method||"GET",G=(0,s.getTracer)(),K=G.getActiveScopeSpan(),B=!!(null==O?void 0:O.isWrappedByNextServer),W=!!(0,a.getRequestMeta)(e,"minimalMode"),X=(0,a.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,b,q,W);null==X||X.resetRequestCache(),globalThis.__incrementalCache=X;let V={params:C,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts,useCacheTimeout:b.experimental.useCacheTimeout},cacheComponents:!!b.cacheComponents,validationLevel:b.experimental.instantInsights.validationLevel,isDraftMode:T,supportsDynamicResponse:F,incrementalCache:X,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:b.cacheLife,staticPageGenerationTimeout:b.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>g.onRequestError(e,t,n,a,O)},sharedContext:{buildId:S,deploymentId:y}},J=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),Z=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!W&&P&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await g.handle(Z,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(!H)return await (0,p.sendResponse)(J,z,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[x.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>=x.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,n=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=x.INFINITE_CACHE?!1!==r&&r>0?b.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:m.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 g.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,O),t}},Y=async(a,o)=>{try{var i,l;let a=await g.handleResponse({req:e,nextConfig:b,cacheKey:L,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,responseGenerator:Q,waitUntil:n.waitUntil,isMinimalMode:W});if(!H)return;if((null==a||null==(i=a.value)?void 0:i.kind)!==m.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});W||t.setHeader("x-nextjs-cache",P?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);W&&H||s.delete(x.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,R.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(J,z,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof v.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,O),H)throw t;await (0,p.sendResponse)(J,z,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=G.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")||k,i=`${$} ${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(B&&K)await Y(K,void 0);else{let t=G.getActiveScopeSpan();await G.withPropagatedContext(e.headers,()=>G.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Y(e,t)),void 0,!B)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})},"routeModule",0,g,"serverHooks",0,S,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,w])},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,""))))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}}])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__1su9v2-._.js.map