@softprobe/softprobe-js 2.0.4 → 2.0.5

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 (122) hide show
  1. package/README.md +6 -1
  2. package/dist/cli/diff.d.ts.map +1 -1
  3. package/dist/cli/diff.js +6 -1
  4. package/dist/cli/diff.js.map +1 -1
  5. package/dist/core/runtime/architecture-guard.js +13 -13
  6. package/dist/core/runtime/architecture-guard.js.map +1 -1
  7. package/dist/core/runtime/http-body.d.ts +5 -0
  8. package/dist/core/runtime/http-body.d.ts.map +1 -0
  9. package/dist/core/runtime/http-body.js +20 -0
  10. package/dist/core/runtime/http-body.js.map +1 -0
  11. package/dist/instrumentations/common/http/inbound-capture.d.ts +4 -0
  12. package/dist/instrumentations/common/http/inbound-capture.d.ts.map +1 -1
  13. package/dist/instrumentations/common/http/inbound-capture.js +5 -2
  14. package/dist/instrumentations/common/http/inbound-capture.js.map +1 -1
  15. package/dist/instrumentations/common/http/inbound-record.d.ts +4 -0
  16. package/dist/instrumentations/common/http/inbound-record.d.ts.map +1 -1
  17. package/dist/instrumentations/common/http/inbound-record.js +8 -4
  18. package/dist/instrumentations/common/http/inbound-record.js.map +1 -1
  19. package/dist/instrumentations/express/capture.d.ts.map +1 -1
  20. package/dist/instrumentations/express/capture.js +2 -0
  21. package/dist/instrumentations/express/capture.js.map +1 -1
  22. package/package.json +3 -2
  23. package/dist/bindings/http-span.d.ts +0 -6
  24. package/dist/bindings/http-span.d.ts.map +0 -1
  25. package/dist/bindings/http-span.js +0 -11
  26. package/dist/bindings/http-span.js.map +0 -1
  27. package/dist/bindings/postgres-span.d.ts +0 -6
  28. package/dist/bindings/postgres-span.d.ts.map +0 -1
  29. package/dist/bindings/postgres-span.js +0 -11
  30. package/dist/bindings/postgres-span.js.map +0 -1
  31. package/dist/bindings/redis-span.d.ts +0 -6
  32. package/dist/bindings/redis-span.d.ts.map +0 -1
  33. package/dist/bindings/redis-span.js +0 -11
  34. package/dist/bindings/redis-span.js.map +0 -1
  35. package/dist/bindings/test-span.d.ts +0 -6
  36. package/dist/bindings/test-span.d.ts.map +0 -1
  37. package/dist/bindings/test-span.js +0 -9
  38. package/dist/bindings/test-span.js.map +0 -1
  39. package/dist/capture/express.d.ts +0 -6
  40. package/dist/capture/express.d.ts.map +0 -1
  41. package/dist/capture/express.js +0 -11
  42. package/dist/capture/express.js.map +0 -1
  43. package/dist/capture/fastify.d.ts +0 -5
  44. package/dist/capture/fastify.d.ts.map +0 -1
  45. package/dist/capture/fastify.js +0 -9
  46. package/dist/capture/fastify.js.map +0 -1
  47. package/dist/capture/framework-mutator.d.ts +0 -20
  48. package/dist/capture/framework-mutator.d.ts.map +0 -1
  49. package/dist/capture/framework-mutator.js +0 -144
  50. package/dist/capture/framework-mutator.js.map +0 -1
  51. package/dist/capture/http-inbound.d.ts +0 -28
  52. package/dist/capture/http-inbound.d.ts.map +0 -1
  53. package/dist/capture/http-inbound.js +0 -40
  54. package/dist/capture/http-inbound.js.map +0 -1
  55. package/dist/capture/inject.d.ts +0 -17
  56. package/dist/capture/inject.d.ts.map +0 -1
  57. package/dist/capture/inject.js +0 -28
  58. package/dist/capture/inject.js.map +0 -1
  59. package/dist/capture/mutator.d.ts +0 -17
  60. package/dist/capture/mutator.d.ts.map +0 -1
  61. package/dist/capture/mutator.js +0 -51
  62. package/dist/capture/mutator.js.map +0 -1
  63. package/dist/capture/postgres.d.ts +0 -6
  64. package/dist/capture/postgres.d.ts.map +0 -1
  65. package/dist/capture/postgres.js +0 -11
  66. package/dist/capture/postgres.js.map +0 -1
  67. package/dist/capture/redis.d.ts +0 -5
  68. package/dist/capture/redis.d.ts.map +0 -1
  69. package/dist/capture/redis.js +0 -10
  70. package/dist/capture/redis.js.map +0 -1
  71. package/dist/capture/store-accessor.d.ts +0 -11
  72. package/dist/capture/store-accessor.d.ts.map +0 -1
  73. package/dist/capture/store-accessor.js +0 -19
  74. package/dist/capture/store-accessor.js.map +0 -1
  75. package/dist/capture/stream-tap.d.ts +0 -5
  76. package/dist/capture/stream-tap.d.ts.map +0 -1
  77. package/dist/capture/stream-tap.js +0 -9
  78. package/dist/capture/stream-tap.js.map +0 -1
  79. package/dist/identifier.d.ts +0 -5
  80. package/dist/identifier.d.ts.map +0 -1
  81. package/dist/identifier.js +0 -11
  82. package/dist/identifier.js.map +0 -1
  83. package/dist/replay/express.d.ts +0 -5
  84. package/dist/replay/express.d.ts.map +0 -1
  85. package/dist/replay/express.js +0 -9
  86. package/dist/replay/express.js.map +0 -1
  87. package/dist/replay/extract-key.d.ts +0 -41
  88. package/dist/replay/extract-key.d.ts.map +0 -1
  89. package/dist/replay/extract-key.js +0 -80
  90. package/dist/replay/extract-key.js.map +0 -1
  91. package/dist/replay/fastify.d.ts +0 -5
  92. package/dist/replay/fastify.d.ts.map +0 -1
  93. package/dist/replay/fastify.js +0 -9
  94. package/dist/replay/fastify.js.map +0 -1
  95. package/dist/replay/http.d.ts +0 -5
  96. package/dist/replay/http.d.ts.map +0 -1
  97. package/dist/replay/http.js +0 -10
  98. package/dist/replay/http.js.map +0 -1
  99. package/dist/replay/matcher.d.ts +0 -25
  100. package/dist/replay/matcher.d.ts.map +0 -1
  101. package/dist/replay/matcher.js +0 -83
  102. package/dist/replay/matcher.js.map +0 -1
  103. package/dist/replay/postgres.d.ts +0 -5
  104. package/dist/replay/postgres.d.ts.map +0 -1
  105. package/dist/replay/postgres.js +0 -10
  106. package/dist/replay/postgres.js.map +0 -1
  107. package/dist/replay/redis.d.ts +0 -5
  108. package/dist/replay/redis.d.ts.map +0 -1
  109. package/dist/replay/redis.js +0 -10
  110. package/dist/replay/redis.js.map +0 -1
  111. package/dist/replay/softprobe-matcher.d.ts +0 -41
  112. package/dist/replay/softprobe-matcher.d.ts.map +0 -1
  113. package/dist/replay/softprobe-matcher.js +0 -92
  114. package/dist/replay/softprobe-matcher.js.map +0 -1
  115. package/dist/replay/store-accessor.d.ts +0 -14
  116. package/dist/replay/store-accessor.d.ts.map +0 -1
  117. package/dist/replay/store-accessor.js +0 -26
  118. package/dist/replay/store-accessor.js.map +0 -1
  119. package/dist/replay/topology.d.ts +0 -37
  120. package/dist/replay/topology.d.ts.map +0 -1
  121. package/dist/replay/topology.js +0 -72
  122. package/dist/replay/topology.js.map +0 -1
