@cratis/chronicle 0.0.1 → 0.1.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 (157) hide show
  1. package/Auditing/Causation.ts +29 -0
  2. package/Auditing/CausationManager.ts +51 -0
  3. package/Auditing/CausationType.ts +38 -0
  4. package/Auditing/ICausationManager.ts +29 -0
  5. package/Auditing/index.ts +15 -0
  6. package/Correlation/CorrelationId.ts +33 -0
  7. package/Correlation/CorrelationIdManager.ts +30 -0
  8. package/Correlation/ICorrelationIdAccessor.ts +15 -0
  9. package/Correlation/ICorrelationIdSetter.ts +21 -0
  10. package/Correlation/index.ts +15 -0
  11. package/EventSequences/EventSequence.ts +48 -50
  12. package/Identity/IIdentityProvider.ts +26 -0
  13. package/Identity/Identity.ts +61 -0
  14. package/Identity/IdentityProvider.ts +28 -0
  15. package/Identity/index.ts +14 -0
  16. package/Projections/Projections.ts +75 -20
  17. package/Projections/declarative/ProjectionBuilderFor.ts +19 -2
  18. package/Projections/declarative/projection.ts +6 -2
  19. package/Projections/modelBound/index.ts +0 -2
  20. package/Projections/modelBound/setFromContext.ts +20 -2
  21. package/README.md +1 -1
  22. package/Reactors/Reactors.ts +1 -0
  23. package/Reducers/Reducers.ts +66 -2
  24. package/Schemas/JsonSchemaGenerator.ts +20 -3
  25. package/artifacts/DefaultClientArtifactsProvider.ts +0 -5
  26. package/artifacts/IClientArtifactsProvider.ts +0 -3
  27. package/connection/Guid.ts +29 -1
  28. package/dist/Auditing/Causation.d.ts +22 -0
  29. package/dist/Auditing/Causation.d.ts.map +1 -0
  30. package/dist/Auditing/Causation.js +30 -0
  31. package/dist/Auditing/Causation.js.map +1 -0
  32. package/dist/Auditing/CausationManager.d.ts +23 -0
  33. package/dist/Auditing/CausationManager.d.ts.map +1 -0
  34. package/dist/Auditing/CausationManager.js +45 -0
  35. package/dist/Auditing/CausationManager.js.map +1 -0
  36. package/dist/Auditing/CausationType.d.ts +30 -0
  37. package/dist/Auditing/CausationType.d.ts.map +1 -0
  38. package/dist/Auditing/CausationType.js +36 -0
  39. package/dist/Auditing/CausationType.js.map +1 -0
  40. package/dist/Auditing/ICausationManager.d.ts +24 -0
  41. package/dist/Auditing/ICausationManager.d.ts.map +1 -0
  42. package/dist/Auditing/ICausationManager.js +4 -0
  43. package/dist/Auditing/ICausationManager.js.map +1 -0
  44. package/dist/Auditing/index.d.ts +11 -0
  45. package/dist/Auditing/index.d.ts.map +1 -0
  46. package/dist/Auditing/index.js +12 -0
  47. package/dist/Auditing/index.js.map +1 -0
  48. package/dist/Correlation/CorrelationId.d.ts +23 -0
  49. package/dist/Correlation/CorrelationId.d.ts.map +1 -0
  50. package/dist/Correlation/CorrelationId.js +32 -0
  51. package/dist/Correlation/CorrelationId.js.map +1 -0
  52. package/dist/Correlation/CorrelationIdManager.d.ts +17 -0
  53. package/dist/Correlation/CorrelationIdManager.d.ts.map +1 -0
  54. package/dist/Correlation/CorrelationIdManager.js +24 -0
  55. package/dist/Correlation/CorrelationIdManager.js.map +1 -0
  56. package/dist/Correlation/ICorrelationIdAccessor.d.ts +12 -0
  57. package/dist/Correlation/ICorrelationIdAccessor.d.ts.map +1 -0
  58. package/dist/Correlation/ICorrelationIdAccessor.js +4 -0
  59. package/dist/Correlation/ICorrelationIdAccessor.js.map +1 -0
  60. package/dist/Correlation/ICorrelationIdSetter.d.ts +17 -0
  61. package/dist/Correlation/ICorrelationIdSetter.d.ts.map +1 -0
  62. package/dist/Correlation/ICorrelationIdSetter.js +4 -0
  63. package/dist/Correlation/ICorrelationIdSetter.js.map +1 -0
  64. package/dist/Correlation/index.d.ts +11 -0
  65. package/dist/Correlation/index.d.ts.map +1 -0
  66. package/dist/Correlation/index.js +11 -0
  67. package/dist/Correlation/index.js.map +1 -0
  68. package/dist/EventSequences/EventSequence.d.ts.map +1 -1
  69. package/dist/EventSequences/EventSequence.js +45 -46
  70. package/dist/EventSequences/EventSequence.js.map +1 -1
  71. package/dist/Identity/IIdentityProvider.d.ts +21 -0
  72. package/dist/Identity/IIdentityProvider.d.ts.map +1 -0
  73. package/dist/Identity/IIdentityProvider.js +4 -0
  74. package/dist/Identity/IIdentityProvider.js.map +1 -0
  75. package/dist/Identity/Identity.d.ts +37 -0
  76. package/dist/Identity/Identity.d.ts.map +1 -0
  77. package/dist/Identity/Identity.js +60 -0
  78. package/dist/Identity/Identity.js.map +1 -0
  79. package/dist/Identity/IdentityProvider.d.ts +15 -0
  80. package/dist/Identity/IdentityProvider.d.ts.map +1 -0
  81. package/dist/Identity/IdentityProvider.js +23 -0
  82. package/dist/Identity/IdentityProvider.js.map +1 -0
  83. package/dist/Identity/index.d.ts +10 -0
  84. package/dist/Identity/index.d.ts.map +1 -0
  85. package/dist/Identity/index.js +11 -0
  86. package/dist/Identity/index.js.map +1 -0
  87. package/dist/Projections/Projections.d.ts +9 -1
  88. package/dist/Projections/Projections.d.ts.map +1 -1
  89. package/dist/Projections/Projections.js +70 -19
  90. package/dist/Projections/Projections.js.map +1 -1
  91. package/dist/Projections/declarative/ProjectionBuilderFor.d.ts +6 -0
  92. package/dist/Projections/declarative/ProjectionBuilderFor.d.ts.map +1 -1
  93. package/dist/Projections/declarative/ProjectionBuilderFor.js +18 -2
  94. package/dist/Projections/declarative/ProjectionBuilderFor.js.map +1 -1
  95. package/dist/Projections/declarative/projection.d.ts +5 -1
  96. package/dist/Projections/declarative/projection.d.ts.map +1 -1
  97. package/dist/Projections/declarative/projection.js +3 -2
  98. package/dist/Projections/declarative/projection.js.map +1 -1
  99. package/dist/Projections/modelBound/index.d.ts +0 -2
  100. package/dist/Projections/modelBound/index.d.ts.map +1 -1
  101. package/dist/Projections/modelBound/index.js +0 -1
  102. package/dist/Projections/modelBound/index.js.map +1 -1
  103. package/dist/Projections/modelBound/setFromContext.d.ts +4 -1
  104. package/dist/Projections/modelBound/setFromContext.d.ts.map +1 -1
  105. package/dist/Projections/modelBound/setFromContext.js +12 -7
  106. package/dist/Projections/modelBound/setFromContext.js.map +1 -1
  107. package/dist/Reactors/Reactors.d.ts.map +1 -1
  108. package/dist/Reactors/Reactors.js +1 -0
  109. package/dist/Reactors/Reactors.js.map +1 -1
  110. package/dist/Reducers/Reducers.d.ts +2 -0
  111. package/dist/Reducers/Reducers.d.ts.map +1 -1
  112. package/dist/Reducers/Reducers.js +60 -2
  113. package/dist/Reducers/Reducers.js.map +1 -1
  114. package/dist/Schemas/JsonSchemaGenerator.d.ts.map +1 -1
  115. package/dist/Schemas/JsonSchemaGenerator.js +17 -3
  116. package/dist/Schemas/JsonSchemaGenerator.js.map +1 -1
  117. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts +0 -2
  118. package/dist/artifacts/DefaultClientArtifactsProvider.d.ts.map +1 -1
  119. package/dist/artifacts/DefaultClientArtifactsProvider.js +0 -4
  120. package/dist/artifacts/DefaultClientArtifactsProvider.js.map +1 -1
  121. package/dist/artifacts/IClientArtifactsProvider.d.ts +0 -2
  122. package/dist/artifacts/IClientArtifactsProvider.d.ts.map +1 -1
  123. package/dist/connection/Guid.d.ts +8 -1
  124. package/dist/connection/Guid.d.ts.map +1 -1
  125. package/dist/connection/Guid.js +24 -1
  126. package/dist/connection/Guid.js.map +1 -1
  127. package/dist/index.d.ts +4 -0
  128. package/dist/index.d.ts.map +1 -1
  129. package/dist/index.js +4 -0
  130. package/dist/index.js.map +1 -1
  131. package/dist/sinks/WellKnownSinks.d.ts +15 -0
  132. package/dist/sinks/WellKnownSinks.d.ts.map +1 -0
  133. package/dist/sinks/WellKnownSinks.js +17 -0
  134. package/dist/sinks/WellKnownSinks.js.map +1 -0
  135. package/dist/sinks/index.d.ts +2 -0
  136. package/dist/sinks/index.d.ts.map +1 -0
  137. package/dist/sinks/index.js +4 -0
  138. package/dist/sinks/index.js.map +1 -0
  139. package/dist/tsconfig.tsbuildinfo +1 -1
  140. package/dist/types/DecoratorType.d.ts +1 -3
  141. package/dist/types/DecoratorType.d.ts.map +1 -1
  142. package/dist/types/DecoratorType.js +0 -2
  143. package/dist/types/DecoratorType.js.map +1 -1
  144. package/index.ts +4 -0
  145. package/package.json +2 -2
  146. package/sinks/WellKnownSinks.ts +21 -0
  147. package/sinks/index.ts +4 -0
  148. package/types/DecoratorType.ts +1 -4
  149. package/Projections/modelBound/modelBound.ts +0 -59
  150. package/dist/Grpc.d.ts +0 -19
  151. package/dist/Grpc.d.ts.map +0 -1
  152. package/dist/Grpc.js +0 -33
  153. package/dist/Grpc.js.map +0 -1
  154. package/dist/Projections/modelBound/modelBound.d.ts +0 -31
  155. package/dist/Projections/modelBound/modelBound.d.ts.map +0 -1
  156. package/dist/Projections/modelBound/modelBound.js +0 -39
  157. package/dist/Projections/modelBound/modelBound.js.map +0 -1
