@stainlessdev/xray-emitter 0.1.0-branch.pedro-unify.20f830a

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 (78) hide show
  1. package/README.md +79 -0
  2. package/dist/chunk-2NR6RZEP.js +1339 -0
  3. package/dist/chunk-2NR6RZEP.js.map +1 -0
  4. package/dist/chunk-3MVVO5I7.cjs +1339 -0
  5. package/dist/chunk-3MVVO5I7.cjs.map +1 -0
  6. package/dist/chunk-6UH43LVD.js +281 -0
  7. package/dist/chunk-6UH43LVD.js.map +1 -0
  8. package/dist/chunk-AHXNYJ5A.cjs +621 -0
  9. package/dist/chunk-AHXNYJ5A.cjs.map +1 -0
  10. package/dist/chunk-GNSXLLEC.cjs +281 -0
  11. package/dist/chunk-GNSXLLEC.cjs.map +1 -0
  12. package/dist/chunk-JKW6E4L3.cjs +304 -0
  13. package/dist/chunk-JKW6E4L3.cjs.map +1 -0
  14. package/dist/chunk-MPQTI5AX.js +621 -0
  15. package/dist/chunk-MPQTI5AX.js.map +1 -0
  16. package/dist/chunk-QUH3LJ5M.cjs +634 -0
  17. package/dist/chunk-QUH3LJ5M.cjs.map +1 -0
  18. package/dist/chunk-VGRLHYDA.js +634 -0
  19. package/dist/chunk-VGRLHYDA.js.map +1 -0
  20. package/dist/chunk-YVMMCTXW.js +304 -0
  21. package/dist/chunk-YVMMCTXW.js.map +1 -0
  22. package/dist/express.cjs +45 -0
  23. package/dist/express.cjs.map +1 -0
  24. package/dist/express.d.cts +17 -0
  25. package/dist/express.d.ts +17 -0
  26. package/dist/express.js +45 -0
  27. package/dist/express.js.map +1 -0
  28. package/dist/fastify.cjs +64 -0
  29. package/dist/fastify.cjs.map +1 -0
  30. package/dist/fastify.d.cts +21 -0
  31. package/dist/fastify.d.ts +21 -0
  32. package/dist/fastify.js +64 -0
  33. package/dist/fastify.js.map +1 -0
  34. package/dist/fetch.cjs +16 -0
  35. package/dist/fetch.cjs.map +1 -0
  36. package/dist/fetch.d.cts +19 -0
  37. package/dist/fetch.d.ts +19 -0
  38. package/dist/fetch.js +16 -0
  39. package/dist/fetch.js.map +1 -0
  40. package/dist/hono.cjs +71 -0
  41. package/dist/hono.cjs.map +1 -0
  42. package/dist/hono.d.cts +30 -0
  43. package/dist/hono.d.ts +30 -0
  44. package/dist/hono.js +71 -0
  45. package/dist/hono.js.map +1 -0
  46. package/dist/index.cjs +12 -0
  47. package/dist/index.cjs.map +1 -0
  48. package/dist/index.d.cts +7 -0
  49. package/dist/index.d.ts +7 -0
  50. package/dist/index.js +12 -0
  51. package/dist/index.js.map +1 -0
  52. package/dist/internal.cjs +45 -0
  53. package/dist/internal.cjs.map +1 -0
  54. package/dist/internal.d.cts +53 -0
  55. package/dist/internal.d.ts +53 -0
  56. package/dist/internal.js +45 -0
  57. package/dist/internal.js.map +1 -0
  58. package/dist/next.cjs +30 -0
  59. package/dist/next.cjs.map +1 -0
  60. package/dist/next.d.cts +18 -0
  61. package/dist/next.d.ts +18 -0
  62. package/dist/next.js +30 -0
  63. package/dist/next.js.map +1 -0
  64. package/dist/node.cjs +14 -0
  65. package/dist/node.cjs.map +1 -0
  66. package/dist/node.d.cts +20 -0
  67. package/dist/node.d.ts +20 -0
  68. package/dist/node.js +14 -0
  69. package/dist/node.js.map +1 -0
  70. package/dist/remix.cjs +30 -0
  71. package/dist/remix.cjs.map +1 -0
  72. package/dist/remix.d.cts +15 -0
  73. package/dist/remix.d.ts +15 -0
  74. package/dist/remix.js +30 -0
  75. package/dist/remix.js.map +1 -0
  76. package/dist/types-Z1nirh-F.d.cts +149 -0
  77. package/dist/types-Z1nirh-F.d.ts +149 -0
  78. package/package.json +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/fastify.cjs","../src/fastify/fastify.ts"],"names":["createEmitter"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACuBO,SAASA,cAAAA,CAAc,MAAA,EAA2B,OAAA,EAAuC;AAC9F,EAAA,MAAM,QAAA,EAAU,6CAAA,MAAwB,CAAA;AACxC,EAAA,MAAM,SAAA,EAAA,CAAY,CAAC,QAAA,EAAA,GAA8B;AAC/C,IAAA,eAAA,CAAgB,QAAA,EAAU,OAAA,EAAS,OAAO,CAAA;AAAA,EAC5C,CAAA,CAAA;AACA,EAAA,QAAA,CAAS,MAAA,EAAQ,OAAA,CAAQ,KAAA;AACzB,EAAA,QAAA,CAAS,SAAA,EAAW,OAAA,CAAQ,QAAA;AAC5B,EAAA,OAAO,QAAA;AACT;AAEO,SAAS,eAAA,CACd,QAAA,EACA,IAAA,EACA,OAAA,EACM;AACN,EAAA,MAAM,YAAA,EAAc,+CAAA,CAAgB,EAAA,GAAM;AAAA,EAAC,CAAA,EAAG,IAAA,EAAM;AAAA,IAClD,GAAG,OAAA;AAAA,IACH,SAAA,EAAW,CAAC,GAAA,EAAA,GAAqB;AAC/B,sBAAA,OAAA,2BAAS,SAAA,0BAAA,CAAY,GAAG,GAAA;AAAA,IAC1B;AAAA,EACF,CAAC,CAAA;AAED,EAAA,QAAA,CAAS,OAAA;AAAA,IACP,WAAA;AAAA,IACA,CAAC,OAAA,EAAkB,KAAA,EAAgB,IAAA,EAAA,GAAkC;AACnE,MAAA,MAAM,IAAA,EAAM,OAAA;AAIZ,MAAA,MAAM,IAAA,EAAM,KAAA;AACZ,MAAA,GAAA,CAAI,CAAC,GAAA,CAAI,IAAA,GAAO,CAAC,GAAA,CAAI,GAAA,EAAK;AACxB,QAAA,IAAA,CAAK,CAAA;AACL,QAAA,MAAA;AAAA,MACF;AACA,MAAA,WAAA,CAAY,GAAA,CAAI,GAAA,EAAK,GAAA,CAAI,GAAG,CAAA;AAC5B,MAAA,GAAA,CAAI,KAAA,EAAO,8CAAA,GAAe,CAAI,GAAG,CAAA;AACjC,MAAA,IAAA,CAAK,CAAA;AAAA,IACP;AAAA,EACF,CAAA;AAEA,EAAA,QAAA,CAAS,OAAA;AAAA,IACP,YAAA;AAAA,IACA,CAAC,OAAA,EAAkB,MAAA,EAAiB,IAAA,EAAA,GAAkC;AACpE,MAAA,MAAM,OAAA,EAAS,OAAA;AAIf,MAAA,MAAM,MAAA,kBAAQ,MAAA,qBAAO,YAAA,6BAAc,KAAA;AACnC,MAAA,GAAA,CAAI,MAAA,GAAS,MAAA,CAAO,GAAA,EAAK;AACvB,QAAA,MAAM,IAAA,EAAM,8CAAA,MAAe,CAAO,GAAG,CAAA;AACrC,QAAA,GAAA,CAAI,GAAA,EAAK;AACP,UAAA,+CAAA,GAAgB,EAAK,KAAK,CAAA;AAAA,QAC5B;AAAA,MACF;AACA,MAAA,IAAA,CAAK,CAAA;AAAA,IACP;AAAA,EACF,CAAA;AACF;ADjCA;AACE;AACA;AACA;AACF,+IAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/fastify.cjs","sourcesContent":[null,"import type { XrayEmitter, XrayContext, XrayRuntimeConfig } from '../core/index';\nimport { setContextRoute } from '../core/internal';\nimport {\n createEmitter as createNodeEmitter,\n wrapHttpHandler,\n getXrayContext,\n type WrapOptions,\n} from '../node/node';\n\nexport { createNodeEmitter 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 '../node/node';\n\n// copy types from Fastify to avoid a package dependency\ntype FastifyInstance = {\n addHook: {\n (name: 'onRequest', hook: (...args: any[]) => unknown): void;\n (name: 'preHandler', hook: (...args: any[]) => unknown): void;\n };\n};\n\ntype FastifyEmitter = ((instance: FastifyInstance) => void) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): FastifyEmitter {\n const emitter = createNodeEmitter(config);\n const register = ((instance: FastifyInstance) => {\n addFastifyHooks(instance, emitter, options);\n }) as FastifyEmitter;\n register.flush = emitter.flush;\n register.shutdown = emitter.shutdown;\n return register;\n}\n\nexport function addFastifyHooks(\n instance: FastifyInstance,\n xray: XrayEmitter,\n options?: WrapOptions,\n): void {\n const nodeHandler = wrapHttpHandler(() => {}, xray, {\n ...options,\n onRequest: (ctx: XrayContext) => {\n options?.onRequest?.(ctx);\n },\n });\n\n instance.addHook(\n 'onRequest',\n (request: unknown, reply: unknown, next: (err?: unknown) => void) => {\n const req = request as {\n raw?: Parameters<typeof nodeHandler>[0];\n xray?: XrayContext;\n };\n const res = reply as { raw?: Parameters<typeof nodeHandler>[1] };\n if (!req.raw || !res.raw) {\n next();\n return;\n }\n nodeHandler(req.raw, res.raw);\n req.xray = getXrayContext(req.raw);\n next();\n },\n );\n\n instance.addHook(\n 'preHandler',\n (request: unknown, _reply: unknown, next: (err?: unknown) => void) => {\n const anyReq = request as {\n routeOptions?: { url?: string };\n raw?: Parameters<typeof nodeHandler>[0];\n };\n const route = anyReq.routeOptions?.url;\n if (route && anyReq.raw) {\n const ctx = getXrayContext(anyReq.raw);\n if (ctx) {\n setContextRoute(ctx, route);\n }\n }\n next();\n },\n );\n}\n"]}
