@softprobe/softprobe-js 2.0.3 → 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 +14 -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:
@@ -216,15 +220,24 @@ No `NPM_TOKEN` repository secret is required for this workflow.
216
220
  This repo ships a ready-to-use Cursor Skill at:
217
221
 
218
222
  - `cursor-skills/softprobe/SKILL.md`
223
+ - `cursor-skills/softprobe/docs/softprobe-spec.md`
224
+ - `cursor-skills/softprobe/docs/architecture-contract.md`
225
+ - `cursor-skills/softprobe/docs/integration-runbook.md`
226
+ - `cursor-skills/softprobe/docs/workflow-contract.md`
227
+ - `cursor-skills/softprobe/docs/compatibility-matrix.md`
228
+ - `cursor-skills/softprobe/docs/do-not-infer.md`
219
229
  - `cursor-skills/softprobe/templates/capture.sh`
220
230
  - `cursor-skills/softprobe/templates/diff.sh`
221
231
  - `cursor-skills/softprobe/templates/demo-pricing.sh`
222
232
 
233
+ For external repositories, install/copy the entire `cursor-skills/softprobe` folder so the skill includes both instructions and product knowledge.
234
+
223
235
  ### Install into Cursor
224
236
 
225
237
  1. Open Cursor Settings.
226
238
  2. Open Skills management.
227
239
  3. Add/import the skill from this repo path: `cursor-skills/softprobe`.
240
+ - If importing to another repo, copy the full folder (including `docs/` and `templates/`).
228
241
  4. Ensure global CLI is installed: `npm install -g @softprobe/softprobe-js`.
229
242
  5. Reload Cursor window.
230
243
 
@@ -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.3",
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"}