@kronos-ts/eventsourcing 0.2.1 → 0.2.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"append.d.ts","sourceRoot":"","sources":["../src/append.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAA;AAM1B,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAExF,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3E,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAChG;AAOD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,YAAY,EAAE,CAAiC,CAAA;AAE7F,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CACzE,CAAA;AAE9B,2EAA2E;AAC3E,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAA6B,CAAA;AAEpG,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CACxD,CAAA;AAE7B;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,EAAE,cAiDD,CAAA"}
1
+ {"version":3,"file":"append.d.ts","sourceRoot":"","sources":["../src/append.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAA;AAO1B,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAExF,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC3E,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;CAChG;AAOD,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,YAAY,EAAE,CAAiC,CAAA;AAE7F,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CACzE,CAAA;AAE9B,2EAA2E;AAC3E,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAA6B,CAAA;AAEpG,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CACxD,CAAA;AAE7B;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,EAAE,cA+DD,CAAA"}
package/dist/append.js CHANGED
@@ -1,5 +1,6 @@
1
- import { resourceKey, qualifiedNameToString, generateIdentifier, } from "@kronos-ts/common";
1
+ import { resourceKey, qualifiedNameToString, generateIdentifier, mergeMetadata, } from "@kronos-ts/common";
2
2
  import { getResource, computeIfAbsent, requireInvocationPhase, } from "@kronos-ts/messaging/processing-state";
3
+ import { CORRELATION_DATA_KEY } from "@kronos-ts/messaging/correlation-data";
3
4
  // ---------------------------------------------------------------------------
4
5
  // Resource keys (owned by append — open-question #1 resolved: keys live with
5
6
  // the helper that writes them)
@@ -25,12 +26,23 @@ export const append = ((eventDescriptor, eventPayload, eventMetadata) => {
25
26
  const state = requireInvocationPhase(); // D-43 mutator guard
26
27
  const events = computeIfAbsent(BUFFERED_EVENTS_KEY, () => []);
27
28
  const tags = eventDescriptor.tags ? eventDescriptor.tags(eventPayload) : [];
29
+ // Apply the active UnitOfWork's correlation data to the appended event so it
30
+ // carries the correct correlationId/causationId of the message currently
31
+ // being handled. Merges over the base metadata (explicit arg, else UoW
32
+ // metadata). No-op when no correlation data is set — keeps events untouched
33
+ // for apps that don't configure correlation providers.
34
+ const baseMetadata = eventMetadata ?? state.metadata; // fallback to UoW metadata when caller omits
35
+ const correlationData = getResource(CORRELATION_DATA_KEY);
36
+ const metadata = correlationData && Object.keys(correlationData).length > 0
37
+ ? mergeMetadata(baseMetadata, correlationData)
38
+ : baseMetadata;
28
39
  const eventMessage = {
40
+ kind: "event",
29
41
  identifier: generateIdentifier(),
30
42
  name: eventDescriptor.name,
31
43
  version: eventDescriptor.version,
32
44
  payload: eventPayload,
33
- metadata: eventMetadata ?? state.metadata, // fallback to UoW metadata when caller omits
45
+ metadata,
34
46
  timestamp: Date.now(),
35
47
  tags,
36
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"append.js","sourceRoot":"","sources":["../src/append.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,WAAW,EACX,eAAe,EACf,sBAAsB,GACvB,MAAM,uCAAuC,CAAA;AAU9C,8EAA8E;AAC9E,6EAA6E;AAC7E,+BAA+B;AAC/B,8EAA8E;AAE9E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAgC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAE7F,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,WAAW,CAAC,eAAe,CAAC,CAAA;AAE9B,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAA+C,WAAW,CAAC,YAAY,CAAC,CAAA;AAEpG,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,WAAW,CAAC,cAAc,CAAC,CAAA;AAE7B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAmB,CAAC,CACrC,eAAqC,EACrC,YAAqB,EACrB,aAAwB,EACxB,EAAE;IACF,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3E,MAAM,YAAY,GAAiB;QACjC,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,OAAO,EAAE,eAAe,CAAC,OAAO;QAChC,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,aAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,6CAA6C;QACxF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI;KACL,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAEzB,qDAAqD;IACrD,4EAA4E;IAC5E,gFAAgF;IAChF,2BAA2B;IAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAA;IAC9C,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC7D,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzC,IAAI,CAAC,aAAa;gBAAE,SAAQ;YAC5B,MAAM,QAAQ,GAAI,MAAc,CAAC,QAGnB,CAAA;YACd,IAAI,CAAC,QAAQ;gBAAE,SAAQ;YACvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACjE,KAAK,CAAC,GAAG,CACP,QAAQ,EACR,aAAa,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;wBACnC,GAAG,MAAM;wBACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC;qBAClD,CAAC,CAAC,CACJ,CAAA;oBACD,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAmB,CAAA"}
1
+ {"version":3,"file":"append.js","sourceRoot":"","sources":["../src/append.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpG,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,sBAAsB,CAAA;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,cAAc,CAAiC,CAAA;AAE7F,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACvG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAClB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,EAAE,EAAE,IAAI,EACR,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,EAAE,gBA6BD,CAAA;AAEtB,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAC9G,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAClB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAAA;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,qBAaD,CAAA;AAE3B;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,OAAO,aAAa,KAAG,OAAO,CAAC,YAAY,CAK/E,CAAA"}
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpG,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,sBAAsB,CAAA;AAE7B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,cAAc,CAAiC,CAAA;AAE7F,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACvG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAClB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,EAAE,EAAE,IAAI,EACR,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,QAAQ,EAAE,gBA8BD,CAAA;AAEtB,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IAC9G,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAClB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAAA;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,qBAaD,CAAA;AAE3B;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,OAAO,aAAa,KAAG,OAAO,CAAC,YAAY,CAK/E,CAAA"}
package/dist/schedule.js CHANGED
@@ -38,6 +38,7 @@ export const schedule = (async (event, payload, at, metadata) => {
38
38
  throw new Error(`schedule: \`at\` must be a valid Date, received ${String(at)}`);
39
39
  }
40
40
  const eventMessage = {
41
+ kind: "event",
41
42
  identifier: generateIdentifier(),
42
43
  name: event.name,
43
44
  version: event.version,
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AACpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAU9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAa7F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAqB,CAAC,KAAK,EAC9C,KAAyB,EACzB,OAAmB,EACnB,EAAQ,EACR,QAAmB,EACK,EAAE;IAC1B,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAA+B,CAAA;IAC/F,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAEhE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,sDAAsD;IACtD,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,YAAY,GAAiB;QACjC,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAA;IACD,OAAO,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAqB,CAAA;AAatB;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,KAAK,EACxD,KAA2B,EAC3B,OAAgB,EAChB,OAAe,EACf,QAAmB,EACnB,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,uDAAuD;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gEAAgE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACpG,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,QAAoB,CAAC,CAAA;AACvF,CAAC,CAA0B,CAAA;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAoB,EAAyB,EAAE;IAClF,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAA+B,CAAA;IAC/F,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAChE,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA"}
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../src/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,WAAW,EAAoB,MAAM,mBAAmB,CAAA;AACpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAU9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAa7F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAqB,CAAC,KAAK,EAC9C,KAAyB,EACzB,OAAmB,EACnB,EAAQ,EACR,QAAmB,EACK,EAAE;IAC1B,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAA+B,CAAA;IAC/F,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAEhE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,sDAAsD;IACtD,IAAI,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,mDAAmD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,YAAY,GAAiB;QACjC,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,kBAAkB,EAAE;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO;QACP,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAA;IACD,OAAO,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAqB,CAAA;AAatB;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0B,CAAC,KAAK,EACxD,KAA2B,EAC3B,OAAgB,EAChB,OAAe,EACf,QAAmB,EACnB,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,uDAAuD;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,gEAAgE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACpG,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,QAAoB,CAAC,CAAA;AACvF,CAAC,CAA0B,CAAA;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAoB,EAAyB,EAAE;IAClF,MAAM,KAAK,GAAG,sBAAsB,EAAE,CAAA,CAAC,qBAAqB;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAA+B,CAAA;IAC/F,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAChE,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kronos-ts/eventsourcing",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Event sourcing for Kronos — dynamic-consistency-boundary event store with load/append.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -48,11 +48,11 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@kronos-ts/common": "0.1.1",
51
- "@kronos-ts/messaging": "0.5.1",
52
- "@kronos-ts/modelling": "0.2.4",
51
+ "@kronos-ts/messaging": "0.7.0",
52
+ "@kronos-ts/modelling": "0.2.6",
53
53
  "zod": "^4.3.6"
54
54
  },
55
55
  "devDependencies": {
56
- "@kronos-ts/app": "0.3.4"
56
+ "@kronos-ts/app": "0.4.1"
57
57
  }
58
58
  }
package/src/append.ts CHANGED
@@ -2,6 +2,7 @@ import {
2
2
  resourceKey,
3
3
  qualifiedNameToString,
4
4
  generateIdentifier,
5
+ mergeMetadata,
5
6
  type Metadata,
6
7
  type ResourceKey,
7
8
  } from "@kronos-ts/common"
@@ -10,6 +11,7 @@ import {
10
11
  computeIfAbsent,
11
12
  requireInvocationPhase,
12
13
  } from "@kronos-ts/messaging/processing-state"
14
+ import { CORRELATION_DATA_KEY } from "@kronos-ts/messaging/correlation-data"
13
15
  import type { z } from "zod"
14
16
  import type { EventDescriptor, EventMessage, EventCriteria } from "@kronos-ts/messaging"
15
17
 
@@ -55,12 +57,26 @@ export const append: AppendFunction = ((
55
57
  const state = requireInvocationPhase() // D-43 mutator guard
56
58
  const events = computeIfAbsent(BUFFERED_EVENTS_KEY, () => [])
57
59
  const tags = eventDescriptor.tags ? eventDescriptor.tags(eventPayload) : []
60
+
61
+ // Apply the active UnitOfWork's correlation data to the appended event so it
62
+ // carries the correct correlationId/causationId of the message currently
63
+ // being handled. Merges over the base metadata (explicit arg, else UoW
64
+ // metadata). No-op when no correlation data is set — keeps events untouched
65
+ // for apps that don't configure correlation providers.
66
+ const baseMetadata = eventMetadata ?? state.metadata // fallback to UoW metadata when caller omits
67
+ const correlationData = getResource(CORRELATION_DATA_KEY)
68
+ const metadata =
69
+ correlationData && Object.keys(correlationData).length > 0
70
+ ? mergeMetadata(baseMetadata, correlationData)
71
+ : baseMetadata
72
+
58
73
  const eventMessage: EventMessage = {
74
+ kind: "event",
59
75
  identifier: generateIdentifier(),
60
76
  name: eventDescriptor.name,
61
77
  version: eventDescriptor.version,
62
78
  payload: eventPayload,
63
- metadata: eventMetadata ?? state.metadata, // fallback to UoW metadata when caller omits
79
+ metadata,
64
80
  timestamp: Date.now(),
65
81
  tags,
66
82
  }
package/src/schedule.ts CHANGED
@@ -65,6 +65,7 @@ export const schedule: ScheduleFunction = (async <P extends z.ZodType>(
65
65
  }
66
66
 
67
67
  const eventMessage: EventMessage = {
68
+ kind: "event",
68
69
  identifier: generateIdentifier(),
69
70
  name: event.name,
70
71
  version: event.version,