package/README.md CHANGED
@@ -202,7 +202,11 @@ Reference:
202
202
  Release flow:
203
203
 
204
204
  1. Merge changes to `main`.
205
- 2. Create and push a version tag, for example `v2.0.1`.
205
+ 2. Run one command to bump version, push commit, and push matching tag:
206
+ - Patch release: `npm run release:create`
207
+ - Explicit bump: `npm run release:create -- --bump minor`
208
+ - Explicit version: `npm run release:create -- --set-version 2.1.0`
209
+ This keeps `package.json` and tag `v*` consistent because the tag is derived from the new `package.json` version.
206
210
  3. GitHub Action builds and publishes automatically.
207
211
 
208
212
  Manual validation flow:
@@ -218,6 +222,7 @@ This repo ships a ready-to-use Cursor Skill at:
218
222
  - `cursor-skills/softprobe/SKILL.md`
219
223
  - `cursor-skills/softprobe/docs/softprobe-spec.md`
220
224
  - `cursor-skills/softprobe/docs/architecture-contract.md`
225
+ - `cursor-skills/softprobe/docs/integration-runbook.md`
221
226
  - `cursor-skills/softprobe/docs/workflow-contract.md`
222
227
  - `cursor-skills/softprobe/docs/compatibility-matrix.md`
