@stainlessdev/xray-emitter 0.1.0 → 0.3.0

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 (86) hide show
  1. package/README.md +2 -2
  2. package/dist/{chunk-2HW4AEKB.cjs → chunk-55YD27PV.cjs} +28 -28
  3. package/dist/chunk-55YD27PV.cjs.map +1 -0
  4. package/dist/{chunk-YVMMCTXW.js → chunk-7KT6EPVZ.js} +1 -1
  5. package/dist/{chunk-YVMMCTXW.js.map → chunk-7KT6EPVZ.js.map} +1 -1
  6. package/dist/{chunk-GNSXLLEC.cjs → chunk-CPHFCOA5.cjs} +9 -9
  7. package/dist/{chunk-GNSXLLEC.cjs.map → chunk-CPHFCOA5.cjs.map} +1 -1
  8. package/dist/{chunk-JKW6E4L3.cjs → chunk-DNBARLGB.cjs} +1 -1
  9. package/dist/{chunk-JKW6E4L3.cjs.map → chunk-DNBARLGB.cjs.map} +1 -1
  10. package/dist/{chunk-ZP5OEA4I.js → chunk-DV3MVQBB.js} +4 -4
  11. package/dist/chunk-DV3MVQBB.js.map +1 -0
  12. package/dist/{chunk-WTHVUHGI.js → chunk-FGXXKIF7.js} +4 -4
  13. package/dist/chunk-FGXXKIF7.js.map +1 -0
  14. package/dist/{chunk-TSCMZ5TV.js → chunk-GYXI3DWB.js} +35 -3
  15. package/dist/chunk-GYXI3DWB.js.map +1 -0
  16. package/dist/{chunk-6UH43LVD.js → chunk-NTIUR3OC.js} +2 -2
  17. package/dist/{chunk-DBI3HXNR.cjs → chunk-SUVCVINA.cjs} +47 -47
  18. package/dist/chunk-SUVCVINA.cjs.map +1 -0
  19. package/dist/{chunk-XO6YWDFL.cjs → chunk-UJWD5CFA.cjs} +53 -21
  20. package/dist/chunk-UJWD5CFA.cjs.map +1 -0
  21. package/dist/effect.cjs +186 -0
  22. package/dist/effect.cjs.map +1 -0
  23. package/dist/effect.d.cts +60 -0
  24. package/dist/effect.d.ts +60 -0
  25. package/dist/effect.js +186 -0
  26. package/dist/effect.js.map +1 -0
  27. package/dist/emitter-Bi_m_w5h.d.cts +10 -0
  28. package/dist/emitter-Dy7bRGTq.d.ts +10 -0
  29. package/dist/express.cjs +7 -7
  30. package/dist/express.cjs.map +1 -1
  31. package/dist/express.d.cts +9 -2
  32. package/dist/express.d.ts +9 -2
  33. package/dist/express.js +4 -4
  34. package/dist/express.js.map +1 -1
  35. package/dist/fastify.cjs +10 -10
  36. package/dist/fastify.cjs.map +1 -1
  37. package/dist/fastify.d.cts +9 -2
  38. package/dist/fastify.d.ts +9 -2
  39. package/dist/fastify.js +4 -4
  40. package/dist/fastify.js.map +1 -1
  41. package/dist/fetch.cjs +5 -5
  42. package/dist/fetch.d.cts +40 -4
  43. package/dist/fetch.d.ts +40 -4
  44. package/dist/fetch.js +4 -4
  45. package/dist/hono.cjs +9 -9
  46. package/dist/hono.cjs.map +1 -1
  47. package/dist/hono.d.cts +15 -3
  48. package/dist/hono.d.ts +15 -3
  49. package/dist/hono.js +4 -4
  50. package/dist/hono.js.map +1 -1
  51. package/dist/index.cjs +3 -3
  52. package/dist/index.d.cts +8 -2
  53. package/dist/index.d.ts +8 -2
  54. package/dist/index.js +2 -2
  55. package/dist/internal.cjs +3 -3
  56. package/dist/internal.d.cts +1 -1
  57. package/dist/internal.d.ts +1 -1
  58. package/dist/internal.js +2 -2
  59. package/dist/next.cjs +7 -7
  60. package/dist/next.cjs.map +1 -1
  61. package/dist/next.d.cts +10 -3
  62. package/dist/next.d.ts +10 -3
  63. package/dist/next.js +4 -4
  64. package/dist/next.js.map +1 -1
  65. package/dist/node.cjs +5 -5
  66. package/dist/node.d.cts +42 -1
  67. package/dist/node.d.ts +42 -1
  68. package/dist/node.js +4 -4
  69. package/dist/remix.cjs +7 -7
  70. package/dist/remix.cjs.map +1 -1
  71. package/dist/remix.d.cts +11 -3
  72. package/dist/remix.d.ts +11 -3
  73. package/dist/remix.js +4 -4
  74. package/dist/remix.js.map +1 -1
  75. package/dist/types-BrKvhHbn.d.cts +446 -0
  76. package/dist/types-BrKvhHbn.d.ts +446 -0
  77. package/package.json +11 -1
  78. package/dist/chunk-2HW4AEKB.cjs.map +0 -1
  79. package/dist/chunk-DBI3HXNR.cjs.map +0 -1
  80. package/dist/chunk-TSCMZ5TV.js.map +0 -1
  81. package/dist/chunk-WTHVUHGI.js.map +0 -1
  82. package/dist/chunk-XO6YWDFL.cjs.map +0 -1
  83. package/dist/chunk-ZP5OEA4I.js.map +0 -1
  84. package/dist/types-Z1nirh-F.d.cts +0 -149
  85. package/dist/types-Z1nirh-F.d.ts +0 -149
  86. /package/dist/{chunk-6UH43LVD.js.map → chunk-NTIUR3OC.js.map} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,7 +1,13 @@
1
- import { X as XrayConfig, a as XrayEmitter } from './types-Z1nirh-F.cjs';
2
- export { A as AttributeValue, e as CaptureConfig, C as CapturedBody, E as ExporterConfig, L as LogLevel, b as Logger, N as NormalizedRequest, c as NormalizedResponse, f as RedactionConfig, g as RequestIdConfig, R as RequestLog, h as ResolvedXrayConfig, i as RouteConfig, k as XrayConfigError, d as XrayContext, j as XrayRuntimeConfig, n as normalizeConfig } from './types-Z1nirh-F.cjs';
1
+ import { X as XrayConfig, a as XrayEmitter } from './types-BrKvhHbn.cjs';
2
+ export { A as AttributeValue, e as CaptureConfig, C as CapturedBody, E as ExporterConfig, L as LogLevel, b as Logger, N as NormalizedRequest, c as NormalizedResponse, f as RedactionConfig, g as RequestIdConfig, R as RequestLog, h as ResolvedXrayConfig, i as RouteConfig, k as XrayConfigError, d as XrayContext, j as XrayRuntimeConfig, n as normalizeConfig } from './types-BrKvhHbn.cjs';
3
3
  import { SpanExporter } from '@opentelemetry/sdk-trace-base';
