@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.
- package/dist/command-handling-module.d.ts.map +1 -1
- package/dist/command-handling-module.js +4 -12
- package/dist/command-handling-module.js.map +1 -1
- package/dist/correlation-data.d.ts +38 -8
- package/dist/correlation-data.d.ts.map +1 -1
- package/dist/correlation-data.js +57 -20
- package/dist/correlation-data.js.map +1 -1
- package/dist/event-gateway.d.ts.map +1 -1
- package/dist/event-gateway.js +1 -0
- package/dist/event-gateway.js.map +1 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +3 -0
- package/dist/gateway.js.map +1 -1
- package/dist/handler-enhancer.d.ts +2 -1
- package/dist/handler-enhancer.d.ts.map +1 -1
- package/dist/handler-enhancer.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/message.d.ts +18 -0
- package/dist/message.d.ts.map +1 -1
- package/dist/metrics.d.ts +56 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +79 -0
- package/dist/metrics.js.map +1 -0
- package/dist/send.d.ts.map +1 -1
- package/dist/send.js +1 -0
- package/dist/send.js.map +1 -1
- package/dist/span-factory.d.ts +32 -1
- package/dist/span-factory.d.ts.map +1 -1
- package/dist/span-factory.js +3 -0
- package/dist/span-factory.js.map +1 -1
- package/dist/streaming-event-processor.d.ts +7 -0
- package/dist/streaming-event-processor.d.ts.map +1 -1
- package/dist/streaming-event-processor.js +7 -1
- package/dist/streaming-event-processor.js.map +1 -1
- package/dist/subscribing-event-processor.d.ts +8 -0
- package/dist/subscribing-event-processor.d.ts.map +1 -1
- package/dist/subscribing-event-processor.js +7 -1
- package/dist/subscribing-event-processor.js.map +1 -1
- package/dist/tracing-command-bus.d.ts +8 -5
- package/dist/tracing-command-bus.d.ts.map +1 -1
- package/dist/tracing-command-bus.js +21 -19
- package/dist/tracing-command-bus.js.map +1 -1
- package/dist/tracing-handler-enhancer.d.ts +8 -2
- package/dist/tracing-handler-enhancer.d.ts.map +1 -1
- package/dist/tracing-handler-enhancer.js +45 -4
- package/dist/tracing-handler-enhancer.js.map +1 -1
- package/dist/tracking-event-processor.d.ts +7 -0
- package/dist/tracking-event-processor.d.ts.map +1 -1
- package/dist/tracking-event-processor.js +10 -1
- package/dist/tracking-event-processor.js.map +1 -1
- package/package.json +8 -3
- package/src/command-handling-module.ts +4 -12
- package/src/correlation-data.ts +67 -25
- package/src/event-gateway.ts +1 -0
- package/src/gateway.ts +3 -0
- package/src/handler-enhancer.ts +3 -1
- package/src/index.ts +14 -0
- package/src/message.ts +23 -2
- package/src/metrics.ts +131 -0
- package/src/send.ts +1 -0
- package/src/span-factory.ts +37 -1
- package/src/streaming-event-processor.ts +13 -0
- package/src/subscribing-event-processor.ts +14 -0
- package/src/tracing-command-bus.ts +23 -19
- package/src/tracing-handler-enhancer.ts +56 -5
- package/src/tracking-event-processor.ts +16 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handling-module.d.ts","sourceRoot":"","sources":["../src/command-handling-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEpE;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAClD,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IAC/C,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CACpE;AAiBD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"command-handling-module.d.ts","sourceRoot":"","sources":["../src/command-handling-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEpE;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAClD,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IAC/C,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CACpE;AAiBD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAItE,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,cAAc,CAAA;AAchE;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3C,MAAM,EAAE,oBAAoB,IAEd,SAAS,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAsEzD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,aAAa,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAC3D,IAAI,EAAE;IACJ,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GACA,IAAI,CAgBN"}
|
|
@@ -13,7 +13,6 @@ const COMMAND_INVOCATION_KEYS = {
|
|
|
13
13
|
TAG_RESOLVER: "tagResolver",
|
|
14
14
|
};
|
|
15
15
|
const EVENT_FLUSH_REGISTERED_KEY = resourceKey("commandInvocationEventFlushRegistered");
|
|
16
|
-
import { CORRELATION_DATA_KEY } from "./correlation-data.js";
|
|
17
16
|
import { getResource, setResource, onPrepareCommit, hasResource } from "./processing-state.js";
|
|
18
17
|
import { COMMAND_BUS_KEY } from "./send.js";
|
|
19
18
|
import { QUERY_BUS_KEY } from "./emit-update.js";
|
|
@@ -61,23 +60,16 @@ export function createCommandInvocation(handler, config) {
|
|
|
61
60
|
if (!config.hasComponent(COMMAND_INVOCATION_KEYS.EVENT_STORE))
|
|
62
61
|
return;
|
|
63
62
|
const eventStore = config.getComponent(COMMAND_INVOCATION_KEYS.EVENT_STORE);
|
|
64
|
-
//
|
|
65
|
-
// (
|
|
66
|
-
const correlationData = getResource(CORRELATION_DATA_KEY);
|
|
67
|
-
const enrichedEvents = correlationData
|
|
68
|
-
? buffered.map(event => ({
|
|
69
|
-
...event,
|
|
70
|
-
metadata: { ...event.metadata, ...correlationData },
|
|
71
|
-
}))
|
|
72
|
-
: buffered;
|
|
63
|
+
// Correlation data is applied to each event when it is appended (see
|
|
64
|
+
// append()), so buffered events already carry the active lineage here.
|
|
73
65
|
// Resolve tags via TagResolver (if configured)
|
|
74
66
|
const tagResolver = config.getOptionalComponent(COMMAND_INVOCATION_KEYS.TAG_RESOLVER);
|
|
75
67
|
const resolvedEvents = tagResolver
|
|
76
|
-
?
|
|
68
|
+
? buffered.map(event => ({
|
|
77
69
|
...event,
|
|
78
70
|
tags: [...event.tags, ...tagResolver.resolve(event)],
|
|
79
71
|
}))
|
|
80
|
-
:
|
|
72
|
+
: buffered;
|
|
81
73
|
const sourcingInfos = getResource(SOURCING_INFOS_KEY) ?? [];
|
|
82
74
|
let appendCondition = undefined;
|
|
83
75
|
if (sourcingInfos.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handling-module.js","sourceRoot":"","sources":["../src/command-handling-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAmBtE;;;;GAIG;AACH,MAAM,uBAAuB,GAAG;IAC9B,aAAa,EAAE,cAAc;IAC7B,WAAW,EAAE,YAAY;IACzB,SAAS,EAAE,UAAU;IACrB,eAAe,EAAE,gBAAgB;IACjC,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;CACnB,CAAA;AAEV,MAAM,0BAA0B,GAAG,WAAW,CAAU,uCAAuC,CAAC,CAAA;AAIhG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"command-handling-module.js","sourceRoot":"","sources":["../src/command-handling-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,17 +49,47 @@ export declare function messageOriginProvider(correlationKey?: string, causation
|
|
|
49
49
|
*/
|
|
50
50
|
export declare function simpleCorrelationDataProvider(...metadataKeys: string[]): CorrelationDataProvider;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* Compute correlation data from the given providers for `message` and merge it
|
|
53
|
+
* into the active UnitOfWork's correlation-data resource (`CORRELATION_DATA_KEY`).
|
|
54
|
+
*
|
|
55
|
+
* This is the reusable "extract" step. It is run:
|
|
56
|
+
* - by {@link correlationDataHandlerInterceptor} for command/query handlers, and
|
|
57
|
+
* - by the event processors per-event before invoking event handlers, so an
|
|
58
|
+
* automation's outgoing commands/events inherit the triggering event's
|
|
59
|
+
* lineage.
|
|
54
60
|
*
|
|
55
|
-
*
|
|
61
|
+
* Each provider is called with the message. Exceptions are caught and logged
|
|
62
|
+
* (they don't break message processing). Results merge over any existing
|
|
63
|
+
* correlation data, so values contributed earlier (e.g. via
|
|
64
|
+
* {@link contributeCorrelationData}) are preserved unless a provider overrides
|
|
65
|
+
* the same key.
|
|
66
|
+
*
|
|
67
|
+
* Must be called inside an active UnitOfWork.
|
|
68
|
+
*/
|
|
69
|
+
export declare function applyCorrelationData(message: Message, providers: ReadonlyArray<CorrelationDataProvider>): void;
|
|
70
|
+
/**
|
|
71
|
+
* Contribute additional correlation data to the active UnitOfWork, merged over
|
|
72
|
+
* whatever is already present under `CORRELATION_DATA_KEY`. The merged set is
|
|
73
|
+
* applied to every message dispatched/appended from this UnitOfWork by the
|
|
74
|
+
* correlation-data dispatch interceptor and the event appender.
|
|
56
75
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
76
|
+
* Use this from a handler enhancer or handler to seed extra lineage keys that
|
|
77
|
+
* the built-in providers don't cover — for example an OpenTelemetry
|
|
78
|
+
* `traceparent` so the trace context rides along on outgoing messages. This is
|
|
79
|
+
* the supported alternative to mutating the object returned by
|
|
80
|
+
* {@link getActiveCorrelationData}.
|
|
81
|
+
*
|
|
82
|
+
* Throws `NoActiveUnitOfWork` when called outside an active UnitOfWork.
|
|
83
|
+
*/
|
|
84
|
+
export declare function contributeCorrelationData(partial: Record<string, string>): void;
|
|
85
|
+
/**
|
|
86
|
+
* Creates a handler interceptor that extracts correlation data from the
|
|
87
|
+
* incoming message and stores it in the ProcessingContext.
|
|
60
88
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
89
|
+
* This is the "extract" phase of the dual-interceptor pattern, delegating to
|
|
90
|
+
* {@link applyCorrelationData}. The correlation data is stored as a
|
|
91
|
+
* ProcessingContext resource under `CORRELATION_DATA_KEY`, where the dispatch
|
|
92
|
+
* interceptor reads it.
|
|
63
93
|
*/
|
|
64
94
|
export declare function correlationDataHandlerInterceptor(providers: ReadonlyArray<CorrelationDataProvider>): HandlerInterceptor;
|
|
65
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation-data.d.ts","sourceRoot":"","sources":["../src/correlation-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAA8B,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG/E;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAkC,CAAA;AAEvG;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAM7E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,SAAkB,EAChC,YAAY,SAAgB,GAC3B,uBAAuB,CAYzB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAYhG;AAMD
|
|
1
|
+
{"version":3,"file":"correlation-data.d.ts","sourceRoot":"","sources":["../src/correlation-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAA8B,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG/E;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAkC,CAAA;AAEvG;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAM7E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,SAAkB,EAChC,YAAY,SAAgB,GAC3B,uBAAuB,CAYzB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAYhG;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,CAAC,uBAAuB,CAAC,GAChD,IAAI,CAgBN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAG/E;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,aAAa,CAAC,uBAAuB,CAAC,GAChD,kBAAkB,CAOpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,CAAC,CAAC,SAAS,OAAO,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAiB9F"}
|
package/dist/correlation-data.js
CHANGED
|
@@ -65,37 +65,74 @@ export function simpleCorrelationDataProvider(...metadataKeys) {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
// ---------------------------------------------------------------------------
|
|
68
|
+
// Extract phase (shared by the handler interceptor and the event processors)
|
|
69
|
+
// ---------------------------------------------------------------------------
|
|
70
|
+
/**
|
|
71
|
+
* Compute correlation data from the given providers for `message` and merge it
|
|
72
|
+
* into the active UnitOfWork's correlation-data resource (`CORRELATION_DATA_KEY`).
|
|
73
|
+
*
|
|
74
|
+
* This is the reusable "extract" step. It is run:
|
|
75
|
+
* - by {@link correlationDataHandlerInterceptor} for command/query handlers, and
|
|
76
|
+
* - by the event processors per-event before invoking event handlers, so an
|
|
77
|
+
* automation's outgoing commands/events inherit the triggering event's
|
|
78
|
+
* lineage.
|
|
79
|
+
*
|
|
80
|
+
* Each provider is called with the message. Exceptions are caught and logged
|
|
81
|
+
* (they don't break message processing). Results merge over any existing
|
|
82
|
+
* correlation data, so values contributed earlier (e.g. via
|
|
83
|
+
* {@link contributeCorrelationData}) are preserved unless a provider overrides
|
|
84
|
+
* the same key.
|
|
85
|
+
*
|
|
86
|
+
* Must be called inside an active UnitOfWork.
|
|
87
|
+
*/
|
|
88
|
+
export function applyCorrelationData(message, providers) {
|
|
89
|
+
const correlationData = {};
|
|
90
|
+
for (const provider of providers) {
|
|
91
|
+
try {
|
|
92
|
+
Object.assign(correlationData, provider.correlationDataFor(message));
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
console.warn("Encountered exception creating correlation data from provider:", err);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const existing = getActiveCorrelationData() ?? {};
|
|
99
|
+
setResource(CORRELATION_DATA_KEY, { ...existing, ...correlationData });
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Contribute additional correlation data to the active UnitOfWork, merged over
|
|
103
|
+
* whatever is already present under `CORRELATION_DATA_KEY`. The merged set is
|
|
104
|
+
* applied to every message dispatched/appended from this UnitOfWork by the
|
|
105
|
+
* correlation-data dispatch interceptor and the event appender.
|
|
106
|
+
*
|
|
107
|
+
* Use this from a handler enhancer or handler to seed extra lineage keys that
|
|
108
|
+
* the built-in providers don't cover — for example an OpenTelemetry
|
|
109
|
+
* `traceparent` so the trace context rides along on outgoing messages. This is
|
|
110
|
+
* the supported alternative to mutating the object returned by
|
|
111
|
+
* {@link getActiveCorrelationData}.
|
|
112
|
+
*
|
|
113
|
+
* Throws `NoActiveUnitOfWork` when called outside an active UnitOfWork.
|
|
114
|
+
*/
|
|
115
|
+
export function contributeCorrelationData(partial) {
|
|
116
|
+
const existing = getActiveCorrelationData() ?? {};
|
|
117
|
+
setResource(CORRELATION_DATA_KEY, { ...existing, ...partial });
|
|
118
|
+
}
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
68
120
|
// Interceptor factory
|
|
69
121
|
// ---------------------------------------------------------------------------
|
|
70
122
|
/**
|
|
71
123
|
* Creates a handler interceptor that extracts correlation data from the
|
|
72
124
|
* incoming message and stores it in the ProcessingContext.
|
|
73
125
|
*
|
|
74
|
-
* This is the "extract" phase of the dual-interceptor pattern
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* later providers override earlier ones on key conflicts.
|
|
79
|
-
*
|
|
80
|
-
* The correlation data is stored as a ProcessingContext resource under
|
|
81
|
-
* `CORRELATION_DATA_KEY`, where the dispatch interceptor reads it.
|
|
126
|
+
* This is the "extract" phase of the dual-interceptor pattern, delegating to
|
|
127
|
+
* {@link applyCorrelationData}. The correlation data is stored as a
|
|
128
|
+
* ProcessingContext resource under `CORRELATION_DATA_KEY`, where the dispatch
|
|
129
|
+
* interceptor reads it.
|
|
82
130
|
*/
|
|
83
131
|
export function correlationDataHandlerInterceptor(providers) {
|
|
84
132
|
return (message, next) => {
|
|
85
|
-
const correlationData = {};
|
|
86
|
-
for (const provider of providers) {
|
|
87
|
-
try {
|
|
88
|
-
const data = provider.correlationDataFor(message);
|
|
89
|
-
Object.assign(correlationData, data);
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
console.warn("Encountered exception creating correlation data from provider:", err);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// Store in ALS-backed processing state.
|
|
96
133
|
// CTX-01 / Plan 03-03: HandlerInterceptor no longer threads ProcessingContext;
|
|
97
134
|
// resource writes go directly through the module-level ALS accessor.
|
|
98
|
-
|
|
135
|
+
applyCorrelationData(message, providers);
|
|
99
136
|
return next();
|
|
100
137
|
};
|
|
101
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation-data.js","sourceRoot":"","sources":["../src/correlation-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAG/F,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAE3E;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwC,WAAW,CAAC,iBAAiB,CAAC,CAAA;AAkBvG;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAA;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAEzC,CAAA;AACf,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAc,GAAG,eAAe,EAChC,YAAY,GAAG,aAAa;IAE5B,OAAO;QACL,kBAAkB,CAAC,OAAgB;YACjC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;YAC5D,OAAO;gBACL,CAAC,cAAc,CAAC,EAAE,mBAAmB,IAAI,IAAI;oBAC3C,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;oBAC7B,CAAC,CAAC,OAAO,CAAC,UAAU;gBACtB,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU;aACnC,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,GAAG,YAAsB;IACrE,OAAO;QACL,kBAAkB,CAAC,OAAgB;YACjC,MAAM,MAAM,GAA2B,EAAE,CAAA;YACzC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,GAAG,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,
|
|
1
|
+
{"version":3,"file":"correlation-data.js","sourceRoot":"","sources":["../src/correlation-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-gateway.d.ts","sourceRoot":"","sources":["../src/event-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EACzB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"event-gateway.d.ts","sourceRoot":"","sources":["../src/event-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EACzB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAC9B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAiBrE"}
|
package/dist/event-gateway.js
CHANGED
|
@@ -7,6 +7,7 @@ export function createEventGateway(eventSink) {
|
|
|
7
7
|
async publish(descriptor, payload, metadata = {}) {
|
|
8
8
|
const tags = descriptor.tags ? descriptor.tags(payload) : [];
|
|
9
9
|
const event = {
|
|
10
|
+
kind: "event",
|
|
10
11
|
identifier: generateIdentifier(),
|
|
11
12
|
name: descriptor.name,
|
|
12
13
|
version: descriptor.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-gateway.js","sourceRoot":"","sources":["../src/event-gateway.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAmBtD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAoB;IACrD,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE;YAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5D,MAAM,KAAK,GAAiB;gBAC1B,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO;gBACP,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI;aACL,CAAA;YACD,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"event-gateway.js","sourceRoot":"","sources":["../src/event-gateway.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAmBtD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAoB;IACrD,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE;YAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5D,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO;gBACP,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,IAAI;aACL,CAAA;YACD,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B;;;GAGG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,IAC9C,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACnE,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACpE,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACjC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1B,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAChF,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACjC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,uBAAuB,CAAA;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B;;;GAGG;AACH,KAAK,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,IAC9C,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACnE,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EACpE,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACjC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1B,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,EAChF,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACjC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,QAAQ,CAAC,EAAE,QAAQ,GAClB,uBAAuB,CAAA;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAcpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,QAAQ,EACb,gBAAgB,GAAE,SAAuB,GACxC,YAAY,CA+Bd"}
|
package/dist/gateway.js
CHANGED
|
@@ -15,6 +15,7 @@ export function createCommandGateway(bus) {
|
|
|
15
15
|
async send(descriptor, payload, metadata) {
|
|
16
16
|
const resolvedMetadata = metadata ?? emptyMetadata();
|
|
17
17
|
return bus.dispatch({
|
|
18
|
+
kind: "command",
|
|
18
19
|
identifier: generateIdentifier(),
|
|
19
20
|
name: descriptor.name,
|
|
20
21
|
payload,
|
|
@@ -38,6 +39,7 @@ export function createQueryGateway(bus, unitOfWorkRunner = runInNewUoW) {
|
|
|
38
39
|
// subscriptionQuery below stays as-is — its initialResult goes through
|
|
39
40
|
// bus.query, which handles its own UoW.
|
|
40
41
|
return unitOfWorkRunner(resolvedMetadata, () => bus.query({
|
|
42
|
+
kind: "query",
|
|
41
43
|
identifier: generateIdentifier(),
|
|
42
44
|
name: descriptor.name,
|
|
43
45
|
payload,
|
|
@@ -47,6 +49,7 @@ export function createQueryGateway(bus, unitOfWorkRunner = runInNewUoW) {
|
|
|
47
49
|
},
|
|
48
50
|
subscriptionQuery(descriptor, payload, metadata) {
|
|
49
51
|
return bus.subscriptionQuery({
|
|
52
|
+
kind: "query",
|
|
50
53
|
identifier: generateIdentifier(),
|
|
51
54
|
name: descriptor.name,
|
|
52
55
|
payload,
|
package/dist/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,aAAa,GAEd,MAAM,mBAAmB,CAAA;AAK1B,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAA;AAgE/D;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAe;IAClD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;YACtC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAA;YACpD,OAAO,GAAG,CAAC,QAAQ,CAAC;gBAClB,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAQ,CAAA;QACX,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAa,EACb,mBAA8B,WAAW;IAEzC,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;YACvC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAA;YACpD,uEAAuE;YACvE,8DAA8D;YAC9D,uEAAuE;YACvE,wCAAwC;YACxC,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC;gBACR,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAiB,CACZ,CAAA;QACV,CAAC;QAED,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;YAC7C,OAAO,GAAG,CAAC,iBAAiB,CAAC;gBAC3B,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,QAAQ,EAAE,QAAQ,IAAI,aAAa,EAAE;gBACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,aAAa,GAEd,MAAM,mBAAmB,CAAA;AAK1B,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAA;AAgE/D;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAe;IAClD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;YACtC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAA;YACpD,OAAO,GAAG,CAAC,QAAQ,CAAC;gBAClB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAQ,CAAA;QACX,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAa,EACb,mBAA8B,WAAW;IAEzC,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;YACvC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa,EAAE,CAAA;YACpD,uEAAuE;YACvE,8DAA8D;YAC9D,uEAAuE;YACvE,wCAAwC;YACxC,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAC7C,GAAG,CAAC,KAAK,CAAC;gBACR,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAiB,CACZ,CAAA;QACV,CAAC;QAED,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ;YAC7C,OAAO,GAAG,CAAC,iBAAiB,CAAC;gBAC3B,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,kBAAkB,EAAE;gBAChC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,OAAO;gBACP,QAAQ,EAAE,QAAQ,IAAI,aAAa,EAAE;gBACrC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { MessageKind } from "./message.js";
|
|
1
2
|
/**
|
|
2
3
|
* Metadata about a handler being enhanced. Allows enhancers to
|
|
3
4
|
* selectively wrap based on handler type, message name, etc.
|
|
4
5
|
*/
|
|
5
6
|
export interface HandlerMetadata {
|
|
6
7
|
/** The type of message this handler processes. */
|
|
7
|
-
readonly messageType:
|
|
8
|
+
readonly messageType: MessageKind;
|
|
8
9
|
/** The qualified name of the message (e.g., "university.courses.CreateCourse"). */
|
|
9
10
|
readonly messageName: string;
|
|
10
11
|
/** The name of the handler group or module (e.g., "course-commands"). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-enhancer.d.ts","sourceRoot":"","sources":["../src/handler-enhancer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"handler-enhancer.d.ts","sourceRoot":"","sources":["../src/handler-enhancer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,mFAAmF;IACnF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3C,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,eAAe,GACxB,CAAC,CAAA;CACL;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAClD,yBAAyB,CAW3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-enhancer.js","sourceRoot":"","sources":["../src/handler-enhancer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler-enhancer.js","sourceRoot":"","sources":["../src/handler-enhancer.ts"],"names":[],"mappings":"AAsDA;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,SAAmD;IAEnD,OAAO;QACL,WAAW,CAAoC,OAAU,EAAE,QAAyB;YAClF,IAAI,OAAO,GAAG,OAAO,CAAA;YACrB,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,OAAO,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,8 @@ export { type QueryHandlerDefinition, queryHandler, } from "./query-handler.js";
|
|
|
10
10
|
export { type DispatchInterceptor, type HandlerInterceptor, } from "./interceptor.js";
|
|
11
11
|
export { type RoutingStrategy, metadataRoutingStrategy, payloadFieldRoutingStrategy, } from "./routing-strategy.js";
|
|
12
12
|
export { type HandlerEnhancerDefinition, type HandlerMetadata, multiHandlerEnhancerDefinition, } from "./handler-enhancer.js";
|
|
13
|
-
export { type
|
|
13
|
+
export { type MetricsRecorder, type Counter, type Histogram, type MetricAttributes, type InstrumentOptions, type MeteringOptions, noOpMetricsRecorder, meteringHandlerEnhancerDefinition, } from "./metrics.js";
|
|
14
|
+
export { type CorrelationDataProvider, CORRELATION_DATA_KEY, getActiveCorrelationData, applyCorrelationData, contributeCorrelationData, messageOriginProvider, simpleCorrelationDataProvider, correlationDataHandlerInterceptor, correlationDataDispatchInterceptor, } from "./correlation-data.js";
|
|
14
15
|
export { type CommandBus } from "./command-bus.js";
|
|
15
16
|
export { type QueryBus } from "./query-bus.js";
|
|
16
17
|
export { createSimpleCommandBus } from "./simple-command-bus.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,10 @@ export {} from "./interceptor.js";
|
|
|
27
27
|
export { metadataRoutingStrategy, payloadFieldRoutingStrategy, } from "./routing-strategy.js";
|
|
28
28
|
// Handler enhancers
|
|
29
29
|
export { multiHandlerEnhancerDefinition, } from "./handler-enhancer.js";
|
|
30
|
+
// Metrics
|
|
31
|
+
export { noOpMetricsRecorder, meteringHandlerEnhancerDefinition, } from "./metrics.js";
|
|
30
32
|
// Correlation data
|
|
31
|
-
export { CORRELATION_DATA_KEY, getActiveCorrelationData, messageOriginProvider, simpleCorrelationDataProvider, correlationDataHandlerInterceptor, correlationDataDispatchInterceptor, } from "./correlation-data.js";
|
|
33
|
+
export { CORRELATION_DATA_KEY, getActiveCorrelationData, applyCorrelationData, contributeCorrelationData, messageOriginProvider, simpleCorrelationDataProvider, correlationDataHandlerInterceptor, correlationDataDispatchInterceptor, } from "./correlation-data.js";
|
|
32
34
|
// Bus interfaces
|
|
33
35
|
export {} from "./command-bus.js";
|
|
34
36
|
export {} from "./query-bus.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/message.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import type { QualifiedName, Metadata } from "@kronos-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* Discriminates a message by its dispatch category.
|
|
4
|
+
*
|
|
5
|
+
* TypeScript erases interfaces at runtime, so `CommandMessage`, `EventMessage`,
|
|
6
|
+
* and `QueryMessage` — which are otherwise shape-identical — cannot be told
|
|
7
|
+
* apart with `instanceof` the way Axon Framework's nominal interfaces can.
|
|
8
|
+
* This field is the structural-typing equivalent of that `instanceof` check:
|
|
9
|
+
* it lets a reusable handler interceptor branch on message category without
|
|
10
|
+
* being pinned to a single bus.
|
|
11
|
+
*/
|
|
12
|
+
export type MessageKind = "command" | "event" | "query";
|
|
2
13
|
/**
|
|
3
14
|
* A message carrying a payload and metadata, identified by a unique ID
|
|
4
15
|
* and routed by its qualified name.
|
|
16
|
+
*
|
|
17
|
+
* `kind` is derived at construction/reconstruction time, never persisted —
|
|
18
|
+
* each bus and event-store reconstruction site sets it from context.
|
|
5
19
|
*/
|
|
6
20
|
export interface Message<P = unknown> {
|
|
21
|
+
readonly kind: MessageKind;
|
|
7
22
|
readonly identifier: string;
|
|
8
23
|
readonly name: QualifiedName;
|
|
9
24
|
readonly payload: P;
|
|
@@ -14,6 +29,7 @@ export interface Message<P = unknown> {
|
|
|
14
29
|
* A command message — dispatched to exactly one handler, may return a result.
|
|
15
30
|
*/
|
|
16
31
|
export interface CommandMessage<P = unknown> extends Message<P> {
|
|
32
|
+
readonly kind: "command";
|
|
17
33
|
}
|
|
18
34
|
/**
|
|
19
35
|
* A command result message — the response from handling a command.
|
|
@@ -28,6 +44,7 @@ export interface CommandResultMessage<R = unknown> {
|
|
|
28
44
|
* An event message — published to all interested handlers.
|
|
29
45
|
*/
|
|
30
46
|
export interface EventMessage<P = unknown> extends Message<P> {
|
|
47
|
+
readonly kind: "event";
|
|
31
48
|
readonly version: string;
|
|
32
49
|
readonly tags: ReadonlyArray<{
|
|
33
50
|
readonly key: string;
|
|
@@ -42,5 +59,6 @@ export interface SequencedEventMessage<P = unknown> extends EventMessage<P> {
|
|
|
42
59
|
* A query message — dispatched to handler(s) that can answer it.
|
|
43
60
|
*/
|
|
44
61
|
export interface QueryMessage<P = unknown> extends Message<P> {
|
|
62
|
+
readonly kind: "query";
|
|
45
63
|
}
|
|
46
64
|
//# sourceMappingURL=message.d.ts.map
|
package/dist/message.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEhE
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEhE;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/E;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IACzE,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { HandlerEnhancerDefinition } from "./handler-enhancer.js";
|
|
2
|
+
/**
|
|
3
|
+
* Attribute set attached to a metric measurement. Values are restricted to the
|
|
4
|
+
* primitives supported by common metrics backends.
|
|
5
|
+
*/
|
|
6
|
+
export type MetricAttributes = Record<string, string | number | boolean>;
|
|
7
|
+
/** Options for creating an instrument. */
|
|
8
|
+
export interface InstrumentOptions {
|
|
9
|
+
/** Human-readable description of what the instrument measures. */
|
|
10
|
+
description?: string;
|
|
11
|
+
/** Unit of measure, e.g. "ms" or "1". */
|
|
12
|
+
unit?: string;
|
|
13
|
+
}
|
|
14
|
+
/** A monotonically increasing counter. */
|
|
15
|
+
export interface Counter {
|
|
16
|
+
add(value: number, attributes?: MetricAttributes): void;
|
|
17
|
+
}
|
|
18
|
+
/** A distribution of recorded values (e.g. durations). */
|
|
19
|
+
export interface Histogram {
|
|
20
|
+
record(value: number, attributes?: MetricAttributes): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Backend-agnostic metrics seam, analogous to {@link import("./span-factory.js").SpanFactory}
|
|
24
|
+
* for tracing. Implementations (e.g. OpenTelemetry) create the actual
|
|
25
|
+
* instruments; the framework records measurements through this interface.
|
|
26
|
+
*
|
|
27
|
+
* Instruments are expected to be idempotent by name — calling `counter("x")`
|
|
28
|
+
* twice returns instruments that write to the same series.
|
|
29
|
+
*/
|
|
30
|
+
export interface MetricsRecorder {
|
|
31
|
+
counter(name: string, options?: InstrumentOptions): Counter;
|
|
32
|
+
histogram(name: string, options?: InstrumentOptions): Histogram;
|
|
33
|
+
}
|
|
34
|
+
/** A recorder that drops every measurement. Default when no metrics are configured. */
|
|
35
|
+
export declare function noOpMetricsRecorder(): MetricsRecorder;
|
|
36
|
+
/** Options for {@link meteringHandlerEnhancerDefinition}. */
|
|
37
|
+
export interface MeteringOptions {
|
|
38
|
+
/** Metric name prefix. Default: "kronos". */
|
|
39
|
+
namespace?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Handler enhancer that records metrics for every handler invocation. Composes
|
|
43
|
+
* alongside other enhancers (e.g. tracing) and fires uniformly for command,
|
|
44
|
+
* query, and event handlers.
|
|
45
|
+
*
|
|
46
|
+
* Records, attributed by `message_type` / `message_name` / `handler_group`:
|
|
47
|
+
* - `<ns>.messages.handled` (counter) — also tagged `outcome` = success | failure
|
|
48
|
+
* - `<ns>.message.handler.duration` (histogram, ms) — handler execution time
|
|
49
|
+
* - `<ns>.event.processing.lag` (histogram, ms) — for event handlers, the delay
|
|
50
|
+
* between the event's authored timestamp and the moment it was handled
|
|
51
|
+
*
|
|
52
|
+
* Note: this measures handler *invocations*. Dispatch-side counts (e.g. commands
|
|
53
|
+
* with no handler, or ignored events) are not captured here.
|
|
54
|
+
*/
|
|
55
|
+
export declare function meteringHandlerEnhancerDefinition(recorder: MetricsRecorder, options?: MeteringOptions): HandlerEnhancerDefinition;
|
|
56
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAmB,MAAM,uBAAuB,CAAA;AAGvF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAExE,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,0CAA0C;AAC1C,MAAM,WAAW,OAAO;IACtB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CACxD;AAED,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAC3D;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAA;IAC3D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;CAChE;AAED,uFAAuF;AACvF,wBAAgB,mBAAmB,IAAI,eAAe,CAOrD;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,eAAoB,GAC5B,yBAAyB,CAgD3B"}
|
package/dist/metrics.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** A recorder that drops every measurement. Default when no metrics are configured. */
|
|
2
|
+
export function noOpMetricsRecorder() {
|
|
3
|
+
const counter = { add() { } };
|
|
4
|
+
const histogram = { record() { } };
|
|
5
|
+
return {
|
|
6
|
+
counter() { return counter; },
|
|
7
|
+
histogram() { return histogram; },
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function isMessage(value) {
|
|
11
|
+
return (typeof value === "object" &&
|
|
12
|
+
value !== null &&
|
|
13
|
+
"metadata" in value &&
|
|
14
|
+
"identifier" in value);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Handler enhancer that records metrics for every handler invocation. Composes
|
|
18
|
+
* alongside other enhancers (e.g. tracing) and fires uniformly for command,
|
|
19
|
+
* query, and event handlers.
|
|
20
|
+
*
|
|
21
|
+
* Records, attributed by `message_type` / `message_name` / `handler_group`:
|
|
22
|
+
* - `<ns>.messages.handled` (counter) — also tagged `outcome` = success | failure
|
|
23
|
+
* - `<ns>.message.handler.duration` (histogram, ms) — handler execution time
|
|
24
|
+
* - `<ns>.event.processing.lag` (histogram, ms) — for event handlers, the delay
|
|
25
|
+
* between the event's authored timestamp and the moment it was handled
|
|
26
|
+
*
|
|
27
|
+
* Note: this measures handler *invocations*. Dispatch-side counts (e.g. commands
|
|
28
|
+
* with no handler, or ignored events) are not captured here.
|
|
29
|
+
*/
|
|
30
|
+
export function meteringHandlerEnhancerDefinition(recorder, options = {}) {
|
|
31
|
+
const ns = options.namespace ?? "kronos";
|
|
32
|
+
const handled = recorder.counter(`${ns}.messages.handled`, {
|
|
33
|
+
description: "Count of message handler invocations",
|
|
34
|
+
unit: "1",
|
|
35
|
+
});
|
|
36
|
+
const duration = recorder.histogram(`${ns}.message.handler.duration`, {
|
|
37
|
+
description: "Message handler execution time",
|
|
38
|
+
unit: "ms",
|
|
39
|
+
});
|
|
40
|
+
const lag = recorder.histogram(`${ns}.event.processing.lag`, {
|
|
41
|
+
description: "Delay between an event's timestamp and when it was handled",
|
|
42
|
+
unit: "ms",
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
wrapHandler(handler, metadata) {
|
|
46
|
+
const base = {
|
|
47
|
+
message_type: metadata.messageType,
|
|
48
|
+
message_name: metadata.messageName,
|
|
49
|
+
handler_group: metadata.handlerGroup,
|
|
50
|
+
};
|
|
51
|
+
const isEvent = metadata.messageType === "event";
|
|
52
|
+
return (async (...args) => {
|
|
53
|
+
const start = performance.now();
|
|
54
|
+
let outcome = "success";
|
|
55
|
+
try {
|
|
56
|
+
return await handler(...args);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
outcome = "failure";
|
|
60
|
+
throw err;
|
|
61
|
+
}
|
|
62
|
+
finally {
|
|
63
|
+
duration.record(performance.now() - start, base);
|
|
64
|
+
handled.add(1, { ...base, outcome });
|
|
65
|
+
if (isEvent) {
|
|
66
|
+
const message = args[0];
|
|
67
|
+
if (isMessage(message) && typeof message.timestamp === "number") {
|
|
68
|
+
lag.record(Math.max(0, Date.now() - message.timestamp), {
|
|
69
|
+
message_name: metadata.messageName,
|
|
70
|
+
handler_group: metadata.handlerGroup,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=metrics.js.map
|