@softprobe/softprobe-js 2.0.6 → 2.0.8

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 (28) hide show
  1. package/dist/bootstrap/otel/framework-mutator.d.ts.map +1 -1
  2. package/dist/bootstrap/otel/framework-mutator.js +21 -13
  3. package/dist/bootstrap/otel/framework-mutator.js.map +1 -1
  4. package/dist/bootstrap/otel/mutator.d.ts.map +1 -1
  5. package/dist/bootstrap/otel/mutator.js +2 -5
  6. package/dist/bootstrap/otel/mutator.js.map +1 -1
  7. package/dist/core/runtime/wrap.d.ts +16 -0
  8. package/dist/core/runtime/wrap.d.ts.map +1 -0
  9. package/dist/core/runtime/wrap.js +75 -0
  10. package/dist/core/runtime/wrap.js.map +1 -0
  11. package/dist/instrumentations/common/http/inbound-capture.d.ts +7 -1
  12. package/dist/instrumentations/common/http/inbound-capture.d.ts.map +1 -1
  13. package/dist/instrumentations/common/http/inbound-capture.js +5 -4
  14. package/dist/instrumentations/common/http/inbound-capture.js.map +1 -1
  15. package/dist/instrumentations/common/utils/callback.d.ts +8 -0
  16. package/dist/instrumentations/common/utils/callback.d.ts.map +1 -0
  17. package/dist/instrumentations/common/utils/callback.js +16 -0
  18. package/dist/instrumentations/common/utils/callback.js.map +1 -0
  19. package/dist/instrumentations/express/capture.d.ts.map +1 -1
  20. package/dist/instrumentations/express/capture.js +4 -0
  21. package/dist/instrumentations/express/capture.js.map +1 -1
  22. package/dist/instrumentations/postgres/replay.d.ts.map +1 -1
  23. package/dist/instrumentations/postgres/replay.js +21 -48
  24. package/dist/instrumentations/postgres/replay.js.map +1 -1
  25. package/dist/instrumentations/redis/replay.d.ts.map +1 -1
  26. package/dist/instrumentations/redis/replay.js +8 -11
  27. package/dist/instrumentations/redis/replay.js.map +1 -1
  28. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"framework-mutator.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/otel/framework-mutator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,CAiBtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAgF7C"}
1
+ {"version":3,"file":"framework-mutator.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/otel/framework-mutator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,CA8CtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAgF7C"}
@@ -5,15 +5,12 @@
5
5
  * first middleware/route addition triggers our middleware; patch Fastify factory
6
6
  * so new instances get the plugin registered.
7
7
  */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
8
  Object.defineProperty(exports, "__esModule", { value: true });
12
9
  exports.patchExpress = patchExpress;
13
10
  exports.applyFrameworkMutators = applyFrameworkMutators;
14
- const shimmer_1 = __importDefault(require("shimmer"));
15
11
  const capture_1 = require("../../instrumentations/express/capture");
16
12
  const capture_2 = require("../../instrumentations/fastify/capture");
13
+ const wrap_1 = require("../../core/runtime/wrap");
17
14
  const nodeRequire = (typeof require !== 'undefined' ? require : undefined);
