@wizeworks/lens-node 0.3.0-alpha.2 → 0.3.0-alpha.3

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 (66) hide show
  1. package/dist/api.d.ts.map +1 -1
  2. package/dist/api.js +9 -3
  3. package/dist/api.js.map +1 -1
  4. package/dist/capture.d.ts.map +1 -1
  5. package/dist/capture.js +3 -3
  6. package/dist/capture.js.map +1 -1
  7. package/dist/client-spans.d.ts +6 -4
  8. package/dist/client-spans.d.ts.map +1 -1
  9. package/dist/client-spans.js +20 -9
  10. package/dist/client-spans.js.map +1 -1
  11. package/dist/frameworks/fastify.d.ts.map +1 -1
  12. package/dist/frameworks/fastify.js +4 -2
  13. package/dist/frameworks/fastify.js.map +1 -1
  14. package/dist/frameworks/hono.js +3 -3
  15. package/dist/frameworks/hono.js.map +1 -1
  16. package/dist/frameworks/koa.js +3 -3
  17. package/dist/frameworks/koa.js.map +1 -1
  18. package/dist/frameworks/node-server.d.ts.map +1 -1
  19. package/dist/frameworks/node-server.js +4 -2
  20. package/dist/frameworks/node-server.js.map +1 -1
  21. package/dist/info.js +1 -1
  22. package/dist/info.js.map +1 -1
  23. package/dist/kit.d.ts +1 -1
  24. package/dist/kit.d.ts.map +1 -1
  25. package/dist/mcp-find.d.ts +2 -2
  26. package/dist/mcp-find.d.ts.map +1 -1
  27. package/dist/mcp-find.js +30 -20
  28. package/dist/mcp-find.js.map +1 -1
  29. package/dist/mcp-metrics.d.ts +2 -2
  30. package/dist/mcp-metrics.d.ts.map +1 -1
  31. package/dist/mcp-metrics.js +11 -9
  32. package/dist/mcp-metrics.js.map +1 -1
  33. package/dist/mcp-projects.d.ts +11 -0
  34. package/dist/mcp-projects.d.ts.map +1 -0
  35. package/dist/mcp-projects.js +49 -0
  36. package/dist/mcp-projects.js.map +1 -0
  37. package/dist/mcp-search.d.ts +5 -0
  38. package/dist/mcp-search.d.ts.map +1 -0
  39. package/dist/mcp-search.js +49 -0
  40. package/dist/mcp-search.js.map +1 -0
  41. package/dist/mcp-shared.d.ts +47 -4
  42. package/dist/mcp-shared.d.ts.map +1 -1
  43. package/dist/mcp-shared.js.map +1 -1
  44. package/dist/mcp-store.d.ts +27 -0
  45. package/dist/mcp-store.d.ts.map +1 -0
  46. package/dist/mcp-store.js +55 -0
  47. package/dist/mcp-store.js.map +1 -0
  48. package/dist/mcp-traces.d.ts +2 -2
  49. package/dist/mcp-traces.d.ts.map +1 -1
  50. package/dist/mcp-traces.js +37 -25
  51. package/dist/mcp-traces.js.map +1 -1
  52. package/dist/mcp.d.ts +4 -4
  53. package/dist/mcp.d.ts.map +1 -1
  54. package/dist/mcp.js +14 -6
  55. package/dist/mcp.js.map +1 -1
  56. package/dist/request-capture.d.ts +7 -1
  57. package/dist/request-capture.d.ts.map +1 -1
  58. package/dist/request-capture.js +12 -0
  59. package/dist/request-capture.js.map +1 -1
  60. package/dist/search-api.d.ts +7 -0
  61. package/dist/search-api.d.ts.map +1 -0
  62. package/dist/search-api.js +20 -0
  63. package/dist/search-api.js.map +1 -0
  64. package/dist/wizelens.js +1 -1
  65. package/dist/wizelens.js.map +1 -1
  66. package/package.json +3 -3
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGnG,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,MAAM,WAAW,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC1F,iCAAiC;IACjC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,sEAAsE;IACtE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAC;CACpB;AAMD,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAS/F;AAmDD,wJAAwJ;AACxJ,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,SACH,eAAe,OAAO,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAyB3F"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGnG,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,MAAM,WAAW,CAAC;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC1F,iCAAiC;IACjC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,sEAAsE;IACtE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,gEAAgE;IAChE,SAAS,EAAE,OAAO,CAAC;CACpB;AAMD,4FAA4F;AAC5F,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAS/F;AAsDD,wJAAwJ;AACxJ,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,SACH,eAAe,OAAO,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAyB3F"}
package/dist/api.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { HEADER_HOP } from "@wizeworks/lens-core";
2
- import { remoteOf, sanitizeClientLog, sanitizeClientSpan } from "./client-spans.js";
2
+ import { browserClockOffset, remoteOf, sanitizeClientLog, sanitizeClientSpan } from "./client-spans.js";
3
3
  import { firstHeader, readJson, sendJson, setCors } from "./http-util.js";
