@softprobe/softprobe-js 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared inbound request path resolver for HTTP framework adapters.
3
+ * Normalizes to path-only form so capture/replay identifiers stay deterministic.
4
+ */
5
+ export type InboundPathSource = {
6
+ originalUrl?: string;
7
+ url?: string;
8
+ path?: string;
9
+ };
10
+ /**
11
+ * Resolve canonical inbound path from framework request objects.
12
+ * Priority is originalUrl -> url -> path. Preserves query string, drops fragments,
13
+ * normalizes absolute URLs to path+query, and guarantees a rooted path.
14
+ */
15
+ export declare function resolveInboundPath(source: InboundPathSource): string;
16
+ //# sourceMappingURL=inbound-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound-path.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-path.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAwBpE"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveInboundPath = resolveInboundPath;
4
+ /**
5
+ * Resolve canonical inbound path from framework request objects.
6
+ * Priority is originalUrl -> url -> path. Preserves query string, drops fragments,
7
+ * normalizes absolute URLs to path+query, and guarantees a rooted path.
8
+ */
9
+ function resolveInboundPath(source) {
10
+ const preferred = source.originalUrl ?? source.url ?? source.path ?? '/';
11
+ const trimmed = preferred.trim();
12
+ if (!trimmed)
13
+ return '/';
14
+ // Normalize absolute URL inputs to path+query only.
15
+ if (/^[a-zA-Z][a-zA-Z\d+.-]*:\/\//.test(trimmed)) {
16
+ try {
17
+ const parsed = new URL(trimmed);
18
+ const normalized = `${parsed.pathname || '/'}${parsed.search}`;
19
+ return normalized || '/';
20
+ }
21
+ catch {
22
+ // Fall through to plain-path normalization.
23
+ }
24
+ }
25
+ const withoutFragment = trimmed.split('#')[0] || '';
26
+ const rooted = withoutFragment.startsWith('/')
27
+ ? withoutFragment
28
+ : withoutFragment.startsWith('?')
29
+ ? `/${withoutFragment}`
30
+ : `/${withoutFragment}`;
31
+ return rooted || '/';
32
+ }
33
+ //# sourceMappingURL=inbound-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inbound-path.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-path.ts"],"names":[],"mappings":";;AAeA,gDAwBC;AA7BD;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;IACzE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IAEzB,oDAAoD;IACpD,IAAI,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/D,OAAO,UAAU,IAAI,GAAG,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GACV,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;QAC7B,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;YAC/B,CAAC,CAAC,IAAI,eAAe,EAAE;YACvB,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;IAC9B,OAAO,MAAM,IAAI,GAAG,CAAC;AACvB,CAAC"}
@@ -6,6 +6,14 @@
6
6
  import { CaptureEngine, queueInboundResponse, type QueueInboundResponsePayload } from '../common/http/inbound-capture';
7
7
  export { CaptureEngine, queueInboundResponse };
8
8
  export type { QueueInboundResponsePayload };
9
+ type ExpressInboundRequest = {
10
+ method: string;
11
+ path: string;
12
+ originalUrl?: string;
13
+ url?: string;
14
+ body?: unknown;
15
+ headers?: Record<string, string | string[] | undefined>;
16
+ };
9
17
  /**
10
18
  * Environment-aware Express middleware. Replay uses cassetteDirectory + traceId (from context/headers);
11
19
  * storage is resolved per request and SoftprobeContext.run loads the cassette in REPLAY mode.
@@ -14,12 +22,7 @@ export type { QueueInboundResponsePayload };
14
22
  * Task 17.3.2: Runs the whole request inside OTel context and does not return until res.end() so
15
23
  * downstream code (route handlers, MSW fetch listener) sees the same SoftprobeContext state.
16
24
  */