4
4
 
5
+ /**
6
+ * Create a runtime-agnostic X-ray emitter with a provided SpanExporter.
7
+ *
8
+ * Most applications should use a runtime adapter (`/node`, `/fetch`,
9
+ * or framework-specific entrypoints) unless they need custom transport logic.
10
+ */
5
11
  declare function createEmitter(config: XrayConfig, exporter: SpanExporter): XrayEmitter;
6
12
 
7
13
  export { XrayConfig, XrayEmitter, createEmitter };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,13 @@
1
- import { X as XrayConfig, a as XrayEmitter } from './types-Z1nirh-F.js';
2
- export { A as AttributeValue, e as CaptureConfig, C as CapturedBody, E as ExporterConfig, L as LogLevel, b as Logger, N as NormalizedRequest, c as NormalizedResponse, f as RedactionConfig, g as RequestIdConfig, R as RequestLog, h as ResolvedXrayConfig, i as RouteConfig, k as XrayConfigError, d as XrayContext, j as XrayRuntimeConfig, n as normalizeConfig } from './types-Z1nirh-F.js';
1
+ import { X as XrayConfig, a as XrayEmitter } from './types-BrKvhHbn.js';
2
+ export { A as AttributeValue, e as CaptureConfig, C as CapturedBody, E as ExporterConfig, L as LogLevel, b as Logger, N as NormalizedRequest, c as NormalizedResponse, f as RedactionConfig, g as RequestIdConfig, R as RequestLog, h as ResolvedXrayConfig, i as RouteConfig, k as XrayConfigError, d as XrayContext, j as XrayRuntimeConfig, n as normalizeConfig } from './types-BrKvhHbn.js';
3
3
  import { SpanExporter } from '@opentelemetry/sdk-trace-base';
4
4
 
5
+ /**
6
+ * Create a runtime-agnostic X-ray emitter with a provided SpanExporter.
7
+ *
8
+ * Most applications should use a runtime adapter (`/node`, `/fetch`,
9
+ * or framework-specific entrypoints) unless they need custom transport logic.
10
+ */
5
11
  declare function createEmitter(config: XrayConfig, exporter: SpanExporter): XrayEmitter;
6
12
 