@@ -0,0 +1,21 @@
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';
3
+ import { WrapOptions } from './node.cjs';
4
+ export { createEmitter as createCoreEmitter } from './node.cjs';
5
+ import '@opentelemetry/sdk-trace-base';
6
+ import 'node:http';
7
+
8
+ type FastifyInstance = {
9
+ addHook: {
10
+ (name: 'onRequest', hook: (...args: any[]) => unknown): void;
11
+ (name: 'preHandler', hook: (...args: any[]) => unknown): void;
12
+ };
13
+ };
14
+ type FastifyEmitter = ((instance: FastifyInstance) => void) & {
15
+ flush: XrayEmitter['flush'];
16
+ shutdown: XrayEmitter['shutdown'];
17
+ };
18
+ declare function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): FastifyEmitter;
19
+ declare function addFastifyHooks(instance: FastifyInstance, xray: XrayEmitter, options?: WrapOptions): void;
20
+
21
+ export { WrapOptions, XrayEmitter, XrayRuntimeConfig, addFastifyHooks, createEmitter };
@@ -0,0 +1,21 @@
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';
3
+ import { WrapOptions } from './node.js';
4
+ export { createEmitter as createCoreEmitter } from './node.js';
5
+ import '@opentelemetry/sdk-trace-base';
6
+ import 'node:http';
7
+
8
+ type FastifyInstance = {
9
+ addHook: {
10
+ (name: 'onRequest', hook: (...args: any[]) => unknown): void;
11
+ (name: 'preHandler', hook: (...args: any[]) => unknown): void;
12
+ };
13
+ };
14
+ type FastifyEmitter = ((instance: FastifyInstance) => void) & {
15
+ flush: XrayEmitter['flush'];
16
+ shutdown: XrayEmitter['shutdown'];
17
+ };
18
+ declare function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): FastifyEmitter;
19
+ declare function addFastifyHooks(instance: FastifyInstance, xray: XrayEmitter, options?: WrapOptions): void;
20
+
21
+ export { WrapOptions, XrayEmitter, XrayRuntimeConfig, addFastifyHooks, createEmitter };
@@ -0,0 +1,64 @@
1
+ import {
2
+ createEmitter,
3
+ getXrayContext,
4
+ wrapHttpHandler
5
+ } from "./chunk-VGRLHYDA.js";
6
+ import "./chunk-2NR6RZEP.js";
7
+ import {
8
+ setContextRoute
9
+ } from "./chunk-6UH43LVD.js";
10
+ import "./chunk-YVMMCTXW.js";
11
+
12
+ // src/fastify/fastify.ts
13
+ function createEmitter2(config, options) {
14
+ const emitter = createEmitter(config);
15
+ const register = ((instance) => {
16
+ addFastifyHooks(instance, emitter, options);
17
+ });
18
+ register.flush = emitter.flush;
19
+ register.shutdown = emitter.shutdown;
20
+ return register;
21
+ }
22
+ function addFastifyHooks(instance, xray, options) {
23
+ const nodeHandler = wrapHttpHandler(() => {
24
+ }, xray, {
25
+ ...options,
26
+ onRequest: (ctx) => {
27
+ options?.onRequest?.(ctx);
28
+ }
29
+ });
30
+ instance.addHook(
31
+ "onRequest",
32
+ (request, reply, next) => {
33
+ const req = request;
34
+ const res = reply;
35
+ if (!req.raw || !res.raw) {
36
+ next();
37
+ return;
38
+ }
39
+ nodeHandler(req.raw, res.raw);
40
+ req.xray = getXrayContext(req.raw);
41
+ next();
42
+ }
43
+ );
44
+ instance.addHook(
45
+ "preHandler",
46
+ (request, _reply, next) => {
47
+ const anyReq = request;
48
+ const route = anyReq.routeOptions?.url;
49
+ if (route && anyReq.raw) {
50
+ const ctx = getXrayContext(anyReq.raw);
51
+ if (ctx) {
52
+ setContextRoute(ctx, route);
53
+ }
54
+ }
55
+ next();
56
+ }
57
+ );
58
+ }
59
+ export {
60
+ addFastifyHooks,
61
+ createEmitter as createCoreEmitter,
62
+ createEmitter2 as createEmitter
63
+ };
64
+ //# sourceMappingURL=fastify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/fastify/fastify.ts"],"sourcesContent":["import type { XrayEmitter, XrayContext, XrayRuntimeConfig } from '../core/index';\nimport { setContextRoute } from '../core/internal';\nimport {\n createEmitter as createNodeEmitter,\n wrapHttpHandler,\n getXrayContext,\n type WrapOptions,\n} from '../node/node';\n\nexport { createNodeEmitter 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 '../node/node';\n\n// copy types from Fastify to avoid a package dependency\ntype FastifyInstance = {\n addHook: {\n (name: 'onRequest', hook: (...args: any[]) => unknown): void;\n (name: 'preHandler', hook: (...args: any[]) => unknown): void;\n };\n};\n\ntype FastifyEmitter = ((instance: FastifyInstance) => void) & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: WrapOptions): FastifyEmitter {\n const emitter = createNodeEmitter(config);\n const register = ((instance: FastifyInstance) => {\n addFastifyHooks(instance, emitter, options);\n }) as FastifyEmitter;\n register.flush = emitter.flush;\n register.shutdown = emitter.shutdown;\n return register;\n}\n\nexport function addFastifyHooks(\n instance: FastifyInstance,\n xray: XrayEmitter,\n options?: WrapOptions,\n): void {\n const nodeHandler = wrapHttpHandler(() => {}, xray, {\n ...options,\n onRequest: (ctx: XrayContext) => {\n options?.onRequest?.(ctx);\n },\n });\n\n instance.addHook(\n 'onRequest',\n (request: unknown, reply: unknown, next: (err?: unknown) => void) => {\n const req = request as {\n raw?: Parameters<typeof nodeHandler>[0];\n xray?: XrayContext;\n };\n const res = reply as { raw?: Parameters<typeof nodeHandler>[1] };\n if (!req.raw || !res.raw) {\n next();\n return;\n }\n nodeHandler(req.raw, res.raw);\n req.xray = getXrayContext(req.raw);\n next();\n },\n );\n\n instance.addHook(\n 'preHandler',\n (request: unknown, _reply: unknown, next: (err?: unknown) => void) => {\n const anyReq = request as {\n routeOptions?: { url?: string };\n raw?: Parameters<typeof nodeHandler>[0];\n };\n const route = anyReq.routeOptions?.url;\n if (route && anyReq.raw) {\n const ctx = getXrayContext(anyReq.raw);\n if (ctx) {\n setContextRoute(ctx, route);\n }\n }\n next();\n },\n );\n}\n"],"mappings":";;;;;;;;;;;;AAkCO,SAASA,eAAc,QAA2B,SAAuC;AAC9F,QAAM,UAAU,cAAkB,MAAM;AACxC,QAAM,YAAY,CAAC,aAA8B;AAC/C,oBAAgB,UAAU,SAAS,OAAO;AAAA,EAC5C;AACA,WAAS,QAAQ,QAAQ;AACzB,WAAS,WAAW,QAAQ;AAC5B,SAAO;AACT;AAEO,SAAS,gBACd,UACA,MACA,SACM;AACN,QAAM,cAAc,gBAAgB,MAAM;AAAA,EAAC,GAAG,MAAM;AAAA,IAClD,GAAG;AAAA,IACH,WAAW,CAAC,QAAqB;AAC/B,eAAS,YAAY,GAAG;AAAA,IAC1B;AAAA,EACF,CAAC;AAED,WAAS;AAAA,IACP;AAAA,IACA,CAAC,SAAkB,OAAgB,SAAkC;AACnE,YAAM,MAAM;AAIZ,YAAM,MAAM;AACZ,UAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK;AACxB,aAAK;AACL;AAAA,MACF;AACA,kBAAY,IAAI,KAAK,IAAI,GAAG;AAC5B,UAAI,OAAO,eAAe,IAAI,GAAG;AACjC,WAAK;AAAA,IACP;AAAA,EACF;AAEA,WAAS;AAAA,IACP;AAAA,IACA,CAAC,SAAkB,QAAiB,SAAkC;AACpE,YAAM,SAAS;AAIf,YAAM,QAAQ,OAAO,cAAc;AACnC,UAAI,SAAS,OAAO,KAAK;AACvB,cAAM,MAAM,eAAe,OAAO,GAAG;AACrC,YAAI,KAAK;AACP,0BAAgB,KAAK,KAAK;AAAA,QAC5B;AAAA,MACF;AACA,WAAK;AAAA,IACP;AAAA,EACF;AACF;","names":["createEmitter"]}
package/dist/fetch.cjs ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunkAHXNYJ5Acjs = require('./chunk-AHXNYJ5A.cjs');
7
+ require('./chunk-3MVVO5I7.cjs');
8
+ require('./chunk-GNSXLLEC.cjs');
9
+ require('./chunk-JKW6E4L3.cjs');
10
+
11
+
12
+
13
+
14
+
15
+ exports.createEmitter = _chunkAHXNYJ5Acjs.createEmitter; exports.getXrayContext = _chunkAHXNYJ5Acjs.getXrayContext; exports.wrapFetch = _chunkAHXNYJ5Acjs.wrapFetch; exports.wrapFetchPreserve = _chunkAHXNYJ5Acjs.wrapFetchPreserve;
16
+ //# sourceMappingURL=fetch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/fetch.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACF,qOAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/fetch.cjs"}
@@ -0,0 +1,19 @@
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';
2
+ import '@opentelemetry/sdk-trace-base';
3
+
4
+ declare function createEmitter(config: XrayRuntimeConfig): XrayEmitter;
5
+
6
+ interface WrapOptions {
7
+ route?: string;
8
+ requestId?: string;
9
+ capture?: Partial<CaptureConfig>;
10
+ redaction?: Partial<RedactionConfig>;
11
+ onRequest?: (ctx: XrayContext) => void;
12
+ onResponse?: (ctx: XrayContext, log: RequestLog) => void;
13
+ onError?: (ctx: XrayContext, err: unknown) => void;
14
+ }
15
+ declare function wrapFetch(handler: (req: Request) => Response | Promise<Response>, xray: XrayEmitter, options?: WrapOptions): (req: Request) => Promise<Response>;
16
+ declare function wrapFetchPreserve(handler: (req: Request) => Response | Promise<Response>, xray: XrayEmitter, options?: WrapOptions): (req: Request) => Promise<Response>;
17
+ declare function getXrayContext(req: Request): XrayContext | undefined;
18
+
19
+ export { type WrapOptions, createEmitter, getXrayContext, wrapFetch, wrapFetchPreserve };
@@ -0,0 +1,19 @@
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';
2
+ import '@opentelemetry/sdk-trace-base';
3
+
4
+ declare function createEmitter(config: XrayRuntimeConfig): XrayEmitter;
5
+
6
+ interface WrapOptions {
7
+ route?: string;
8
+ requestId?: string;
9
+ capture?: Partial<CaptureConfig>;
10
+ redaction?: Partial<RedactionConfig>;
11
+ onRequest?: (ctx: XrayContext) => void;
12
+ onResponse?: (ctx: XrayContext, log: RequestLog) => void;
13
+ onError?: (ctx: XrayContext, err: unknown) => void;
14
+ }
15
+ declare function wrapFetch(handler: (req: Request) => Response | Promise<Response>, xray: XrayEmitter, options?: WrapOptions): (req: Request) => Promise<Response>;
16
+ declare function wrapFetchPreserve(handler: (req: Request) => Response | Promise<Response>, xray: XrayEmitter, options?: WrapOptions): (req: Request) => Promise<Response>;
17
+ declare function getXrayContext(req: Request): XrayContext | undefined;
18
+
19
+ export { type WrapOptions, createEmitter, getXrayContext, wrapFetch, wrapFetchPreserve };
package/dist/fetch.js ADDED
@@ -0,0 +1,16 @@
1
+ import {
2
+ createEmitter,
3
+ getXrayContext,
4
+ wrapFetch,
5
+ wrapFetchPreserve
6
+ } from "./chunk-MPQTI5AX.js";
7
+ import "./chunk-2NR6RZEP.js";
8
+ import "./chunk-6UH43LVD.js";
9
+ import "./chunk-YVMMCTXW.js";
10
+ export {
11
+ createEmitter,
12
+ getXrayContext,
13
+ wrapFetch,
14
+ wrapFetchPreserve
15
+ };
16
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/hono.cjs ADDED
@@ -0,0 +1,71 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+
5
+ var _chunkAHXNYJ5Acjs = require('./chunk-AHXNYJ5A.cjs');
6
+ require('./chunk-3MVVO5I7.cjs');
7
+
8
+
9
+ var _chunkGNSXLLECcjs = require('./chunk-GNSXLLEC.cjs');
10
+ require('./chunk-JKW6E4L3.cjs');
11
+
12
+ // src/hono/hono.ts
13
+ function createEmitter2(config, options) {
14
+ const emitter = _chunkAHXNYJ5Acjs.createEmitter.call(void 0, config);
15
+ const middleware = createHonoMiddleware(emitter, options);
16
+ middleware.flush = emitter.flush;
17
+ middleware.shutdown = emitter.shutdown;
18
+ return middleware;
19
+ }
20
+ function createHonoMiddleware(xray, options) {
21
+ const routePathFn = _optionalChain([options, 'optionalAccess', _ => _.routePath]);
22
+ return async (c, next) => {
23
+ const request = c.req.raw;
24
+ if (!request) {
25
+ await next();
26
+ return;
27
+ }
28
+ const wrapped = _chunkAHXNYJ5Acjs.wrapFetchPreserve.call(void 0,
29
+ async (req) => {
30
+ const ctx = _chunkAHXNYJ5Acjs.getXrayContext.call(void 0, req);
31
+ if (ctx) {
32
+ c.set("xray", ctx);
33
+ }
34
+ let route = resolveRoutePath(routePathFn, c, -1);
35
+ try {
36
+ await next();
37
+ return c.res;
38
+ } finally {
39
+ if (!route) {
40
+ route = resolveRoutePath(routePathFn, c);
41
+ }
42
+ if (route && ctx) {
43
+ _chunkGNSXLLECcjs.setContextRoute.call(void 0, ctx, route);
44
+ }
45
+ }
46
+ },
47
+ xray,
48
+ options
49
+ );
50
+ const response = await wrapped(request);
51
+ if (response instanceof Response && response !== c.res) {
52
+ c.res = response;
53
+ }
54
+ };
55
+ }
56
+ function resolveRoutePath(fn, ctx, index) {
57
+ if (!fn) {
58
+ return void 0;
59
+ }
60
+ try {
61
+ return index === void 0 ? fn(ctx) : fn(ctx, index);
62
+ } catch (e) {
63
+ return void 0;
64
+ }
65
+ }
66
+
67
+
68
+
69
+
70
+ exports.createCoreEmitter = _chunkAHXNYJ5Acjs.createEmitter; exports.createEmitter = createEmitter2; exports.createHonoMiddleware = createHonoMiddleware;
71
+ //# sourceMappingURL=hono.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/hono.cjs","../src/hono/hono.ts"],"names":["createEmitter"],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACA;ACmCO,SAASA,cAAAA,CAAc,MAAA,EAA2B,OAAA,EAAwC;AAC/F,EAAA,MAAM,QAAA,EAAU,6CAAA,MAAyB,CAAA;AACzC,EAAA,MAAM,WAAA,EAAa,oBAAA,CAAqB,OAAA,EAAS,OAAO,CAAA;AACxD,EAAA,UAAA,CAAW,MAAA,EAAQ,OAAA,CAAQ,KAAA;AAC3B,EAAA,UAAA,CAAW,SAAA,EAAW,OAAA,CAAQ,QAAA;AAC9B,EAAA,OAAO,UAAA;AACT;AAEO,SAAS,oBAAA,CAAqB,IAAA,EAAmB,OAAA,EAA2C;AACjG,EAAA,MAAM,YAAA,kBAAc,OAAA,2BAAS,WAAA;AAE7B,EAAA,OAAO,MAAA,CAAO,CAAA,EAAG,IAAA,EAAA,GAAS;AACxB,IAAA,MAAM,QAAA,EAAU,CAAA,CAAE,GAAA,CAAI,GAAA;AACtB,IAAA,GAAA,CAAI,CAAC,OAAA,EAAS;AACZ,MAAA,MAAM,IAAA,CAAK,CAAA;AACX,MAAA,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,QAAA,EAAU,iDAAA;AAAA,MACd,MAAA,CAAO,GAAA,EAAA,GAAQ;AACb,QAAA,MAAM,IAAA,EAAM,8CAAA,GAAkB,CAAA;AAC9B,QAAA,GAAA,CAAI,GAAA,EAAK;AACP,UAAA,CAAA,CAAE,GAAA,CAAI,MAAA,EAAQ,GAAG,CAAA;AAAA,QACnB;AAEA,QAAA,IAAI,MAAA,EAAQ,gBAAA,CAAiB,WAAA,EAAa,CAAA,EAAG,CAAA,CAAE,CAAA;AAC/C,QAAA,IAAI;AACF,UAAA,MAAM,IAAA,CAAK,CAAA;AACX,UAAA,OAAO,CAAA,CAAE,GAAA;AAAA,QACX,EAAA,QAAE;AACA,UAAA,GAAA,CAAI,CAAC,KAAA,EAAO;AACV,YAAA,MAAA,EAAQ,gBAAA,CAAiB,WAAA,EAAa,CAAC,CAAA;AAAA,UACzC;AACA,UAAA,GAAA,CAAI,MAAA,GAAS,GAAA,EAAK;AAChB,YAAA,+CAAA,GAAgB,EAAK,KAAK,CAAA;AAAA,UAC5B;AAAA,QACF;AAAA,MACF,CAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,SAAA,EAAW,MAAM,OAAA,CAAQ,OAAO,CAAA;AACtC,IAAA,GAAA,CAAI,SAAA,WAAoB,SAAA,GAAY,SAAA,IAAa,CAAA,CAAE,GAAA,EAAK;AACtD,MAAA,CAAA,CAAE,IAAA,EAAM,QAAA;AAAA,IACV;AAAA,EACF,CAAA;AACF;AAEA,SAAS,gBAAA,CACP,EAAA,EACA,GAAA,EACA,KAAA,EACoB;AACpB,EAAA,GAAA,CAAI,CAAC,EAAA,EAAI;AACP,IAAA,OAAO,KAAA,CAAA;AAAA,EACT;AACA,EAAA,IAAI;AACF,IAAA,OAAO,MAAA,IAAU,KAAA,EAAA,EAAY,EAAA,CAAG,GAAG,EAAA,EAAI,EAAA,CAAG,GAAA,EAAK,KAAK,CAAA;AAAA,EACtD,EAAA,UAAQ;AACN,IAAA,OAAO,KAAA,CAAA;AAAA,EACT;AACF;AD3CA;AACE;AACA;AACA;AACF,yJAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/hono.cjs","sourcesContent":[null,"import type { XrayEmitter, XrayContext, XrayRuntimeConfig } from '../core/index';\nimport { setContextRoute } from '../core/internal';\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';\n\n// copy types from Hono to avoid a package dependency\ninterface HonoCompatibleContext {\n req: { raw: Request };\n res: Response;\n set(key: string, value: unknown): void;\n}\n\ntype HonoMiddleware = (\n c: HonoCompatibleContext,\n next: () => Promise<void>,\n) => Promise<void | Response>;\n\nexport type HonoXrayEnv = {\n Variables: { xray?: XrayContext };\n};\n\ntype HonoEmitter = HonoMiddleware & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport interface HonoWrapOptions extends WrapOptions {\n routePath?(ctx: HonoCompatibleContext, index?: number): string;\n}\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: HonoWrapOptions): HonoEmitter {\n const emitter = createFetchEmitter(config);\n const middleware = createHonoMiddleware(emitter, options) as HonoEmitter;\n middleware.flush = emitter.flush;\n middleware.shutdown = emitter.shutdown;\n return middleware;\n}\n\nexport function createHonoMiddleware(xray: XrayEmitter, options?: HonoWrapOptions): HonoMiddleware {\n const routePathFn = options?.routePath;\n\n return async (c, next) => {\n const request = c.req.raw;\n if (!request) {\n await next();\n return;\n }\n\n const wrapped = wrapFetchPreserve(\n async (req) => {\n const ctx = getXrayContext(req);\n if (ctx) {\n c.set('xray', ctx);\n }\n\n let route = resolveRoutePath(routePathFn, c, -1);\n try {\n await next();\n return c.res;\n } finally {\n if (!route) {\n route = resolveRoutePath(routePathFn, c);\n }\n if (route && ctx) {\n setContextRoute(ctx, route);\n }\n }\n },\n xray,\n options,\n );\n\n const response = await wrapped(request);\n if (response instanceof Response && response !== c.res) {\n c.res = response;\n }\n };\n}\n\nfunction resolveRoutePath(\n fn: ((ctx: HonoCompatibleContext, index?: number) => string) | undefined,\n ctx: HonoCompatibleContext,\n index?: number,\n): string | undefined {\n if (!fn) {\n return undefined;\n }\n try {\n return index === undefined ? fn(ctx) : fn(ctx, index);\n } catch {\n return undefined;\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import { d as XrayContext, 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 } from './types-Z1nirh-F.cjs';
3
+ import { WrapOptions } from './fetch.cjs';
4
+ export { createEmitter as createCoreEmitter } from './fetch.cjs';
5
+ import '@opentelemetry/sdk-trace-base';
6
+
7
+ interface HonoCompatibleContext {
8
+ req: {
9
+ raw: Request;
10
+ };
11
+ res: Response;
12
+ set(key: string, value: unknown): void;
13
+ }
14
+ type HonoMiddleware = (c: HonoCompatibleContext, next: () => Promise<void>) => Promise<void | Response>;
15
+ type HonoXrayEnv = {
16
+ Variables: {
17
+ xray?: XrayContext;
18
+ };
19
+ };
20
+ type HonoEmitter = HonoMiddleware & {
21
+ flush: XrayEmitter['flush'];
22
+ shutdown: XrayEmitter['shutdown'];
23
+ };
24
+ interface HonoWrapOptions extends WrapOptions {
25
+ routePath?(ctx: HonoCompatibleContext, index?: number): string;
26
+ }
27
+ declare function createEmitter(config: XrayRuntimeConfig, options?: HonoWrapOptions): HonoEmitter;
28
+ declare function createHonoMiddleware(xray: XrayEmitter, options?: HonoWrapOptions): HonoMiddleware;
29
+
30
+ export { type HonoWrapOptions, type HonoXrayEnv, WrapOptions, XrayContext, XrayEmitter, XrayRuntimeConfig, createEmitter, createHonoMiddleware };
package/dist/hono.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ import { d as XrayContext, 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 } from './types-Z1nirh-F.js';
3
+ import { WrapOptions } from './fetch.js';
4
+ export { createEmitter as createCoreEmitter } from './fetch.js';
5
+ import '@opentelemetry/sdk-trace-base';
6
+
7
+ interface HonoCompatibleContext {
8
+ req: {
9
+ raw: Request;
10
+ };
11
+ res: Response;
12
+ set(key: string, value: unknown): void;
13
+ }
14
+ type HonoMiddleware = (c: HonoCompatibleContext, next: () => Promise<void>) => Promise<void | Response>;
15
+ type HonoXrayEnv = {
16
+ Variables: {
17
+ xray?: XrayContext;
18
+ };
19
+ };
20
+ type HonoEmitter = HonoMiddleware & {
21
+ flush: XrayEmitter['flush'];
22
+ shutdown: XrayEmitter['shutdown'];
23
+ };
24
+ interface HonoWrapOptions extends WrapOptions {
25
+ routePath?(ctx: HonoCompatibleContext, index?: number): string;
26
+ }
27
+ declare function createEmitter(config: XrayRuntimeConfig, options?: HonoWrapOptions): HonoEmitter;
28
+ declare function createHonoMiddleware(xray: XrayEmitter, options?: HonoWrapOptions): HonoMiddleware;
29
+
30
+ export { type HonoWrapOptions, type HonoXrayEnv, WrapOptions, XrayContext, XrayEmitter, XrayRuntimeConfig, createEmitter, createHonoMiddleware };
package/dist/hono.js ADDED
@@ -0,0 +1,71 @@
1
+ import {
2
+ createEmitter,
3
+ getXrayContext,
4
+ wrapFetchPreserve
5
+ } from "./chunk-MPQTI5AX.js";
6
+ import "./chunk-2NR6RZEP.js";
7
+ import {
8
+ setContextRoute
9
+ } from "./chunk-6UH43LVD.js";
10
+ import "./chunk-YVMMCTXW.js";
11
+
12
+ // src/hono/hono.ts
13
+ function createEmitter2(config, options) {
14
+ const emitter = createEmitter(config);
15
+ const middleware = createHonoMiddleware(emitter, options);
16
+ middleware.flush = emitter.flush;
17
+ middleware.shutdown = emitter.shutdown;
18
+ return middleware;
19
+ }
20
+ function createHonoMiddleware(xray, options) {
21
+ const routePathFn = options?.routePath;
22
+ return async (c, next) => {
23
+ const request = c.req.raw;
24
+ if (!request) {
25
+ await next();
26
+ return;
27
+ }
28
+ const wrapped = wrapFetchPreserve(
29
+ async (req) => {
30
+ const ctx = getXrayContext(req);
31
+ if (ctx) {
32
+ c.set("xray", ctx);
33
+ }
34
+ let route = resolveRoutePath(routePathFn, c, -1);
35
+ try {
36
+ await next();
37
+ return c.res;
38
+ } finally {
39
+ if (!route) {
40
+ route = resolveRoutePath(routePathFn, c);
41
+ }
42
+ if (route && ctx) {
43
+ setContextRoute(ctx, route);
44
+ }
45
+ }
46
+ },
47
+ xray,
48
+ options
49
+ );
50
+ const response = await wrapped(request);
51
+ if (response instanceof Response && response !== c.res) {
52
+ c.res = response;
53
+ }
54
+ };
55
+ }
56
+ function resolveRoutePath(fn, ctx, index) {
57
+ if (!fn) {
58
+ return void 0;
59
+ }
60
+ try {
61
+ return index === void 0 ? fn(ctx) : fn(ctx, index);
62
+ } catch {
63
+ return void 0;
64
+ }
65
+ }
66
+ export {
67
+ createEmitter as createCoreEmitter,
68
+ createEmitter2 as createEmitter,
69
+ createHonoMiddleware
70
+ };
71
+ //# sourceMappingURL=hono.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/hono/hono.ts"],"sourcesContent":["import type { XrayEmitter, XrayContext, XrayRuntimeConfig } from '../core/index';\nimport { setContextRoute } from '../core/internal';\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';\n\n// copy types from Hono to avoid a package dependency\ninterface HonoCompatibleContext {\n req: { raw: Request };\n res: Response;\n set(key: string, value: unknown): void;\n}\n\ntype HonoMiddleware = (\n c: HonoCompatibleContext,\n next: () => Promise<void>,\n) => Promise<void | Response>;\n\nexport type HonoXrayEnv = {\n Variables: { xray?: XrayContext };\n};\n\ntype HonoEmitter = HonoMiddleware & {\n flush: XrayEmitter['flush'];\n shutdown: XrayEmitter['shutdown'];\n};\n\nexport interface HonoWrapOptions extends WrapOptions {\n routePath?(ctx: HonoCompatibleContext, index?: number): string;\n}\n\nexport function createEmitter(config: XrayRuntimeConfig, options?: HonoWrapOptions): HonoEmitter {\n const emitter = createFetchEmitter(config);\n const middleware = createHonoMiddleware(emitter, options) as HonoEmitter;\n middleware.flush = emitter.flush;\n middleware.shutdown = emitter.shutdown;\n return middleware;\n}\n\nexport function createHonoMiddleware(xray: XrayEmitter, options?: HonoWrapOptions): HonoMiddleware {\n const routePathFn = options?.routePath;\n\n return async (c, next) => {\n const request = c.req.raw;\n if (!request) {\n await next();\n return;\n }\n\n const wrapped = wrapFetchPreserve(\n async (req) => {\n const ctx = getXrayContext(req);\n if (ctx) {\n c.set('xray', ctx);\n }\n\n let route = resolveRoutePath(routePathFn, c, -1);\n try {\n await next();\n return c.res;\n } finally {\n if (!route) {\n route = resolveRoutePath(routePathFn, c);\n }\n if (route && ctx) {\n setContextRoute(ctx, route);\n }\n }\n },\n xray,\n options,\n );\n\n const response = await wrapped(request);\n if (response instanceof Response && response !== c.res) {\n c.res = response;\n }\n };\n}\n\nfunction resolveRoutePath(\n fn: ((ctx: HonoCompatibleContext, index?: number) => string) | undefined,\n ctx: HonoCompatibleContext,\n index?: number,\n): string | undefined {\n if (!fn) {\n return undefined;\n }\n try {\n return index === undefined ? fn(ctx) : fn(ctx, index);\n } catch {\n return undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;AA8CO,SAASA,eAAc,QAA2B,SAAwC;AAC/F,QAAM,UAAU,cAAmB,MAAM;AACzC,QAAM,aAAa,qBAAqB,SAAS,OAAO;AACxD,aAAW,QAAQ,QAAQ;AAC3B,aAAW,WAAW,QAAQ;AAC9B,SAAO;AACT;AAEO,SAAS,qBAAqB,MAAmB,SAA2C;AACjG,QAAM,cAAc,SAAS;AAE7B,SAAO,OAAO,GAAG,SAAS;AACxB,UAAM,UAAU,EAAE,IAAI;AACtB,QAAI,CAAC,SAAS;AACZ,YAAM,KAAK;AACX;AAAA,IACF;AAEA,UAAM,UAAU;AAAA,MACd,OAAO,QAAQ;AACb,cAAM,MAAM,eAAe,GAAG;AAC9B,YAAI,KAAK;AACP,YAAE,IAAI,QAAQ,GAAG;AAAA,QACnB;AAEA,YAAI,QAAQ,iBAAiB,aAAa,GAAG,EAAE;AAC/C,YAAI;AACF,gBAAM,KAAK;AACX,iBAAO,EAAE;AAAA,QACX,UAAE;AACA,cAAI,CAAC,OAAO;AACV,oBAAQ,iBAAiB,aAAa,CAAC;AAAA,UACzC;AACA,cAAI,SAAS,KAAK;AAChB,4BAAgB,KAAK,KAAK;AAAA,UAC5B;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,UAAM,WAAW,MAAM,QAAQ,OAAO;AACtC,QAAI,oBAAoB,YAAY,aAAa,EAAE,KAAK;AACtD,QAAE,MAAM;AAAA,IACV;AAAA,EACF;AACF;AAEA,SAAS,iBACP,IACA,KACA,OACoB;AACpB,MAAI,CAAC,IAAI;AACP,WAAO;AAAA,EACT;AACA,MAAI;AACF,WAAO,UAAU,SAAY,GAAG,GAAG,IAAI,GAAG,KAAK,KAAK;AAAA,EACtD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":["createEmitter"]}
package/dist/index.cjs ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunk3MVVO5I7cjs = require('./chunk-3MVVO5I7.cjs');
6
+ require('./chunk-JKW6E4L3.cjs');
7
+
8
+
9
+
10
+
11
+ exports.XrayConfigError = _chunk3MVVO5I7cjs.XrayConfigError; exports.createEmitter = _chunk3MVVO5I7cjs.createEmitter; exports.normalizeConfig = _chunk3MVVO5I7cjs.normalizeConfig;
12
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACF,kLAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/index.cjs"}
@@ -0,0 +1,7 @@
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';
3
+ import { SpanExporter } from '@opentelemetry/sdk-trace-base';
4
+
5
+ declare function createEmitter(config: XrayConfig, exporter: SpanExporter): XrayEmitter;
6
+
7
+ export { XrayConfig, XrayEmitter, createEmitter };
@@ -0,0 +1,7 @@
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';
3
+ import { SpanExporter } from '@opentelemetry/sdk-trace-base';
4
+
5
+ declare function createEmitter(config: XrayConfig, exporter: SpanExporter): XrayEmitter;
6
+
7
+ export { XrayConfig, XrayEmitter, createEmitter };
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ import {
2
+ XrayConfigError,
3
+ createEmitter,
4
+ normalizeConfig
5
+ } from "./chunk-2NR6RZEP.js";
6
+ import "./chunk-YVMMCTXW.js";
7
+ export {
8
+ XrayConfigError,
9
+ createEmitter,
10
+ normalizeConfig
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ var _chunkGNSXLLECcjs = require('./chunk-GNSXLLEC.cjs');
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ var _chunkJKW6E4L3cjs = require('./chunk-JKW6E4L3.cjs');
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
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;
45
+ //# sourceMappingURL=internal.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/xray-emitter-js/xray-emitter-js/dist/internal.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,0wCAAC","file":"/home/runner/work/xray-emitter-js/xray-emitter-js/dist/internal.cjs"}
@@ -0,0 +1,53 @@
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';
2
+ import '@opentelemetry/sdk-trace-base';
3
+
4
+ declare function makeCapturedBody(bytes: Uint8Array | undefined, totalBytes: number, truncated: boolean, mode: 'text' | 'base64'): CapturedBody | undefined;
5
+
6
+ declare class LimitedBuffer {
7
+ private buffer;
8
+ private length;
9
+ private readonly limit;
10
+ private truncatedFlag;
11
+ private total;
12
+ constructor(limit: number);
13
+ bytes(): Uint8Array;
14
+ capturedBytes(): number;
15
+ totalBytes(): number;
16
+ truncated(): boolean;
17
+ write(chunk: Uint8Array): void;
18
+ private ensureCapacity;
19
+ }
20
+
21
+ type HeaderCapture = {
22
+ headers: Record<string, string | string[]>;
23
+ truncated: boolean;
24
+ };
25
+ declare function headerValuesFromNodeHeaders(headers: Record<string, string | string[] | number | undefined>): Record<string, string | string[]>;
26
+ declare function headerValuesFromFetchHeaders(headers: Headers): Record<string, string | string[]>;
27
+ declare function headerValuesFromFetchHeadersWithLimit(headers: Headers, maxBytes: number): HeaderCapture;
28
+ declare function headerTokenList(values: string[] | string | undefined): string[];
29
+
30
+ type HeaderValues = Record<string, string | string[]>;
31
+ declare function isWebsocketUpgrade(statusCode: number, requestHeaders: HeaderValues | undefined, responseHeaders: HeaderValues | undefined): boolean;
32
+ declare function isWebsocketUpgradeFetch(statusCode: number, requestHeaders: Headers, responseHeaders: Headers): boolean;
33
+
34
+ declare function logWithLevel(logger: Logger, level: LogLevel, threshold: LogLevel, message: string, fields?: Record<string, unknown>): void;
35
+
36
+ /**
37
+ * Generates a UUIDv7 string.
38
+ * Uses crypto.getRandomValues which is available in all modern JS runtimes
39
+ * (browsers, Node.js 15+, Deno, Bun, Cloudflare Workers, Vercel Edge, etc.)
40
+ */
41
+ declare function uuidv7(): string;
42
+ declare function uuidv7base62(): string;
43
+ declare function uuidv7base48(): string;
44
+ declare function generateRequestId(): string;
45
+
46
+ declare function bindContextToObject(target: object, ctx: XrayContext): void;
47
+ declare function getXrayContextFromObject(target: unknown): XrayContext | undefined;
48
+ declare function setContextRoute(ctx: XrayContext, route: string): void;
49
+ declare function setContextRequestId(ctx: XrayContext, requestId: string): void;
50
+ declare function setCaptureOverride(ctx: XrayContext, capture: Partial<CaptureConfig> | undefined): void;
51
+ declare function setRedactionOverride(ctx: XrayContext, redaction: Partial<RedactionConfig> | undefined): void;
52
+
53
+ export { LimitedBuffer, bindContextToObject, generateRequestId, getXrayContextFromObject, headerTokenList, headerValuesFromFetchHeaders, headerValuesFromFetchHeadersWithLimit, headerValuesFromNodeHeaders, isWebsocketUpgrade, isWebsocketUpgradeFetch, logWithLevel, makeCapturedBody, setCaptureOverride, setContextRequestId, setContextRoute, setRedactionOverride, uuidv7, uuidv7base48, uuidv7base62 };