@@ -0,0 +1,45 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ import { AsyncLocalStorage } from 'async_hooks';
4
+ import { Causation } from './Causation';
5
+ import { CausationType } from './CausationType';
6
+ /**
7
+ * Implements {@link ICausationManager} using {@link AsyncLocalStorage} to scope the causation chain to the active async call context.
8
+ */
9
+ export class CausationManager {
10
+ _storage = new AsyncLocalStorage();
11
+ _root = new Causation(new Date(), CausationType.root, {});
12
+ /** @inheritdoc */
13
+ get root() {
14
+ return this._root;
15
+ }
16
+ /** @inheritdoc */
17
+ getCurrentChain() {
18
+ const chain = this._getOrInitChain();
19
+ return chain;
20
+ }
21
+ /** @inheritdoc */
22
+ add(type, properties) {
23
+ const chain = this._getOrInitChain();
24
+ chain.push(new Causation(new Date(), type, properties));
25
+ }
26
+ /**
27
+ * Defines the root causation for the current process.
28
+ * @param properties - Properties associated with the root causation.
29
+ */
30
+ defineRoot(properties) {
31
+ this._root = new Causation(new Date(), CausationType.root, properties);
32
+ }
33
+ _getOrInitChain() {
34
+ let chain = this._storage.getStore();
35
+ if (chain === undefined) {
36
+ chain = [this._root];
37
+ this._storage.enterWith(chain);
38
+ }
39
+ else if (chain.length === 0) {
40
+ chain.push(this._root);
41
+ }
42
+ return chain;
43
+ }
44
+ }
45
+ //# sourceMappingURL=CausationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CausationManager.js","sourceRoot":"","sources":["../../Auditing/CausationManager.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACR,QAAQ,GAAG,IAAI,iBAAiB,EAAe,CAAC;IACzD,KAAK,GAAc,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7E,kBAAkB;IAClB,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,kBAAkB;IAClB,eAAe;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAmB,EAAE,UAAkC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,UAAkC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAEO,eAAe;QACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Represents a type of causation.
3
+ */
4
+ export declare class CausationType {
5
+ readonly name: string;
6
+ /**
7
+ * Represents the root causation type.
8
+ */
9
+ static readonly root: CausationType;
10
+ /**
11
+ * Represents the unknown causation type.
12
+ */
13
+ static readonly unknown: CausationType;
14
+ /**
15
+ * Represents the causation type for a single event append via the TypeScript client.
16
+ */
17
+ static readonly appendEvent: CausationType;
18
+ /**
19
+ * Represents the causation type for a batch event append via the TypeScript client.
20
+ */
21
+ static readonly appendManyEvents: CausationType;
22
+ /**
23
+ * Initializes a new instance of the {@link CausationType} class.
24
+ * @param name - The name of the causation type.
25
+ */
26
+ constructor(name: string);
27
+ /** @inheritdoc */
28
+ toString(): string;
29
+ }
30
+ //# sourceMappingURL=CausationType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CausationType.d.ts","sourceRoot":"","sources":["../../Auditing/CausationType.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,aAAa;IAyBV,QAAQ,CAAC,IAAI,EAAE,MAAM;IAxBjC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAA6B;IAEjD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,gBAAgC;IAEvD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAgD;IAE3E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,gBAAoD;IAEpF;;;OAGG;gBACkB,IAAI,EAAE,MAAM;IAEjC,kBAAkB;IAClB,QAAQ,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,36 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * Represents a type of causation.
5
+ */
6
+ export class CausationType {
7
+ name;
8
+ /**
9
+ * Represents the root causation type.
10
+ */
11
+ static root = new CausationType('Root');
12
+ /**
13
+ * Represents the unknown causation type.
14
+ */
15
+ static unknown = new CausationType('Unknown');
16
+ /**
17
+ * Represents the causation type for a single event append via the TypeScript client.
18
+ */
19
+ static appendEvent = new CausationType('TypeScriptClient.Append');
20
+ /**
21
+ * Represents the causation type for a batch event append via the TypeScript client.
22
+ */
23
+ static appendManyEvents = new CausationType('TypeScriptClient.AppendMany');
24
+ /**
25
+ * Initializes a new instance of the {@link CausationType} class.
26
+ * @param name - The name of the causation type.
27
+ */
28
+ constructor(name) {
29
+ this.name = name;
30
+ }
31
+ /** @inheritdoc */
32
+ toString() {
33
+ return this.name;
34
+ }
35
+ }
36
+ //# sourceMappingURL=CausationType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CausationType.js","sourceRoot":"","sources":["../../Auditing/CausationType.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG;;GAEG;AACH,MAAM,OAAO,aAAa;IAyBD;IAxBrB;;OAEG;IACH,MAAM,CAAU,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,CAAU,OAAO,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAEvD;;OAEG;IACH,MAAM,CAAU,WAAW,GAAG,IAAI,aAAa,CAAC,yBAAyB,CAAC,CAAC;IAE3E;;OAEG;IACH,MAAM,CAAU,gBAAgB,GAAG,IAAI,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAEpF;;;OAGG;IACH,YAAqB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAErC,kBAAkB;IAClB,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Causation } from './Causation';
2
+ import { CausationType } from './CausationType';
3
+ /**
4
+ * Defines a system that manages causation for the active call context.
5
+ */
6
+ export interface ICausationManager {
7
+ /**
8
+ * Gets the root causation.
9
+ */
10
+ readonly root: Causation;
11
+ /**
12
+ * Gets the full causation chain for the current call context.
13
+ * The chain always starts with {@link root} if no other causation has been added.
14
+ * @returns An array of {@link Causation} representing the current chain.
15
+ */
16
+ getCurrentChain(): ReadonlyArray<Causation>;
17
+ /**
18
+ * Adds a causation entry to the current chain.
19
+ * @param type - The type of causation to add.
20
+ * @param properties - Properties associated with the causation.
21
+ */
22
+ add(type: CausationType, properties: Record<string, string>): void;
23
+ }
24
+ //# sourceMappingURL=ICausationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICausationManager.d.ts","sourceRoot":"","sources":["../../Auditing/ICausationManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB;;;;OAIG;IACH,eAAe,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;IAE5C;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACtE"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export {};
4
+ //# sourceMappingURL=ICausationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICausationManager.js","sourceRoot":"","sources":["../../Auditing/ICausationManager.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,11 @@
1
+ export { Causation } from './Causation';
2
+ export { CausationType } from './CausationType';
3
+ export type { ICausationManager } from './ICausationManager';
4
+ export { CausationManager } from './CausationManager';
5
+ import { CausationManager } from './CausationManager';
6
+ /**
7
+ * The default singleton {@link CausationManager} for the process.
8
+ * Use this to manage the causation chain for the current async call context.
9
+ */
10
+ export declare const causationManager: CausationManager;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Auditing/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export { Causation } from './Causation';
4
+ export { CausationType } from './CausationType';
5
+ export { CausationManager } from './CausationManager';
6
+ import { CausationManager } from './CausationManager';
7
+ /**
8
+ * The default singleton {@link CausationManager} for the process.
9
+ * Use this to manage the causation chain for the current async call context.
10
+ */
11
+ export const causationManager = new CausationManager();
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Auditing/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Represents a correlation identifier used to track operations across call boundaries.
3
+ */
4
+ export declare class CorrelationId {
5
+ readonly value: string;
6
+ /**
7
+ * A well-known {@link CorrelationId} representing an unset/empty value.
8
+ */
9
+ static readonly notSet: CorrelationId;
10
+ /**
11
+ * Creates a new unique {@link CorrelationId}.
12
+ * @returns A new {@link CorrelationId} backed by a freshly generated GUID.
13
+ */
14
+ static create(): CorrelationId;
15
+ /**
16
+ * Initializes a new instance of the {@link CorrelationId} class.
17
+ * @param value - The string value of the correlation identifier.
18
+ */
19
+ constructor(value: string);
20
+ /** @inheritdoc */
21
+ toString(): string;
22
+ }
23
+ //# sourceMappingURL=CorrelationId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CorrelationId.d.ts","sourceRoot":"","sources":["../../Correlation/CorrelationId.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,aAAa;IAkBV,QAAQ,CAAC,KAAK,EAAE,MAAM;IAjBlC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAA6D;IAEnF;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B;;;OAGG;gBACkB,KAAK,EAAE,MAAM;IAElC,kBAAkB;IAClB,QAAQ,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,32 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ import { Guid } from '@cratis/fundamentals';
4
+ /**
5
+ * Represents a correlation identifier used to track operations across call boundaries.
6
+ */
7
+ export class CorrelationId {
8
+ value;
9
+ /**
10
+ * A well-known {@link CorrelationId} representing an unset/empty value.
11
+ */
12
+ static notSet = new CorrelationId('00000000-0000-0000-0000-000000000000');
13
+ /**
14
+ * Creates a new unique {@link CorrelationId}.
15
+ * @returns A new {@link CorrelationId} backed by a freshly generated GUID.
16
+ */
17
+ static create() {
18
+ return new CorrelationId(Guid.create().toString());
19
+ }
20
+ /**
21
+ * Initializes a new instance of the {@link CorrelationId} class.
22
+ * @param value - The string value of the correlation identifier.
23
+ */
24
+ constructor(value) {
25
+ this.value = value;
26
+ }
27
+ /** @inheritdoc */
28
+ toString() {
29
+ return this.value;
30
+ }
31
+ }
32
+ //# sourceMappingURL=CorrelationId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CorrelationId.js","sourceRoot":"","sources":["../../Correlation/CorrelationId.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,aAAa;IAkBD;IAjBrB;;OAEG;IACH,MAAM,CAAU,MAAM,GAAG,IAAI,aAAa,CAAC,sCAAsC,CAAC,CAAC;IAEnF;;;OAGG;IACH,MAAM,CAAC,MAAM;QACT,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtC,kBAAkB;IAClB,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { CorrelationId } from './CorrelationId';
2
+ import { ICorrelationIdAccessor } from './ICorrelationIdAccessor';
3
+ import { ICorrelationIdSetter } from './ICorrelationIdSetter';
4
+ /**
5
+ * Implements both {@link ICorrelationIdAccessor} and {@link ICorrelationIdSetter},
6
+ * using {@link AsyncLocalStorage} to scope the correlation identifier to the active async call context.
7
+ */
8
+ export declare class CorrelationIdManager implements ICorrelationIdAccessor, ICorrelationIdSetter {
9
+ private readonly _storage;
10
+ /** @inheritdoc */
11
+ get current(): CorrelationId;
12
+ /** @inheritdoc */
13
+ setCurrent(correlationId: CorrelationId): void;
14
+ /** @inheritdoc */
15
+ clear(): void;
16
+ }
17
+ //# sourceMappingURL=CorrelationIdManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CorrelationIdManager.d.ts","sourceRoot":"","sources":["../../Correlation/CorrelationIdManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,sBAAsB,EAAE,oBAAoB;IACrF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAEnE,kBAAkB;IAClB,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,kBAAkB;IAClB,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAI9C,kBAAkB;IAClB,KAAK,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,24 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ import { AsyncLocalStorage } from 'async_hooks';
4
+ import { CorrelationId } from './CorrelationId';
5
+ /**
6
+ * Implements both {@link ICorrelationIdAccessor} and {@link ICorrelationIdSetter},
7
+ * using {@link AsyncLocalStorage} to scope the correlation identifier to the active async call context.
8
+ */
9
+ export class CorrelationIdManager {
10
+ _storage = new AsyncLocalStorage();
11
+ /** @inheritdoc */
12
+ get current() {
13
+ return this._storage.getStore() ?? CorrelationId.create();
14
+ }
15
+ /** @inheritdoc */
16
+ setCurrent(correlationId) {
17
+ this._storage.enterWith(correlationId);
18
+ }
19
+ /** @inheritdoc */
20
+ clear() {
21
+ this._storage.enterWith(CorrelationId.create());
22
+ }
23
+ }
24
+ //# sourceMappingURL=CorrelationIdManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CorrelationIdManager.js","sourceRoot":"","sources":["../../Correlation/CorrelationIdManager.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACZ,QAAQ,GAAG,IAAI,iBAAiB,EAAiB,CAAC;IAEnE,kBAAkB;IAClB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,UAAU,CAAC,aAA4B;QACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,kBAAkB;IAClB,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { CorrelationId } from './CorrelationId';
2
+ /**
3
+ * Defines the read side of a correlation identifier provider scoped to the active call context.
4
+ */
5
+ export interface ICorrelationIdAccessor {
6
+ /**
7
+ * Gets the current correlation identifier for the active call context.
8
+ * @returns The current {@link CorrelationId}.
9
+ */
10
+ readonly current: CorrelationId;
11
+ }
12
+ //# sourceMappingURL=ICorrelationIdAccessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICorrelationIdAccessor.d.ts","sourceRoot":"","sources":["../../Correlation/ICorrelationIdAccessor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACnC"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export {};
4
+ //# sourceMappingURL=ICorrelationIdAccessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICorrelationIdAccessor.js","sourceRoot":"","sources":["../../Correlation/ICorrelationIdAccessor.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,17 @@
1
+ import { CorrelationId } from './CorrelationId';
2
+ /**
3
+ * Defines the write side of a correlation identifier provider scoped to the active call context.
4
+ */
5
+ export interface ICorrelationIdSetter {
6
+ /**
7
+ * Sets the current correlation identifier for the active call context.
8
+ * @param correlationId - The {@link CorrelationId} to set.
9
+ */
10
+ setCurrent(correlationId: CorrelationId): void;
11
+ /**
12
+ * Clears the current correlation identifier for the active call context,
13
+ * causing the next access to generate a new unique identifier.
14
+ */
15
+ clear(): void;
16
+ }
17
+ //# sourceMappingURL=ICorrelationIdSetter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICorrelationIdSetter.d.ts","sourceRoot":"","sources":["../../Correlation/ICorrelationIdSetter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export {};
4
+ //# sourceMappingURL=ICorrelationIdSetter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICorrelationIdSetter.js","sourceRoot":"","sources":["../../Correlation/ICorrelationIdSetter.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
@@ -0,0 +1,11 @@
1
+ export { CorrelationId } from './CorrelationId';
2
+ export type { ICorrelationIdAccessor } from './ICorrelationIdAccessor';
3
+ export type { ICorrelationIdSetter } from './ICorrelationIdSetter';
4
+ export { CorrelationIdManager } from './CorrelationIdManager';
5
+ import { CorrelationIdManager } from './CorrelationIdManager';
6
+ /**
7
+ * The default singleton {@link CorrelationIdManager} for the process.
8
+ * Use this to get and set the correlation identifier for the current async call context.
9
+ */
10
+ export declare const correlationIdManager: CorrelationIdManager;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../Correlation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
@@ -0,0 +1,11 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ export { CorrelationId } from './CorrelationId';
4
+ export { CorrelationIdManager } from './CorrelationIdManager';
5
+ import { CorrelationIdManager } from './CorrelationIdManager';
6
+ /**
7
+ * The default singleton {@link CorrelationIdManager} for the process.
8
+ * Use this to get and set the correlation identifier for the current async call context.
9
+ */
10
+ export const correlationIdManager = new CorrelationIdManager();
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../Correlation/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventSequence.d.ts","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,mBAAmB,EAEtB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAE5C,QAAQ,CAAC,EAAE,EAAE,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAHnB,EAAE,EAAE,eAAe,EACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB;IAGrD,kBAAkB;IACZ,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAwGlG,kBAAkB;IACZ,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA4H3G,kBAAkB;IACZ,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCjF,kBAAkB;IACZ,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B3D,OAAO,CAAC,iBAAiB;CAyB5B"}
1
+ {"version":3,"file":"EventSequence.d.ts","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAQ5D;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAE5C,QAAQ,CAAC,EAAE,EAAE,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAHnB,EAAE,EAAE,eAAe,EACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB;IAGrD,kBAAkB;IACZ,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAuGlG,kBAAkB;IACZ,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAsH3G,kBAAkB;IACZ,qBAAqB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkCjF,kBAAkB;IACZ,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B3D,OAAO,CAAC,iBAAiB;CAyB5B"}
@@ -6,6 +6,10 @@ import { getEventTypeFor } from '../Events/eventTypeDecorator';
6
6
  import { EventSequenceNumber } from './EventSequenceNumber';