7
13
  export { XrayConfig, XrayEmitter, createEmitter };
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@ import {
2
2
  XrayConfigError,
3
3
  createEmitter,
4
4
  normalizeConfig
5
- } from "./chunk-TSCMZ5TV.js";
6
- import "./chunk-YVMMCTXW.js";
5
+ } from "./chunk-GYXI3DWB.js";
6
+ import "./chunk-7KT6EPVZ.js";
7
7
  export {
8
8
  XrayConfigError,
9
9
  createEmitter,
package/dist/internal.cjs CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- var _chunkGNSXLLECcjs = require('./chunk-GNSXLLEC.cjs');
15
+ var _chunkCPHFCOA5cjs = require('./chunk-CPHFCOA5.cjs');
16
16
 
17
17
 
18
18
 
@@ -20,7 +20,7 @@ var _chunkGNSXLLECcjs = require('./chunk-GNSXLLEC.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunkJKW6E4L3cjs = require('./chunk-JKW6E4L3.cjs');
23
+ var _chunkDNBARLGBcjs = require('./chunk-DNBARLGB.cjs');
24
24
 
25
25
 
26
26
 
@@ -41,5 +41,5 @@ var _chunkJKW6E4L3cjs = require('./chunk-JKW6E4L3.cjs');
41
41
 
42
42
 
43
43
 
44
- exports.LimitedBuffer = _chunkGNSXLLECcjs.LimitedBuffer; exports.bindContextToObject = _chunkGNSXLLECcjs.bindContextToObject; exports.generateRequestId = _chunkJKW6E4L3cjs.generateRequestId; exports.getXrayContextFromObject = _chunkGNSXLLECcjs.getXrayContextFromObject; exports.headerTokenList = _chunkGNSXLLECcjs.headerTokenList; exports.headerValuesFromFetchHeaders = _chunkGNSXLLECcjs.headerValuesFromFetchHeaders; exports.headerValuesFromFetchHeadersWithLimit = _chunkGNSXLLECcjs.headerValuesFromFetchHeadersWithLimit; exports.headerValuesFromNodeHeaders = _chunkGNSXLLECcjs.headerValuesFromNodeHeaders; exports.isWebsocketUpgrade = _chunkGNSXLLECcjs.isWebsocketUpgrade; exports.isWebsocketUpgradeFetch = _chunkGNSXLLECcjs.isWebsocketUpgradeFetch; exports.logWithLevel = _chunkJKW6E4L3cjs.logWithLevel; exports.makeCapturedBody = _chunkJKW6E4L3cjs.makeCapturedBody; exports.setCaptureOverride = _chunkGNSXLLECcjs.setCaptureOverride; exports.setContextRequestId = _chunkGNSXLLECcjs.setContextRequestId; exports.setContextRoute = _chunkGNSXLLECcjs.setContextRoute; exports.setRedactionOverride = _chunkGNSXLLECcjs.setRedactionOverride; exports.uuidv7 = _chunkJKW6E4L3cjs.uuidv7; exports.uuidv7base48 = _chunkJKW6E4L3cjs.uuidv7base48; exports.uuidv7base62 = _chunkJKW6E4L3cjs.uuidv7base62;
44
+ exports.LimitedBuffer = _chunkCPHFCOA5cjs.LimitedBuffer; exports.bindContextToObject = _chunkCPHFCOA5cjs.bindContextToObject; exports.generateRequestId = _chunkDNBARLGBcjs.generateRequestId; exports.getXrayContextFromObject = _chunkCPHFCOA5cjs.getXrayContextFromObject; exports.headerTokenList = _chunkCPHFCOA5cjs.headerTokenList; exports.headerValuesFromFetchHeaders = _chunkCPHFCOA5cjs.headerValuesFromFetchHeaders; exports.headerValuesFromFetchHeadersWithLimit = _chunkCPHFCOA5cjs.headerValuesFromFetchHeadersWithLimit; exports.headerValuesFromNodeHeaders = _chunkCPHFCOA5cjs.headerValuesFromNodeHeaders; exports.isWebsocketUpgrade = _chunkCPHFCOA5cjs.isWebsocketUpgrade; exports.isWebsocketUpgradeFetch = _chunkCPHFCOA5cjs.isWebsocketUpgradeFetch; exports.logWithLevel = _chunkDNBARLGBcjs.logWithLevel; exports.makeCapturedBody = _chunkDNBARLGBcjs.makeCapturedBody; exports.setCaptureOverride = _chunkCPHFCOA5cjs.setCaptureOverride; exports.setContextRequestId = _chunkCPHFCOA5cjs.setContextRequestId; exports.setContextRoute = _chunkCPHFCOA5cjs.setContextRoute; exports.setRedactionOverride = _chunkCPHFCOA5cjs.setRedactionOverride; exports.uuidv7 = _chunkDNBARLGBcjs.uuidv7; exports.uuidv7base48 = _chunkDNBARLGBcjs.uuidv7base48; exports.uuidv7base62 = _chunkDNBARLGBcjs.uuidv7base62;
45
45
  //# sourceMappingURL=internal.cjs.map
@@ -1,4 +1,4 @@
1
- import { C as CapturedBody, b as Logger, L as LogLevel, d as XrayContext, e as CaptureConfig, f as RedactionConfig } from './types-Z1nirh-F.cjs';
1
+ import { C as CapturedBody, b as Logger, L as LogLevel, d as XrayContext, e as CaptureConfig, f as RedactionConfig } from './types-BrKvhHbn.cjs';
2
2
  import '@opentelemetry/sdk-trace-base';
3
3
 
4
4
  declare function makeCapturedBody(bytes: Uint8Array | undefined, totalBytes: number, truncated: boolean, mode: 'text' | 'base64'): CapturedBody | undefined;
@@ -1,4 +1,4 @@
1
- import { C as CapturedBody, b as Logger, L as LogLevel, d as XrayContext, e as CaptureConfig, f as RedactionConfig } from './types-Z1nirh-F.js';
1
+ import { C as CapturedBody, b as Logger, L as LogLevel, d as XrayContext, e as CaptureConfig, f as RedactionConfig } from './types-BrKvhHbn.js';
2
2
  import '@opentelemetry/sdk-trace-base';
3
3
 
4
4
  declare function makeCapturedBody(bytes: Uint8Array | undefined, totalBytes: number, truncated: boolean, mode: 'text' | 'base64'): CapturedBody | undefined;
package/dist/internal.js CHANGED
@@ -12,7 +12,7 @@ import {
12
12
  setContextRequestId,
13
13
  setContextRoute,
14
14
  setRedactionOverride
15
- } from "./chunk-6UH43LVD.js";
15
+ } from "./chunk-NTIUR3OC.js";
16
16
  import {
17
17
  generateRequestId,
18
18
  logWithLevel,
@@ -20,7 +20,7 @@ import {
20
20
  uuidv7,
21
21
  uuidv7base48,
22
22
  uuidv7base62
23
- } from "./chunk-YVMMCTXW.js";
23
+ } from "./chunk-7KT6EPVZ.js";
24
24
  export {
25
25
  LimitedBuffer,
26
26
  bindContextToObject,
package/dist/next.cjs CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkDBI3HXNRcjs = require('./chunk-DBI3HXNR.cjs');
6
- require('./chunk-XO6YWDFL.cjs');
7
- require('./chunk-GNSXLLEC.cjs');
8
- require('./chunk-JKW6E4L3.cjs');
5
+ var _chunkSUVCVINAcjs = require('./chunk-SUVCVINA.cjs');
6
+ require('./chunk-UJWD5CFA.cjs');
7
+ require('./chunk-CPHFCOA5.cjs');
8
+ require('./chunk-DNBARLGB.cjs');
9
9
 
10
10
  // src/next/next.ts
11
11
  function createEmitter2(config, options) {
12
- const emitter = _chunkDBI3HXNRcjs.createEmitter.call(void 0, config);
12
+ const emitter = _chunkSUVCVINAcjs.createEmitter.call(void 0, config);
13
13
  const wrap = ((handler) => wrapNextRoute(handler, emitter, options));
14
14
  wrap.flush = emitter.flush;
15
15
  wrap.shutdown = emitter.shutdown;
@@ -17,7 +17,7 @@ function createEmitter2(config, options) {
17
17
  }
18
18
  function wrapNextRoute(handler, xray, options) {
19
19
  return async (request, context) => {
20
- const wrapped = _chunkDBI3HXNRcjs.wrapFetchPreserve.call(void 0, (req) => handler(req, context), xray, options);
20
+ const wrapped = _chunkSUVCVINAcjs.wrapFetchPreserve.call(void 0, (req) => handler(req, context), xray, options);
21
21
  return wrapped(request);
22
22
  };
23
23
  }
@@ -26,5 +26,5 @@ function wrapNextRoute(handler, xray, options) {
26
26
 
27
27
 
28
28
 
29
- exports.createCoreEmitter = _chunkDBI3HXNRcjs.createEmitter; exports.createEmitter = createEmitter2; exports.getXrayContext = _chunkDBI3HXNRcjs.getXrayContext; exports.wrapNextRoute = wrapNextRoute;
29
+ exports.createCoreEmitter = _chunkSUVCVINAcjs.createEmitter; exports.createEmitter = createEmitter2; exports.getXrayContext = _chunkSUVCVINAcjs.getXrayContext; exports.wrapNextRoute = wrapNextRoute;
30
30
  //# sourceMappingURL=next.cjs.map
package/dist/next.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/next.cjs","../src/next/next.ts"],"names":["createEmitter"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACA;AC2BO,SAASA,cAAAA,CAAc,MAAA,EAA2B,OAAA,EAAoC;AAC3F,EAAA,MAAM,QAAA,EAAU,6CAAA,MAAyB,CAAA;AACzC,EAAA,MAAM,KAAA,EAAA,CAAQ,CAAC,OAAA,EAAA,GACb,aAAA,CAAc,OAAA,EAAS,OAAA,EAAS,OAAO,CAAA,CAAA;AACzC,EAAA,IAAA,CAAK,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACrB,EAAA,IAAA,CAAK,SAAA,EAAW,OAAA,CAAQ,QAAA;AACxB,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,aAAA,CACd,OAAA,EACA,IAAA,EACA,OAAA,EACoE;AACpE,EAAA,OAAO,MAAA,CAAO,OAAA,EAAS,OAAA,EAAA,GAAY;AACjC,IAAA,MAAM,QAAA,EAAU,iDAAA,CAAmB,GAAA,EAAA,GAAiB,OAAA,CAAQ,GAAA,EAAK,OAAO,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AACxF,IAAA,OAAO,OAAA,CAAQ,OAAO,CAAA;AAAA,EACxB,CAAA;AACF;AD/BA;AACE;AACA;AACA;AACA;AACF,sMAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/next.cjs","sourcesContent":[null,"import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy types from Next.js to avoid a package dependency\ntype NextRouteContext = {\n params: Promise<Record<string, string | string[]>>;\n};\n\ntype NextRouteHandler = (\n request: Request,\n context: NextRouteContext,\n) => Response | Promise<Response>;\n\ntype NextEmitter = ((handler: NextRouteHandler) => ReturnType<typeof wrapNextRoute>) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): NextEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: NextRouteHandler) =>\n wrapNextRoute(handler, emitter, options)) as NextEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\nexport function wrapNextRoute(\n handler: NextRouteHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): (request: Request, context: NextRouteContext) => Promise<Response> {\n return async (request, context) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, context), xray, options);\n return wrapped(request);\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/next.cjs","../src/next/next.ts"],"names":["createEmitter"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACA;AC8BO,SAASA,cAAAA,CAAc,MAAA,EAA2B,OAAA,EAAoC;AAC3F,EAAA,MAAM,QAAA,EAAU,6CAAA,MAAyB,CAAA;AACzC,EAAA,MAAM,KAAA,EAAA,CAAQ,CAAC,OAAA,EAAA,GACb,aAAA,CAAc,OAAA,EAAS,OAAA,EAAS,OAAO,CAAA,CAAA;AACzC,EAAA,IAAA,CAAK,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACrB,EAAA,IAAA,CAAK,SAAA,EAAW,OAAA,CAAQ,QAAA;AACxB,EAAA,OAAO,IAAA;AACT;AAKO,SAAS,aAAA,CACd,OAAA,EACA,IAAA,EACA,OAAA,EACoE;AACpE,EAAA,OAAO,MAAA,CAAO,OAAA,EAAS,OAAA,EAAA,GAAY;AACjC,IAAA,MAAM,QAAA,EAAU,iDAAA,CAAmB,GAAA,EAAA,GAAiB,OAAA,CAAQ,GAAA,EAAK,OAAO,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AACxF,IAAA,OAAO,OAAA,CAAQ,OAAO,CAAA;AAAA,EACxB,CAAA;AACF;ADrCA;AACE;AACA;AACA;AACA;AACF,sMAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/next.cjs","sourcesContent":[null,"import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy types from Next.js to avoid a package dependency\ntype NextRouteContext = {\n params: Promise<Record<string, string | string[]>>;\n};\n\ntype NextRouteHandler = (\n request: Request,\n context: NextRouteContext,\n) => Response | Promise<Response>;\n\ntype NextEmitter = ((handler: NextRouteHandler) => ReturnType<typeof wrapNextRoute>) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\n/**\n * Create a Next.js App Router wrapper and expose `flush()`/`shutdown()`.\n */\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): NextEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: NextRouteHandler) =>\n wrapNextRoute(handler, emitter, options)) as NextEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\n/**\n * Wrap a Next.js route handler using an existing core `XrayEmitter`.\n */\nexport function wrapNextRoute(\n handler: NextRouteHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): (request: Request, context: NextRouteContext) => Promise<Response> {\n return async (request, context) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, context), xray, options);\n return wrapped(request);\n };\n}\n"]}
package/dist/next.d.cts CHANGED
@@ -1,7 +1,8 @@
1
- import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-Z1nirh-F.cjs';
2
- export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-Z1nirh-F.cjs';
1
+ import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-BrKvhHbn.cjs';
2
+ export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-BrKvhHbn.cjs';
3
+ export { c as createCoreEmitter } from './emitter-Bi_m_w5h.cjs';
3
4
  import { WrapOptions } from './fetch.cjs';