18
15
  /**
19
16
  * Patch Express so the first time a route is added (e.g. app.get), we call
@@ -26,20 +23,31 @@ function patchExpress(express) {
26
23
  return;
27
24
  const exp = express;
28
25
  const proto = exp.application ?? Object.getPrototypeOf(express());
29
- if (!proto || typeof proto.route !== 'function')
26
+ if (!proto || typeof proto.route !== 'function' || typeof proto.use !== 'function')
30
27
  return;
31
28
  if (proto._softprobeRoutePatched)
32
29
  return;
33
30
  proto._softprobeRoutePatched = true;
34
- shimmer_1.default.wrap(proto, 'route', (original) => {
35
- return function route(...args) {
36
- if (!this._softprobeMiddlewareAdded) {
37
- this._softprobeMiddlewareAdded = true;
38
- this.use(capture_1.softprobeExpressMiddleware);
39
- }
31
+ const originalUse = proto.use;
32
+ const ensureInjected = function () {
33
+ if (this._softprobeMiddlewareAdded)
34
+ return;
35
+ this._softprobeMiddlewareAdded = true;
36
+ originalUse.call(this, capture_1.softprobeExpressMiddleware);
37
+ };
38
+ const patchOnce = (method) => {
39
+ const fn = proto[method];
40
+ if (typeof fn !== 'function')
41
+ return;
42
+ (0, wrap_1.wrapMethodNoConflict)(proto, method, `express.inject.${method}`, (original) => function expressPatched(...args) {
43
+ ensureInjected.call(this);
40
44
  return original.apply(this, args);
41
- };
42
- });
45
+ });
46
+ };
47
+ const methods = ['route', 'use', 'all', 'get', 'post', 'put', 'delete', 'patch', 'options', 'head'];
48
+ for (const method of methods) {
49
+ patchOnce(method);
50
+ }
43
51
  }
44
52
  /**
45
53
  * Patches Node's require so that when 'express' or 'fastify' is required,
@@ -1 +1 @@
1
- {"version":3,"file":"framework-mutator.js","sourceRoot":"","sources":["../../../src/bootstrap/otel/framework-mutator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"framework-mutator.js","sourceRoot":"","sources":["../../../src/bootstrap/otel/framework-mutator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/otel/mutator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACzC,2BAA2B,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,CAAC,EAAE,0BAA0B,GAClC,IAAI,CAuCN"}
1
+ {"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/otel/mutator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACzC,2BAA2B,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,CAAC,EAAE,0BAA0B,GAClC,IAAI,CAwCN"}
@@ -5,13 +5,10 @@
5
5
  * is done solely via the MSW interceptor (replay/http.ts), not undici instrumentation.
6
6
  * Design §5.2, §5.3.
7
7
  */
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
8
  Object.defineProperty(exports, "__esModule", { value: true });
12
9
  exports.applyAutoInstrumentationMutator = applyAutoInstrumentationMutator;
13
- const shimmer_1 = __importDefault(require("shimmer"));
14
10
  const inject_1 = require("./inject");
11
+ const wrap_1 = require("../../core/runtime/wrap");
15
12
  const capture_1 = require("../../instrumentations/postgres/capture");
16
13
  const capture_2 = require("../../instrumentations/redis/capture");
17
14
  /**
@@ -21,7 +18,7 @@ const capture_2 = require("../../instrumentations/redis/capture");
21
18
  */