7
7
  import { ChronicleTracer } from '../Tracing';
8
8
  import { ChronicleMetrics } from '../Metrics';
9
+ import { identityProvider } from '../Identity';
10
+ import { causationManager, CausationType } from '../Auditing';
11
+ import { correlationIdManager } from '../Correlation';
12
+ import { toContractsGuid } from '../connection/Guid';
9
13
  /**
10
14
  * Implements {@link IEventSequence} by communicating with the Chronicle Kernel
11
15
  * via gRPC using the {@link ChronicleConnection}.
@@ -25,9 +29,12 @@ export class EventSequence {
25
29
  async append(eventSourceId, event, options) {
26
30
  const eventType = getEventTypeFor(event.constructor);
27
31
  const correlationId = options?.correlationId === undefined
28
- ? Guid.create()
32
+ ? Guid.as(correlationIdManager.current.value)
29
33
  : Guid.as(options.correlationId);
30
34
  const content = JSON.stringify(event);
35
+ causationManager.add(CausationType.appendEvent, { eventType: eventType.id.value });
36
+ const causationChain = causationManager.getCurrentChain();
37
+ const identity = identityProvider.getCurrent();
31
38
  const metricAttributes = {
32
39
  'chronicle.event_store': this._eventStoreName,
33
40
  'chronicle.namespace': this._namespace,
@@ -58,17 +65,12 @@ export class EventSequence {
58
65
  Tombstone: eventType.tombstone
59
66
  },
60
67
  Content: content,
61
- Causation: [{
62
- Occurred: { Value: new Date().toISOString() },
63
- Type: 'TypeScriptClient.Append',
64
- Properties: {}
65
- }],
66
- CausedBy: {
67
- Subject: '5d032c92-9d5e-41eb-947a-ee5314ed0032',
68
- Name: '[System]',
69
- UserName: '[System]',
70
- OnBehalfOf: undefined
71
- },
68
+ Causation: causationChain.map(c => ({
69
+ Occurred: { Value: c.occurred.toISOString() },
70
+ Type: c.type.name,
71
+ Properties: { ...c.properties }
72
+ })),
73
+ CausedBy: toContractsCausedBy(identity),
72
74
  ConcurrencyScope: {
73
75
  // ulong.MaxValue sent as BigInt so the server recognises it as ConcurrencyScope.None (no validation)
74
76
  SequenceNumber: 18446744073709551615n,
@@ -122,8 +124,11 @@ export class EventSequence {
122
124
  /** @inheritdoc */