223
228
  - `cursor-skills/softprobe/docs/do-not-infer.md`
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/cli/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAqB/D,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAErF;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsClF"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/cli/diff.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA2B/D,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAErF;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsClF"}
package/dist/cli/diff.js CHANGED
@@ -64,6 +64,11 @@ function parseHttpIdentifier(identifier) {
64
64
  url: identifier.slice(idx + 1),
65
65
  };
66
66
  }
67
+ /** GET/HEAD requests cannot include body in undici/fetch. */
68
+ function methodAllowsBody(method) {
69
+ const normalized = method.trim().toUpperCase();
70
+ return normalized !== 'GET' && normalized !== 'HEAD';
71
+ }
67
72
  /**
68
73
  * Loads cassette, finds inbound record, sends request to target with coordination headers.
69
74
  * Returns the fetch Response and the inbound record so caller can compare recorded vs live.
@@ -83,7 +88,7 @@ async function runDiff(file, target) {
83
88
  const { method, url } = parseHttpIdentifier(inbound.identifier);
84
89
  const requestUrl = `${target.replace(/\/$/, '')}${url.startsWith('/') ? url : '/' + url}`;
85
90
  const requestPayload = inbound.requestPayload;
86
- const body = requestPayload?.body !== undefined
91
+ const body = methodAllowsBody(method) && requestPayload?.body !== undefined
87
92
  ? (typeof requestPayload.body === 'string'
88
93
  ? requestPayload.body
89
94
  : JSON.stringify(requestPayload.body))
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/cli/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/cli/diff.ts"],"names":[],"mappings":"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"}
@@ -36,16 +36,15 @@ function collectArchitectureViolations() {
36
36
  if (!specifier.startsWith('.'))
37
37
  continue;
38
38
  const resolved = resolveToTsPath(file, specifier);
39
- if (resolved) {
40
- const normalizedPath = normalized(resolved);
41
- if (normalizedPath.includes('/src/instrumentations/')) {
42
- violations.push(`core-imports-instrumentation: ${relative(file)} -> ${specifier}`);
43
- }
44
- else if (normalizedPath.includes('/src/capture/')
45
- || normalizedPath.includes('/src/replay/')
46
- || normalizedPath.includes('/src/bindings/')) {
47
- violations.push(`core-imports-legacy: ${relative(file)} -> ${specifier}`);
48
- }
39
+ const candidatePath = normalized(node_path_1.default.resolve(node_path_1.default.dirname(file), specifier));
40
+ const normalizedPath = normalized(resolved ?? candidatePath);
41
+ if (normalizedPath.includes('/src/instrumentations/')) {
42
+ violations.push(`core-imports-instrumentation: ${relative(file)} -> ${specifier}`);
43
+ }
44
+ else if (normalizedPath.includes('/src/capture/')
45
+ || normalizedPath.includes('/src/replay/')
46
+ || normalizedPath.includes('/src/bindings/')) {
47
+ violations.push(`core-imports-legacy: ${relative(file)} -> ${specifier}`);
49
48
  }
50
49
  }
51
50
  }
@@ -62,15 +61,16 @@ function collectArchitectureViolations() {
62
61
  if (!specifier.startsWith('.'))
63
62
  continue;
64
63
  const resolved = resolveToTsPath(file, specifier);
65
- if (!resolved)
66
- continue;
67
- const normalizedPath = normalized(resolved);
64
+ const candidatePath = normalized(node_path_1.default.resolve(node_path_1.default.dirname(file), specifier));
65
+ const normalizedPath = normalized(resolved ?? candidatePath);
68
66
  if (normalizedPath.includes('/src/bindings/')
69
67
  || normalizedPath.includes('/src/capture/')
70
68
  || normalizedPath.includes('/src/replay/')) {
71
69
  violations.push(`instrumentation-imports-legacy-helper: ${relative(file)} -> ${specifier}`);
72
70
  continue;
73
71
  }
72
+ if (!resolved)
73
+ continue;
74
74
  if (!normalizedPath.includes('/src/instrumentations/'))
75
75
  continue;
76
76
  if (normalizedPath.includes('/src/instrumentations/common/'))
@@ -1 +1 @@
1
- {"version":3,"file":"architecture-guard.js","sourceRoot":"","sources":["../../../src/core/runtime/architecture-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"architecture-guard.js","sourceRoot":"","sources":["../../../src/core/runtime/architecture-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Keep it simple: ignore body only when content size is explicitly zero. */
2
+ export declare function shouldCaptureBody(body: unknown, bodyBytes?: number): boolean;
3
+ /** Parses content-length from incoming headers; returns undefined for absent/invalid values. */
4
+ export declare function parseContentLengthHeader(headers?: Record<string, string | string[] | undefined>): number | undefined;
5
+ //# sourceMappingURL=http-body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-body.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/http-body.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAG5E;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACtD,MAAM,GAAG,SAAS,CAMpB"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldCaptureBody = shouldCaptureBody;
4
+ exports.parseContentLengthHeader = parseContentLengthHeader;
5
+ /** Keep it simple: ignore body only when content size is explicitly zero. */
6
+ function shouldCaptureBody(body, bodyBytes) {
7
+ if (bodyBytes === 0)
8
+ return false;
9
+ return body !== undefined && body !== null;
10
+ }
11
+ /** Parses content-length from incoming headers; returns undefined for absent/invalid values. */
12
+ function parseContentLengthHeader(headers) {
13
+ const raw = headers?.['content-length'];
14
+ const value = Array.isArray(raw) ? raw[0] : raw;
15
+ if (value === undefined)
16
+ return undefined;
17
+ const parsed = Number.parseInt(value, 10);
18
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : undefined;
19
+ }
20
+ //# sourceMappingURL=http-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-body.js","sourceRoot":"","sources":["../../../src/core/runtime/http-body.ts"],"names":[],"mappings":";;AACA,8CAGC;AAGD,4DAQC;AAfD,6EAA6E;AAC7E,SAAgB,iBAAiB,CAAC,IAAa,EAAE,SAAkB;IACjE,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC;AAC7C,CAAC;AAED,gGAAgG;AAChG,SAAgB,wBAAwB,CACtC,OAAuD;IAEvD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC"}
@@ -4,6 +4,10 @@ export type QueueInboundResponsePayload = {
4
4
  identifier: string;
5
5
  /** Parsed request body when middleware is placed after body-parser (Task 14.3.1). */
6
6
  requestBody?: unknown;
7
+ /** Request body size in bytes when known from transport headers. */
8
+ requestBodyBytes?: number;
9
+ /** Response body size in bytes when known from transport headers. */
10
+ responseBodyBytes?: number;
7
11
  };
