@nextscope/next 0.2.0 → 0.3.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.
Files changed (41) hide show
  1. package/README.md +1 -1
  2. package/dist/config.d.ts +1 -0
  3. package/dist/config.js +89 -11
  4. package/dist/config.js.map +1 -1
  5. package/dist/inspector/colors.d.ts +2 -0
  6. package/dist/inspector/colors.js +21 -0
  7. package/dist/inspector/colors.js.map +1 -0
  8. package/dist/inspector/model/index.d.ts +24 -3
  9. package/dist/inspector/model/index.js +229 -5
  10. package/dist/inspector/model/index.js.map +1 -1
  11. package/dist/inspector/model/types.d.ts +8 -0
  12. package/dist/inspector/preferences.d.ts +11 -0
  13. package/dist/inspector/preferences.js +49 -0
  14. package/dist/inspector/preferences.js.map +1 -0
  15. package/dist/inspector/spans.d.ts +7 -0
  16. package/dist/inspector/spans.js +75 -0
  17. package/dist/inspector/spans.js.map +1 -0
  18. package/dist/inspector/zoom.d.ts +35 -0
  19. package/dist/inspector/zoom.js +86 -0
  20. package/dist/inspector/zoom.js.map +1 -0
  21. package/dist/inspector-assets.d.ts +2 -2
  22. package/dist/inspector-assets.js +2 -2
  23. package/dist/inspector-assets.js.map +1 -1
  24. package/dist/mcp.js +19 -0
  25. package/dist/mcp.js.map +1 -1
  26. package/dist/next-types.d.ts +1 -0
  27. package/dist/pids.d.ts +13 -0
  28. package/dist/pids.js +123 -0
  29. package/dist/pids.js.map +1 -0
  30. package/dist/server.d.ts +1 -0
  31. package/dist/server.js +40 -7
  32. package/dist/server.js.map +1 -1
  33. package/dist/store.d.ts +9 -0
  34. package/dist/store.js +80 -4
  35. package/dist/store.js.map +1 -1
  36. package/dist/suppression.js +1 -1
  37. package/dist/suppression.js.map +1 -1
  38. package/dist/ui.d.ts +2 -0
  39. package/dist/ui.js +29 -0
  40. package/dist/ui.js.map +1 -1
  41. package/package.json +3 -2
package/README.md CHANGED
@@ -4,7 +4,7 @@ Next.js config plugin, local OTLP trace sidecar, and inspector UI for
4
4
  NextScope.
5
5
 
6
6
  ```sh
7
- pnpm add @nextscope/next @vercel/otel
7
+ pnpm add @nextscope/next @nextscope/browser-otel @vercel/otel
8
8
  ```
9
9
 