22
19
  function applyAutoInstrumentationMutator(target) {
23
20
  const moduleExport = target ?? require('@opentelemetry/auto-instrumentations-node');
24
- shimmer_1.default.wrap(moduleExport, 'getNodeAutoInstrumentations', ((original) => {
21
+ (0, wrap_1.wrapMethodNoConflict)(moduleExport, 'getNodeAutoInstrumentations', 'otel.auto-instrumentations.getNodeAutoInstrumentations', ((original) => {
25
22
  return function wrappedGetNodeAutoInstrumentations(options) {
26
23
  // Real getNodeAutoInstrumentations(inputConfigs) creates instances from config;
27
24
  // merge our responseHooks into the input so instances get them (E2E).
@@ -1 +1 @@
1
- {"version":3,"file":"mutator.js","sourceRoot":"","sources":["../../../src/bootstrap/otel/mutator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAwBH,0EAyCC;AA/DD,sDAA8B;AAC9B,qCAA0D;AAC1D,qEAIiD;AACjD,kEAG8C;AAO9C;;;;GAIG;AACH,SAAgB,+BAA+B,CAC7C,MAAmC;IAEnC,MAAM,YAAY,GAChB,MAAM,IAAI,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAEjE,iBAAO,CAAC,IAAI,CACV,YAAY,EACZ,6BAA6B,EAC7B,CAAC,CAAC,QAA0C,EAAE,EAAE;QAC9C,OAAO,SAAS,kCAAkC,CAEhD,OAAiB;YAEjB,gFAAgF;YAChF,sEAAsE;YACtE,MAAM,KAAK,GACT,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvE,CAAC,CAAE,OAAmC;gBACtC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;YACrD,MAAM,CAAC,iCAAuB,CAAC,GAAG;gBAChC,GAAG,CAAE,KAAK,CAAC,iCAAuB,CAAY,IAAI,EAAE,CAAC;gBACrD,WAAW,EAAE,IAAA,kCAAwB,GAAE;gBACvC,YAAY,EAAE,IAAA,mCAAyB,GAAE;aAC1C,CAAC;YACF,MAAM,CAAC,oCAA0B,CAAC,GAAG;gBACnC,GAAG,CAAE,KAAK,CAAC,oCAA0B,CAAY,IAAI,EAAE,CAAC;gBACxD,YAAY,EAAE,IAAA,gCAAsB,GAAE;aACvC,CAAC;YAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,mFAAmF;YACnF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,IAAA,mBAAU,EAAC,GAAG,EAAE,iCAAuB,EAAE,aAAa,EAAE,IAAA,kCAAwB,GAAE,CAAC,CAAC;YACpF,IAAA,2BAAkB,EAAC,GAAG,EAAE,iCAAuB,EAAE,IAAA,mCAAyB,GAAE,CAAC,CAAC;YAC9E,IAAA,2BAAkB,EAAC,GAAG,EAAE,oCAA0B,EAAE,IAAA,gCAAsB,GAAE,CAAC,CAAC;YAC9E,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC,CAAmF,CACrF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"mutator.js","sourceRoot":"","sources":["../../../src/bootstrap/otel/mutator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwBH,0EA0CC;AAhED,qCAA0D;AAC1D,kDAA+D;AAC/D,qEAIiD;AACjD,kEAG8C;AAO9C;;;;GAIG;AACH,SAAgB,+BAA+B,CAC7C,MAAmC;IAEnC,MAAM,YAAY,GAChB,MAAM,IAAI,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAEjE,IAAA,2BAAoB,EAClB,YAAkD,EAClD,6BAA6B,EAC7B,wDAAwD,EACxD,CAAC,CAAC,QAA0C,EAAE,EAAE;QAC9C,OAAO,SAAS,kCAAkC,CAEhD,OAAiB;YAEjB,gFAAgF;YAChF,sEAAsE;YACtE,MAAM,KAAK,GACT,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvE,CAAC,CAAE,OAAmC;gBACtC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;YACrD,MAAM,CAAC,iCAAuB,CAAC,GAAG;gBAChC,GAAG,CAAE,KAAK,CAAC,iCAAuB,CAAY,IAAI,EAAE,CAAC;gBACrD,WAAW,EAAE,IAAA,kCAAwB,GAAE;gBACvC,YAAY,EAAE,IAAA,mCAAyB,GAAE;aAC1C,CAAC;YACF,MAAM,CAAC,oCAA0B,CAAC,GAAG;gBACnC,GAAG,CAAE,KAAK,CAAC,oCAA0B,CAAY,IAAI,EAAE,CAAC;gBACxD,YAAY,EAAE,IAAA,gCAAsB,GAAE;aACvC,CAAC;YAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3C,mFAAmF;YACnF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,IAAA,mBAAU,EAAC,GAAG,EAAE,iCAAuB,EAAE,aAAa,EAAE,IAAA,kCAAwB,GAAE,CAAC,CAAC;YACpF,IAAA,2BAAkB,EAAC,GAAG,EAAE,iCAAuB,EAAE,IAAA,mCAAyB,GAAE,CAAC,CAAC;YAC9E,IAAA,2BAAkB,EAAC,GAAG,EAAE,oCAA0B,EAAE,IAAA,gCAAsB,GAAE,CAAC,CAAC;YAC9E,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;IACJ,CAAC,CAAmF,CACrF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Softprobe wrapper utility that avoids shimmer's `__wrapped` metadata.
3
+ * We use Softprobe-owned metadata keys so OpenTelemetry wrapper detection
4
+ * does not treat Softprobe wrappers as foreign wrappers to strip.
5
+ */
6
+ export declare const SOFTPROBE_WRAPPER_MARKER_KEY = "__softprobeWrapped";
7
+ export declare const SOFTPROBE_WRAPPER_ORIGINAL_NAME_KEY = "__softprobeOriginalName";
8
+ type AnyFn = (...args: unknown[]) => unknown;
9
+ export declare function isMethodWrappedWithMarker(target: Record<string, unknown>, method: string, marker: string): boolean;
10
+ /**
11
+ * Wrap target[method] with wrapperFactory(original) and store Softprobe metadata.
12
+ * Idempotent by marker for each method.
13
+ */
14
+ export declare function wrapMethodNoConflict(target: Record<string, unknown>, method: string, marker: string, wrapperFactory: (original: AnyFn) => AnyFn): void;
15
+ export {};
16
+ //# sourceMappingURL=wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/wrap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AACjE,eAAO,MAAM,mCAAmC,4BAA4B,CAAC;AAE7E,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AA0C7C,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAGT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,KAAK,GACzC,IAAI,CAmBN"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Softprobe wrapper utility that avoids shimmer's `__wrapped` metadata.
4
+ * We use Softprobe-owned metadata keys so OpenTelemetry wrapper detection
5
+ * does not treat Softprobe wrappers as foreign wrappers to strip.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SOFTPROBE_WRAPPER_ORIGINAL_NAME_KEY = exports.SOFTPROBE_WRAPPER_MARKER_KEY = void 0;
9
+ exports.isMethodWrappedWithMarker = isMethodWrappedWithMarker;
10
+ exports.wrapMethodNoConflict = wrapMethodNoConflict;
11
+ exports.SOFTPROBE_WRAPPER_MARKER_KEY = '__softprobeWrapped';
12
+ exports.SOFTPROBE_WRAPPER_ORIGINAL_NAME_KEY = '__softprobeOriginalName';
13
+ function methodFn(target, method) {
14
+ const value = target[method];
15
+ if (typeof value !== 'function')
16
+ return undefined;
17
+ return value;
18
+ }
19
+ function markWrapped(fn, marker, originalName) {
20
+ Object.defineProperty(fn, exports.SOFTPROBE_WRAPPER_MARKER_KEY, {
21
+ configurable: true,
22
+ enumerable: false,
23
+ writable: false,
24
+ value: marker,
25
+ });
26
+ Object.defineProperty(fn, exports.SOFTPROBE_WRAPPER_ORIGINAL_NAME_KEY, {
27
+ configurable: true,
28
+ enumerable: false,
29
+ writable: false,
30
+ value: originalName,
31
+ });
32
+ }
33
+ function preserveName(wrapper, originalName) {
34
+ if (!originalName)
35
+ return;
36
+ try {
37
+ Object.defineProperty(wrapper, 'name', {
38
+ configurable: true,
39
+ enumerable: false,
40
+ writable: false,
41
+ value: originalName,
42
+ });
43
+ }
44
+ catch {
45
+ // best effort only; function name may be non-configurable in some runtimes
46
+ }
47
+ }
48
+ function isMethodWrappedWithMarker(target, method, marker) {
49
+ const fn = methodFn(target, method);
50
+ return Boolean(fn && fn[exports.SOFTPROBE_WRAPPER_MARKER_KEY] === marker);
51
+ }
52
+ /**
53
+ * Wrap target[method] with wrapperFactory(original) and store Softprobe metadata.
54
+ * Idempotent by marker for each method.
55
+ */
56
+ function wrapMethodNoConflict(target, method, marker, wrapperFactory) {
57
+ const original = methodFn(target, method);
58
+ if (!original)
59
+ return;
60
+ if (original[exports.SOFTPROBE_WRAPPER_MARKER_KEY] === marker)
61
+ return;
62
+ const wrapped = wrapperFactory(original);
63
+ if (typeof wrapped !== 'function') {
64
+ throw new Error(`wrapMethodNoConflict expected function wrapper for ${String(method)}`);
65
+ }
66
+ preserveName(wrapped, original.name || String(method));
67
+ markWrapped(wrapped, marker, original.name || String(method));
68
+ Object.defineProperty(target, method, {
69
+ configurable: true,
70
+ enumerable: true,
71
+ writable: true,
72
+ value: wrapped,
73
+ });
74
+ }
75
+ //# sourceMappingURL=wrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../src/core/runtime/wrap.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA+CH,8DAOC;AAMD,oDAwBC;AAlFY,QAAA,4BAA4B,GAAG,oBAAoB,CAAC;AACpD,QAAA,mCAAmC,GAAG,yBAAyB,CAAC;AAS7E,SAAS,QAAQ,CAAC,MAA+B,EAAE,MAAc;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,KAA2B,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAAC,EAAsB,EAAE,MAAc,EAAE,YAAoB;IAC/E,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,oCAA4B,EAAE;QACtD,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,2CAAmC,EAAE;QAC7D,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAA2B,EAAE,YAAoB;IACrE,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;YACrC,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;AACH,CAAC;AAED,SAAgB,yBAAyB,CACvC,MAA+B,EAC/B,MAAc,EACd,MAAc;IAEd,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,oCAA4B,CAAC,KAAK,MAAM,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,MAA+B,EAC/B,MAAc,EACd,MAAc,EACd,cAA0C;IAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,IAAI,QAAQ,CAAC,oCAA4B,CAAC,KAAK,MAAM;QAAE,OAAO;IAE9D,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAuB,CAAC;IAC/D,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;QACpC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Cassette, SoftprobeMode } from '../../../types/schema';
1
2
  export type QueueInboundResponsePayload = {
2
3
  status: number;
3
4
  body: unknown;
@@ -9,11 +10,16 @@ export type QueueInboundResponsePayload = {
9
10
  /** Response body size in bytes when known from transport headers. */
10
11
  responseBodyBytes?: number;
11
12
  };
13
+ export type InboundCaptureSnapshot = {
14
+ mode: SoftprobeMode;
15
+ traceId: string;
16
+ cassette?: Cassette;
17
+ };
12
18
  /**
13
19
  * Queues an inbound HTTP response for capture. Writes one NDJSON record via the capture store.
14
20
  * Uses active span context for traceId/spanId when not provided in payload.
15
21
  */
16
- export declare function queueInboundResponse(traceId: string, payload: QueueInboundResponsePayload): void;
22
+ export declare function queueInboundResponse(traceId: string, payload: QueueInboundResponsePayload, snapshot?: InboundCaptureSnapshot): void;
17
23
  /** Engine object for design alignment; used by Express and Fastify. */
18
24
  export declare const CaptureEngine: {
19
25
  queueInboundResponse: typeof queueInboundResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-capture.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-capture.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2BAA2B,GACnC,IAAI,CA0BN;AAED,uEAAuE;AACvE,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
1
+ {"version":3,"file":"inbound-capture.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-capture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAA2B,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK9F,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2BAA2B,EACpC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,IAAI,CA2BN;AAED,uEAAuE;AACvE,eAAO,MAAM,aAAa;;CAEzB,CAAC"}
@@ -10,13 +10,14 @@ const http_body_1 = require("../../../core/runtime/http-body");
10
10
  * Queues an inbound HTTP response for capture. Writes one NDJSON record via the capture store.
11
11
  * Uses active span context for traceId/spanId when not provided in payload.
12
12
  */
13
- function queueInboundResponse(traceId, payload) {
13
+ function queueInboundResponse(traceId, payload, snapshot) {
14
14
  const span = api_1.trace.getActiveSpan();
15
15
  const spanId = span?.spanContext().spanId ?? '';
16
16
  const [method, ...urlParts] = payload.identifier.split(' ');
17
17
  const url = urlParts.join(' ') || '/';
18
- const cassette = context_1.SoftprobeContext.getCassette();
19
- if (context_1.SoftprobeContext.getMode() !== 'CAPTURE' || !cassette)
18
+ const cassette = snapshot?.cassette ?? context_1.SoftprobeContext.getCassette();
19
+ const mode = snapshot?.mode ?? context_1.SoftprobeContext.getMode();
20
+ if (mode !== 'CAPTURE' || !cassette)
20
21
  return;
21
22
  const record = {
22
23
  version: '4.1',
@@ -34,7 +35,7 @@ function queueInboundResponse(traceId, payload) {
34
35
  requestPayload: { body: payload.requestBody },
35
36
  }),
36
37
  };
37
- const tid = context_1.SoftprobeContext.getTraceId();
38
+ const tid = snapshot?.traceId ?? context_1.SoftprobeContext.getTraceId();
38
39
  void cassette.saveRecord(tid ? { ...record, traceId: tid } : record).catch(() => { });
39
40
  }
40
41
  /** Engine object for design alignment; used by Express and Fastify. */
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-capture.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-capture.ts"],"names":[],"mappings":";;;AAsBA,oDA6BC;AAnDD,4CAA2C;AAE3C,8CAAoD;AACpD,yDAA0D;AAC1D,+DAAoE;AAcpE;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,OAAe,EACf,OAAoC;IAEpC,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC;IAEhD,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACtC,MAAM,QAAQ,GAAG,0BAAgB,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,0BAAgB,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO;IAClE,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM;QACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,IAAA,2BAAc,EAAC,MAAM,EAAE,GAAG,CAAC;QACvC,eAAe,EAAE;YACf,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,GAAG,CAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;SAC1F;QACD,GAAG,CAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI;YACtE,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE;SAC9C,CAAC;KACH,CAAC;IACF,MAAM,GAAG,GAAG,0BAAgB,CAAC,UAAU,EAAE,CAAC;IAC1C,KAAK,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,uEAAuE;AAC1D,QAAA,aAAa,GAAG;IAC3B,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"inbound-capture.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-capture.ts"],"names":[],"mappings":";;;AA4BA,oDA+BC;AA3DD,4CAA2C;AAE3C,8CAAoD;AACpD,yDAA0D;AAC1D,+DAAoE;AAoBpE;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,OAAe,EACf,OAAoC,EACpC,QAAiC;IAEjC,MAAM,IAAI,GAAG,WAAK,CAAC,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC;IAEhD,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACtC,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,0BAAgB,CAAC,WAAW,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,0BAAgB,CAAC,OAAO,EAAE,CAAC;IAC1D,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO;IAC5C,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM;QACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,IAAA,2BAAc,EAAC,MAAM,EAAE,GAAG,CAAC;QACvC,eAAe,EAAE;YACf,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,GAAG,CAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;SAC1F;QACD,GAAG,CAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI;YACtE,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE;SAC9C,CAAC;KACH,CAAC;IACF,MAAM,GAAG,GAAG,QAAQ,EAAE,OAAO,IAAI,0BAAgB,CAAC,UAAU,EAAE,CAAC;IAC/D,KAAK,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,uEAAuE;AAC1D,QAAA,aAAa,GAAG;IAC3B,oBAAoB;CACrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Settles an asynchronous callback with a value.
3
+ * @param args - The arguments array.
4
+ * @param value - The value to settle with.
5
+ * @returns A promise that resolves with the value.
6
+ */
7
+ export declare function settleAsync(args: unknown[], value?: unknown): Promise<unknown>;
8
+ //# sourceMappingURL=callback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/utils/callback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,GAAE,OAAmB,oBAI1E"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.settleAsync = settleAsync;
4
+ /**
5
+ * Settles an asynchronous callback with a value.
6
+ * @param args - The arguments array.
7
+ * @param value - The value to settle with.
8
+ * @returns A promise that resolves with the value.
9
+ */
10
+ async function settleAsync(args, value = undefined) {
11
+ const cb = typeof args[args.length - 1] === 'function' ? args[args.length - 1] : undefined;
12
+ if (cb)
13
+ process.nextTick(() => cb(null, value));
14
+ return Promise.resolve(value);
15
+ }
16
+ //# sourceMappingURL=callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/utils/callback.ts"],"names":[],"mappings":";;AAMA,kCAIG;AAVH;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,IAAe,EAAE,QAAiB,SAAS;IACzE,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,IAAI,EAAE;QAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,EAAkD,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -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;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"}
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,CAmEtB"}
@@ -72,6 +72,10 @@ function softprobeExpressMiddleware(req, res, next) {
72
72
  identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(req.method, (0, inbound_path_1.resolveInboundPath)(req)),
73
73
  requestBody: req.body,
74
74
  requestBodyBytes: (0, http_body_1.parseContentLengthHeader)(req.headers),
75
+ }, {
76
+ mode,
77
+ traceId: ctxTraceId,
78
+ cassette: storage,
75
79
  });
76
80
  return originalSend.apply(res, arguments);
77
81
  };
@@ -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":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAuIhG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAQ1C"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CA2HhG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C"}
@@ -4,61 +4,41 @@
4
4
  * calls are resolved by the SemanticMatcher (no live network). Pairs with capture
5
5
  * Task 4.2; identifier = query text per design §3.1, §6.
6
6
  */
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
7
  Object.defineProperty(exports, "__esModule", { value: true });
11
8
  exports.applyPostgresReplay = applyPostgresReplay;
12
9
  exports.setupPostgresReplay = setupPostgresReplay;
13
- const shimmer_1 = __importDefault(require("shimmer"));
14
10
  const api_1 = require("@opentelemetry/api");
15
11
  const context_1 = require("../../context");
16
12
  const postgres_span_1 = require("../../core/bindings/postgres-span");
17
- const SOFTPROBE_WRAPPED_MARKER = '__softprobeWrapped';
13
+ const callback_1 = require("../common/utils/callback");
14
+ const wrap_1 = require("../../core/runtime/wrap");
15
+ const QUERY_WRAPPED_MARKER = 'postgres.replay.query';
16
+ const CONNECT_WRAPPED_MARKER = 'postgres.replay.connect';
17
+ const END_WRAPPED_MARKER = 'postgres.replay.end';
18
18
  /**
19
19
  * Patches a pg module so connect is no-op and query uses matcher. Idempotent.
20
20
  * Exported so init can call it from a require hook and patch whichever module first requires 'pg' (Task 16.3.1).
21
21
  */
22
22
  function applyPostgresReplay(pg) {
23
- const existingQuery = pg.Client.prototype.query;
24
- if (existingQuery[SOFTPROBE_WRAPPED_MARKER])
23
+ if ((0, wrap_1.isMethodWrappedWithMarker)(pg.Client.prototype, 'query', QUERY_WRAPPED_MARKER))
25
24
  return;
26
25
  const connectKey = 'connect';
27
- const existingConnect = pg.Client.prototype[connectKey];
28
- if (typeof pg.Client.prototype[connectKey] === 'function' && !existingConnect?.__softprobeConnect) {
29
- const origConnect = pg.Client.prototype[connectKey];
30
- // Use Object.defineProperty (NOT shimmer.wrap) so OTel does NOT detect __wrapped and strip us.
31
- // OTel's isWrapped() checks __wrapped; without it, OTel wraps our function instead of
32
- // replacing it. Call chain: OTel wrapper → our wrapper → original connect.
33
- const patchedConnect = function wrappedConnect(...args) {
34
- if (context_1.SoftprobeContext.getMode() === 'REPLAY')
35
- return Promise.resolve();
36
- return origConnect.apply(this, args);
37
- };
38
- patchedConnect.__softprobeConnect = true;
39
- Object.defineProperty(pg.Client.prototype, connectKey, {
40
- configurable: true,
41
- writable: true,
42
- value: patchedConnect,
43
- });
44
- }
26
+ (0, wrap_1.wrapMethodNoConflict)(pg.Client.prototype, connectKey, CONNECT_WRAPPED_MARKER, (origConnect) => function wrappedConnect(...args) {
27
+ if (context_1.SoftprobeContext.getMode() === 'REPLAY')
28
+ return (0, callback_1.settleAsync)(args);
29
+ return origConnect.apply(this, args);
30
+ });
45
31
  // end() must not touch the network when we never connected (Task 16.3.1). OTel does not wrap
46
- // end(), so shimmer is safe here.
32
+ // end(), but we still use no-conflict wrapper metadata for consistency.
47
33
  const endKey = 'end';
48
- const existingEnd = pg.Client.prototype[endKey];
49
- if (typeof pg.Client.prototype[endKey] === 'function' && !existingEnd?.__softprobeEndNoop) {
50
- shimmer_1.default.wrap(pg.Client.prototype, endKey, (originalEnd) => function wrappedEnd(...args) {
51
- if (context_1.SoftprobeContext.getMode() === 'REPLAY')
52
- return Promise.resolve();
53
- return originalEnd.apply(this, args);
54
- });
55
- pg.Client.prototype[endKey].__softprobeEndNoop = true;
56
- }
57
- // Use Object.defineProperty (NOT shimmer.wrap) so OTel does NOT detect __wrapped and strip us.
58
- // OTel wraps our patchedQuery with its span-creating wrapper; our wrapper stays in the chain.
59
- // Call chain: OTel query wrapper → our patchedQuery → original query.
60
- const origQuery = pg.Client.prototype.query;
61
- const patchedQuery = function wrappedQuery(...args) {
34
+ (0, wrap_1.wrapMethodNoConflict)(pg.Client.prototype, endKey, END_WRAPPED_MARKER, (originalEnd) => function wrappedEnd(...args) {
35
+ if (context_1.SoftprobeContext.getMode() === 'REPLAY')
36
+ return (0, callback_1.settleAsync)(args);
37
+ return originalEnd.apply(this, args);
38
+ });
39
+ // Use no-conflict metadata so OTel's __wrapped checks never treat Softprobe as wrapped.
40
+ // OTel wraps our query wrapper with its span-creating wrapper; our wrapper stays in the chain.
41
+ (0, wrap_1.wrapMethodNoConflict)(pg.Client.prototype, 'query', QUERY_WRAPPED_MARKER, (origQuery) => function wrappedQuery(...args) {
62
42
  const matcher = context_1.SoftprobeContext.active().matcher;
63
43
  const mode = context_1.SoftprobeContext.getMode();
64
44
  const strictReplay = context_1.SoftprobeContext.getStrictReplay();
@@ -141,12 +121,6 @@ function applyPostgresReplay(pg) {
141
121
  return undefined;
142
122
  }
143
123
  return Promise.resolve(mockedResult);
144
- };
145
- patchedQuery[SOFTPROBE_WRAPPED_MARKER] = true;
146
- Object.defineProperty(pg.Client.prototype, 'query', {
147
- configurable: true,
148
- writable: true,
149
- value: patchedQuery,
150
124
  });
151
125
  }
152
126
  /**
@@ -155,8 +129,7 @@ function applyPostgresReplay(pg) {
155
129
  */
156
130
  function setupPostgresReplay() {
157
131
  const pg = require('pg');
158
- const existingQuery = pg.Client.prototype.query;
159
- if (existingQuery[SOFTPROBE_WRAPPED_MARKER])
132
+ if ((0, wrap_1.isMethodWrappedWithMarker)(pg.Client.prototype, 'query', QUERY_WRAPPED_MARKER))
160
133
  return;
161
134
  applyPostgresReplay(pg);
162
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/postgres/replay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmBH;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA+HvC;AAgCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgBrE"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAoBH;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAgIvC;AAgCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgBrE"}
@@ -8,16 +8,14 @@
8
8
  * command (get, set, etc.) is our wrapper; the client captures that executor in
9
9
  * a closure when the module loads, so we must patch before the client loads.
10
10
  */
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.setupRedisReplay = setupRedisReplay;
16
13
  exports.applyRedisReplay = applyRedisReplay;
17
14
  const api_1 = require("@opentelemetry/api");
18
- const shimmer_1 = __importDefault(require("shimmer"));
19
15
  const redis_span_1 = require("../../core/bindings/redis-span");
20
16
  const context_1 = require("../../context");
17
+ const callback_1 = require("../common/utils/callback");
18
+ const wrap_1 = require("../../core/runtime/wrap");
21
19
  /**
22
20
  * Builds the same identifier string as the Redis capture hook (capture/redis.ts):
23
21
  * command name (uppercase) plus args joined by space.
@@ -39,7 +37,7 @@ function setupRedisReplay() {
39
37
  const { transformCommandArguments, transformCommandReply } = commanderModule;
40
38
  if (!transformCommandArguments || !transformCommandReply)
41
39
  return;
42
- shimmer_1.default.wrap(commanderModule, 'attachCommands', (originalAttachCommands) => (config) => {
40
+ (0, wrap_1.wrapMethodNoConflict)(commanderModule, 'attachCommands', 'redis.replay.attachCommands', (originalAttachCommands) => function patchedAttachCommands(config) {
43
41
  const cfg = config;
44
42
  const originalExecutor = cfg.executor;
45
43
  const wrappedConfig = {
@@ -135,13 +133,13 @@ function applyInstanceNoops(client) {
135
133
  const orig = client.connect;
136
134
  client.connect = function (...args) {
137
135
  if (context_1.SoftprobeContext.getMode() === 'REPLAY')
138
- return Promise.resolve();
136
+ return (0, callback_1.settleAsync)(args);
139
137
  return orig.apply(this, args);
140
138
  };
141
139
  }
142
140
  const noopQuitFn = (orig) => function (...args) {
143
141
  if (context_1.SoftprobeContext.getMode() === 'REPLAY')
144
- return Promise.resolve('OK');
142
+ return (0, callback_1.settleAsync)(args, 'OK');
145
143
  return orig.apply(this, args);
146
144
  };
147
145
  if (typeof client.quit === 'function')
@@ -149,7 +147,7 @@ function applyInstanceNoops(client) {
149
147
  if (typeof client.QUIT === 'function')
150
148
  client.QUIT = noopQuitFn(client.QUIT);
151
149
  }
152
- const SOFTPROBE_CREATE_CLIENT_WRAPPED = '__softprobeCreateClientWrapped';
150
+ const SOFTPROBE_CREATE_CLIENT_WRAPPED = 'redis.replay.createClient';
153
151
  /**
154
152
  * Wraps createClient so every new client gets connect/quit no-ops as instance own-properties.
155
153
  * Using instance-level patching (not prototype) makes it immune to OTel re-patching the redis
@@ -161,13 +159,12 @@ function applyRedisReplay(redis) {
161
159
  const target = redis.createClient != null ? redis : redis.default;
162
160
  if (!target)
163
161
  return;
164
- if (target.createClient?.[SOFTPROBE_CREATE_CLIENT_WRAPPED])
162
+ if ((0, wrap_1.isMethodWrappedWithMarker)(target, 'createClient', SOFTPROBE_CREATE_CLIENT_WRAPPED))
165
163
  return;
166
- shimmer_1.default.wrap(target, 'createClient', (original) => function (...args) {
164
+ (0, wrap_1.wrapMethodNoConflict)(target, 'createClient', SOFTPROBE_CREATE_CLIENT_WRAPPED, (original) => function (...args) {
167
165
  const client = original.apply(this, args);
168
166
  applyInstanceNoops(client);
169
167
  return client;
170
168
  });
171
- target.createClient[SOFTPROBE_CREATE_CLIENT_WRAPPED] = true;
172
169
  }
173
170
  //# sourceMappingURL=replay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../../src/instrumentations/redis/replay.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.6",
3
+ "version": "2.0.8",
4
4
  "description": "Topology-aware record & replay testing framework via OpenTelemetry",
5
5
  "keywords": [
6
6
  "softprobe",
@@ -66,7 +66,6 @@
66
66
  "express": "^5.2.1",
67
67
  "fastify": "^5.1.0",
68
68
  "fastify-plugin": "^5.0.1",
69
- "shimmer": "^1.2.0",
70
69
  "undici": "^6.0.0",
71
70
  "yaml": "^2.6.0"
72
71
  },