8
12
  /**
9
13
  * Queues an inbound HTTP response for capture. Writes one NDJSON record via the capture store.
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-capture.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-capture.ts"],"names":[],"mappings":"AAKA,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;CACvB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAwBN;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":"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"}
@@ -5,6 +5,7 @@ exports.queueInboundResponse = queueInboundResponse;
5
5
  const api_1 = require("@opentelemetry/api");
6
6
  const context_1 = require("../../../context");
7
7
  const identifier_1 = require("../../../core/identifier");
8
+ const http_body_1 = require("../../../core/runtime/http-body");
8
9
  /**
9
10
  * Queues an inbound HTTP response for capture. Writes one NDJSON record via the capture store.
10
11
  * Uses active span context for traceId/spanId when not provided in payload.
@@ -27,9 +28,11 @@ function queueInboundResponse(traceId, payload) {
27
28
  identifier: (0, identifier_1.httpIdentifier)(method, url),
28
29
  responsePayload: {
29
30
  statusCode: payload.status,
30
- body: payload.body,
31
+ ...((0, http_body_1.shouldCaptureBody)(payload.body, payload.responseBodyBytes) && { body: payload.body }),
31
32
  },
32
- ...(payload.requestBody !== undefined && { requestPayload: { body: payload.requestBody } }),
33
+ ...((0, http_body_1.shouldCaptureBody)(payload.requestBody, payload.requestBodyBytes) && {
34
+ requestPayload: { body: payload.requestBody },
35
+ }),
33
36
  };
34
37
  const tid = context_1.SoftprobeContext.getTraceId();
35
38
  void cassette.saveRecord(tid ? { ...record, traceId: tid } : record).catch(() => { });
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-capture.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-capture.ts"],"names":[],"mappings":";;;AAiBA,oDA2BC;AA5CD,4CAA2C;AAE3C,8CAAoD;AACpD,yDAA0D;AAU1D;;;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,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB;QACD,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;KAC5F,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":";;;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"}
@@ -15,10 +15,14 @@ export type WriteInboundHttpOptions = {
15
15
  url: string;
16
16
  /** Request body (optional). */