10
10
  ```js
package/dist/config.d.ts CHANGED
@@ -30,6 +30,7 @@ export declare function mergeRewrites(existing: Rewrites | undefined, nextScopeR
30
30
  };
31
31
  export declare function ensureServer(options: NextScopeServerOptions): Promise<NextScopeServer | undefined>;
32
32
  export declare function configureTelemetryEnv(nextScopeEndpoint: string): void;
33
+ export declare function browserTraceEndpoint(route: string): string;
33
34
  export declare function snapshotTraceExporterEnv(): {
34
35
  endpoint: string | undefined;
35
36
  protocol: string | undefined;
package/dist/config.js CHANGED
@@ -8,18 +8,20 @@ exports.resolveRewrites = resolveRewrites;
8
8
  exports.mergeRewrites = mergeRewrites;
9
9
  exports.ensureServer = ensureServer;
10
10
  exports.configureTelemetryEnv = configureTelemetryEnv;
11
+ exports.browserTraceEndpoint = browserTraceEndpoint;
11
12
  exports.snapshotTraceExporterEnv = snapshotTraceExporterEnv;
12
13
  exports.isSupportedHttpJson = isSupportedHttpJson;
14
+ const pids_1 = require("./pids");
13
15
  const server_1 = require("./server");
14
16
  let singletonServer;
17
+ let singletonOwnerClaim;
15
18
  let warnedUnsupportedExporter = false;
16
19
  let warnedStartupFailure = false;
17
- let reportedStartup = false;
20
+ let didShowStartupMessage = false;
18
21
  const DEFAULT_ROUTE = '/_nextscope';
19
22
  const DEFAULT_MAX_TRACES = 200;
20
23
  const DEFAULT_DEV_HOST = 'localhost';
21
24
  const DEFAULT_DEV_PORT = '3000';
22
- const STARTUP_REPORTED_ENV = 'NEXTSCOPE_STARTUP_REPORTED';
23
25
  const ANSI = {
24
26
  bold: '\u001B[1m',
25
27
  cyan: '\u001B[36m',
@@ -34,21 +36,33 @@ function withNextScope(nextConfig = {}, options = {}) {
34
36
  ? await nextConfig(phase, context)
35
37
  : nextConfig;
36
38
  const runtime = inferRuntime(phase, context);
37
- if (!shouldEnable(runtime, options)) {
39
+ if (!shouldStartNextScope(runtime, options)) {
38
40
  return resolvedConfig;
39
41
  }
40
42
  const server = await ensureServer({
41
43
  route: normalizeRoute(options.route ?? DEFAULT_ROUTE),
42
44
  maxTraces: options.maxTraces ?? DEFAULT_MAX_TRACES,
43
45
  persistence: options.persistence ?? true,
46
+ devOrigin: formatDevOrigin(),
44
47
  });
45
48
  if (!server) {
46
49
  return resolvedConfig;
47
50
  }
48
51
  configureTelemetryEnv(server.url);
49
- reportStartup(server.route);
52
+ showStartupMessage(server.route);
50
53
  return {
51
54
  ...resolvedConfig,
55
+ // Inline the browser trace endpoint via Next's `env` config so it reaches
56
+ // the client bundle. Mutating process.env in the config callback happens
57
+ // too late for Next's automatic NEXT_PUBLIC_ inlining and never reaches
58
+ // the dev compiler workers, so the browser SDK would otherwise find no
59
+ // endpoint and stay disabled. An app-provided value still wins.
60
+ env: {
61
+ ...resolvedConfig.env,
62
+ NEXT_PUBLIC_NEXTSCOPE_TRACE_ENDPOINT: resolvedConfig.env?.NEXT_PUBLIC_NEXTSCOPE_TRACE_ENDPOINT ??
63
+ process.env.NEXT_PUBLIC_NEXTSCOPE_TRACE_ENDPOINT ??
64
+ browserTraceEndpoint(server.route),
65
+ },
52
66
  rewrites: async () => {
53
67
  const existing = await resolveRewrites(resolvedConfig.rewrites);
54
68
  return mergeRewrites(existing, {
@@ -62,11 +76,12 @@ function withNextScope(nextConfig = {}, options = {}) {
62
76
  return wrapped;
63
77
  }
64
78
  function resetNextScopeForTests() {
79
+ singletonOwnerClaim?.release();
65
80
  singletonServer = undefined;
81
+ singletonOwnerClaim = undefined;
66
82
  warnedUnsupportedExporter = false;
67
83
  warnedStartupFailure = false;
68
- reportedStartup = false;
69
- delete process.env[STARTUP_REPORTED_ENV];
84
+ didShowStartupMessage = false;
70
85
  }
71
86
  function shouldEnable(runtime, options = {}) {
72
87
  if (options.enabled === false) {
@@ -77,6 +92,36 @@ function shouldEnable(runtime, options = {}) {
77
92
  }
78
93
  return runtime.dev === true || runtime.command === 'dev';
79
94
  }
95
+ function shouldStartNextScope(runtime, options = {}, processInfo = currentProcessInfo()) {
96
+ if (options.enabled === false) {
97
+ return false;
98
+ }
99
+ if (isNextTelemetryDetachedFlush(processInfo.argv)) {
100
+ return false;
101
+ }
102
+ if (hasInheritedNextWorkerEnvWithoutIpc(processInfo)) {
103
+ return false;
104
+ }
105
+ if (isStandardNextDevServerWorker(processInfo)) {
106
+ return shouldEnable(runtime, options);
107
+ }
108
+ if (options.enabled === true) {
109
+ return true;
110
+ }
111
+ return false;
112
+ }
113
+ function isNextTelemetryDetachedFlush(argv) {
114
+ return argv.some((arg) => normalizeProcessArg(arg).endsWith('/next/dist/telemetry/detached-flush.js'));
115
+ }
116
+ function hasInheritedNextWorkerEnvWithoutIpc(processInfo) {
117
+ return hasNextWorkerEnv(processInfo.env) && !processInfo.hasIpc;
118
+ }
119
+ function isStandardNextDevServerWorker(processInfo) {
120
+ return (processInfo.env.__NEXT_DEV_SERVER === '1' &&
121
+ processInfo.env.NEXT_PRIVATE_WORKER === '1' &&
122
+ processInfo.hasIpc &&
123
+ processInfo.argv.some((arg) => normalizeProcessArg(arg).endsWith('/next/dist/server/lib/start-server.js')));
124
+ }
80
125
  function normalizeRoute(route) {
81
126
  const trimmed = route.trim();
82
127
  const withSlash = trimmed.startsWith('/') ? trimmed : `/${trimmed}`;
@@ -104,11 +149,28 @@ async function ensureServer(options) {
104
149
  if (singletonServer) {
105
150
  return singletonServer;
106
151
  }
152
+ const ownerClaim = (0, pids_1.claimSidecarOwner)();
153
+ if (!ownerClaim) {
154
+ return undefined;
155
+ }
107
156
  try {
108
157
  singletonServer = await (0, server_1.startNextScopeServer)(options);
158
+ singletonOwnerClaim = ownerClaim;
159
+ const closeServer = singletonServer.close;
160
+ singletonServer.close = async () => {
161
+ try {
162
+ await closeServer();
163
+ }
164
+ finally {
165
+ singletonOwnerClaim?.release();
166
+ singletonOwnerClaim = undefined;
167
+ singletonServer = undefined;
168
+ }
169
+ };
109
170
  return singletonServer;
110
171
  }
111
172
  catch (error) {
173
+ ownerClaim.release();
112
174
  if (!warnedStartupFailure) {
113
175
  warnedStartupFailure = true;
114
176
  console.warn(`[nextscope] Failed to start local trace inspector: ${formatError(error)}`);
@@ -130,6 +192,9 @@ function configureTelemetryEnv(nextScopeEndpoint) {
130
192
  process.env.OTEL_EXPORTER_OTLP_TRACES_PROTOCOL = 'http/json';
131
193
  process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT = nextScopeTraceEndpoint;
132
194
  }
195
+ function browserTraceEndpoint(route) {
196
+ return `${normalizeRoute(route)}/v1/traces`;
197
+ }
133
198
  function snapshotTraceExporterEnv() {
134
199
  return {
135
200
  endpoint: process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT ??
@@ -158,6 +223,19 @@ function inferRuntime(phase, context) {
158
223
  : phase === 'phase-development-server',
159
224
  };
160
225
  }
226
+ function currentProcessInfo() {
227
+ return {
228
+ argv: process.argv,
229
+ env: process.env,
230
+ hasIpc: typeof process.send === 'function',
231
+ };
232
+ }
233
+ function hasNextWorkerEnv(env) {
234
+ return env.__NEXT_DEV_SERVER === '1' || env.NEXT_PRIVATE_WORKER === '1';
235
+ }
236
+ function normalizeProcessArg(arg) {
237
+ return arg.replace(/\\/g, '/');
238
+ }
161
239
  function warnUnsupportedExporter(protocol) {
162
240
  if (warnedUnsupportedExporter) {
163
241
  return;
@@ -165,12 +243,12 @@ function warnUnsupportedExporter(protocol) {
165
243
  warnedUnsupportedExporter = true;
166
244
  console.warn(`[nextscope] Existing OTLP trace exporter uses unsupported protocol "${protocol ?? 'unset'}"; capturing locally but forwarding is disabled.`);
167
245
  }
168
- function reportStartup(route) {
169
- if (reportedStartup || process.env[STARTUP_REPORTED_ENV] === '1') {
246
+ function showStartupMessage(route) {
247
+ if (didShowStartupMessage ||
248
+ (process.env.__NEXT_DEV_SERVER && !(0, pids_1.claimDevServerPidfile)())) {
170
249
  return;
171
250
  }
172
- reportedStartup = true;
173
- process.env[STARTUP_REPORTED_ENV] = '1';
251
+ didShowStartupMessage = true;
174
252
  console.info(formatStartupMessage(formatInspectorUrl(route)));
175
253
  }
176
254
  function formatStartupMessage(inspectorUrl) {
@@ -178,7 +256,7 @@ function formatStartupMessage(inspectorUrl) {
178
256
  `${ansi('View traces at', ANSI.green)}\n` +
179
257
  `${ansi(' -> ', ANSI.bold)}${ansi(inspectorUrl, ANSI.bold, ANSI.underline)}\n\n` +
180
258
  `${ansi('Connect your agent:', ANSI.green)}\n` +
181
- `${ansi(' $ ', ANSI.bold)}${ansi('npx add-mcp @nextscope/mcp@latest', ANSI.yellow)}\n`);
259
+ `${ansi(' $ ', ANSI.bold)}${ansi('npx add-mcp @nextscope/mcp@latest -n nextscope', ANSI.yellow)}\n`);
182
260
  }
183
261
  function ansi(text, ...styles) {
184
262
  return `${styles.join('')}${text}${ANSI.reset}`;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AA2EA,sCA0DC;AAED,wDAOC;AAED,oCAWC;AAoDD,wCAIC;AAED,0CAKC;AAED,sCAgBC;AAED,oCAkCC;AAED,sDAgBC;AAED,oDAEC;AAED,4DAYC;AAED,kDAEC;AAvTD,iCAIe;AACf,qCAIiB;AAsCjB,IAAI,eAA4C,CAAA;AAChD,IAAI,mBAAkD,CAAA;AACtD,IAAI,yBAAyB,GAAG,KAAK,CAAA;AACrC,IAAI,oBAAoB,GAAG,KAAK,CAAA;AAChC,IAAI,qBAAqB,GAAG,KAAK,CAAA;AAEjC,MAAM,aAAa,GAAG,aAAa,CAAA;AACnC,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAC9B,MAAM,gBAAgB,GAAG,WAAW,CAAA;AACpC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAC/B,MAAM,IAAI,GAAG;IACX,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;CACZ,CAAA;AAUV,SAAgB,aAAa,CAC3B,aAA8B,EAAE,EAChC,UAA4B,EAAE;IAE9B,MAAM,OAAO,GAAG,KAAK,EACnB,KAAa,EACb,UAA6B,EAAE,aAAa,EAAE,EAAE,EAAE,EAC7B,EAAE;QACvB,MAAM,cAAc,GAClB,OAAO,UAAU,KAAK,UAAU;YAC9B,CAAC,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;YAClC,CAAC,CAAC,UAAU,CAAA;QAEhB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC;YACrD,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,kBAAkB;YAClD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;YACxC,SAAS,EAAE,eAAe,EAAE;SAC7B,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,cAAc,CAAA;QACvB,CAAC;QAED,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,OAAO;YACL,GAAG,cAAc;YACjB,0EAA0E;YAC1E,yEAAyE;YACzE,wEAAwE;YACxE,uEAAuE;YACvE,gEAAgE;YAChE,GAAG,EAAE;gBACH,GAAG,cAAc,CAAC,GAAG;gBACrB,oCAAoC,EAClC,cAAc,CAAC,GAAG,EAAE,oCAAoC;oBACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC;oBAChD,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;aACrC;YACD,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;gBAC/D,OAAO,aAAa,CAAC,QAAQ,EAAE;oBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,SAAS;oBAChC,WAAW,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS;oBACnC,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAA;YACJ,CAAC;SACF,CAAA;IACH,CAAC,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAgB,sBAAsB;IACpC,mBAAmB,EAAE,OAAO,EAAE,CAAA;IAC9B,eAAe,GAAG,SAAS,CAAA;IAC3B,mBAAmB,GAAG,SAAS,CAAA;IAC/B,yBAAyB,GAAG,KAAK,CAAA;IACjC,oBAAoB,GAAG,KAAK,CAAA;IAC5B,qBAAqB,GAAG,KAAK,CAAA;AAC/B,CAAC;AAED,SAAgB,YAAY,CAC1B,OAAyB,EACzB,UAA4B,EAAE;IAE9B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAA;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAyB,EACzB,UAA4B,EAAE,EAC9B,cAAoC,kBAAkB,EAAE;IAExD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,4BAA4B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,mCAAmC,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,4BAA4B,CAAC,IAAuB;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAC5E,CAAA;AACH,CAAC;AAED,SAAS,mCAAmC,CAC1C,WAAiC;IAEjC,OAAO,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;AACjE,CAAC;AAED,SAAS,6BAA6B,CACpC,WAAiC;IAEjC,OAAO,CACL,WAAW,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;QACzC,WAAW,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;QAC3C,WAAW,CAAC,MAAM;QAClB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC5B,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAC/B,uCAAuC,CACxC,CACF,CACF,CAAA;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAA;IACnE,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACzE,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAgC;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAA;AACrE,CAAC;AAED,SAAgB,aAAa,CAC3B,QAA8B,EAC9B,gBAAyB;IAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,gBAAgB,EAAE,GAAG,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,WAAW,EAAE,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;KACjE,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,OAA+B;IAChE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAA;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAA;QACrD,mBAAmB,GAAG,UAAU,CAAA;QAChC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAA;QACzC,eAAe,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,WAAW,EAAE,CAAA;YACrB,CAAC;oBAAS,CAAC;gBACT,mBAAmB,EAAE,OAAO,EAAE,CAAA;gBAC9B,mBAAmB,GAAG,SAAS,CAAA;gBAC/B,eAAe,GAAG,SAAS,CAAA;YAC7B,CAAC;QACH,CAAC,CAAA;QACD,OAAO,eAAe,CAAA;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,OAAO,EAAE,CAAA;QACpB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,oBAAoB,GAAG,IAAI,CAAA;YAC3B,OAAO,CAAC,IAAI,CACV,sDAAsD,WAAW,CAAC,KAAK,CAAC,EAAE,CAC3E,CAAA;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,iBAAyB;IAC7D,MAAM,sBAAsB,GAAG,GAAG,iBAAiB,YAAY,CAAA;IAC/D,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAA;IAE3C,IAAI,QAAQ,CAAC,QAAQ,KAAK,sBAAsB,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;QACvE,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;QACvE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;IACvE,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,WAAW,CAAA;IAC5D,OAAO,CAAC,GAAG,CAAC,kCAAkC,GAAG,sBAAsB,CAAA;AACzE,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAA;AAC7C,CAAC;AAED,SAAgB,wBAAwB;IACtC,OAAO;QACL,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,kCAAkC;YAC9C,OAAO,CAAC,GAAG,CAAC,2BAA2B;QACzC,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,kCAAkC;YAC9C,OAAO,CAAC,GAAG,CAAC,2BAA2B;QACzC,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,iCAAiC;YAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B;KACzC,CAAA;AACH,CAAC;AAED,SAAgB,mBAAmB,CAAC,QAAiB;IACnD,OAAO,CAAC,QAAQ,IAAI,QAAQ,KAAK,WAAW,CAAA;AAC9C,CAAC;AAED,SAAS,YAAY,CACnB,KAAa,EACb,OAA0B;IAE1B,OAAO;QACL,OAAO,EACL,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;YACvC,OAAO,CAAC,aAAa,KAAK,IAAI;YAC9B,SAAS,IAAI,OAAO,CAAC,aAAa;YAClC,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,KAAK,QAAQ;YACjD,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO;YAC/B,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACnC,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,SAAS;QACjB,GAAG,EACD,OAAO,OAAO,CAAC,GAAG,KAAK,SAAS;YAC9B,CAAC,CAAC,OAAO,CAAC,GAAG;YACb,CAAC,CAAC,KAAK,KAAK,0BAA0B;KAC3C,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU;KAC3C,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAsB;IAC9C,OAAO,GAAG,CAAC,iBAAiB,KAAK,GAAG,IAAI,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAA;AACzE,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAChC,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAiB;IAChD,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAM;IACR,CAAC;IACD,yBAAyB,GAAG,IAAI,CAAA;IAChC,OAAO,CAAC,IAAI,CACV,uEAAuE,QAAQ,IAAI,OAAO,kDAAkD,CAC7I,CAAA;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,IACE,qBAAqB;QACrB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,IAAA,4BAAqB,GAAE,CAAC,EAC3D,CAAC;QACD,OAAM;IACR,CAAC;IACD,qBAAqB,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB;IAChD,OAAO,CACL,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,wCAAwC;QACtF,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;QACzC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;QACjF,GAAG,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;QAC9C,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gDAAgD,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CACtG,CAAA;AACH,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,GAAG,MAA+C;IAC5E,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,OAAO,GAAG,MAAM,GAAG,KAAK,EAAE,CAAA;AAC5B,CAAC;AACD,SAAS,eAAe;IACtB,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAClE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAC3B,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CACpD,CAAA;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,gBAAgB,CAAA;IAChF,OAAO,UAAU,IAAI,IAAI,IAAI,EAAE,CAAA;AACjC,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAY;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa;IACrC,IACE,CAAC,IAAI;QACL,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,IAAI;QACb,IAAI,KAAK,WAAW;QACpB,IAAI,KAAK,KAAK,EACd,CAAC;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,SAAiB;IACtD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const SERVICE_COLORS: string[];
2
+ export declare function serviceColorMap(services: string[]): Map<string, string>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SERVICE_COLORS = void 0;
4
+ exports.serviceColorMap = serviceColorMap;
5
+ exports.SERVICE_COLORS = [
6
+ '#5da9ff',
7
+ '#77d68d',
8
+ '#ffbf66',
9
+ '#d89cff',
10
+ '#ff7e8a',
11
+ '#65d4d4',
12
+ '#d0dc68',
13
+ ];
14
+ function serviceColorMap(services) {
15
+ const map = new Map();
16
+ const names = services.length ? services : ['unknown'];
17
+ names.forEach((service, index) => map.set(service, exports.SERVICE_COLORS[index % exports.SERVICE_COLORS.length]));
18
+ map.set('unknown', exports.SERVICE_COLORS[0]);
19
+ return map;
20
+ }
21
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/inspector/colors.ts"],"names":[],"mappings":";;;AAUA,0CAMC;AAhBY,QAAA,cAAc,GAAG;IAC5B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAA;AAED,SAAgB,eAAe,CAAC,QAAkB;IAChD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACtD,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,sBAAc,CAAC,KAAK,GAAG,sBAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClG,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,sBAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { FlatSpanRow, InspectorDiagnosticSpan, InspectorSpan, InspectorSpanEvent, InspectorTrace, InspectorTraceSummary } from './types';
2
- export type { FlatSpanRow, InspectorDiagnosticSpan, InspectorRequestSegment, InspectorSpan, InspectorSpanEvent, InspectorStatus, InspectorTrace, InspectorTraceSummary } from './types';
1
+ import type { FlatSpanRow, InspectorDiagnosticSpan, InspectorErrorSummary, InspectorSpan, InspectorSpanEvent, InspectorTrace, InspectorTraceSummary } from './types';
2
+ export type { BrowserEventKind, FlatSpanRow, InspectorDiagnosticSpan, InspectorErrorSummary, InspectorRequestSegment, InspectorSpan, InspectorSpanEvent, InspectorStatus, InspectorTrace, InspectorTraceSummary } from './types';
3
3
  export interface SpanSearchResult {
4
4
  matches: Set<string>;
5
5
  visible: Set<string>;
@@ -34,6 +34,8 @@ export interface ParsedTraceFilter {
34
34
  text: string;
35
35
  route: string[];
36
36
  service: string[];
37
+ method: string[];
38
+ status: string[];
37
39
  duration: DurationFilter[];
38
40
  errors?: boolean;
39
41
  }
@@ -41,6 +43,9 @@ export interface DurationFilter {
41
43
  operator: '>' | '>=' | '<' | '<=' | '=';
42
44
  valueMs: number;
43
45
  }
46
+ export type InspectorTraceWithErrors = InspectorTrace & {
47
+ errors: InspectorErrorSummary[];
48
+ };
44
49
  export interface RouteTraceGroup {
45
50
  route: string;
46
51
  traces: InspectorTraceSummary[];
@@ -54,10 +59,19 @@ export interface RouteStats {
54
59
  p95Ms: number;
55
60
  errorRate: number;
56
61
  }
62
+ export type TraceOrigin = 'server' | 'browser';
63
+ export interface OriginTraceSection {
64
+ origin: TraceOrigin;
65
+ label: string;
66
+ traces: InspectorTraceSummary[];
67
+ }
57
68
  export declare function traceSelectionKey(trace: Pick<InspectorTraceSummary, 'traceId' | 'requestSegmentId'>): string;
69
+ export declare const BROWSER_SERVICE_NAME = "nextscope-browser";
70
+ export declare function isBrowserTrace(trace: Pick<InspectorTraceSummary, 'serviceNames'> & Partial<Pick<InspectorTraceSummary, 'browserKind' | 'traceKind'>>): boolean;
58
71
  export declare function selectVisibleTraceKey(current: string | null, traces: Pick<InspectorTraceSummary, 'traceId' | 'requestSegmentId'>[]): string | null;
59
- export declare function focusTraceOnSegment(trace: InspectorTrace, requestSegmentId: string): InspectorTrace;
72
+ export declare function focusTraceOnSegment(trace: InspectorTrace, requestSegmentId: string): InspectorTraceWithErrors;
60
73
  export declare function errorSpanIds(roots: InspectorSpan[]): string[];
74
+ export declare function traceErrors(roots: InspectorSpan[]): InspectorErrorSummary[];
61
75
  export declare function diagnosticSpanIds(spans: InspectorDiagnosticSpan[]): string[];
62
76
  export declare function flattenVisibleSpans(roots: InspectorSpan[], collapsedIds: ReadonlySet<string>, search?: SpanSearchResult, matchesOnly?: boolean): FlatSpanRow[];
63
77
  export declare function deriveSpanSearch(roots: InspectorSpan[], query: string): SpanSearchResult;
@@ -66,6 +80,10 @@ export declare function searchableTraceText(trace: InspectorTraceSummary): strin
66
80
  export declare function matchesSearchText(text: string, query: string): boolean;
67
81
  export declare function parseTraceFilterQuery(query: string): ParsedTraceFilter;
68
82
  export declare function traceMatchesFilter(trace: InspectorTraceSummary, filter: ParsedTraceFilter): boolean;
83
+ export declare function traceDisplayTitle(trace: InspectorTraceSummary): string;
84
+ export declare function browserOriginPage(trace: InspectorTraceSummary): string | undefined;
85
+ export declare function spanDisplayName(span: Pick<InspectorSpan, 'name' | 'attributes'>): string;
86
+ export declare function partitionTracesByOrigin(traces: InspectorTraceSummary[]): OriginTraceSection[];
69
87
  export declare function routeTraceGroups(traces: InspectorTraceSummary[]): RouteTraceGroup[];
70
88
  export declare function routeStats(traces: InspectorTraceSummary[]): RouteStats;
71
89
  export declare function calculateTimelineBar(span: Pick<InspectorSpan, 'offsetMs' | 'durationMs'>, range: ZoomRange, minWidthPct?: number): TimelineBar;
@@ -77,3 +95,6 @@ export declare function zoomAt(range: ZoomRange, fullDurationMs: number, anchorP
77
95
  export declare function formatDuration(value: number): string;
78
96
  export declare function formatOffset(value: number): string;
79
97
  export declare function formatTimestamp(value: string | number | Date): string;
98
+ export declare function formatTimestampLocal(value: string | number | Date): string;
99
+ export declare function formatTimestampUTC(value: string | number | Date): string;
100
+ export declare function formatRelativeTime(value: string | number | Date): string;