4
4
  import { handleMcp } from "./mcp.js";
5
+ import { sendSearch, sendSuggest } from "./search-api.js";
5
6
  import { serveUi } from "./ui.js";
6
7
  const MAX_CLIENT_SPANS = 500;
7
8
  const MAX_CLIENT_LOGS = 100;
@@ -30,10 +31,11 @@ async function sendTrace(d, traceId, req, res, url) {
30
31
  async function receiveClientSpans(d, req, res) {
31
32
  try {
32
33
  const body = (await readJson(req));
34
+ const shiftMs = browserClockOffset(body?.sentAt, Date.now());
33
35
  const spans = Array.isArray(body?.spans) ? body.spans.slice(0, MAX_CLIENT_SPANS) : [];
34
36
  const origin = firstHeader(req.headers.origin);
35
37
  for (const raw of spans) {
36
- const span = sanitizeClientSpan(raw, d.redactKeys);
38
+ const span = sanitizeClientSpan(raw, d.redactKeys, shiftMs);
37
39
  if (!span)
38
40
  continue;
39
41
  d.store.addSpan(span);
@@ -43,7 +45,7 @@ async function receiveClientSpans(d, req, res) {
43
45
  }
44
46
  const logs = Array.isArray(body?.logs) ? body.logs.slice(0, MAX_CLIENT_LOGS) : [];
45
47
  for (const raw of logs) {
46
- const entry = sanitizeClientLog(raw, d.redactKeys);
48
+ const entry = sanitizeClientLog(raw, d.redactKeys, shiftMs);
47
49
  if (entry)
48
50
  d.store.addLog(entry.traceId, entry.log);
49
51
  }
@@ -63,6 +65,10 @@ async function handleApi(d, sub, method, req, res, url) {
63
65
  return sendTrace(d, traceMatch[1], req, res, url);
64
66
  if (sub === CLIENT_SPANS && method === "POST")
65
67
  return receiveClientSpans(d, req, res);
68
+ if (sub === "api/search" && method === "GET")
69
+ return sendSearch(d.store, url.searchParams, res, d.info().environment);
70
+ if (sub === "api/search/suggest" && method === "GET")
71
+ return sendSuggest(d.store, url.searchParams, res, d.info().environment);
66
72
  if (sub === "api/metrics/points" && method === "GET" && d.metrics) {
67
73
  const since = Number(url.searchParams.get("since"));
68
74
  return sendJson(res, 200, { points: d.metrics.since(Number.isFinite(since) ? since : 0) });
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAkB,KAAK,WAAW,EAAgD,MAAM,sBAAsB,CAAC;AAGtH,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQnD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,SACb,eAAe,OAAO,cAAc,QAAQ,IAAI,KAAG,IAAI,CAgBxF"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAkB,KAAK,WAAW,EAA+D,MAAM,sBAAsB,CAAC;AAGrI,OAAO,KAAK,EAAE,IAAI,EAAO,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQnD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,SACb,eAAe,OAAO,cAAc,QAAQ,IAAI,KAAG,IAAI,CAgBxF"}
package/dist/capture.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { context } from "@opentelemetry/api";
2
- import { captureRequest, isOwnPath, isPreflight, pathOf, serveOwnPath } from "./request-capture.js";
2
+ import { captureRequest, isOwnPath, isUntraced, pathOf, serveOwnPath, withoutTracing } from "./request-capture.js";
3
3
  import { watchRoute } from "./route-timing.js";
4
4
  import { recordOn } from "./spans.js";
5
5
  export { requestSpan } from "./request-capture.js";
@@ -15,8 +15,8 @@ export function createMiddleware(d) {
15
15
  const rawUrl = r.originalUrl ?? r.url ?? "/";
16
16
  if (isOwnPath(d, pathOf(rawUrl)))
17
17
  return void serveOwnPath(d, req, res);
18
- if (isPreflight(req))
19
- return next();
18
+ if (isUntraced(req))
19
+ return withoutTracing(next);
20
20
  const { span, ctx, startedAt } = captureRequest(d, req, res, rawUrl, () => expressRoute(r));
21
21
  watchRoute(req, "route", span, startedAt);
22
22
  context.with(ctx, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAoB,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,0EAA0E;AAC1E,SAAS,YAAY,CAAC,GAAQ;IAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;IAClC,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,CAAc;IAC7C,OAAO,SAAS,UAAU,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAU;QAC9E,MAAM,CAAC,GAAG,GAAU,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QAC7C,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,KAAK,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QACpC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAoB,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,0EAA0E;AAC1E,SAAS,YAAY,CAAC,GAAQ;IAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;IAClC,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,CAAc;IAC7C,OAAO,SAAS,UAAU,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAU;QAC9E,MAAM,CAAC,GAAG,GAAU,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QAC7C,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,KAAK,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { type LogRecord, type Span } from "@wizeworks/lens-core";
2
- /** Validate and redact one span posted by the browser. Returns null when it is not a valid span. */
3
- export declare function sanitizeClientSpan(raw: unknown, redactKeys: readonly string[]): Span | null;
4
- /** Validate and redact one browser log line. Returns null when it has no valid trace. */
5
- export declare function sanitizeClientLog(raw: unknown, redactKeys: readonly string[]): {
2
+ /** How far (ms) to move a browser's times onto this server's clock: 0 when it sent no clock, or one close enough. */
3
+ export declare function browserClockOffset(sentAt: unknown, receivedAt: number): number;
4
+ /** Validate and redact one span posted by the browser, moved by `shiftMs` (see browserClockOffset). Returns null when it is not a valid span. */
5
+ export declare function sanitizeClientSpan(raw: unknown, redactKeys: readonly string[], shiftMs?: number): Span | null;
6
+ /** Validate and redact one browser log line, moved by `shiftMs`. Returns null when it has no valid trace. */
7
+ export declare function sanitizeClientLog(raw: unknown, redactKeys: readonly string[], shiftMs?: number): {
6
8
  traceId: string;
7
9
  log: LogRecord;
8
10
  } | null;
@@ -1 +1 @@
1
- {"version":3,"file":"client-spans.d.ts","sourceRoot":"","sources":["../src/client-spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,IAAI,EAKV,MAAM,sBAAsB,CAAC;AA2B9B,oGAAoG;AACpG,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAqB3F;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAczH;AAED,iJAAiJ;AACjJ,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS9E"}
1
+ {"version":3,"file":"client-spans.d.ts","sourceRoot":"","sources":["../src/client-spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,IAAI,EAKV,MAAM,sBAAsB,CAAC;AAa9B,qHAAqH;AACrH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK9E;AAqBD,iJAAiJ;AACjJ,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,SAAI,GAAG,IAAI,GAAG,IAAI,CAqBxG;AAED,6GAA6G;AAC7G,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,SAAI,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CActI;AAED,iJAAiJ;AACjJ,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS9E"}
@@ -6,6 +6,17 @@ const HEX16 = /^[0-9a-f]{16}$/;
6
6
  const MAX_EVENTS = 50;
7
7
  const LEVELS = ["trace", "debug", "info", "warn", "error", "critical"];
8
8
  const text = (v, fallback, max) => (typeof v === "string" && v ? v.slice(0, max) : fallback);
9
+ // A crawler's clock put its page view 4.6 hours before the server request. Within this gap the difference is network time.
10
+ const CLOCK_TOLERANCE_MS = 10_000;
11
+ /** How far (ms) to move a browser's times onto this server's clock: 0 when it sent no clock, or one close enough. */
12
+ export function browserClockOffset(sentAt, receivedAt) {
13
+ const sent = Number(sentAt);
14
+ if (!Number.isFinite(sent) || sent <= 0)
15
+ return 0;
16
+ const offset = receivedAt - sent;
17
+ return Math.abs(offset) > CLOCK_TOLERANCE_MS ? offset : 0;
18
+ }
19
+ const shifted = (ms, shiftMs) => (ms ? ms + shiftMs : ms);
9
20
  function toAttributes(raw, redactKeys) {
10
21
  const out = {};
11
22
  if (raw && typeof raw === "object") {
@@ -14,17 +25,17 @@ function toAttributes(raw, redactKeys) {
14
25
  }
15
26
  return redactAttributes(out, redactKeys);
16
27
  }
17
- function toEvents(raw, redactKeys) {
28
+ function toEvents(raw, redactKeys, shiftMs) {
18
29
  const events = Array.isArray(raw) ? raw : [];
19
30
  return events.slice(0, MAX_EVENTS).flatMap((e) => {
20
31
  if (!e || typeof e !== "object")
21
32
  return [];
22
33
  const ev = e;
23
- return [{ name: String(ev.name ?? "event"), timeMs: Number(ev.timeMs) || 0, attributes: toAttributes(ev.attributes, redactKeys) }];
34
+ return [{ name: String(ev.name ?? "event"), timeMs: shifted(Number(ev.timeMs) || 0, shiftMs), attributes: toAttributes(ev.attributes, redactKeys) }];
24
35
  });
25
36
  }
26
- /** Validate and redact one span posted by the browser. Returns null when it is not a valid span. */
27
- export function sanitizeClientSpan(raw, redactKeys) {
37
+ /** Validate and redact one span posted by the browser, moved by `shiftMs` (see browserClockOffset). Returns null when it is not a valid span. */
38
+ export function sanitizeClientSpan(raw, redactKeys, shiftMs = 0) {
28
39
  if (!raw || typeof raw !== "object")
29
40
  return null;
30
41
  const s = raw;
@@ -41,23 +52,23 @@ export function sanitizeClientSpan(raw, redactKeys) {
41
52
  kind: SPAN_KINDS.includes(s.kind) ? s.kind : "client",
42
53
  category: CATEGORIES.includes(s.category) ? s.category : "browser",
43
54
  service: typeof s.service === "string" && s.service ? s.service.slice(0, 100) : "browser",
44
- startMs: Number(s.startMs) || 0,
55
+ startMs: shifted(Number(s.startMs) || 0, shiftMs),
45
56
  durationMs: Math.max(0, Number(s.durationMs) || 0),
46
57
  status: s.status === "error" || s.status === "ok" ? s.status : "unset",
47
58
  statusMessage: typeof s.statusMessage === "string" ? s.statusMessage : null,
48
59
  attributes: toAttributes(s.attributes, redactKeys),
49
- events: toEvents(s.events, redactKeys),
60
+ events: toEvents(s.events, redactKeys, shiftMs),
50
61
  };
51
62
  }
52
- /** Validate and redact one browser log line. Returns null when it has no valid trace. */
53
- export function sanitizeClientLog(raw, redactKeys) {
63
+ /** Validate and redact one browser log line, moved by `shiftMs`. Returns null when it has no valid trace. */
64
+ export function sanitizeClientLog(raw, redactKeys, shiftMs = 0) {
54
65
  if (!raw || typeof raw !== "object")
55
66
  return null;
56
67
  const l = raw;
57
68
  if (typeof l.traceId !== "string" || !HEX32.test(l.traceId))
58
69
  return null;
59
70
  const log = {
60
- timeMs: Number(l.timeMs) || Date.now(),
71
+ timeMs: shifted(Number(l.timeMs), shiftMs) || Date.now(),
61
72
  level: LEVELS.includes(l.level) ? l.level : "info",
62
73
  category: text(l.category, "console", 100),
63
74
  message: typeof l.message === "string" ? l.message.slice(0, 4000) : "",
@@ -1 +1 @@
1
- {"version":3,"file":"client-spans.js","sourceRoot":"","sources":["../src/client-spans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-spans.js","sourceRoot":"","sources":["../src/client-spans.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../src/frameworks/fastify.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAmDlC,yGAAyG;AACzG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,SAC3B,OAAO,SAAS,OAAO,QAAQ,IAAI,KAAG,IAAI,CAahE"}
1
+ {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../src/frameworks/fastify.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAoDlC,yGAAyG;AACzG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,SAC3B,OAAO,SAAS,OAAO,QAAQ,IAAI,KAAG,IAAI,CAahE"}
@@ -1,6 +1,6 @@
1
1
  import { context } from "@opentelemetry/api";
2
2
  import { captureOf } from "../adapters/registry.js";
3
- import { captureRequest, isOwnPath, isPreflight, pathOf, serveOwnPath } from "../request-capture.js";
3
+ import { captureRequest, isOwnPath, isUntraced, pathOf, serveOwnPath, withoutTracing } from "../request-capture.js";
4
4
  import { instrumentPino } from "../logs/pino.js";
5
5
  import { markRouted } from "../route-timing.js";
6
6
  import { recordOn } from "../spans.js";
@@ -8,8 +8,10 @@ const requests = new WeakMap();
8
8
  function addHooks(app, d) {
9
9
  app.addHook("onRequest", (request, reply, done) => {
10
10
  const rawUrl = request.raw.url ?? "/";
11
- if (isOwnPath(d, pathOf(rawUrl)) || isPreflight(request.raw))
11
+ if (isOwnPath(d, pathOf(rawUrl)))
12
12
  return done();
13
+ if (isUntraced(request.raw))
14
+ return withoutTracing(() => done());
13
15
  const captured = captureRequest(d, request.raw, reply.raw, rawUrl, () => request.routeOptions?.url);
14
16
  requests.set(request.raw, captured);
15
17
  context.with(captured.ctx, () => done());
@@ -1 +1 @@
1
- {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/frameworks/fastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/frameworks/fastify.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { context } from "@opentelemetry/api";
2
2
  import { captureOf } from "../adapters/registry.js";
3
- import { captureRequest, isOwnPath, isPreflight, pathOf, serveOwnPath } from "../request-capture.js";
3
+ import { captureRequest, isOwnPath, isUntraced, pathOf, serveOwnPath, withoutTracing } from "../request-capture.js";
4
4
  import { recordOn } from "../spans.js";
5
5
  /** Tells @hono/node-server that the response was already written to the Node response. */
6
6
  const alreadySent = () => new Response(null, { headers: { "x-hono-already-sent": "true" } });
@@ -23,8 +23,8 @@ export function wizelensHono(wizelens) {
23
23
  await serveOwnPath(d, incoming, outgoing);
24
24
  return alreadySent();
25
25
  }
26
- if (isPreflight(incoming))
27
- return next();
26
+ if (isUntraced(incoming))
27
+ return withoutTracing(next);
28
28
  const { span, ctx } = captureRequest(d, incoming, outgoing, rawUrl, () => honoRoute(c));
29
29
  await context.with(ctx, next);
30
30
  if (c.error)
@@ -1 +1 @@
1
- {"version":3,"file":"hono.js","sourceRoot":"","sources":["../../src/frameworks/hono.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAYvC,0FAA0F;AAC1F,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAE7F,6FAA6F;AAC7F,SAAS,SAAS,CAAC,CAAkB;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;AAC9D,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,OAAO,KAAK,UAAU,sBAAsB,CAAC,QAAiB,EAAE,IAAc;QAC5E,MAAM,CAAC,GAAG,QAA2B,CAAC;QACtC,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QACzC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hono.js","sourceRoot":"","sources":["../../src/frameworks/hono.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAYvC,0FAA0F;AAC1F,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;AAE7F,6FAA6F;AAC7F,SAAS,SAAS,CAAC,CAAkB;IACnC,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC;AAC9D,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,OAAO,KAAK,UAAU,sBAAsB,CAAC,QAAiB,EAAE,IAAc;QAC5E,MAAM,CAAC,GAAG,QAA2B,CAAC;QACtC,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;QACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,KAAK;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { context } from "@opentelemetry/api";
2
2
  import { HEADER_ENDPOINT, HEADER_TRACE } from "@wizeworks/lens-core";
3
3
  import { captureOf } from "../adapters/registry.js";
4
- import { captureRequest, isOwnPath, isPreflight, pathOf, serveOwnPath } from "../request-capture.js";
4
+ import { captureRequest, isOwnPath, isUntraced, pathOf, serveOwnPath, withoutTracing } from "../request-capture.js";
5
5
  import { watchRoute } from "../route-timing.js";
6
6
  import { recordOn } from "../spans.js";
7
7
  const KEEP = [HEADER_TRACE, HEADER_ENDPOINT, "Access-Control-Expose-Headers"];
@@ -24,8 +24,8 @@ export function wizelensKoa(wizelens) {
24
24
  ctx.respond = false;
25
25
  return serveOwnPath(d, ctx.req, ctx.res);
26
26
  }
27
- if (isPreflight(ctx.req))
28
- return void (await next());
27
+ if (isUntraced(ctx.req))
28
+ return void (await withoutTracing(next));
29
29
  const route = () => (typeof ctx._matchedRoute === "string" ? ctx._matchedRoute : undefined);
30
30
  const { span, ctx: otelCtx, startedAt } = captureRequest(d, ctx.req, ctx.res, rawUrl, route);
31
31
  watchRoute(ctx, "_matchedRoute", span, startedAt);
@@ -1 +1 @@
1
- {"version":3,"file":"koa.js","sourceRoot":"","sources":["../../src/frameworks/koa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAavC,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,+BAA+B,CAAC,CAAC;AAE9E,uIAAuI;AACvI,SAAS,WAAW,CAAC,GAAY,EAAE,GAAmB;IACpD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO;IAC5C,MAAM,CAAC,GAAG,GAA4C,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;IAC3G,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,KAAK,UAAU,qBAAqB,CAAC,GAAmB,EAAE,IAAa;QAC5E,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAClC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,OAAO,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7F,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"koa.js","sourceRoot":"","sources":["../../src/frameworks/koa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAavC,MAAM,IAAI,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,+BAA+B,CAAC,CAAC;AAE9E,uIAAuI;AACvI,SAAS,WAAW,CAAC,GAAY,EAAE,GAAmB;IACpD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO;IAC5C,MAAM,CAAC,GAAG,GAA4C,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;IAC3G,CAAC,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,KAAK,UAAU,qBAAqB,CAAC,GAAmB,EAAE,IAAa;QAC5E,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAClC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,OAAO,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7F,UAAU,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACpB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-server.d.ts","sourceRoot":"","sources":["../../src/frameworks/node-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAA6E,MAAM,uBAAuB,CAAC;AAEpI,qEAAqE;AACrE,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAqBnD,4IAA4I;AAC5I,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAcrE"}
1
+ {"version":3,"file":"node-server.d.ts","sourceRoot":"","sources":["../../src/frameworks/node-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,EAA4F,MAAM,uBAAuB,CAAC;AAEnJ,qEAAqE;AACrE,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAsBnD,4IAA4I;AAC5I,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAcrE"}
@@ -2,7 +2,7 @@ import { Server as HttpServer } from "node:http";
2
2
  import { Server as HttpsServer } from "node:https";
3
3
  import { context } from "@opentelemetry/api";
4
4
  import { patchMethod } from "../adapters/registry.js";
5
- import { captureRequest, isOwnPath, isPreflight, pathOf, requestSpan, serveOwnPath } from "../request-capture.js";
5
+ import { captureRequest, isOwnPath, isUntraced, pathOf, requestSpan, serveOwnPath, withoutTracing } from "../request-capture.js";
6
6
  /** A string attribute of a live SDK span. The OTel API has no getter, so this reads the SDK field. */
7
7
  function attributeOf(span, key) {
8
8
  const value = span.attributes?.[key];
@@ -15,8 +15,10 @@ function onRequest(d, ignore, req, res, emit) {
15
15
  void serveOwnPath(d, req, res);
16
16
  return true;
17
17
  }
18
- if (isPreflight(req) || ignore(path) || requestSpan(req))
18
+ if (requestSpan(req))
19
19
  return emit();
20
+ if (isUntraced(req) || ignore(path))
21
+ return withoutTracing(emit);
20
22
  // The framework names the route on this span: Next.js sets http.route on the span around its own.
21
23
  const captured = captureRequest(d, req, res, rawUrl, () => attributeOf(captured.span, "http.route"));
22
24
  return context.with(captured.ctx, emit);
@@ -1 +1 @@
1
- {"version":3,"file":"node-server.js","sourceRoot":"","sources":["../../src/frameworks/node-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,IAAI,UAAU,EAAuB,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,EAAyB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAoB,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKpI,sGAAsG;AACtG,SAAS,WAAW,CAAC,IAAc,EAAE,GAAW;IAC9C,MAAM,KAAK,GAAI,IAA4D,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,CAAc,EAAE,MAAkB,EAAE,GAAoB,EAAE,GAAmB,EAAE,IAAmB;IACnH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,KAAK,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IACxE,kGAAkG;IAClG,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACrG,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,4IAA4I;AAC5I,MAAM,UAAU,YAAY,CAAC,CAAc,EAAE,MAAkB;IAC7D,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,WAAW,CACT,KAAK,EACL,MAAM,EACN,CAAC,IAAI,EAAE,EAAE,CACP,SAAS,YAAY,CAAgB,GAAG,IAAe;YACrD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAsB,EAAE,GAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAY,CAAC,CAAC;QACtH,CAAC,EACH,aAAa,CACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"node-server.js","sourceRoot":"","sources":["../../src/frameworks/node-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,MAAM,IAAI,UAAU,EAAuB,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,OAAO,EAAyB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAoB,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKnJ,sGAAsG;AACtG,SAAS,WAAW,CAAC,IAAc,EAAE,GAAW;IAC9C,MAAM,KAAK,GAAI,IAA4D,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,CAAc,EAAE,MAAkB,EAAE,GAAoB,EAAE,GAAmB,EAAE,IAAmB;IACnH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QACvB,KAAK,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,WAAW,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IACpC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IACjE,kGAAkG;IAClG,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IACrG,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,4IAA4I;AAC5I,MAAM,UAAU,YAAY,CAAC,CAAc,EAAE,MAAkB;IAC7D,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAClE,WAAW,CACT,KAAK,EACL,MAAM,EACN,CAAC,IAAI,EAAE,EAAE,CACP,SAAS,YAAY,CAAgB,GAAG,IAAe;YACrD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YAC/B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvD,OAAO,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAsB,EAAE,GAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAY,CAAC,CAAC;QACtH,CAAC,EACH,aAAa,CACd,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/info.js CHANGED
@@ -11,7 +11,7 @@ export function buildInfo(i) {
11
11
  const o = i.options;
12
12
  return {
13
13
  mode: "in-app",
14
- capabilities: [...IN_APP_CAPABILITIES, ...(i.metrics ? ["metrics"] : [])],
14
+ capabilities: [...IN_APP_CAPABILITIES, "search", ...(i.metrics ? ["metrics"] : [])],
15
15
  service: o.serviceName,
16
16
  version: VERSION,
17
17
  runtime: `node ${process.version}`,
package/dist/info.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAoB,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAY,OAAO,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAYpC,kEAAkE;AAClE,MAAM,UAAU,SAAS,CAAC,CAAa;IACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ,OAAO,CAAC,OAAO,EAAE;QAClC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;QAClD,IAAI,EAAE,QAAQ,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC7G,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,kBAAkB,EAAE;QAC/H,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS;QAC3D,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS;QAC7B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS;KACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAoB,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAY,OAAO,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAYpC,kEAAkE;AAClE,MAAM,UAAU,SAAS,CAAC,CAAa;IACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC,GAAG,mBAAmB,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,SAAS,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,EAAE,CAAC,CAAC,WAAW;QACtB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,QAAQ,OAAO,CAAC,OAAO,EAAE;QAClC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAClB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;QAClD,IAAI,EAAE,QAAQ,EAAE;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC7G,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,qBAAqB,EAAE,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,kBAAkB,EAAE;QAC/H,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;QAC7B,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS;QAC3D,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS;QAC7B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS;KACxC,CAAC;AACJ,CAAC"}
package/dist/kit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { handleMcp } from "./mcp.js";
2
- export type { McpDataSource } from "./mcp.js";
2
+ export type { McpDataSource, McpProject, McpProjects } from "./mcp.js";
3
3
  export { sanitizeClientSpan } from "./client-spans.js";
4
4
  export { resolveUiDir, serveUi } from "./ui.js";
5
5
  export { firstHeader, readJson, sendJson, setCors } from "./http-util.js";
package/dist/kit.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../src/kit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"kit.d.ts","sourceRoot":"","sources":["../src/kit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { type Audit, type McpDataSource } from "./mcp-shared.js";
2
+ import { type Source } from "./mcp-shared.js";
3
3
  /** find_slow_queries and find_n_plus_one. */
4
- export declare function registerFindTools(server: McpServer, data: McpDataSource, audit: Audit): void;
4
+ export declare function registerFindTools(server: McpServer, src: Source): void;
5
5
  //# sourceMappingURL=mcp-find.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-find.d.ts","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,KAAK,KAAK,EAAQ,KAAK,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAyClF,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAG5F"}
1
+ {"version":3,"file":"mcp-find.d.ts","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAuC,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkDnF,6CAA6C;AAC7C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAGtE"}
package/dist/mcp-find.js CHANGED
@@ -1,10 +1,21 @@
1
- import { findNPlusOneDb, findNPlusOneHttp, queryText } from "@wizeworks/lens-core";
1
+ import { findNPlusOneDb, findNPlusOneHttp, parseSearch, queryText } from "@wizeworks/lens-core";
2
2
  import { z } from "zod";
3
3
  import { json, READ_ONLY } from "./mcp-shared.js";
4
- function slowQueries(traces, threshold) {
5
- return traces.flatMap((t) => t.spans
6
- .filter((s) => s.category === "db" && s.durationMs >= threshold)
7
- .map((s) => ({ traceId: t.traceId, spanId: s.spanId, durationMs: s.durationMs, query: queryText(s), service: s.service })));
4
+ import { findAll, rangeArg } from "./mcp-store.js";
5
+ /** How many slow queries are read, newest first, before the slowest are picked. */
6
+ const SLOW_SCAN = 5_000;
7
+ /** The slowest database spans over `threshold` in the range, with their SQL. Only the picked spans load their trace. */
8
+ async function slowQueries(data, threshold, range, limit) {
9
+ const spans = await findAll(data, "spans", parseSearch(`category:db duration:>=${threshold}ms`), range, SLOW_SCAN);
10
+ const top = spans.sort((a, b) => b.durationMs - a.durationMs).slice(0, limit);
11
+ const traces = new Map();
12
+ const rows = [];
13
+ for (const s of top) {
14
+ const trace = await (traces.get(s.traceId) ?? traces.set(s.traceId, Promise.resolve(data.get(s.traceId, false))).get(s.traceId));
15
+ const span = trace?.spans.find((x) => x.spanId === s.spanId);
16
+ rows.push({ traceId: s.traceId, spanId: s.spanId, durationMs: s.durationMs, query: span ? queryText(span) : s.name, service: s.service });
17
+ }
18
+ return rows;
8
19
  }
9
20
  function nPlusOne(traces, n) {
10
21
  return traces.flatMap((t) => [
@@ -12,31 +23,30 @@ function nPlusOne(traces, n) {
12
23
  ...findNPlusOneHttp(t, n).map((f) => ({ traceId: t.traceId, kind: "http", shape: f.shape, count: f.count, totalMs: f.totalMs })),
13
24
  ]);
14
25
  }
15
- function registerSlowQueries(server, data, audit) {
26
+ function registerSlowQueries(server, src) {
16
27
  const inputSchema = {
17
- thresholdMs: z.number().min(0).optional().describe(`Default ${data.slowQueryMs}.`),
28
+ ...src.arg,
29
+ thresholdMs: z.number().min(0).optional().describe(`Default ${src.defaults.slowQueryMs}.`),
18
30
  limit: z.number().int().min(1).max(500).optional().describe("Default 20."),
31
+ range: rangeArg("to look"),
19
32
  };
20
- const description = "Find database queries slower than a threshold across recent traces.";
33
+ const description = "Find the slowest database queries over a threshold, from the whole store.";
21
34
  server.registerTool("find_slow_queries", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
22
- audit("find_slow_queries", args);
23
- const rows = slowQueries(data.all(), args.thresholdMs ?? data.slowQueryMs)
24
- .sort((a, b) => b.durationMs - a.durationMs)
25
- .slice(0, args.limit ?? 20);
26
- return json(rows);
35
+ const data = await src.open("find_slow_queries", args);
36
+ return json(await slowQueries(data, args.thresholdMs ?? data.slowQueryMs, args.range ?? "24h", args.limit ?? 20));
27
37
  });
28
38
  }
29
- function registerNPlusOne(server, data, audit) {
30
- const inputSchema = { minRepeats: z.number().int().min(2).optional().describe(`Default ${data.nPlusOneThreshold}.`) };
39
+ function registerNPlusOne(server, src) {
40
+ const inputSchema = { ...src.arg, minRepeats: z.number().int().min(2).optional().describe(`Default ${src.defaults.nPlusOneThreshold}.`) };
31
41
  const description = "Find N+1 patterns (same SQL or same HTTP call shape repeated in one trace).";
32
42
  server.registerTool("find_n_plus_one", { description, inputSchema, annotations: READ_ONLY }, async (args) => {
33
- audit("find_n_plus_one", args);
34
- return json(nPlusOne(data.all(), args.minRepeats ?? data.nPlusOneThreshold));
43
+ const data = await src.open("find_n_plus_one", args);
44
+ return json(nPlusOne(await data.all(), args.minRepeats ?? data.nPlusOneThreshold));
35
45
  });
36
46
  }
37
47
  /** find_slow_queries and find_n_plus_one. */
38
- export function registerFindTools(server, data, audit) {
39
- registerSlowQueries(server, data, audit);
40
- registerNPlusOne(server, data, audit);
48
+ export function registerFindTools(server, src) {
49
+ registerSlowQueries(server, src);
50
+ registerNPlusOne(server, src);
41
51
  }
42
52
  //# sourceMappingURL=mcp-find.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-find.js","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-find.js","sourceRoot":"","sources":["../src/mcp-find.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- import { type Audit, type McpDataSource } from "./mcp-shared.js";
2
+ import { type Source } from "./mcp-shared.js";
3
3
  /** list_metrics and get_metric, when the data source has metrics. */
4
- export declare function registerMetricTools(server: McpServer, data: McpDataSource, audit: Audit): void;
4
+ export declare function registerMetricTools(server: McpServer, src: Source): void;
5
5
  //# sourceMappingURL=mcp-metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-metrics.d.ts","sourceRoot":"","sources":["../src/mcp-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAE,KAAK,KAAK,EAAQ,KAAK,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAyElF,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAK9F"}
1
+ {"version":3,"file":"mcp-metrics.d.ts","sourceRoot":"","sources":["../src/mcp-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAAmB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AA2E/D,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKxE"}