17
17
  requestBody?: unknown;
18
+ /** Request body size in bytes when known from transport headers. */
19
+ requestBodyBytes?: number;
18
20
  /** Response status code (optional). */
19
21
  statusCode?: number;
20
22
  /** Response body (optional). */
21
23
  responseBody?: unknown;
24
+ /** Response body size in bytes when known from transport headers. */
25
+ responseBodyBytes?: number;
22
26
  };
23
27
  /**
24
28
  * Writes one inbound HTTP cassette record. Include requestBody for request capture,
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-record.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-record.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAInE,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAoCN"}
1
+ {"version":3,"file":"inbound-record.d.ts","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-record.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAyCN"}
@@ -9,12 +9,13 @@
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.writeInboundHttpRecord = writeInboundHttpRecord;
11
11
  const identifier_1 = require("../../../core/identifier");
12
+ const http_body_1 = require("../../../core/runtime/http-body");
12
13
  /**
13
14
  * Writes one inbound HTTP cassette record. Include requestBody for request capture,
14
15
  * and statusCode/responseBody when the response is available (same record).
15
16
  */
16
17
  function writeInboundHttpRecord(store, options) {
17
- const { traceId, spanId, parentSpanId, spanName, method, url, requestBody, statusCode, responseBody, } = options;
18
+ const { traceId, spanId, parentSpanId, spanName, method, url, requestBody, requestBodyBytes, statusCode, responseBody, responseBodyBytes, } = options;
18
19
  const record = {
19
20
  version: '4.1',
20
21
  traceId,
@@ -26,14 +27,17 @@ function writeInboundHttpRecord(store, options) {
26
27
  protocol: 'http',
27
28
  identifier: (0, identifier_1.httpIdentifier)(method, url),
28
29
  };
29
- if (requestBody !== undefined) {
30
+ if ((0, http_body_1.shouldCaptureBody)(requestBody, requestBodyBytes)) {
30
31
  record.requestPayload = { body: requestBody };
31
32
  }
32
33
  if (statusCode !== undefined) {
33
- record.responsePayload = {
34
+ const responsePayload = {
34
35
  statusCode,
35
- body: responseBody,
36
36
  };
37
+ if ((0, http_body_1.shouldCaptureBody)(responseBody, responseBodyBytes)) {
38
+ responsePayload.body = responseBody;
39
+ }
40
+ record.responsePayload = responsePayload;
37
41
  }
38
42
  store.saveRecord(record);
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-record.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-record.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAyBH,wDAuCC;AA5DD,yDAA0D;AAiB1D;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,KAAoB,EACpB,OAAgC;IAEhC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,GAAG,EACH,WAAW,EACX,UAAU,EACV,YAAY,GACb,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,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;KACxC,CAAC;IAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,eAAe,GAAG;YACvB,UAAU;YACV,IAAI,EAAE,YAAY;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"inbound-record.js","sourceRoot":"","sources":["../../../../src/instrumentations/common/http/inbound-record.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA8BH,wDA4CC;AAtED,yDAA0D;AAC1D,+DAAoE;AAqBpE;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,KAAoB,EACpB,OAAgC;IAEhC,MAAM,EACJ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,GAAG,EACH,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,iBAAiB,GAClB,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,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;KACxC,CAAC;IAEF,IAAI,IAAA,6BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,eAAe,GAA2C;YAC9D,UAAU;SACX,CAAC;QACF,IAAI,IAAA,6BAAiB,EAAC,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,IAAI,GAAG,YAAY,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/instrumentations/express/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,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,CA8DtB"}
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"}
@@ -11,6 +11,7 @@ const api_1 = require("@opentelemetry/api");
11
11
  const replay_1 = require("./replay");
12
12
  const context_1 = require("../../context");
13
13
  const context_request_storage_1 = require("../../core/cassette/context-request-storage");
14
+ const http_body_1 = require("../../core/runtime/http-body");
14
15
  const inbound_capture_1 = require("../common/http/inbound-capture");
15
16
  Object.defineProperty(exports, "CaptureEngine", { enumerable: true, get: function () { return inbound_capture_1.CaptureEngine; } });
16
17
  Object.defineProperty(exports, "queueInboundResponse", { enumerable: true, get: function () { return inbound_capture_1.queueInboundResponse; } });
@@ -69,6 +70,7 @@ function softprobeExpressMiddleware(req, res, next) {
69
70
  body,
70
71
  identifier: (0, span_adapter_1.buildInboundHttpIdentifier)(req.method, req.path),
71
72
  requestBody: req.body,
73
+ requestBodyBytes: (0, http_body_1.parseContentLengthHeader)(req.headers),
72
74
  });
73
75
  return originalSend.apply(res, arguments);
74
76
  };
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softprobe/softprobe-js",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "description": "Topology-aware record & replay testing framework via OpenTelemetry",
5
5
  "keywords": [
6
6
  "softprobe",
@@ -55,7 +55,8 @@
55
55
  "example:kill": "(lsof -ti :3000; lsof -ti :3010) 2>/dev/null | xargs kill -9 2>/dev/null; echo Done",
56
56
  "example:kill-e2e": "pkill -f 'express-inbound-worker|fastify-inbound-worker|diff-headers-server' 2>/dev/null; echo Done",
57
57
  "diff": "node dist/cli.js diff",
58
- "diff:dev": "npx ts-node --transpile-only src/cli.ts diff"
58
+ "diff:dev": "npx ts-node --transpile-only src/cli.ts diff",
59
+ "release:create": "bash scripts/create-release.sh"
59
60
  },
60
61
  "dependencies": {
61
62
  "@mswjs/interceptors": "^0.39.8",
@@ -1,6 +0,0 @@
1
- /**
2
- * Legacy compatibility re-export for HTTP span helpers.
3
- */
4
- export { HttpSpan, fromSpan, tagRequest } from '../core/bindings/http-span';
5
- export type { HttpSpanData } from '../core/bindings/http-span';
6
- //# sourceMappingURL=http-span.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-span.d.ts","sourceRoot":"","sources":["../../src/bindings/http-span.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tagRequest = exports.fromSpan = exports.HttpSpan = void 0;
4
- /**
5
- * Legacy compatibility re-export for HTTP span helpers.
6
- */
7
- var http_span_1 = require("../core/bindings/http-span");
8
- Object.defineProperty(exports, "HttpSpan", { enumerable: true, get: function () { return http_span_1.HttpSpan; } });
9
- Object.defineProperty(exports, "fromSpan", { enumerable: true, get: function () { return http_span_1.fromSpan; } });
10
- Object.defineProperty(exports, "tagRequest", { enumerable: true, get: function () { return http_span_1.tagRequest; } });
11
- //# sourceMappingURL=http-span.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-span.js","sourceRoot":"","sources":["../../src/bindings/http-span.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,wDAA4E;AAAnE,qGAAA,QAAQ,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAAE,uGAAA,UAAU,OAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Legacy compatibility re-export for Postgres span helpers.
3
- */
4
- export { PostgresSpan, fromSpan, tagQuery } from '../core/bindings/postgres-span';
5
- export type { PostgresSpanData } from '../core/bindings/postgres-span';
6
- //# sourceMappingURL=postgres-span.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres-span.d.ts","sourceRoot":"","sources":["../../src/bindings/postgres-span.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tagQuery = exports.fromSpan = exports.PostgresSpan = void 0;
4
- /**
5
- * Legacy compatibility re-export for Postgres span helpers.
6
- */
7
- var postgres_span_1 = require("../core/bindings/postgres-span");
8
- Object.defineProperty(exports, "PostgresSpan", { enumerable: true, get: function () { return postgres_span_1.PostgresSpan; } });
9
- Object.defineProperty(exports, "fromSpan", { enumerable: true, get: function () { return postgres_span_1.fromSpan; } });
10
- Object.defineProperty(exports, "tagQuery", { enumerable: true, get: function () { return postgres_span_1.tagQuery; } });
11
- //# sourceMappingURL=postgres-span.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgres-span.js","sourceRoot":"","sources":["../../src/bindings/postgres-span.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gEAAkF;AAAzE,6GAAA,YAAY,OAAA;AAAE,yGAAA,QAAQ,OAAA;AAAE,yGAAA,QAAQ,OAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Legacy compatibility re-export for Redis span helpers.
3
- */
4
- export { RedisSpan, fromSpan, tagCommand } from '../core/bindings/redis-span';
5
- export type { RedisSpanData } from '../core/bindings/redis-span';
6
- //# sourceMappingURL=redis-span.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis-span.d.ts","sourceRoot":"","sources":["../../src/bindings/redis-span.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tagCommand = exports.fromSpan = exports.RedisSpan = void 0;
4
- /**
5
- * Legacy compatibility re-export for Redis span helpers.
6
- */
7
- var redis_span_1 = require("../core/bindings/redis-span");
8
- Object.defineProperty(exports, "RedisSpan", { enumerable: true, get: function () { return redis_span_1.RedisSpan; } });
9
- Object.defineProperty(exports, "fromSpan", { enumerable: true, get: function () { return redis_span_1.fromSpan; } });
10
- Object.defineProperty(exports, "tagCommand", { enumerable: true, get: function () { return redis_span_1.tagCommand; } });
11
- //# sourceMappingURL=redis-span.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis-span.js","sourceRoot":"","sources":["../../src/bindings/redis-span.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,0DAA8E;AAArE,uGAAA,SAAS,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAAE,wGAAA,UAAU,OAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Legacy compatibility re-export for test span helper.
3
- */
4
- export { testSpan } from '../core/bindings/test-span';
5
- export type { TestSpan } from '../core/bindings/test-span';
6
- //# sourceMappingURL=test-span.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-span.d.ts","sourceRoot":"","sources":["../../src/bindings/test-span.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,YAAY,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.testSpan = void 0;
4
- /**
5
- * Legacy compatibility re-export for test span helper.
6
- */
7
- var test_span_1 = require("../core/bindings/test-span");
8
- Object.defineProperty(exports, "testSpan", { enumerable: true, get: function () { return test_span_1.testSpan; } });
9
- //# sourceMappingURL=test-span.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-span.js","sourceRoot":"","sources":["../../src/bindings/test-span.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,wDAAsD;AAA7C,qGAAA,QAAQ,OAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Legacy compatibility re-export for Express capture instrumentation.
3
- */
4
- export { CaptureEngine, queueInboundResponse, softprobeExpressMiddleware, } from '../instrumentations/express/capture';
5
- export type { QueueInboundResponsePayload } from '../instrumentations/express/capture';
6
- //# sourceMappingURL=express.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/capture/express.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.softprobeExpressMiddleware = exports.queueInboundResponse = exports.CaptureEngine = void 0;
4
- /**
5
- * Legacy compatibility re-export for Express capture instrumentation.
6
- */
7
- var capture_1 = require("../instrumentations/express/capture");
8
- Object.defineProperty(exports, "CaptureEngine", { enumerable: true, get: function () { return capture_1.CaptureEngine; } });
9
- Object.defineProperty(exports, "queueInboundResponse", { enumerable: true, get: function () { return capture_1.queueInboundResponse; } });
10
- Object.defineProperty(exports, "softprobeExpressMiddleware", { enumerable: true, get: function () { return capture_1.softprobeExpressMiddleware; } });
11
- //# sourceMappingURL=express.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/capture/express.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,+DAI6C;AAH3C,wGAAA,aAAa,OAAA;AACb,+GAAA,oBAAoB,OAAA;AACpB,qHAAA,0BAA0B,OAAA"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Legacy compatibility re-export for Fastify capture instrumentation.
3
- */
4
- export { softprobeFastifyPlugin } from '../instrumentations/fastify/capture';
5
- //# sourceMappingURL=fastify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../src/capture/fastify.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.softprobeFastifyPlugin = void 0;
4
- /**
5
- * Legacy compatibility re-export for Fastify capture instrumentation.
6
- */
7
- var capture_1 = require("../instrumentations/fastify/capture");
8
- Object.defineProperty(exports, "softprobeFastifyPlugin", { enumerable: true, get: function () { return capture_1.softprobeFastifyPlugin; } });
9
- //# sourceMappingURL=fastify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/capture/fastify.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,+DAA6E;AAApE,iHAAA,sBAAsB,OAAA"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Framework mutators: patch Express and Fastify so Softprobe middleware/hooks
3
- * are applied without user intervention. Design §16: patch Express app.use so
4
- * first middleware/route addition triggers our middleware; patch Fastify factory
5
- * so new instances get the plugin registered.
6
- */
7
- /**
8
- * Patch Express so the first time a route is added (e.g. app.get), we call
9
- * app.use(softprobeExpressMiddleware) so Softprobe middleware is injected.
10
- * Express 5 uses app.route() for app.get/post/etc., and mixin(app, proto) copies
11
- * proto onto each app, so we must patch the shared proto (express.application).
12
- */
13
- export declare function patchExpress(express: (req?: unknown) => unknown): void;
14
- /**
15
- * Patches Node's require so that when 'express' or 'fastify' is required,
16
- * the framework is patched to inject Softprobe middleware/hooks. Call from init
17
- * so that user require('express') or require('fastify') gets the patched version.
18
- */
19
- export declare function applyFrameworkMutators(): void;
20
- //# sourceMappingURL=framework-mutator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"framework-mutator.d.ts","sourceRoot":"","sources":["../../src/capture/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"}