@kronos-ts/messaging 0.5.1 → 0.7.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 (69) hide show
  1. package/dist/command-handling-module.d.ts.map +1 -1
  2. package/dist/command-handling-module.js +4 -12
  3. package/dist/command-handling-module.js.map +1 -1
  4. package/dist/correlation-data.d.ts +38 -8
  5. package/dist/correlation-data.d.ts.map +1 -1
  6. package/dist/correlation-data.js +57 -20
  7. package/dist/correlation-data.js.map +1 -1
  8. package/dist/event-gateway.d.ts.map +1 -1
  9. package/dist/event-gateway.js +1 -0
  10. package/dist/event-gateway.js.map +1 -1
  11. package/dist/gateway.d.ts.map +1 -1
  12. package/dist/gateway.js +3 -0
  13. package/dist/gateway.js.map +1 -1
  14. package/dist/handler-enhancer.d.ts +2 -1
  15. package/dist/handler-enhancer.d.ts.map +1 -1
  16. package/dist/handler-enhancer.js.map +1 -1
  17. package/dist/index.d.ts +2 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/message.d.ts +18 -0
  22. package/dist/message.d.ts.map +1 -1
  23. package/dist/metrics.d.ts +56 -0
  24. package/dist/metrics.d.ts.map +1 -0
  25. package/dist/metrics.js +79 -0
  26. package/dist/metrics.js.map +1 -0
  27. package/dist/send.d.ts.map +1 -1
  28. package/dist/send.js +1 -0
  29. package/dist/send.js.map +1 -1
  30. package/dist/span-factory.d.ts +32 -1
  31. package/dist/span-factory.d.ts.map +1 -1
  32. package/dist/span-factory.js +3 -0
  33. package/dist/span-factory.js.map +1 -1
  34. package/dist/streaming-event-processor.d.ts +7 -0
  35. package/dist/streaming-event-processor.d.ts.map +1 -1
  36. package/dist/streaming-event-processor.js +7 -1
  37. package/dist/streaming-event-processor.js.map +1 -1
  38. package/dist/subscribing-event-processor.d.ts +8 -0
  39. package/dist/subscribing-event-processor.d.ts.map +1 -1
  40. package/dist/subscribing-event-processor.js +7 -1
  41. package/dist/subscribing-event-processor.js.map +1 -1
  42. package/dist/tracing-command-bus.d.ts +8 -5
  43. package/dist/tracing-command-bus.d.ts.map +1 -1
  44. package/dist/tracing-command-bus.js +21 -19
  45. package/dist/tracing-command-bus.js.map +1 -1
  46. package/dist/tracing-handler-enhancer.d.ts +8 -2
  47. package/dist/tracing-handler-enhancer.d.ts.map +1 -1
  48. package/dist/tracing-handler-enhancer.js +45 -4
  49. package/dist/tracing-handler-enhancer.js.map +1 -1
  50. package/dist/tracking-event-processor.d.ts +7 -0
  51. package/dist/tracking-event-processor.d.ts.map +1 -1
  52. package/dist/tracking-event-processor.js +10 -1
  53. package/dist/tracking-event-processor.js.map +1 -1
  54. package/package.json +8 -3
  55. package/src/command-handling-module.ts +4 -12
  56. package/src/correlation-data.ts +67 -25
  57. package/src/event-gateway.ts +1 -0
  58. package/src/gateway.ts +3 -0
  59. package/src/handler-enhancer.ts +3 -1
  60. package/src/index.ts +14 -0
  61. package/src/message.ts +23 -2
  62. package/src/metrics.ts +131 -0
  63. package/src/send.ts +1 -0
  64. package/src/span-factory.ts +37 -1
  65. package/src/streaming-event-processor.ts +13 -0
  66. package/src/subscribing-event-processor.ts +14 -0
  67. package/src/tracing-command-bus.ts +23 -19
  68. package/src/tracing-handler-enhancer.ts +56 -5
  69. package/src/tracking-event-processor.ts +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAwCA,uFAAuF;AACvF,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAY,EAAE,GAAG,KAAI,CAAC,EAAE,CAAA;IACrC,MAAM,SAAS,GAAc,EAAE,MAAM,KAAI,CAAC,EAAE,CAAA;IAC5C,OAAO;QACL,OAAO,KAAK,OAAO,OAAO,CAAA,CAAC,CAAC;QAC5B,SAAS,KAAK,OAAO,SAAS,CAAA,CAAC,CAAC;KACjC,CAAA;AACH,CAAC;AAQD,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,UAAU,IAAI,KAAK;QACnB,YAAY,IAAI,KAAK,CACtB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAyB,EACzB,UAA2B,EAAE;IAE7B,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAA;IACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE;QACzD,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,GAAG;KACV,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,2BAA2B,EAAE;QACpE,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,uBAAuB,EAAE;QAC3D,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,CAAoC,OAAU,EAAE,QAAyB;YAClF,MAAM,IAAI,GAAqB;gBAC7B,YAAY,EAAE,QAAQ,CAAC,WAAW;gBAClC,YAAY,EAAE,QAAQ,CAAC,WAAW;gBAClC,aAAa,EAAE,QAAQ,CAAC,YAAY;aACrC,CAAA;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,KAAK,OAAO,CAAA;YAEhD,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC/B,IAAI,OAAO,GAAG,SAAS,CAAA;gBACvB,IAAI,CAAC;oBACH,OAAO,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;gBAC/B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,GAAG,SAAS,CAAA;oBACnB,MAAM,GAAG,CAAA;gBACX,CAAC;wBAAS,CAAC;oBACT,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,CAAC,CAAA;oBAChD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;oBACpC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;wBACvB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;4BAChE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE;gCACtD,YAAY,EAAE,QAAQ,CAAC,WAAW;gCAClC,aAAa,EAAE,QAAQ,CAAC,YAAY;6BACrC,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAiB,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAErF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,KAAK,uBAAuB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAC9F,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAA6B,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,uBAWlB,CAAA"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAErF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,KAAK,uBAAuB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAC9F,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAChB,OAAO,CAAC,OAAO,CAAC,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAA6B,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,IAAI,EAAE,uBAYlB,CAAA"}