123
125
  async appendMany(eventSourceId, events, options) {
124
126
  const correlationId = options?.correlationId === undefined
125
- ? Guid.create()
127
+ ? Guid.as(correlationIdManager.current.value)
126
128
  : Guid.as(options.correlationId);
129
+ causationManager.add(CausationType.appendManyEvents, { count: String(events.length) });
130
+ const batchCausationChain = causationManager.getCurrentChain();
131
+ const identity = identityProvider.getCurrent();
127
132
  const eventsToAppend = events.map(event => {
128
133
  const eventType = getEventTypeFor(event.constructor);
129
134
  return {
@@ -137,17 +142,12 @@ export class EventSequence {
137
142
  Tombstone: eventType.tombstone
138
143
  },
139
144
  Content: JSON.stringify(event),
140
- Causation: [{
141
- Occurred: { Value: new Date().toISOString() },
142
- Type: 'TypeScriptClient.AppendMany.Event',
143
- Properties: {}
144
- }],
145
- CausedBy: {
146
- Subject: '5d032c92-9d5e-41eb-947a-ee5314ed0032',
147
- Name: '[System]',
148
- UserName: '[System]',
149
- OnBehalfOf: undefined
150
- },
145
+ Causation: batchCausationChain.map(c => ({
146
+ Occurred: { Value: c.occurred.toISOString() },
147
+ Type: c.type.name,
148
+ Properties: { ...c.properties }
149
+ })),
150
+ CausedBy: toContractsCausedBy(identity),
151
151
  ConcurrencyScope: {
152
152
  SequenceNumber: 18446744073709551615n,
153
153
  EventSourceId: false,
@@ -181,17 +181,12 @@ export class EventSequence {
181
181
  EventSequenceId: this.id.value,
182
182
  CorrelationId: toContractsGuid(correlationId),
183
183
  Events: eventsToAppend,
184
- Causation: [{
185
- Occurred: { Value: new Date().toISOString() },
186
- Type: 'TypeScriptClient.AppendMany.Batch',
187
- Properties: {}
188
- }],
189
- CausedBy: {
190
- Subject: '5d032c92-9d5e-41eb-947a-ee5314ed0032',
191
- Name: '[System]',
192
- UserName: '[System]',
193
- OnBehalfOf: undefined
194
- },
184
+ Causation: batchCausationChain.map(c => ({
185
+ Occurred: { Value: c.occurred.toISOString() },
186
+ Type: c.type.name,
187
+ Properties: { ...c.properties }
188
+ })),
189
+ CausedBy: toContractsCausedBy(identity),
195
190
  ConcurrencyScopes: {}
196
191
  });
197
192
  const duration = Date.now() - startTime;
@@ -321,17 +316,21 @@ export class EventSequence {
321
316
  * @param guid - The Guid to convert.
322
317
  * @returns The converted protobuf Guid with fixed64-safe hi/lo values.
323
318
  */
324
- function toContractsGuid(guid) {
325
- const hex = guid.toString().replace(/-/g, '');
326
- const hi = BigInt(`0x${hex.substring(0, 16)}`);
327
- const lo = BigInt(`0x${hex.substring(16, 32)}`);
328
- // Mask to MAX_SAFE_INTEGER so the contracts package can decode the Guid
329
- // from the response without a longToNumber overflow. Correlation IDs are
330
- // opaque identifiers, so 52+52 bits of entropy is more than sufficient.
331
- const safe = BigInt(Number.MAX_SAFE_INTEGER);
332
- return {
333
- hi: Number(hi & safe),
334
- lo: Number(lo & safe)
319
+ /**
320
+ * Converts an {@link Identity} into the CausedBy shape used by Chronicle contracts.
321
+ * @param identity - The identity to convert.
322
+ * @returns The contracts CausedBy object.
323
+ */
324
+ function toContractsCausedBy(identity) {
325
+ const result = {
326
+ Subject: identity.subject,
327
+ Name: identity.name,
328
+ UserName: identity.userName,
329
+ OnBehalfOf: undefined
335
330
  };
331
+ if (identity.onBehalfOf !== undefined) {
332
+ result.OnBehalfOf = toContractsCausedBy(identity.onBehalfOf);
333
+ }
334
+ return result;
336
335
  }
337
336
  //# sourceMappingURL=EventSequence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventSequence.js","sourceRoot":"","sources":["../../EventSequences/EventSequence.ts"],"names":[],"mappings":"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"}