17
- export declare function softprobeExpressMiddleware(req: {
18
- method: string;
19
- path: string;
20
- body?: unknown;
21
- headers?: Record<string, string | string[] | undefined>;
22
- }, res: {
25
+ export declare function softprobeExpressMiddleware(req: ExpressInboundRequest, res: {
23
26
  statusCode: number;
24
27
  send: (body?: unknown) => unknown;
25
28
  }, next: (err?: unknown) => void): void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAC/C,YAAY,EAAE,2BAA2B,EAAE,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;CAAE,EAC9G,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,EAC9D,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,GAC5B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DtB"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,KAAK,2BAA2B,EACjC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AAC/C,YAAY,EAAE,2BAA2B,EAAE,CAAC;AAE5C,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,qBAAqB,EAC1B,GAAG,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAA;CAAE,EAC9D,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,GAC5B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DtB"}
@@ -16,6 +16,7 @@ const inbound_capture_1 = require("../common/http/inbound-capture");
16
16
  Object.defineProperty(exports, "CaptureEngine", { enumerable: true, get: function () { return inbound_capture_1.CaptureEngine; } });
17
17
  Object.defineProperty(exports, "queueInboundResponse", { enumerable: true, get: function () { return inbound_capture_1.queueInboundResponse; } });
18
18
  const span_adapter_1 = require("../common/http/span-adapter");
19
+ const inbound_path_1 = require("../common/http/inbound-path");
19
20
  /**
20
21
  * Environment-aware Express middleware. Replay uses cassetteDirectory + traceId (from context/headers);
21
22
  * storage is resolved per request and SoftprobeContext.run loads the cassette in REPLAY mode.
@@ -68,7 +69,7 @@ function softprobeExpressMiddleware(req, res, next) {
68
69
  inbound_capture_1.CaptureEngine.queueInboundResponse(ctxTraceId, {
69
70
  status: res.statusCode,
70
71
  body,
71
- identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(req.method, req.path),
72
+ identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(req.method, (0, inbound_path_1.resolveInboundPath)(req)),
72
73
  requestBody: req.body,
73
74
  requestBodyBytes: (0, http_body_1.parseContentLengthHeader)(req.headers),
74
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAiD7E;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpF"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAkD7E;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpF"}
@@ -9,6 +9,7 @@ exports.softprobeFastifyPlugin = softprobeFastifyPlugin;
9
9
  const api_1 = require("@opentelemetry/api");
10
10
  const inbound_capture_1 = require("../common/http/inbound-capture");
11
11
  const span_adapter_1 = require("../common/http/span-adapter");
12
+ const inbound_path_1 = require("../common/http/inbound-path");
12
13
  const replay_1 = require("./replay");
13
14
  const context_1 = require("../../context");
14
15
  const context_request_storage_1 = require("../../core/cassette/context-request-storage");
@@ -56,7 +57,7 @@ async function softprobeFastifyPlugin(fastify) {
56
57
  inbound_capture_1.CaptureEngine.queueInboundResponse(traceId, {
57
58
  status: reply.statusCode,
58
59
  body: payload,
59
- identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(request.method, request.url),
60
+ identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(request.method, (0, inbound_path_1.resolveInboundPath)({ url: request.url })),
60
61
  });
61
62
  return payload;
62
63
  });
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAwDH,wDAkBC;AAvED,4CAAoD;AACpD,oEAA+D;AAC/D,8DAAyE;AACzE,qCAA4D;AAC5D,2CAAiD;AACjD,yFAA8F;AAE9F;;;;GAIG;AACH,SAAS,yBAAyB,CAChC,OAAuB,EACvB,KAAmB,EACnB,IAA2B;IAE3B,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,0BAAgB,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,0BAAgB,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,OAAwD,CAAC,CAAC;IACjI,MAAM,SAAS,GAAG,aAAO,CAAC,MAAM,EAAE,CAAC;IACnC,MAAM,gBAAgB,GAAG,0BAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,0BAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,0BAAgB,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,yDAA+B,EACjD,OAAO,CAAC,OAAwD,EAChE,SAAS,EACT,UAAU,CACX,CAAC;IAEF,MAAM,OAAO,GAAG,aAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAClD,0BAAgB,CAAC,GAAG,CAClB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EAC/C,KAAK,IAAI,EAAE;QACT,IAAI,EAAE,CAAC;QACP,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CACF,CAAC;IACF,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACnD,IAAI,CAAC,GAAY,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,sBAAsB,CAAC,OAAwB;IACnE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;IACxD,IAAI,0BAAgB,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,yCAAgC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,0BAAgB,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1D,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,uEAAuE;YACvE,+BAAa,CAAC,oBAAoB,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,KAAK,CAAC,UAAU;gBACxB,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,IAAA,yCAA0B,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/instrumentations/fastify/capture.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softprobe/softprobe-js",
3
- "version": "2.0.5",
3
+ "version": "2.0.6",
4
4
  "description": "Topology-aware record & replay testing framework via OpenTelemetry",
5
5
  "keywords": [
6
6
  "softprobe",