4
- export { createEmitter as createCoreEmitter, getXrayContext } from './fetch.cjs';
5
+ export { getXrayContext } from './fetch.cjs';
5
6
  import '@opentelemetry/sdk-trace-base';
6
7
 
7
8
  type NextRouteContext = {
@@ -12,7 +13,13 @@ type NextEmitter = ((handler: NextRouteHandler) => ReturnType<typeof wrapNextRou
12
13
  flush: XrayEmitter['flush'];
13
14
  shutdown: XrayEmitter['shutdown'];
14
15
  };
16
+ /**
17
+ * Create a Next.js App Router wrapper and expose `flush()`/`shutdown()`.
18
+ */
15
19
  declare function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): NextEmitter;
20
+ /**
21
+ * Wrap a Next.js route handler using an existing core `XrayEmitter`.
22
+ */
16
23
  declare function wrapNextRoute(handler: NextRouteHandler, xray: XrayEmitter, options?: WrapOptions): (request: Request, context: NextRouteContext) => Promise<Response>;
17
24
 
18
25
  export { WrapOptions, XrayEmitter, XrayRuntimeConfig, createEmitter, wrapNextRoute };
package/dist/next.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-Z1nirh-F.js';
2
- export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-Z1nirh-F.js';
1
+ import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-BrKvhHbn.js';
2
+ export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-BrKvhHbn.js';
3
+ export { c as createCoreEmitter } from './emitter-Dy7bRGTq.js';
3
4
  import { WrapOptions } from './fetch.js';
4
- export { createEmitter as createCoreEmitter, getXrayContext } from './fetch.js';
5
+ export { getXrayContext } from './fetch.js';
5
6
  import '@opentelemetry/sdk-trace-base';
6
7
 
7
8
  type NextRouteContext = {
@@ -12,7 +13,13 @@ type NextEmitter = ((handler: NextRouteHandler) => ReturnType<typeof wrapNextRou
12
13
  flush: XrayEmitter['flush'];
13
14
  shutdown: XrayEmitter['shutdown'];
14
15
  };
16
+ /**
17
+ * Create a Next.js App Router wrapper and expose `flush()`/`shutdown()`.
18
+ */
15
19
  declare function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): NextEmitter;
20
+ /**
21
+ * Wrap a Next.js route handler using an existing core `XrayEmitter`.
22
+ */
16
23
  declare function wrapNextRoute(handler: NextRouteHandler, xray: XrayEmitter, options?: WrapOptions): (request: Request, context: NextRouteContext) => Promise<Response>;
17
24
 
18
25
  export { WrapOptions, XrayEmitter, XrayRuntimeConfig, createEmitter, wrapNextRoute };
package/dist/next.js CHANGED
@@ -2,10 +2,10 @@ import {
2
2
  createEmitter,
3
3
  getXrayContext,
4
4
  wrapFetchPreserve
5
- } from "./chunk-ZP5OEA4I.js";
6
- import "./chunk-TSCMZ5TV.js";
7
- import "./chunk-6UH43LVD.js";
8
- import "./chunk-YVMMCTXW.js";
5
+ } from "./chunk-DV3MVQBB.js";
6
+ import "./chunk-GYXI3DWB.js";
7
+ import "./chunk-NTIUR3OC.js";
8
+ import "./chunk-7KT6EPVZ.js";
9
9
 