package/dist/send.js CHANGED
@@ -26,6 +26,7 @@ export const send = async (descriptor, payload) => {
26
26
  if (!bus)
27
27
  throw new Error("No command bus configured");
28
28
  return bus.dispatch({
29
+ kind: "command",
29
30
  identifier: generateIdentifier(),
30
31
  name: descriptor.name,
31
32
  payload,
package/dist/send.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAU9D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,WAAW,CAAC,YAAY,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAA4B,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACzE,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAA2B,CAAA;IACjF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../src/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAU9D;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,WAAW,CAAC,YAAY,CAAC,CAAA;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,IAAI,GAA4B,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACzE,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAA2B,CAAA;IACjF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACtD,OAAO,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,OAAO;QACP,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -11,6 +11,16 @@ export interface Span {
11
11
  end(): void;
12
12
  /** Record an error on the span and end it. */
13
13
  recordException(error: Error): void;
14
+ /**
15
+ * Run `fn` with this span set as the active trace context, returning `fn`'s
16
+ * result. Spans created — and trace context read (`propagateContext` /
17
+ * `currentTraceContext`) — inside `fn` are parented to this span. When `fn`
18
+ * is async the span stays active across its awaits.
19
+ *
20
+ * Optional: callers must fall back to invoking `fn` directly when a Span
21
+ * implementation doesn't provide it.
22
+ */
23
+ runActive?<T>(fn: () => T): T;
14
24
  }
15
25
  /**
16
26
  * Provides custom attributes to add to spans.
@@ -33,9 +43,20 @@ export interface SpanFactory {
33
43
  createRootTrace(operationName: string): Span;
34
44
  /**
35
45
  * Create a span for handling a message (consumer side).
36
- * Extracts trace context from the parent message's metadata.
46
+ * Extracts trace context from the parent message's metadata and continues
47
+ * that trace (the new span is a child in the same trace).
37
48
  */
38
49
  createHandlerSpan(operationName: string, parentMessage: Message): Span;
50
+ /**
51
+ * Like {@link createHandlerSpan}, but starts a NEW trace linked to the parent
52
+ * message's trace context instead of continuing it. Use for asynchronously
53
+ * handled messages (e.g. streaming/tracking event processors) where joining a
54
+ * possibly long-finished originating trace would be misleading — the link
55
+ * preserves correlation without false nesting.
56
+ *
57
+ * Optional: callers fall back to {@link createHandlerSpan} when absent.
58
+ */
59
+ createLinkedHandlerSpan?(operationName: string, parentMessage: Message): Span;
39
60
  /**
40
61
  * Create a span for dispatching a message (producer side).
41
62
  * Links to the parent message's trace context.
@@ -48,6 +69,16 @@ export interface SpanFactory {
48
69
  * across message boundaries.
49
70
  */
50
71
  propagateContext<M extends Message>(message: M): M;
72
+ /**
73
+ * Returns the currently active trace context as propagation headers (e.g. the
74
+ * W3C `traceparent`), or an empty object when no span is active. Used to store
75
+ * the handler's trace context on the UnitOfWork (via `contributeCorrelationData`)
76
+ * so it rides along on appended and dispatched messages — including those
77
+ * published at commit time, after the handler span has ended.
78
+ *
79
+ * Optional: callers treat absence as "no trace context".
80
+ */
81
+ currentTraceContext?(): Record<string, string>;
51
82
  /** Register a custom span attribute provider. */
52
83
  registerSpanAttributeProvider(provider: SpanAttributesProvider): void;
53
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-factory.d.ts","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,qDAAqD;IACrD,KAAK,IAAI,IAAI,CAAA;IACb,6BAA6B;IAC7B,GAAG,IAAI,IAAI,CAAA;IACX,8CAA8C;IAC9C,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5D;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5C;;;OAGG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAEtE;;;OAGG;IACH,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAEvE,uDAAuD;IACvD,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;OAGG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;IAElD,iDAAiD;IACjD,6BAA6B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAA;CACtE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAe7C"}
1
+ {"version":3,"file":"span-factory.d.ts","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,qDAAqD;IACrD,KAAK,IAAI,IAAI,CAAA;IACb,6BAA6B;IAC7B,GAAG,IAAI,IAAI,CAAA;IACX,8CAA8C;IAC9C,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnC;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5D;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE5C;;;;OAIG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAEtE;;;;;;;;OAQG;IACH,uBAAuB,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAE7E;;;OAGG;IACH,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAEvE,uDAAuD;IACvD,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAE/C;;;OAGG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;IAElD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,iDAAiD;IACjD,6BAA6B,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAA;CACtE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAkB7C"}
@@ -6,13 +6,16 @@ export function noOpSpanFactory() {
6
6
  start() { return this; },
7
7
  end() { },
8
8
  recordException() { },
9
+ runActive(fn) { return fn(); },
9
10
  };
10
11
  return {
11
12
  createRootTrace() { return noOpSpan; },
12
13
  createHandlerSpan() { return noOpSpan; },
14
+ createLinkedHandlerSpan() { return noOpSpan; },
13
15
  createDispatchSpan() { return noOpSpan; },
14
16
  createInternalSpan() { return noOpSpan; },
15
17
  propagateContext(message) { return message; },
18
+ currentTraceContext() { return {}; },
16
19
  registerSpanAttributeProvider() { },
17
20
  };
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"span-factory.js","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AA8DA;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAS;QACrB,KAAK,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;QACvB,GAAG,KAAI,CAAC;QACR,eAAe,KAAI,CAAC;KACrB,CAAA;IAED,OAAO;QACL,eAAe,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACrC,iBAAiB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACvC,kBAAkB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACxC,kBAAkB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACxC,gBAAgB,CAAoB,OAAU,IAAI,OAAO,OAAO,CAAA,CAAC,CAAC;QAClE,6BAA6B,KAAI,CAAC;KACnC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"span-factory.js","sourceRoot":"","sources":["../src/span-factory.ts"],"names":[],"mappings":"AA+FA;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAS;QACrB,KAAK,KAAK,OAAO,IAAI,CAAA,CAAC,CAAC;QACvB,GAAG,KAAI,CAAC;QACR,eAAe,KAAI,CAAC;QACpB,SAAS,CAAI,EAAW,IAAO,OAAO,EAAE,EAAE,CAAA,CAAC,CAAC;KAC7C,CAAA;IAED,OAAO;QACL,eAAe,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACrC,iBAAiB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACvC,uBAAuB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QAC7C,kBAAkB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACxC,kBAAkB,KAAK,OAAO,QAAQ,CAAA,CAAC,CAAC;QACxC,gBAAgB,CAAoB,OAAU,IAAI,OAAO,OAAO,CAAA,CAAC,CAAC;QAClE,mBAAmB,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;QACnC,6BAA6B,KAAI,CAAC;KACnC,CAAA;AACH,CAAC"}
@@ -7,6 +7,7 @@ import type { SequencingPolicy } from "./sequencing-policy.js";
7
7
  import { type DeadLetterListener } from "./dead-letter-listener.js";
8
8
  import type { EventProcessingErrorHandler } from "./tracking-event-processor.js";
9
9
  import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
10
+ import { type CorrelationDataProvider } from "./correlation-data.js";
10
11
  import type { CommandBus } from "./command-bus.js";
11
12
  import type { QueryBus } from "./query-bus.js";
12
13
  import type { EventScheduler } from "./event-scheduler.js";
@@ -59,6 +60,12 @@ export interface StreamingEventProcessorOptions {
59
60
  queryBus?: QueryBus;
60
61
  /** Event scheduler injected into ALS at handler-invocation entry (read by schedule()). */
61
62
  eventScheduler?: EventScheduler;
63
+ /**
64
+ * Correlation data providers run against each event before its handlers are
65
+ * invoked, so commands/events dispatched from an event handler inherit the
66
+ * triggering event's correlationId/causationId.
67
+ */
68
+ correlationDataProviders?: ReadonlyArray<CorrelationDataProvider>;
62
69
  /** Optional per-event callback fired inside the UoW before handler invocation (e.g. monitoring). */
63
70
  onEventDelivery?: () => void;
64
71
  unitOfWorkRunner?: UoWRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,13 @@ import { createDeadLetterReprocessor, } from "./dead-letter-reprocessor.js";
6
6
  import { loggingErrorHandler } from "./tracking-event-processor.js";
7
7
  import { globalSequenceToken, replayToken, isReplayToken, isReplaying, advanceToken, } from "./tracking-token.js";
8
8
  import { REPLAY_STATE_KEY } from "./replay-token.js";
9
+ import { applyCorrelationData } from "./correlation-data.js";
9
10
  import { setResource, onPrepareCommit } from "./processing-state.js";
10
11
  import { STATE_MANAGER_KEY, EVENT_SCHEDULER_KEY } from "@kronos-ts/eventsourcing";
11
12
  import { COMMAND_BUS_KEY } from "./send.js";
12
13
  import { QUERY_BUS_KEY } from "./emit-update.js";
13
14
  export function createStreamingEventProcessor(options) {
14
- const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, batchSize = 1, errorBackoffMs = 1000, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
15
+ const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, correlationDataProviders, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, batchSize = 1, errorBackoffMs = 1000, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
15
16
  const segment = 0;
16
17
  // Option A: when a DLQ is configured, handler failures are caught and parked
17
18
  // (not propagated), so the batch commits and the token advances past the
@@ -190,6 +191,11 @@ export function createStreamingEventProcessor(options) {
190
191
  setResource(QUERY_BUS_KEY, queryBus);
191
192
  if (eventScheduler !== undefined)
192
193
  setResource(EVENT_SCHEDULER_KEY, eventScheduler);
194
+ // Seed correlation data from the triggering event so an automation's
195
+ // outgoing commands/events inherit its lineage.
196
+ if (correlationDataProviders && correlationDataProviders.length > 0) {
197
+ applyCorrelationData(event, correlationDataProviders);
198
+ }
193
199
  // Optional per-event callback (e.g. monitoring hooks registered inside the UoW).
194
200
  if (onEventDelivery)
195
201
  onEventDelivery();
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { SubscribableEventSource } from "./event-bus.js";
5
5
  import type { CommandBus } from "./command-bus.js";
6
6
  import type { QueryBus } from "./query-bus.js";
7
7
  import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
8
+ import { type CorrelationDataProvider } from "./correlation-data.js";
8
9
  import type { EventScheduler } from "./event-scheduler.js";
9
10
  export type { SubscribableEventSource } from "./event-bus.js";
10
11
  /**
@@ -43,6 +44,13 @@ export interface SubscribingEventProcessorOptions {
43
44
  queryBus?: QueryBus;
44
45
  /** Event scheduler injected into ALS at handler-invocation entry (read by schedule()). */
45
46
  eventScheduler?: EventScheduler;
47
+ /**
48
+ * Correlation data providers run against each event before its handlers are
49
+ * invoked. Their output is seeded into the UoW so commands/events dispatched
50
+ * from an event handler inherit the triggering event's
51
+ * correlationId/causationId. Empty/undefined → no seeding.
52
+ */
53
+ correlationDataProviders?: ReadonlyArray<CorrelationDataProvider>;
46
54
  /** Optional per-event callback fired inside the UoW before handler invocation (e.g. monitoring). */
47
55
  onEventDelivery?: () => void;
48
56
  unitOfWorkRunner?: UoWRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"subscribing-event-processor.d.ts","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAGtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAK1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;IACZ,yEAAyE;IACzE,aAAa,IAAI,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAA;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAmG3B"}
1
+ {"version":3,"file":"subscribing-event-processor.d.ts","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAG1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAK1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;IACZ,yEAAyE;IACzE,aAAa,IAAI,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,uBAAuB,CAAA;IACpC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;IACjE,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAA;CAC5C;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,gCAAgC,GACxC,yBAAyB,CAyG3B"}
@@ -1,6 +1,7 @@
1
1
  import { emptyMetadata, qualifiedNameToString } from "@kronos-ts/common";
2
2
  import { runInNewUoW } from "./unit-of-work.js";
3
3
  import { loggingErrorHandler } from "./tracking-event-processor.js";
4
+ import { applyCorrelationData } from "./correlation-data.js";
4
5
  import { setResource } from "./processing-state.js";
5
6
  import { STATE_MANAGER_KEY, EVENT_SCHEDULER_KEY } from "@kronos-ts/eventsourcing";
6
7
  import { COMMAND_BUS_KEY } from "./send.js";
@@ -13,7 +14,7 @@ import { QUERY_BUS_KEY } from "./emit-update.js";
13
14
  * publisher's call stack (synchronous with append).
14
15
  */
15
16
  export function createSubscribingEventProcessor(options) {
16
- const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, onEventDelivery, unitOfWorkRunner = runInNewUoW, errorHandler = loggingErrorHandler(name), handlerEnhancer, } = options;
17
+ const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, correlationDataProviders, onEventDelivery, unitOfWorkRunner = runInNewUoW, errorHandler = loggingErrorHandler(name), handlerEnhancer, } = options;
17
18
  // Build handler lookup: eventName → handler[]
18
19
  // Plan 09-01: when a handlerEnhancer is supplied, wrap each handler at
19
20
  // registration time symmetric to TrackingEventProcessor. Plan 11-02:
@@ -64,6 +65,11 @@ export function createSubscribingEventProcessor(options) {
64
65
  setResource(QUERY_BUS_KEY, queryBus);
65
66
  if (eventScheduler !== undefined)
66
67
  setResource(EVENT_SCHEDULER_KEY, eventScheduler);
68
+ // Seed correlation data from the triggering event so an automation's
69
+ // outgoing commands/events inherit its lineage.
70
+ if (correlationDataProviders && correlationDataProviders.length > 0) {
71
+ applyCorrelationData(event, correlationDataProviders);
72
+ }
67
73
  // Optional per-event callback (e.g. monitoring hooks registered inside the UoW).
68
74
  if (onEventDelivery)
69
75
  onEventDelivery();
@@ -1 +1 @@
1
- {"version":3,"file":"subscribing-event-processor.js","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscribing-event-processor.js","sourceRoot":"","sources":["../src/subscribing-event-processor.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
1
  import type { CommandBus } from "./command-bus.js";
2
2
  import type { SpanFactory } from "./span-factory.js";
3
3
  /**
4
- * A {@link CommandBus} decorator that wraps dispatch and handler invocations
5
- * with tracing spans.
4
+ * A {@link CommandBus} decorator that traces command dispatch (the producer
5
+ * side).
6
6
  *
7
7
  * Dispatch creates a "dispatch" span and propagates trace context into the
8
- * message metadata. Subscribe wraps each handler with a "handle" span.
9
- *
8
+ * message metadata, so the handler links back to it across the bus boundary.
9
+ * The handler ("handle") span is created by {@link tracingHandlerEnhancerDefinition},
10
+ * the single authority for handler-side spans across command/query/event
11
+ * handlers — so this decorator does not wrap subscribe, avoiding a duplicate
12
+ * command handle span.
10
13
  *
11
14
  * @param delegate The underlying command bus to decorate.
12
15
  * @param spanFactory The span factory for creating tracing spans.
13
- * @returns A decorated command bus with tracing instrumentation.
16
+ * @returns A decorated command bus with dispatch tracing.
14
17
  */
15
18
  export declare function createTracingCommandBus(delegate: CommandBus, spanFactory: SpanFactory): CommandBus;
16
19
  //# sourceMappingURL=tracing-command-bus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing-command-bus.d.ts","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,WAAW,GACvB,UAAU,CAgCZ"}
1
+ {"version":3,"file":"tracing-command-bus.d.ts","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAA;AAO1D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAE,WAAW,GACvB,UAAU,CA4BZ"}
@@ -1,22 +1,33 @@
1
+ /** Run `fn` with `span` active, falling back to a plain call when the span lacks runActive. */
2
+ function runActive(span, fn) {
3
+ return span.runActive ? span.runActive(fn) : fn();
4
+ }
1
5
  /**
2
- * A {@link CommandBus} decorator that wraps dispatch and handler invocations
3
- * with tracing spans.
6
+ * A {@link CommandBus} decorator that traces command dispatch (the producer
7
+ * side).
4
8
  *
5
9
  * Dispatch creates a "dispatch" span and propagates trace context into the
6
- * message metadata. Subscribe wraps each handler with a "handle" span.
7
- *
10
+ * message metadata, so the handler links back to it across the bus boundary.
11
+ * The handler ("handle") span is created by {@link tracingHandlerEnhancerDefinition},
12
+ * the single authority for handler-side spans across command/query/event
13
+ * handlers — so this decorator does not wrap subscribe, avoiding a duplicate
14
+ * command handle span.
8
15
  *
9
16
  * @param delegate The underlying command bus to decorate.
10
17
  * @param spanFactory The span factory for creating tracing spans.
11
- * @returns A decorated command bus with tracing instrumentation.
18
+ * @returns A decorated command bus with dispatch tracing.
12
19
  */
13
20
  export function createTracingCommandBus(delegate, spanFactory) {
14
21
  return {
15
22
  async dispatch(message) {
16
23
  const span = spanFactory.createDispatchSpan(`dispatch(${String(message.name)})`, message).start();
17
24
  try {
18
- const propagated = spanFactory.propagateContext(message);
19
- const result = await delegate.dispatch(propagated);
25
+ // Propagate inside the active dispatch span so the outgoing message
26
+ // carries this span's trace context and the handler links to it.
27
+ const result = await runActive(span, () => {
28
+ const propagated = spanFactory.propagateContext(message);
29
+ return delegate.dispatch(propagated);
30
+ });
20
31
  span.end();
21
32
  return result;
22
33
  }
@@ -26,18 +37,9 @@ export function createTracingCommandBus(delegate, spanFactory) {
26
37
  }
27
38
  },
28
39
  subscribe(commandName, handler) {
29
- delegate.subscribe(commandName, async (msg) => {
30
- const span = spanFactory.createHandlerSpan(`handle(${commandName})`, msg).start();
31
- try {
32
- const result = await handler(msg);
33
- span.end();
34
- return result;
35
- }
36
- catch (err) {
37
- span.recordException(err instanceof Error ? err : new Error(String(err)));
38
- throw err;
39
- }
40
- });
40
+ // Handler-side spans are owned by tracingHandlerEnhancerDefinition; pass
41
+ // the handler through untouched so commands get exactly one handle span.
42
+ delegate.subscribe(commandName, handler);
41
43
  },
42
44
  };
43
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tracing-command-bus.js","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAoB,EACpB,WAAwB;IAExB,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,OAAuB;YACpC,MAAM,IAAI,GAAG,WAAW,CAAC,kBAAkB,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjG,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBAClD,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACzE,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,SAAS,CACP,WAAmB,EACnB,OAAsD;YAEtD,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,GAAmB,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,UAAU,WAAW,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;gBACjF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;oBACjC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACV,OAAO,MAAM,CAAA;gBACf,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;oBACzE,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"tracing-command-bus.js","sourceRoot":"","sources":["../src/tracing-command-bus.ts"],"names":[],"mappings":"AAIA,+FAA+F;AAC/F,SAAS,SAAS,CAAI,IAAU,EAAE,EAAW;IAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAoB,EACpB,WAAwB;IAExB,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,OAAuB;YACpC,MAAM,IAAI,GAAG,WAAW,CAAC,kBAAkB,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YACjG,IAAI,CAAC;gBACH,oEAAoE;gBACpE,iEAAiE;gBACjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;oBACxC,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;oBACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;gBACtC,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,GAAG,EAAE,CAAA;gBACV,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,eAAe,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACzE,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC;QAED,SAAS,CACP,WAAmB,EACnB,OAAsD;YAEtD,yEAAyE;YACzE,yEAAyE;YACzE,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -3,9 +3,15 @@ import type { SpanFactory } from "./span-factory.js";
3
3
  /**
4
4
  * Handler enhancer that wraps message handler invocations with tracing spans.
5
5
  *
6
- * Creates an internal span per handler invocation, recording the handler
7
- * name and message type as context. Errors are recorded on the span.
6
+ * The span is created from the message being handled (extracting any trace
7
+ * context from its metadata) so the handler re-parents onto the dispatcher's
8
+ * trace across the message boundary. Event handlers start a new trace linked to
9
+ * the triggering event; command/query handlers continue the current trace.
8
10
  *
11
+ * The handler runs inside the span's active context, and the active trace
12
+ * context is captured onto the UnitOfWork (via contributeCorrelationData) so
13
+ * appended and dispatched messages carry it — including events published at
14
+ * commit time, after the span has ended.
9
15
  */
10
16
  export declare function tracingHandlerEnhancerDefinition(spanFactory: SpanFactory): HandlerEnhancerDefinition;
11
17
  //# sourceMappingURL=tracing-handler-enhancer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing-handler-enhancer.d.ts","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAmB,MAAM,uBAAuB,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,WAAW,GACvB,yBAAyB,CAqB3B"}
1
+ {"version":3,"file":"tracing-handler-enhancer.d.ts","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAmB,MAAM,uBAAuB,CAAA;AACvF,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,mBAAmB,CAAA;AAI1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,WAAW,GACvB,yBAAyB,CAuC3B"}
@@ -1,18 +1,43 @@
1
+ import { contributeCorrelationData } from "./correlation-data.js";
1
2
  /**
2
3
  * Handler enhancer that wraps message handler invocations with tracing spans.
3
4
  *
4
- * Creates an internal span per handler invocation, recording the handler
5
- * name and message type as context. Errors are recorded on the span.
5
+ * The span is created from the message being handled (extracting any trace
6
+ * context from its metadata) so the handler re-parents onto the dispatcher's
7
+ * trace across the message boundary. Event handlers start a new trace linked to
8
+ * the triggering event; command/query handlers continue the current trace.
6
9
  *
10
+ * The handler runs inside the span's active context, and the active trace
11
+ * context is captured onto the UnitOfWork (via contributeCorrelationData) so
12
+ * appended and dispatched messages carry it — including events published at
13
+ * commit time, after the span has ended.
7
14
  */
8
15
  export function tracingHandlerEnhancerDefinition(spanFactory) {
9
16
  return {
10
17
  wrapHandler(handler, metadata) {
11
18
  const spanName = `${metadata.handlerGroup}.${metadata.messageName}`;
12
19
  return (async (...args) => {
13
- const span = spanFactory.createInternalSpan(spanName).start();
20
+ const message = args[0];
21
+ const span = createSpan(spanFactory, spanName, message, metadata).start();
22
+ const runActive = span.runActive
23
+ ? span.runActive.bind(span)
24
+ : (fn) => fn();
14
25
  try {
15
- const result = await handler(...args);
26
+ const result = await runActive(() => {
27
+ // Store the active trace context on the UnitOfWork so outgoing and
28
+ // appended messages carry it. Best-effort: tracing must never break
29
+ // handling, and there may be no active UnitOfWork.
30
+ try {
31
+ const traceContext = spanFactory.currentTraceContext?.();
32
+ if (traceContext && Object.keys(traceContext).length > 0) {
33
+ contributeCorrelationData(traceContext);
34
+ }
35
+ }
36
+ catch {
37
+ // no active UnitOfWork or no tracing context — skip
38
+ }
39
+ return handler(...args);
40
+ });
16
41
  span.end();
17
42
  return result;
18
43
  }
@@ -24,4 +49,20 @@ export function tracingHandlerEnhancerDefinition(spanFactory) {
24
49
  },
25
50
  };
26
51
  }
52
+ function isMessage(value) {
53
+ return (typeof value === "object" &&
54
+ value !== null &&
55
+ "metadata" in value &&
56
+ "identifier" in value);
57
+ }
58
+ function createSpan(spanFactory, spanName, message, metadata) {
59
+ if (!isMessage(message)) {
60
+ // No message to re-parent from (defensive — wired handlers always receive one).
61
+ return spanFactory.createInternalSpan(spanName);
62
+ }
63
+ if (metadata.messageType === "event" && spanFactory.createLinkedHandlerSpan) {
64
+ return spanFactory.createLinkedHandlerSpan(spanName, message);
65
+ }
66
+ return spanFactory.createHandlerSpan(spanName, message);
67
+ }
27
68
  //# sourceMappingURL=tracing-handler-enhancer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing-handler-enhancer.js","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC9C,WAAwB;IAExB,OAAO;QACL,WAAW,CACT,OAAU,EACV,QAAyB;YAEzB,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAA;YAEnE,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;gBAC7D,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;oBACrC,IAAI,CAAC,GAAG,EAAE,CAAA;oBACV,OAAO,MAAM,CAAA;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC/E,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC,CAAiB,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"tracing-handler-enhancer.js","sourceRoot":"","sources":["../src/tracing-handler-enhancer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAEjE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gCAAgC,CAC9C,WAAwB;IAExB,OAAO;QACL,WAAW,CACT,OAAU,EACV,QAAyB;YAEzB,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAA;YAEnE,OAAO,CAAC,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAA;gBACzE,MAAM,SAAS,GAA0B,IAAI,CAAC,SAAS;oBACrD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC3B,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAA;gBAEhB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;wBAClC,mEAAmE;wBACnE,oEAAoE;wBACpE,mDAAmD;wBACnD,IAAI,CAAC;4BACH,MAAM,YAAY,GAAG,WAAW,CAAC,mBAAmB,EAAE,EAAE,CAAA;4BACxD,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACzD,yBAAyB,CAAC,YAAY,CAAC,CAAA;4BACzC,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,oDAAoD;wBACtD,CAAC;wBACD,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;oBACzB,CAAC,CAAC,CAAA;oBACF,IAAI,CAAC,GAAG,EAAE,CAAA;oBACV,OAAO,MAAM,CAAA;gBACf,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,eAAe,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAC/E,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC,CAAiB,CAAA;QACpB,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,UAAU,IAAI,KAAK;QACnB,YAAY,IAAI,KAAK,CACtB,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CACjB,WAAwB,EACxB,QAAgB,EAChB,OAAgB,EAChB,QAAyB;IAEzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,gFAAgF;QAChF,OAAO,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,OAAO,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;QAC5E,OAAO,WAAW,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AACzD,CAAC"}
@@ -5,6 +5,7 @@ import type { TokenStore } from "./token-store.js";
5
5
  import type { SequencedDeadLetterQueue, EnqueuePolicy } from "./dead-letter-queue.js";
6
6
  import type { SequencingPolicy } from "./sequencing-policy.js";
7
7
  import { type DeadLetterListener } from "./dead-letter-listener.js";
8
+ import { type CorrelationDataProvider } from "./correlation-data.js";
8
9
  import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
9
10
  import type { CommandBus } from "./command-bus.js";
10
11
  import type { QueryBus } from "./query-bus.js";
@@ -53,6 +54,12 @@ export interface TrackingEventProcessorOptions {
53
54
  queryBus?: QueryBus;
54
55
  /** Event scheduler injected into ALS at handler-invocation entry (read by schedule()). */
55
56
  eventScheduler?: EventScheduler;
57
+ /**
58
+ * Correlation data providers run against each event before its handlers are
59
+ * invoked, so commands/events dispatched from an event handler inherit the
60
+ * triggering event's correlationId/causationId.
61
+ */
62
+ correlationDataProviders?: ReadonlyArray<CorrelationDataProvider>;
56
63
  /** Optional per-event callback fired inside the UoW before handler invocation (e.g. monitoring). */
57
64
  onEventDelivery?: () => void;
58
65
  unitOfWorkRunner?: UoWRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-event-processor.d.ts","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAc,MAAM,wBAAwB,CAAA;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,2BAA2B,CAAA;AAe3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAI1D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ;;;OAGG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1E;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACjF;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,qBAAqB,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,0FAA0F;IAC1F,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAA;IAC1C,2EAA2E;IAC3E,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,mGAAmG;IACnG,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,2BAA2B,CAStF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,2BAA2B,CAMrE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CAoUxB"}
1
+ {"version":3,"file":"tracking-event-processor.d.ts","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { noOpDeadLetterListener } from "./dead-letter-listener.js";
5
5
  import { createDeadLetterReprocessor, } from "./dead-letter-reprocessor.js";
6
6
  import { globalSequenceToken, replayToken, isReplayToken, isReplaying, advanceToken, } from "./tracking-token.js";
7
7
  import { REPLAY_STATE_KEY } from "./replay-token.js";
8
+ import { applyCorrelationData } from "./correlation-data.js";
8
9
  import { setResource, onPrepareCommit } from "./processing-state.js";
9
10
  import { STATE_MANAGER_KEY, EVENT_SCHEDULER_KEY } from "@kronos-ts/eventsourcing";
10
11
  import { COMMAND_BUS_KEY } from "./send.js";
@@ -30,7 +31,7 @@ export function propagatingErrorHandler() {
30
31
  };
31
32
  }
32
33
  export function createTrackingEventProcessor(options) {
33
- const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, pollingIntervalMs = 500, batchSize = 1, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
34
+ const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, eventScheduler, correlationDataProviders, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, deadLetterQueue, enqueuePolicy, sequencingPolicy, deadLetterListener = noOpDeadLetterListener(), resetClearsDeadLetters = false, dlqRetryIntervalMs, pollingIntervalMs = 500, batchSize = 1, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
34
35
  const segment = 0;
35
36
  // Option A: when a DLQ is configured, handler failures are caught and parked
36
37
  // (not propagated), so the batch commits and the token advances past the
@@ -197,6 +198,11 @@ export function createTrackingEventProcessor(options) {
197
198
  setResource(QUERY_BUS_KEY, queryBus);
198
199
  if (eventScheduler !== undefined)
199
200
  setResource(EVENT_SCHEDULER_KEY, eventScheduler);
201
+ // Seed correlation data from the triggering event so an automation's
202
+ // outgoing commands/events inherit its lineage.
203
+ if (correlationDataProviders && correlationDataProviders.length > 0) {
204
+ applyCorrelationData(event, correlationDataProviders);
205
+ }
200
206
  // Optional per-event callback (e.g. monitoring hooks registered inside the UoW).
201
207
  if (onEventDelivery)
202
208
  onEventDelivery();
@@ -234,6 +240,9 @@ export function createTrackingEventProcessor(options) {
234
240
  setResource(QUERY_BUS_KEY, queryBus);
235
241
  if (eventScheduler !== undefined)
236
242
  setResource(EVENT_SCHEDULER_KEY, eventScheduler);
243
+ if (correlationDataProviders && correlationDataProviders.length > 0) {
244
+ applyCorrelationData(event, correlationDataProviders);
245
+ }
237
246
  const position = typeof letter.diagnostics.position === "number" ? BigInt(letter.diagnostics.position) : 0n;
238
247
  for (const reg of handlers) {
239
248
  await reg.handler({ ...event, sequence: position });