10
10
  // src/next/next.ts
11
11
  function createEmitter2(config, options) {
package/dist/next.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/next/next.ts"],"sourcesContent":["import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy types from Next.js to avoid a package dependency\ntype NextRouteContext = {\n params: Promise<Record<string, string | string[]>>;\n};\n\ntype NextRouteHandler = (\n request: Request,\n context: NextRouteContext,\n) => Response | Promise<Response>;\n\ntype NextEmitter = ((handler: NextRouteHandler) => ReturnType<typeof wrapNextRoute>) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): NextEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: NextRouteHandler) =>\n wrapNextRoute(handler, emitter, options)) as NextEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\nexport function wrapNextRoute(\n handler: NextRouteHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): (request: Request, context: NextRouteContext) => Promise<Response> {\n return async (request, context) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, context), xray, options);\n return wrapped(request);\n };\n}\n"],"mappings":";;;;;;;;;;AAoCO,SAASA,eAAc,QAA2B,SAAoC;AAC3F,QAAM,UAAU,cAAmB,MAAM;AACzC,QAAM,QAAQ,CAAC,YACb,cAAc,SAAS,SAAS,OAAO;AACzC,OAAK,QAAQ,QAAQ;AACrB,OAAK,WAAW,QAAQ;AACxB,SAAO;AACT;AAEO,SAAS,cACd,SACA,MACA,SACoE;AACpE,SAAO,OAAO,SAAS,YAAY;AACjC,UAAM,UAAU,kBAAkB,CAAC,QAAiB,QAAQ,KAAK,OAAO,GAAG,MAAM,OAAO;AACxF,WAAO,QAAQ,OAAO;AAAA,EACxB;AACF;","names":["createEmitter"]}
1
+ {"version":3,"sources":["../src/next/next.ts"],"sourcesContent":["import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy types from Next.js to avoid a package dependency\ntype NextRouteContext = {\n params: Promise<Record<string, string | string[]>>;\n};\n\ntype NextRouteHandler = (\n request: Request,\n context: NextRouteContext,\n) => Response | Promise<Response>;\n\ntype NextEmitter = ((handler: NextRouteHandler) => ReturnType<typeof wrapNextRoute>) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\n/**\n * Create a Next.js App Router wrapper and expose `flush()`/`shutdown()`.\n */\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): NextEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: NextRouteHandler) =>\n wrapNextRoute(handler, emitter, options)) as NextEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\n/**\n * Wrap a Next.js route handler using an existing core `XrayEmitter`.\n */\nexport function wrapNextRoute(\n handler: NextRouteHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): (request: Request, context: NextRouteContext) => Promise<Response> {\n return async (request, context) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, context), xray, options);\n return wrapped(request);\n };\n}\n"],"mappings":";;;;;;;;;;AAuCO,SAASA,eAAc,QAA2B,SAAoC;AAC3F,QAAM,UAAU,cAAmB,MAAM;AACzC,QAAM,QAAQ,CAAC,YACb,cAAc,SAAS,SAAS,OAAO;AACzC,OAAK,QAAQ,QAAQ;AACrB,OAAK,WAAW,QAAQ;AACxB,SAAO;AACT;AAKO,SAAS,cACd,SACA,MACA,SACoE;AACpE,SAAO,OAAO,SAAS,YAAY;AACjC,UAAM,UAAU,kBAAkB,CAAC,QAAiB,QAAQ,KAAK,OAAO,GAAG,MAAM,OAAO;AACxF,WAAO,QAAQ,OAAO;AAAA,EACxB;AACF;","names":["createEmitter"]}
package/dist/node.cjs CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk2HW4AEKBcjs = require('./chunk-2HW4AEKB.cjs');
6
- require('./chunk-XO6YWDFL.cjs');
7
- require('./chunk-GNSXLLEC.cjs');
8
- require('./chunk-JKW6E4L3.cjs');
5
+ var _chunk55YD27PVcjs = require('./chunk-55YD27PV.cjs');
6
+ require('./chunk-UJWD5CFA.cjs');
7
+ require('./chunk-CPHFCOA5.cjs');
8
+ require('./chunk-DNBARLGB.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
- exports.createEmitter = _chunk2HW4AEKBcjs.createEmitter; exports.getXrayContext = _chunk2HW4AEKBcjs.getXrayContext; exports.wrapHttpHandler = _chunk2HW4AEKBcjs.wrapHttpHandler;
13
+ exports.createEmitter = _chunk55YD27PVcjs.createEmitter; exports.getXrayContext = _chunk55YD27PVcjs.getXrayContext; exports.wrapHttpHandler = _chunk55YD27PVcjs.wrapHttpHandler;
14
14
  //# sourceMappingURL=node.cjs.map
package/dist/node.d.cts CHANGED
@@ -1,20 +1,61 @@
1
- import { j as XrayRuntimeConfig, a as XrayEmitter, e as CaptureConfig, f as RedactionConfig, d as XrayContext, R as RequestLog } from './types-Z1nirh-F.cjs';
1
+ import { j as XrayRuntimeConfig, a as XrayEmitter, e as CaptureConfig, f as RedactionConfig, d as XrayContext, R as RequestLog } from './types-BrKvhHbn.cjs';
2
2
  import { IncomingMessage, ServerResponse } from 'node:http';
3
3
  import '@opentelemetry/sdk-trace-base';
4
4
 
5
+ /**
6
+ * Create a Node runtime emitter using OTLP HTTP transport by default.
7
+ *
8
+ * Pass `config.exporter.instance` to provide a custom `SpanExporter`.
9
+ */
5
10
  declare function createEmitter(config: XrayRuntimeConfig): XrayEmitter;
6
11
 
12
+ /**
13
+ * Handler signature for `node:http` request listeners.
14
+ */
7
15
  type NodeHttpHandler = (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
16
+ /**
17
+ * Per-handler overrides for `wrapHttpHandler`.
18
+ */
8
19
  interface WrapOptions {
20
+ /**
21
+ * Explicit route pattern for this handler (for example `/users/:id`).
22
+ */
9
23
  route?: string;
24
+ /**
25
+ * Explicit request ID. Skips header lookup/generation when provided.
26
+ */
10
27
  requestId?: string;
28
+ /**
29
+ * Per-handler capture overrides.
30
+ */
11
31
  capture?: Partial<CaptureConfig>;
32
+ /**
33
+ * Per-handler redaction overrides.
34
+ */
12
35
  redaction?: Partial<RedactionConfig>;
36
+ /**
37
+ * Hook called after request context is created.
38
+ */
13
39
  onRequest?: (ctx: XrayContext) => void;
40
+ /**
41
+ * Hook called after the request has been finalized and logged.
42
+ */
14
43
  onResponse?: (ctx: XrayContext, log: RequestLog) => void;
44
+ /**
45
+ * Hook called when request handling fails.
46
+ */
15
47
  onError?: (ctx: XrayContext, err: unknown) => void;
16
48
  }
49
+ /**
50
+ * Wrap a `node:http` request handler with X-ray instrumentation.
51
+ *
52
+ * The wrapper binds `XrayContext` to both `req` and `res`, captures configured
53
+ * request/response metadata, and ensures a response request ID header is set.
54
+ */
17
55
  declare function wrapHttpHandler(handler: NodeHttpHandler, xray: XrayEmitter, options?: WrapOptions): NodeHttpHandler;
56
+ /**
57
+ * Retrieve the `XrayContext` bound to a Node `IncomingMessage`.
58
+ */
18
59
  declare function getXrayContext(req: IncomingMessage): XrayContext | undefined;
19
60
 
20
61
  export { type NodeHttpHandler, type WrapOptions, createEmitter, getXrayContext, wrapHttpHandler };
package/dist/node.d.ts CHANGED
@@ -1,20 +1,61 @@
1
- import { j as XrayRuntimeConfig, a as XrayEmitter, e as CaptureConfig, f as RedactionConfig, d as XrayContext, R as RequestLog } from './types-Z1nirh-F.js';
1
+ import { j as XrayRuntimeConfig, a as XrayEmitter, e as CaptureConfig, f as RedactionConfig, d as XrayContext, R as RequestLog } from './types-BrKvhHbn.js';
2
2
  import { IncomingMessage, ServerResponse } from 'node:http';
3
3
  import '@opentelemetry/sdk-trace-base';
4
4
 
5
+ /**
6
+ * Create a Node runtime emitter using OTLP HTTP transport by default.
7
+ *
8
+ * Pass `config.exporter.instance` to provide a custom `SpanExporter`.
9
+ */
5
10
  declare function createEmitter(config: XrayRuntimeConfig): XrayEmitter;
6
11
 
12
+ /**
13
+ * Handler signature for `node:http` request listeners.
14
+ */
7
15
  type NodeHttpHandler = (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
16
+ /**
17
+ * Per-handler overrides for `wrapHttpHandler`.
18
+ */
8
19
  interface WrapOptions {
20
+ /**
21
+ * Explicit route pattern for this handler (for example `/users/:id`).
22
+ */
9
23
  route?: string;
24
+ /**
25
+ * Explicit request ID. Skips header lookup/generation when provided.
26
+ */
10
27
  requestId?: string;
28
+ /**
29
+ * Per-handler capture overrides.
30
+ */
11
31
  capture?: Partial<CaptureConfig>;
32
+ /**
33
+ * Per-handler redaction overrides.
34
+ */
12
35
  redaction?: Partial<RedactionConfig>;
36
+ /**
37
+ * Hook called after request context is created.
38
+ */
13
39
  onRequest?: (ctx: XrayContext) => void;
40
+ /**
41
+ * Hook called after the request has been finalized and logged.
42
+ */
14
43
  onResponse?: (ctx: XrayContext, log: RequestLog) => void;
44
+ /**
45
+ * Hook called when request handling fails.
46
+ */
15
47
  onError?: (ctx: XrayContext, err: unknown) => void;
16
48
  }
49
+ /**
50
+ * Wrap a `node:http` request handler with X-ray instrumentation.
51
+ *
52
+ * The wrapper binds `XrayContext` to both `req` and `res`, captures configured
53
+ * request/response metadata, and ensures a response request ID header is set.
54
+ */
17
55
  declare function wrapHttpHandler(handler: NodeHttpHandler, xray: XrayEmitter, options?: WrapOptions): NodeHttpHandler;
56
+ /**
57
+ * Retrieve the `XrayContext` bound to a Node `IncomingMessage`.
58
+ */
18
59
  declare function getXrayContext(req: IncomingMessage): XrayContext | undefined;
19
60
 
20
61
  export { type NodeHttpHandler, type WrapOptions, createEmitter, getXrayContext, wrapHttpHandler };
package/dist/node.js CHANGED
@@ -2,10 +2,10 @@ import {
2
2
  createEmitter,
3
3
  getXrayContext,
4
4
  wrapHttpHandler
5
- } from "./chunk-WTHVUHGI.js";
6
- import "./chunk-TSCMZ5TV.js";
7
- import "./chunk-6UH43LVD.js";
8
- import "./chunk-YVMMCTXW.js";
5
+ } from "./chunk-FGXXKIF7.js";
6
+ import "./chunk-GYXI3DWB.js";
7
+ import "./chunk-NTIUR3OC.js";
8
+ import "./chunk-7KT6EPVZ.js";
9
9
  export {
10
10
  createEmitter,
11
11
  getXrayContext,
package/dist/remix.cjs CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkDBI3HXNRcjs = require('./chunk-DBI3HXNR.cjs');
6
- require('./chunk-XO6YWDFL.cjs');
7
- require('./chunk-GNSXLLEC.cjs');
8
- require('./chunk-JKW6E4L3.cjs');
5
+ var _chunkSUVCVINAcjs = require('./chunk-SUVCVINA.cjs');
6
+ require('./chunk-UJWD5CFA.cjs');
7
+ require('./chunk-CPHFCOA5.cjs');
8
+ require('./chunk-DNBARLGB.cjs');
9
9
 
10
10
  // src/remix/remix.ts
11
11
  function createEmitter2(config, options) {
12
- const emitter = _chunkDBI3HXNRcjs.createEmitter.call(void 0, config);
12
+ const emitter = _chunkSUVCVINAcjs.createEmitter.call(void 0, config);
13
13
  const wrap = ((handler) => wrapRemixRequestHandler(handler, emitter, options));
14
14
  wrap.flush = emitter.flush;
15
15
  wrap.shutdown = emitter.shutdown;
@@ -17,7 +17,7 @@ function createEmitter2(config, options) {
17
17
  }
18
18
  function wrapRemixRequestHandler(handler, xray, options) {
19
19
  return (request, loadContext) => {
20
- const wrapped = _chunkDBI3HXNRcjs.wrapFetchPreserve.call(void 0, (req) => handler(req, loadContext), xray, options);
20
+ const wrapped = _chunkSUVCVINAcjs.wrapFetchPreserve.call(void 0, (req) => handler(req, loadContext), xray, options);
21
21
  return wrapped(request);
22
22
  };
23
23
  }
@@ -26,5 +26,5 @@ function wrapRemixRequestHandler(handler, xray, options) {
26
26
 
27
27
 
28
28
 
29
- exports.createCoreEmitter = _chunkDBI3HXNRcjs.createEmitter; exports.createEmitter = createEmitter2; exports.getXrayContext = _chunkDBI3HXNRcjs.getXrayContext; exports.wrapRemixRequestHandler = wrapRemixRequestHandler;
29
+ exports.createCoreEmitter = _chunkSUVCVINAcjs.createEmitter; exports.createEmitter = createEmitter2; exports.getXrayContext = _chunkSUVCVINAcjs.getXrayContext; exports.wrapRemixRequestHandler = wrapRemixRequestHandler;
30
30
  //# sourceMappingURL=remix.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/remix.cjs","../src/remix/remix.ts"],"names":["createEmitter"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACoBO,SAASA,cAAAA,CAAc,MAAA,EAA2B,OAAA,EAAqC;AAC5F,EAAA,MAAM,QAAA,EAAU,6CAAA,MAAyB,CAAA;AACzC,EAAA,MAAM,KAAA,EAAA,CAAQ,CAAC,OAAA,EAAA,GACb,uBAAA,CAAwB,OAAA,EAAS,OAAA,EAAS,OAAO,CAAA,CAAA;AACnD,EAAA,IAAA,CAAK,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACrB,EAAA,IAAA,CAAK,SAAA,EAAW,OAAA,CAAQ,QAAA;AACxB,EAAA,OAAO,IAAA;AACT;AAEO,SAAS,uBAAA,CACd,OAAA,EACA,IAAA,EACA,OAAA,EACgB;AAChB,EAAA,OAAO,CAAC,OAAA,EAAS,WAAA,EAAA,GAAgB;AAC/B,IAAA,MAAM,QAAA,EAAU,iDAAA,CAAmB,GAAA,EAAA,GAAiB,OAAA,CAAQ,GAAA,EAAK,WAAW,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AAC5F,IAAA,OAAO,OAAA,CAAQ,OAAO,CAAA;AAAA,EACxB,CAAA;AACF;ADxBA;AACE;AACA;AACA;AACA;AACF,0NAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/remix.cjs","sourcesContent":[null,"import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy type from react-router to avoid a package dependency\ntype RequestHandler = (request: Request, loadContext?: unknown) => Response | Promise<Response>;\n\ntype RemixEmitter = ((handler: RequestHandler) => RequestHandler) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): RemixEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: RequestHandler) =>\n wrapRemixRequestHandler(handler, emitter, options)) as RemixEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\nexport function wrapRemixRequestHandler(\n handler: RequestHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): RequestHandler {\n return (request, loadContext) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, loadContext), xray, options);\n return wrapped(request);\n };\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/remix.cjs","../src/remix/remix.ts"],"names":["createEmitter"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACwBO,SAASA,cAAAA,CAAc,MAAA,EAA2B,OAAA,EAAqC;AAC5F,EAAA,MAAM,QAAA,EAAU,6CAAA,MAAyB,CAAA;AACzC,EAAA,MAAM,KAAA,EAAA,CAAQ,CAAC,OAAA,EAAA,GACb,uBAAA,CAAwB,OAAA,EAAS,OAAA,EAAS,OAAO,CAAA,CAAA;AACnD,EAAA,IAAA,CAAK,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACrB,EAAA,IAAA,CAAK,SAAA,EAAW,OAAA,CAAQ,QAAA;AACxB,EAAA,OAAO,IAAA;AACT;AAKO,SAAS,uBAAA,CACd,OAAA,EACA,IAAA,EACA,OAAA,EACgB;AAChB,EAAA,OAAO,CAAC,OAAA,EAAS,WAAA,EAAA,GAAgB;AAC/B,IAAA,MAAM,QAAA,EAAU,iDAAA,CAAmB,GAAA,EAAA,GAAiB,OAAA,CAAQ,GAAA,EAAK,WAAW,CAAA,EAAG,IAAA,EAAM,OAAO,CAAA;AAC5F,IAAA,OAAO,OAAA,CAAQ,OAAO,CAAA;AAAA,EACxB,CAAA;AACF;AD/BA;AACE;AACA;AACA;AACA;AACF,0NAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/remix.cjs","sourcesContent":[null,"import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy type from react-router to avoid a package dependency\ntype RequestHandler = (request: Request, loadContext?: unknown) => Response | Promise<Response>;\n\ntype RemixEmitter = ((handler: RequestHandler) => RequestHandler) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\n/**\n * Create a Remix/React Router request-handler wrapper and expose\n * `flush()`/`shutdown()`.\n */\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): RemixEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: RequestHandler) =>\n wrapRemixRequestHandler(handler, emitter, options)) as RemixEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\n/**\n * Wrap a Remix request handler using an existing core `XrayEmitter`.\n */\nexport function wrapRemixRequestHandler(\n handler: RequestHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): RequestHandler {\n return (request, loadContext) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, loadContext), xray, options);\n return wrapped(request);\n };\n}\n"]}
package/dist/remix.d.cts CHANGED
@@ -1,7 +1,8 @@
1
- import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-Z1nirh-F.cjs';
2
- export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-Z1nirh-F.cjs';
1
+ import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-BrKvhHbn.cjs';
2
+ export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-BrKvhHbn.cjs';
3
+ export { c as createCoreEmitter } from './emitter-Bi_m_w5h.cjs';
3
4
  import { WrapOptions } from './fetch.cjs';
4
- export { createEmitter as createCoreEmitter, getXrayContext } from './fetch.cjs';
5
+ export { getXrayContext } from './fetch.cjs';
5
6
  import '@opentelemetry/sdk-trace-base';
6
7
 
7
8
  type RequestHandler = (request: Request, loadContext?: unknown) => Response | Promise<Response>;
@@ -9,7 +10,14 @@ type RemixEmitter = ((handler: RequestHandler) => RequestHandler) & {
9
10
  flush: XrayEmitter['flush'];
10
11
  shutdown: XrayEmitter['shutdown'];
11
12
  };
13
+ /**
14
+ * Create a Remix/React Router request-handler wrapper and expose
15
+ * `flush()`/`shutdown()`.
16
+ */
12
17
  declare function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): RemixEmitter;
18
+ /**
19
+ * Wrap a Remix request handler using an existing core `XrayEmitter`.
20
+ */
13
21
  declare function wrapRemixRequestHandler(handler: RequestHandler, xray: XrayEmitter, options?: WrapOptions): RequestHandler;
14
22
 
15
23
  export { WrapOptions, XrayEmitter, XrayRuntimeConfig, createEmitter, wrapRemixRequestHandler };
package/dist/remix.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-Z1nirh-F.js';
2
- export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-Z1nirh-F.js';
1
+ import { j as XrayRuntimeConfig, a as XrayEmitter } from './types-BrKvhHbn.js';
2
+ export { e as CaptureConfig, f as RedactionConfig, R as RequestLog, X as XrayConfig, d as XrayContext } from './types-BrKvhHbn.js';
3
+ export { c as createCoreEmitter } from './emitter-Dy7bRGTq.js';
3
4
  import { WrapOptions } from './fetch.js';
4
- export { createEmitter as createCoreEmitter, getXrayContext } from './fetch.js';
5
+ export { getXrayContext } from './fetch.js';
5
6
  import '@opentelemetry/sdk-trace-base';
6
7
 
7
8
  type RequestHandler = (request: Request, loadContext?: unknown) => Response | Promise<Response>;
@@ -9,7 +10,14 @@ type RemixEmitter = ((handler: RequestHandler) => RequestHandler) & {
9
10
  flush: XrayEmitter['flush'];
10
11
  shutdown: XrayEmitter['shutdown'];
11
12
  };
13
+ /**
14
+ * Create a Remix/React Router request-handler wrapper and expose
15
+ * `flush()`/`shutdown()`.
16
+ */
12
17
  declare function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): RemixEmitter;
18
+ /**
19
+ * Wrap a Remix request handler using an existing core `XrayEmitter`.
20
+ */
13
21
  declare function wrapRemixRequestHandler(handler: RequestHandler, xray: XrayEmitter, options?: WrapOptions): RequestHandler;
14
22
 
15
23
  export { WrapOptions, XrayEmitter, XrayRuntimeConfig, createEmitter, wrapRemixRequestHandler };
package/dist/remix.js CHANGED
@@ -2,10 +2,10 @@ import {
2
2
  createEmitter,
3
3
  getXrayContext,
4
4
  wrapFetchPreserve
5
- } from "./chunk-ZP5OEA4I.js";
6
- import "./chunk-TSCMZ5TV.js";
7
- import "./chunk-6UH43LVD.js";
8
- import "./chunk-YVMMCTXW.js";
5
+ } from "./chunk-DV3MVQBB.js";
6
+ import "./chunk-GYXI3DWB.js";
7
+ import "./chunk-NTIUR3OC.js";
8
+ import "./chunk-7KT6EPVZ.js";
9
9
 
10
10
  // src/remix/remix.ts
11
11
  function createEmitter2(config, options) {
package/dist/remix.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/remix/remix.ts"],"sourcesContent":["import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy type from react-router to avoid a package dependency\ntype RequestHandler = (request: Request, loadContext?: unknown) => Response | Promise<Response>;\n\ntype RemixEmitter = ((handler: RequestHandler) => RequestHandler) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): RemixEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: RequestHandler) =>\n wrapRemixRequestHandler(handler, emitter, options)) as RemixEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\nexport function wrapRemixRequestHandler(\n handler: RequestHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): RequestHandler {\n return (request, loadContext) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, loadContext), xray, options);\n return wrapped(request);\n };\n}\n"],"mappings":";;;;;;;;;;AA6BO,SAASA,eAAc,QAA2B,SAAqC;AAC5F,QAAM,UAAU,cAAmB,MAAM;AACzC,QAAM,QAAQ,CAAC,YACb,wBAAwB,SAAS,SAAS,OAAO;AACnD,OAAK,QAAQ,QAAQ;AACrB,OAAK,WAAW,QAAQ;AACxB,SAAO;AACT;AAEO,SAAS,wBACd,SACA,MACA,SACgB;AAChB,SAAO,CAAC,SAAS,gBAAgB;AAC/B,UAAM,UAAU,kBAAkB,CAAC,QAAiB,QAAQ,KAAK,WAAW,GAAG,MAAM,OAAO;AAC5F,WAAO,QAAQ,OAAO;AAAA,EACxB;AACF;","names":["createEmitter"]}
1
+ {"version":3,"sources":["../src/remix/remix.ts"],"sourcesContent":["import type { XrayEmitter, XrayRuntimeConfig } from '../core/index';\nimport {\n createEmitter as createFetchEmitter,\n getXrayContext,\n wrapFetchPreserve,\n type WrapOptions,\n} from '../fetch/fetch';\n\nexport { createFetchEmitter as createCoreEmitter };\nexport type {\n CaptureConfig,\n RedactionConfig,\n RequestLog,\n XrayConfig,\n XrayContext,\n XrayEmitter,\n XrayRuntimeConfig,\n} from '../core/index';\nexport type { WrapOptions } from '../fetch/fetch';\nexport { getXrayContext };\n\n// copy type from react-router to avoid a package dependency\ntype RequestHandler = (request: Request, loadContext?: unknown) => Response | Promise<Response>;\n\ntype RemixEmitter = ((handler: RequestHandler) => RequestHandler) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\n/**\n * Create a Remix/React Router request-handler wrapper and expose\n * `flush()`/`shutdown()`.\n */\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): RemixEmitter {\n const emitter = createFetchEmitter(config);\n const wrap = ((handler: RequestHandler) =>\n wrapRemixRequestHandler(handler, emitter, options)) as RemixEmitter;\n wrap.flush = emitter.flush;\n wrap.shutdown = emitter.shutdown;\n return wrap;\n}\n\n/**\n * Wrap a Remix request handler using an existing core `XrayEmitter`.\n */\nexport function wrapRemixRequestHandler(\n handler: RequestHandler,\n xray: XrayEmitter,\n options?: WrapOptions,\n): RequestHandler {\n return (request, loadContext) => {\n const wrapped = wrapFetchPreserve((req: Request) => handler(req, loadContext), xray, options);\n return wrapped(request);\n };\n}\n"],"mappings":";;;;;;;;;;AAiCO,SAASA,eAAc,QAA2B,SAAqC;AAC5F,QAAM,UAAU,cAAmB,MAAM;AACzC,QAAM,QAAQ,CAAC,YACb,wBAAwB,SAAS,SAAS,OAAO;AACnD,OAAK,QAAQ,QAAQ;AACrB,OAAK,WAAW,QAAQ;AACxB,SAAO;AACT;AAKO,SAAS,wBACd,SACA,MACA,SACgB;AAChB,SAAO,CAAC,SAAS,gBAAgB;AAC/B,UAAM,UAAU,kBAAkB,CAAC,QAAiB,QAAQ,KAAK,WAAW,GAAG,MAAM,OAAO;AAC5F,WAAO,QAAQ,OAAO;AAAA,EACxB;AACF;","names":["createEmitter"]}