@cratis/chronicle 6.3.2 → 6.5.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/ChronicleClient.ts +1 -1
- package/EventStore.ts +7 -2
- package/README.md +13 -2
- package/artifacts/validateArtifactSchemas.spec.ts +75 -0
- package/artifacts/validateArtifactSchemas.ts +39 -0
- package/auditing/AmbientContext.spec.ts +57 -0
- package/auditing/CausationManager.ts +13 -15
- package/compliance/pii.ts +7 -6
- package/compliance/subject.ts +6 -5
- package/confidentiality/encrypted.ts +7 -6
- package/correlation/CorrelationIdManager.ts +5 -0
- package/dist/ChronicleClient.js +1 -1
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/EventStore.d.ts +3 -1
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +6 -2
- package/dist/EventStore.js.map +1 -1
- package/dist/artifacts/validateArtifactSchemas.d.ts +4 -0
- package/dist/artifacts/validateArtifactSchemas.d.ts.map +1 -0
- package/dist/artifacts/validateArtifactSchemas.js +38 -0
- package/dist/artifacts/validateArtifactSchemas.js.map +1 -0
- package/dist/auditing/CausationManager.d.ts +3 -1
- package/dist/auditing/CausationManager.d.ts.map +1 -1
- package/dist/auditing/CausationManager.js +9 -15
- package/dist/auditing/CausationManager.js.map +1 -1
- package/dist/compliance/pii.d.ts +2 -1
- package/dist/compliance/pii.d.ts.map +1 -1
- package/dist/compliance/pii.js +6 -5
- package/dist/compliance/pii.js.map +1 -1
- package/dist/compliance/subject.d.ts +2 -1
- package/dist/compliance/subject.d.ts.map +1 -1
- package/dist/compliance/subject.js +5 -4
- package/dist/compliance/subject.js.map +1 -1
- package/dist/confidentiality/encrypted.d.ts +2 -1
- package/dist/confidentiality/encrypted.d.ts.map +1 -1
- package/dist/confidentiality/encrypted.js +6 -5
- package/dist/confidentiality/encrypted.js.map +1 -1
- package/dist/correlation/CorrelationIdManager.d.ts +2 -0
- package/dist/correlation/CorrelationIdManager.d.ts.map +1 -1
- package/dist/correlation/CorrelationIdManager.js +4 -0
- package/dist/correlation/CorrelationIdManager.js.map +1 -1
- package/dist/eventSequences/AppendOptions.d.ts +3 -4
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +19 -14
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/eventSequences/EventSequenceNumber.d.ts +3 -1
- package/dist/eventSequences/EventSequenceNumber.d.ts.map +1 -1
- package/dist/eventSequences/EventSequenceNumber.js +3 -1
- package/dist/eventSequences/EventSequenceNumber.js.map +1 -1
- package/dist/events/eventTypeDecorator.d.ts +8 -7
- package/dist/events/eventTypeDecorator.d.ts.map +1 -1
- package/dist/events/eventTypeDecorator.js +22 -5
- package/dist/events/eventTypeDecorator.js.map +1 -1
- package/dist/events/index.d.ts +2 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/isRegisteredEvent.d.ts +4 -0
- package/dist/events/isRegisteredEvent.d.ts.map +1 -0
- package/dist/events/isRegisteredEvent.js +9 -0
- package/dist/events/isRegisteredEvent.js.map +1 -0
- package/dist/identity/IdentityProvider.d.ts +2 -0
- package/dist/identity/IdentityProvider.d.ts.map +1 -1
- package/dist/identity/IdentityProvider.js +4 -0
- package/dist/identity/IdentityProvider.js.map +1 -1
- package/dist/projections/modelBound/addFrom.d.ts +2 -1
- package/dist/projections/modelBound/addFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/addFrom.js +4 -3
- package/dist/projections/modelBound/addFrom.js.map +1 -1
- package/dist/projections/modelBound/childrenFrom.d.ts +2 -1
- package/dist/projections/modelBound/childrenFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/childrenFrom.js +4 -3
- package/dist/projections/modelBound/childrenFrom.js.map +1 -1
- package/dist/projections/modelBound/clearWith.d.ts +2 -1
- package/dist/projections/modelBound/clearWith.d.ts.map +1 -1
- package/dist/projections/modelBound/clearWith.js +4 -3
- package/dist/projections/modelBound/clearWith.js.map +1 -1
- package/dist/projections/modelBound/count.d.ts +2 -1
- package/dist/projections/modelBound/count.d.ts.map +1 -1
- package/dist/projections/modelBound/count.js +4 -3
- package/dist/projections/modelBound/count.js.map +1 -1
- package/dist/projections/modelBound/decrement.d.ts +2 -1
- package/dist/projections/modelBound/decrement.d.ts.map +1 -1
- package/dist/projections/modelBound/decrement.js +4 -3
- package/dist/projections/modelBound/decrement.js.map +1 -1
- package/dist/projections/modelBound/fromAll.d.ts +2 -1
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -1
- package/dist/projections/modelBound/fromAll.js +4 -3
- package/dist/projections/modelBound/fromAll.js.map +1 -1
- package/dist/projections/modelBound/fromEvery.d.ts +2 -1
- package/dist/projections/modelBound/fromEvery.d.ts.map +1 -1
- package/dist/projections/modelBound/fromEvery.js +4 -3
- package/dist/projections/modelBound/fromEvery.js.map +1 -1
- package/dist/projections/modelBound/increment.d.ts +2 -1
- package/dist/projections/modelBound/increment.d.ts.map +1 -1
- package/dist/projections/modelBound/increment.js +4 -3
- package/dist/projections/modelBound/increment.js.map +1 -1
- package/dist/projections/modelBound/join.d.ts +2 -1
- package/dist/projections/modelBound/join.d.ts.map +1 -1
- package/dist/projections/modelBound/join.js +4 -3
- package/dist/projections/modelBound/join.js.map +1 -1
- package/dist/projections/modelBound/nested.d.ts +1 -6
- package/dist/projections/modelBound/nested.d.ts.map +1 -1
- package/dist/projections/modelBound/nested.js +6 -2
- package/dist/projections/modelBound/nested.js.map +1 -1
- package/dist/projections/modelBound/noAutoMap.d.ts +4 -11
- package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -1
- package/dist/projections/modelBound/noAutoMap.js +6 -2
- package/dist/projections/modelBound/noAutoMap.js.map +1 -1
- package/dist/projections/modelBound/removedWith.d.ts +2 -1
- package/dist/projections/modelBound/removedWith.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWith.js +4 -3
- package/dist/projections/modelBound/removedWith.js.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.d.ts +2 -1
- package/dist/projections/modelBound/removedWithJoin.d.ts.map +1 -1
- package/dist/projections/modelBound/removedWithJoin.js +4 -3
- package/dist/projections/modelBound/removedWithJoin.js.map +1 -1
- package/dist/projections/modelBound/setFrom.d.ts +2 -1
- package/dist/projections/modelBound/setFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/setFrom.js +4 -3
- package/dist/projections/modelBound/setFrom.js.map +1 -1
- package/dist/projections/modelBound/setFromContext.d.ts +3 -2
- package/dist/projections/modelBound/setFromContext.d.ts.map +1 -1
- package/dist/projections/modelBound/setFromContext.js +4 -3
- package/dist/projections/modelBound/setFromContext.js.map +1 -1
- package/dist/projections/modelBound/setValue.d.ts +2 -1
- package/dist/projections/modelBound/setValue.d.ts.map +1 -1
- package/dist/projections/modelBound/setValue.js +4 -3
- package/dist/projections/modelBound/setValue.js.map +1 -1
- package/dist/projections/modelBound/subtractFrom.d.ts +2 -1
- package/dist/projections/modelBound/subtractFrom.d.ts.map +1 -1
- package/dist/projections/modelBound/subtractFrom.js +4 -3
- package/dist/projections/modelBound/subtractFrom.js.map +1 -1
- package/dist/readModels/IReadModels.d.ts +10 -1
- package/dist/readModels/IReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.js +2 -2
- package/dist/readModels/MaterializedReadModels.js.map +1 -1
- package/dist/readModels/ReadModels.d.ts +6 -1
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +28 -2
- package/dist/readModels/ReadModels.js.map +1 -1
- package/dist/readModels/readModel.d.ts +2 -1
- package/dist/readModels/readModel.d.ts.map +1 -1
- package/dist/readModels/readModel.js +22 -5
- package/dist/readModels/readModel.js.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts +6 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.js +41 -31
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/schemas/createDeferredSchema.d.ts +7 -0
- package/dist/schemas/createDeferredSchema.d.ts.map +1 -0
- package/dist/schemas/createDeferredSchema.js +19 -0
- package/dist/schemas/createDeferredSchema.js.map +1 -0
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/jsonSchemaProperty.d.ts +2 -1
- package/dist/schemas/jsonSchemaProperty.d.ts.map +1 -1
- package/dist/schemas/jsonSchemaProperty.js +3 -2
- package/dist/schemas/jsonSchemaProperty.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/TypeIntrospector.d.ts.map +1 -1
- package/dist/types/TypeIntrospector.js +9 -3
- package/dist/types/TypeIntrospector.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/propertyDecoratorMetadata.d.ts +17 -0
- package/dist/types/propertyDecoratorMetadata.d.ts.map +1 -0
- package/dist/types/propertyDecoratorMetadata.js +76 -0
- package/dist/types/propertyDecoratorMetadata.js.map +1 -0
- package/dist/types/standardDecoratorMetadata.d.ts +9 -0
- package/dist/types/standardDecoratorMetadata.d.ts.map +1 -0
- package/dist/types/standardDecoratorMetadata.js +20 -0
- package/dist/types/standardDecoratorMetadata.js.map +1 -0
- package/eventSequences/AppendOptions.ts +3 -4
- package/eventSequences/EventSequence.spec.ts +59 -0
- package/eventSequences/EventSequence.ts +21 -15
- package/eventSequences/EventSequenceNumber.ts +4 -1
- package/eventSequences/for_EventSequence/when_appending/with_metadata.spec.ts +2 -1
- package/events/classDecorators.standard.spec.ts +77 -0
- package/events/eventTypeDecorator.ts +31 -13
- package/events/index.ts +3 -0
- package/events/isRegisteredEvent.spec.ts +26 -0
- package/events/isRegisteredEvent.ts +12 -0
- package/identity/IdentityProvider.ts +5 -0
- package/package.json +3 -1
- package/projections/modelBound/addFrom.ts +5 -4
- package/projections/modelBound/childrenFrom.ts +5 -4
- package/projections/modelBound/clearWith.ts +5 -4
- package/projections/modelBound/count.ts +5 -4
- package/projections/modelBound/decorators.standard.spec.ts +71 -0
- package/projections/modelBound/decrement.ts +5 -4
- package/projections/modelBound/fromAll.ts +5 -4
- package/projections/modelBound/fromEvery.ts +5 -4
- package/projections/modelBound/increment.ts +5 -4
- package/projections/modelBound/join.ts +5 -4
- package/projections/modelBound/nested.ts +9 -2
- package/projections/modelBound/noAutoMap.ts +11 -2
- package/projections/modelBound/removedWith.ts +5 -4
- package/projections/modelBound/removedWithJoin.ts +5 -4
- package/projections/modelBound/setFrom.ts +5 -4
- package/projections/modelBound/setFromContext.ts +7 -6
- package/projections/modelBound/setValue.ts +5 -4
- package/projections/modelBound/subtractFrom.ts +5 -4
- package/readModels/IReadModels.ts +11 -1
- package/readModels/MaterializedReadModels.spec.ts +17 -6
- package/readModels/MaterializedReadModels.ts +2 -2
- package/readModels/ReadModels.spec.ts +96 -3
- package/readModels/ReadModels.ts +32 -2
- package/readModels/readModel.ts +24 -6
- package/readModels/standardFallbacks.standard.spec.ts +39 -0
- package/schemas/JsonSchemaGenerator.confidentiality.spec.ts +2 -0
- package/schemas/JsonSchemaGenerator.spec.ts +28 -1
- package/schemas/JsonSchemaGenerator.ts +45 -30
- package/schemas/createDeferredSchema.ts +21 -0
- package/schemas/decorators.expected.fixture.ts +24 -0
- package/schemas/decorators.legacy.spec.ts +62 -0
- package/schemas/decorators.standard.spec.ts +235 -0
- package/schemas/index.ts +1 -0
- package/schemas/jsonSchemaProperty.ts +4 -3
- package/schemas/legacyDesignMetadata.spec.ts +39 -0
- package/types/TypeIntrospector.ts +8 -3
- package/types/index.ts +2 -0
- package/types/propertyDecoratorMetadata.ts +80 -0
- package/types/standardDecoratorMetadata.spec.ts +31 -0
- package/types/standardDecoratorMetadata.ts +26 -0
- package/vitest.config.ts +17 -0
package/dist/EventStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventStore.js","sourceRoot":"","sources":["../EventStore.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAItE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAE/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE;;;GAGG;AACH,MAAM,OAAO,UAAU;IAyBN,IAAI;IACJ,SAAS;IACD,WAAW;
|
|
1
|
+
{"version":3,"file":"EventStore.js","sourceRoot":"","sources":["../EventStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IClientArtifactsProvider } from './IClientArtifactsProvider.js';
|
|
2
|
+
/** Resolves every discovered schema before any registration can reach the Kernel. */
|
|
3
|
+
export declare function validateArtifactSchemas(artifacts: IClientArtifactsProvider): void;
|
|
4
|
+
//# sourceMappingURL=validateArtifactSchemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateArtifactSchemas.d.ts","sourceRoot":"","sources":["../../artifacts/validateArtifactSchemas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKzE,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,wBAAwB,GAAG,IAAI,CA6BjF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 { getEventTypeMetadata } from '../events/eventTypeDecorator.js';
|
|
4
|
+
import { getReadModelMetadata } from '../readModels/readModel.js';
|
|
5
|
+
import { JsonSchemaGenerator } from '../schemas/JsonSchemaGenerator.js';
|
|
6
|
+
/** Resolves every discovered schema before any registration can reach the Kernel. */
|
|
7
|
+
export function validateArtifactSchemas(artifacts) {
|
|
8
|
+
const failures = [];
|
|
9
|
+
for (const type of artifacts.eventTypes) {
|
|
10
|
+
try {
|
|
11
|
+
const metadata = getEventTypeMetadata(type);
|
|
12
|
+
if (!metadata)
|
|
13
|
+
throw new TypeError(`Missing event type metadata for ${type.name}.`);
|
|
14
|
+
void metadata.schema;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
failures.push(new Error(`Event type ${type.name}: ${String(error)}`, { cause: error }));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (const type of artifacts.readModels) {
|
|
21
|
+
try {
|
|
22
|
+
const metadata = getReadModelMetadata(type);
|
|
23
|
+
if (metadata) {
|
|
24
|
+
void metadata.schema;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
JsonSchemaGenerator.generate(type);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
failures.push(new Error(`Read model ${type.name}: ${String(error)}`, { cause: error }));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (failures.length) {
|
|
35
|
+
throw new AggregateError(failures, `Cannot register artifacts: ${failures.length} schema error(s).`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=validateArtifactSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateArtifactSchemas.js","sourceRoot":"","sources":["../../artifacts/validateArtifactSchemas.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAGrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,qFAAqF;AACrF,MAAM,UAAU,uBAAuB,CAAC,SAAmC;IACvE,MAAM,QAAQ,GAAY,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YACpF,KAAK,QAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACX,KAAK,QAAQ,CAAC,MAAM,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACJ,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,8BAA8B,QAAQ,CAAC,MAAM,mBAAmB,CAAC,CAAC;IACzG,CAAC;AACL,CAAC"}
|
|
@@ -13,11 +13,13 @@ export declare class CausationManager implements ICausationManager {
|
|
|
13
13
|
getCurrentChain(): ReadonlyArray<Causation>;
|
|
14
14
|
/** @inheritdoc */
|
|
15
15
|
add(type: CausationType, properties: Record<string, string>): void;
|
|
16
|
+
/** Runs an async or synchronous operation with an isolated, restored causation chain. */
|
|
17
|
+
run<T>(callback: () => T): T;
|
|
18
|
+
run<T>(type: CausationType, properties: Record<string, string>, callback: () => T): T;
|
|
16
19
|
/**
|
|
17
20
|
* Defines the root causation for the current process.
|
|
18
21
|
* @param properties - Properties associated with the root causation.
|
|
19
22
|
*/
|
|
20
23
|
defineRoot(properties: Record<string, string>): void;
|
|
21
|
-
private _getOrInitChain;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=CausationManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CausationManager.d.ts","sourceRoot":"","sources":["../../auditing/CausationManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;GAEG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,KAAK,CAAgE;IAE7E,kBAAkB;IAClB,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,kBAAkB;IAClB,eAAe,IAAI,aAAa,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"CausationManager.d.ts","sourceRoot":"","sources":["../../auditing/CausationManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;GAEG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,KAAK,CAAgE;IAE7E,kBAAkB;IAClB,IAAI,IAAI,IAAI,SAAS,CAEpB;IAED,kBAAkB;IAClB,eAAe,IAAI,aAAa,CAAC,SAAS,CAAC,CAE1C;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEjE;IAED,yFAAyF;IACzF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAStF;;;OAGG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEnD;CACJ"}
|
|
@@ -15,13 +15,18 @@ export class CausationManager {
|
|
|
15
15
|
}
|
|
16
16
|
/** @inheritdoc */
|
|
17
17
|
getCurrentChain() {
|
|
18
|
-
|
|
19
|
-
return chain;
|
|
18
|
+
return this._storage.getStore() ?? [this._root];
|
|
20
19
|
}
|
|
21
20
|
/** @inheritdoc */
|
|
22
21
|
add(type, properties) {
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
this._storage.enterWith([...this.getCurrentChain(), new Causation(new Date(), type, properties)]);
|
|
23
|
+
}
|
|
24
|
+
run(typeOrCallback, properties, callback) {
|
|
25
|
+
const chain = [...this.getCurrentChain()];
|
|
26
|
+
if (typeof typeOrCallback !== 'function') {
|
|
27
|
+
chain.push(new Causation(new Date(), typeOrCallback, properties));
|
|
28
|
+
}
|
|
29
|
+
return this._storage.run(chain, typeof typeOrCallback === 'function' ? typeOrCallback : callback);
|
|
25
30
|
}
|
|
26
31
|
/**
|
|
27
32
|
* Defines the root causation for the current process.
|
|
@@ -30,16 +35,5 @@ export class CausationManager {
|
|
|
30
35
|
defineRoot(properties) {
|
|
31
36
|
this._root = new Causation(new Date(), CausationType.root, properties);
|
|
32
37
|
}
|
|
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
38
|
}
|
|
45
39
|
//# sourceMappingURL=CausationManager.js.map
|
|
@@ -1 +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,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;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,
|
|
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,gBAAgB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD;;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,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,IAAmB,EAAE,UAAkC;QACvD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAKD,GAAG,CAAI,cAAyC,EAAE,UAAmC,EAAE,QAAkB;QACrG,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,cAAc,EAAE,UAAW,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,cAAyB,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC;IAClH,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;CACJ"}
|
package/dist/compliance/pii.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import type { ComplianceMetadata } from './ComplianceMetadata.js';
|
|
3
|
+
import { ChronicleClassOrPropertyDecorator } from '../types/propertyDecoratorMetadata.js';
|
|
3
4
|
/**
|
|
4
5
|
* Decorator that marks a property or type as containing Personal Identifiable Information (PII)
|
|
5
6
|
* according to the GDPR definition. When applied to read model properties or ConceptAs types,
|
|
@@ -39,7 +40,7 @@ import type { ComplianceMetadata } from './ComplianceMetadata.js';
|
|
|
39
40
|
* }
|
|
40
41
|
* ```
|
|
41
42
|
*/
|
|
42
|
-
export declare function pii(details?: string):
|
|
43
|
+
export declare function pii(details?: string): ChronicleClassOrPropertyDecorator;
|
|
43
44
|
/**
|
|
44
45
|
* Gets the PII compliance metadata for a property.
|
|
45
46
|
* @param target - The class prototype.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii.d.ts","sourceRoot":"","sources":["../../compliance/pii.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pii.d.ts","sourceRoot":"","sources":["../../compliance/pii.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,OAAO,EAAE,iCAAiC,EAAqE,MAAM,uCAAuC,CAAC;AAW7J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAkCvE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAElG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,kBAAkB,GAAG,SAAS,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAE7C"}
|
package/dist/compliance/pii.js
CHANGED
|
@@ -4,6 +4,7 @@ import 'reflect-metadata';
|
|
|
4
4
|
import { ComplianceMetadataType } from './ComplianceMetadataType.js';
|
|
5
5
|
import { PIINotSupportedOnEventSourceId } from './PIINotSupportedOnEventSourceId.js';
|
|
6
6
|
import { TypeIntrospector } from '../types/index.js';
|
|
7
|
+
import { decorateClassOrProperty, getPropertyMetadata, hasPropertyMetadata } from '../types/propertyDecoratorMetadata.js';
|
|
7
8
|
/** The property name this client uses everywhere for the event source identifier. */
|
|
8
9
|
const EVENT_SOURCE_ID_PROPERTY = 'eventSourceId';
|
|
9
10
|
/** Metadata key for PII decorator on properties. */
|
|
@@ -50,7 +51,7 @@ const PII_TYPE_METADATA_KEY = 'chronicle:compliance:pii:type';
|
|
|
50
51
|
* ```
|
|
51
52
|
*/
|
|
52
53
|
export function pii(details) {
|
|
53
|
-
return (target, propertyKey) => {
|
|
54
|
+
return decorateClassOrProperty((target, propertyKey) => {
|
|
54
55
|
// Class decorator usage (for types like ConceptAs)
|
|
55
56
|
if (typeof target === 'function' && propertyKey === undefined) {
|
|
56
57
|
const metadata = {
|
|
@@ -70,7 +71,7 @@ export function pii(details) {
|
|
|
70
71
|
// PIINotSupportedOnEventSourceId guard, which throws for the same reason when
|
|
71
72
|
// [PII] is applied to an EventSourceId/EventSourceId<T> type.
|
|
72
73
|
if (key === EVENT_SOURCE_ID_PROPERTY) {
|
|
73
|
-
throw new PIINotSupportedOnEventSourceId(declaringType.name);
|
|
74
|
+
throw new PIINotSupportedOnEventSourceId(declaringType.name || 'the decorated class');
|
|
74
75
|
}
|
|
75
76
|
TypeIntrospector.trackProperty(declaringType, key);
|
|
76
77
|
const metadata = {
|
|
@@ -79,7 +80,7 @@ export function pii(details) {
|
|
|
79
80
|
};
|
|
80
81
|
Reflect.defineMetadata(PII_PROPERTY_METADATA_KEY, metadata, target, key);
|
|
81
82
|
}
|
|
82
|
-
};
|
|
83
|
+
});
|
|
83
84
|
}
|
|
84
85
|
/**
|
|
85
86
|
* Gets the PII compliance metadata for a property.
|
|
@@ -88,7 +89,7 @@ export function pii(details) {
|
|
|
88
89
|
* @returns The compliance metadata, or undefined if not decorated with @pii.
|
|
89
90
|
*/
|
|
90
91
|
export function getPIIMetadata(target, propertyKey) {
|
|
91
|
-
return
|
|
92
|
+
return getPropertyMetadata(PII_PROPERTY_METADATA_KEY, target, propertyKey);
|
|
92
93
|
}
|
|
93
94
|
/**
|
|
94
95
|
* Checks whether a property has been decorated with @pii.
|
|
@@ -97,7 +98,7 @@ export function getPIIMetadata(target, propertyKey) {
|
|
|
97
98
|
* @returns True if the property has @pii decorator; false otherwise.
|
|
98
99
|
*/
|
|
99
100
|
export function hasPIIMetadata(target, propertyKey) {
|
|
100
|
-
return
|
|
101
|
+
return hasPropertyMetadata(PII_PROPERTY_METADATA_KEY, target, propertyKey);
|
|
101
102
|
}
|
|
102
103
|
/**
|
|
103
104
|
* Gets the PII compliance metadata for a type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii.js","sourceRoot":"","sources":["../../compliance/pii.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pii.js","sourceRoot":"","sources":["../../compliance/pii.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAqC,uBAAuB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE7J,qFAAqF;AACrF,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAEjD,oDAAoD;AACpD,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AAEtE,+CAA+C;AAC/C,MAAM,qBAAqB,GAAG,+BAA+B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,GAAG,CAAC,OAAgB;IAChC,OAAO,uBAAuB,CAAC,CAAC,MAAyB,EAAE,WAA6B,EAAE,EAAE;QACxF,mDAAmD;QACnD,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAuB;gBACjC,YAAY,EAAE,sBAAsB,CAAC,GAAG;gBACxC,OAAO,EAAE,OAAO,IAAI,EAAE;aACzB,CAAC;YACF,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,2BAA2B;QAC3B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,aAAa,GAAI,MAAoC,CAAC,WAAW,CAAC;YAExE,2EAA2E;YAC3E,iFAAiF;YACjF,8DAA8D;YAC9D,8EAA8E;YAC9E,8DAA8D;YAC9D,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;gBACnC,MAAM,IAAI,8BAA8B,CAAC,aAAa,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC;YAC1F,CAAC;YAED,gBAAgB,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAuB;gBACjC,YAAY,EAAE,sBAAsB,CAAC,GAAG;gBACxC,OAAO,EAAE,OAAO,IAAI,EAAE;aACzB,CAAC;YACF,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,WAAmB;IAC9D,OAAO,mBAAmB,CAAqB,yBAAyB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,WAAmB;IAC9D,OAAO,mBAAmB,CAAC,yBAAyB,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAc;IAChC,OAAO,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
+
import { ChroniclePropertyDecorator } from '../types/propertyDecoratorMetadata.js';
|
|
2
3
|
/**
|
|
3
4
|
* Decorator that marks a property as the compliance subject - the natural person whose Personal
|
|
4
5
|
* Identifiable Information (PII) a read model or event carries. The subject selects which
|
|
@@ -22,7 +23,7 @@ import 'reflect-metadata';
|
|
|
22
23
|
* }
|
|
23
24
|
* ```
|
|
24
25
|
*/
|
|
25
|
-
export declare function subject():
|
|
26
|
+
export declare function subject(): ChroniclePropertyDecorator;
|
|
26
27
|
/**
|
|
27
28
|
* Checks whether a property has been decorated with @subject.
|
|
28
29
|
* @param target - The class prototype.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../compliance/subject.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../compliance/subject.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAiE,MAAM,uCAAuC,CAAC;AAQlJ;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,OAAO,IAAI,0BAA0B,CASpD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAE/E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAEzE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
4
|
import { TypeIntrospector } from '../types/index.js';
|
|
5
|
+
import { decorateProperty, getTypeOrFieldMetadata, hasPropertyMetadata } from '../types/propertyDecoratorMetadata.js';
|
|
5
6
|
/** Metadata key for the subject decorator on a property. */
|
|
6
7
|
const SUBJECT_PROPERTY_METADATA_KEY = 'chronicle:compliance:subject:property';
|
|
7
8
|
/** Metadata key for the name of the subject property recorded on the declaring type. */
|
|
@@ -30,13 +31,13 @@ const SUBJECT_TYPE_METADATA_KEY = 'chronicle:compliance:subject:type';
|
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
33
|
export function subject() {
|
|
33
|
-
return (target, propertyKey) => {
|
|
34
|
+
return decorateProperty((target, propertyKey) => {
|
|
34
35
|
const key = propertyKey.toString();
|
|
35
36
|
const declaringType = target.constructor;
|
|
36
37
|
TypeIntrospector.trackProperty(declaringType, key);
|
|
37
38
|
Reflect.defineMetadata(SUBJECT_PROPERTY_METADATA_KEY, true, target, key);
|
|
38
39
|
Reflect.defineMetadata(SUBJECT_TYPE_METADATA_KEY, key, declaringType);
|
|
39
|
-
};
|
|
40
|
+
});
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* Checks whether a property has been decorated with @subject.
|
|
@@ -45,7 +46,7 @@ export function subject() {
|
|
|
45
46
|
* @returns True if the property has the @subject decorator; false otherwise.
|
|
46
47
|
*/
|
|
47
48
|
export function hasSubjectMetadata(target, propertyKey) {
|
|
48
|
-
return
|
|
49
|
+
return hasPropertyMetadata(SUBJECT_PROPERTY_METADATA_KEY, target, propertyKey);
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* Gets the name of the property decorated with @subject on a type, if any.
|
|
@@ -53,6 +54,6 @@ export function hasSubjectMetadata(target, propertyKey) {
|
|
|
53
54
|
* @returns The decorated property name, or undefined when no property is decorated.
|
|
54
55
|
*/
|
|
55
56
|
export function getSubjectPropertyName(type) {
|
|
56
|
-
return
|
|
57
|
+
return getTypeOrFieldMetadata(SUBJECT_TYPE_METADATA_KEY, type);
|
|
57
58
|
}
|
|
58
59
|
//# sourceMappingURL=subject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject.js","sourceRoot":"","sources":["../../compliance/subject.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"subject.js","sourceRoot":"","sources":["../../compliance/subject.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAA8B,gBAAgB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAElJ,4DAA4D;AAC5D,MAAM,6BAA6B,GAAG,uCAAuC,CAAC;AAE9E,wFAAwF;AACxF,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO;IACnB,OAAO,gBAAgB,CAAC,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACrE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,aAAa,GAAI,MAAoC,CAAC,WAAW,CAAC;QAExE,gBAAgB,CAAC,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,CAAC,cAAc,CAAC,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,WAAmB;IAClE,OAAO,mBAAmB,CAAC,6BAA6B,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAc;IACjD,OAAO,sBAAsB,CAAS,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import type { SecurityMetadata } from './SecurityMetadata.js';
|
|
3
3
|
import { EncryptionScope } from './EncryptionScope.js';
|
|
4
|
+
import { ChronicleClassOrPropertyDecorator } from '../types/propertyDecoratorMetadata.js';
|
|
4
5
|
/**
|
|
5
6
|
* Decorator that marks a property or type as needing plain-confidentiality encryption at rest - a
|
|
6
7
|
* security measure, not a compliance one.
|
|
@@ -42,7 +43,7 @@ import { EncryptionScope } from './EncryptionScope.js';
|
|
|
42
43
|
* }
|
|
43
44
|
* ```
|
|
44
45
|
*/
|
|
45
|
-
export declare function encrypted(scope?: EncryptionScope, details?: string):
|
|
46
|
+
export declare function encrypted(scope?: EncryptionScope, details?: string): ChronicleClassOrPropertyDecorator;
|
|
46
47
|
/**
|
|
47
48
|
* Gets the encrypted security metadata for a property.
|
|
48
49
|
* @param target - The class prototype.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted.d.ts","sourceRoot":"","sources":["../../confidentiality/encrypted.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypted.d.ts","sourceRoot":"","sources":["../../confidentiality/encrypted.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,iCAAiC,EAAqE,MAAM,uCAAuC,CAAC;AAsB7J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,eAAyC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,iCAAiC,CAiC/H;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEtG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,GAAG,SAAS,CAErF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAEnD"}
|
|
@@ -5,6 +5,7 @@ import { SecurityMetadataType } from './SecurityMetadataType.js';
|
|
|
5
5
|
import { EncryptionScope } from './EncryptionScope.js';
|
|
6
6
|
import { EncryptedNotSupportedOnEventSourceId } from './EncryptedNotSupportedOnEventSourceId.js';
|
|
7
7
|
import { TypeIntrospector } from '../types/index.js';
|
|
8
|
+
import { decorateClassOrProperty, getPropertyMetadata, hasPropertyMetadata } from '../types/propertyDecoratorMetadata.js';
|
|
8
9
|
/** The property name this client uses everywhere for the event source identifier. */
|
|
9
10
|
const EVENT_SOURCE_ID_PROPERTY = 'eventSourceId';
|
|
10
11
|
/** Metadata key for the encrypted decorator on properties. */
|
|
@@ -63,7 +64,7 @@ function metadataTypeFor(scope) {
|
|
|
63
64
|
* ```
|
|
64
65
|
*/
|
|
65
66
|
export function encrypted(scope = EncryptionScope.Subject, details) {
|
|
66
|
-
return (target, propertyKey) => {
|
|
67
|
+
return decorateClassOrProperty((target, propertyKey) => {
|
|
67
68
|
// Class decorator usage (for types like ConceptAs)
|
|
68
69
|
if (typeof target === 'function' && propertyKey === undefined) {
|
|
69
70
|
const metadata = {
|
|
@@ -82,7 +83,7 @@ export function encrypted(scope = EncryptionScope.Subject, details) {
|
|
|
82
83
|
// look up the key that protects everything else. Mirrors @pii()'s
|
|
83
84
|
// PIINotSupportedOnEventSourceId guard, for the same reason.
|
|
84
85
|
if (key === EVENT_SOURCE_ID_PROPERTY) {
|
|
85
|
-
throw new EncryptedNotSupportedOnEventSourceId(declaringType.name);
|
|
86
|
+
throw new EncryptedNotSupportedOnEventSourceId(declaringType.name || 'the decorated class');
|
|
86
87
|
}
|
|
87
88
|
TypeIntrospector.trackProperty(declaringType, key);
|
|
88
89
|
const metadata = {
|
|
@@ -91,7 +92,7 @@ export function encrypted(scope = EncryptionScope.Subject, details) {
|
|
|
91
92
|
};
|
|
92
93
|
Reflect.defineMetadata(ENCRYPTED_PROPERTY_METADATA_KEY, metadata, target, key);
|
|
93
94
|
}
|
|
94
|
-
};
|
|
95
|
+
});
|
|
95
96
|
}
|
|
96
97
|
/**
|
|
97
98
|
* Gets the encrypted security metadata for a property.
|
|
@@ -100,7 +101,7 @@ export function encrypted(scope = EncryptionScope.Subject, details) {
|
|
|
100
101
|
* @returns The security metadata, or undefined if not decorated with @encrypted.
|
|
101
102
|
*/
|
|
102
103
|
export function getEncryptedMetadata(target, propertyKey) {
|
|
103
|
-
return
|
|
104
|
+
return getPropertyMetadata(ENCRYPTED_PROPERTY_METADATA_KEY, target, propertyKey);
|
|
104
105
|
}
|
|
105
106
|
/**
|
|
106
107
|
* Checks whether a property has been decorated with @encrypted.
|
|
@@ -109,7 +110,7 @@ export function getEncryptedMetadata(target, propertyKey) {
|
|
|
109
110
|
* @returns True if the property has @encrypted decorator; false otherwise.
|
|
110
111
|
*/
|
|
111
112
|
export function hasEncryptedMetadata(target, propertyKey) {
|
|
112
|
-
return
|
|
113
|
+
return hasPropertyMetadata(ENCRYPTED_PROPERTY_METADATA_KEY, target, propertyKey);
|
|
113
114
|
}
|
|
114
115
|
/**
|
|
115
116
|
* Gets the encrypted security metadata for a type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted.js","sourceRoot":"","sources":["../../confidentiality/encrypted.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"encrypted.js","sourceRoot":"","sources":["../../confidentiality/encrypted.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export declare class CorrelationIdManager implements ICorrelationIdAccessor, ICo
|
|
|
9
9
|
private readonly _storage;
|
|
10
10
|
/** @inheritdoc */
|
|
11
11
|
get current(): CorrelationId;
|
|
12
|
+
/** Runs an async or synchronous operation with a correlation id, restoring the caller afterward. */
|
|
13
|
+
run<T>(correlationId: CorrelationId, callback: () => T): T;
|
|
12
14
|
/** @inheritdoc */
|
|
13
15
|
setCurrent(correlationId: CorrelationId): void;
|
|
14
16
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorrelationIdManager.d.ts","sourceRoot":"","sources":["../../correlation/CorrelationIdManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;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,CAE7C;IAED,kBAAkB;IAClB,KAAK,IAAI,IAAI,CAEZ;CACJ"}
|
|
1
|
+
{"version":3,"file":"CorrelationIdManager.d.ts","sourceRoot":"","sources":["../../correlation/CorrelationIdManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,sBAAsB,EAAE,oBAAoB;IACrF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IAEnE,kBAAkB;IAClB,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,oGAAoG;IACpG,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAEzD;IAED,kBAAkB;IAClB,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAE7C;IAED,kBAAkB;IAClB,KAAK,IAAI,IAAI,CAEZ;CACJ"}
|
|
@@ -12,6 +12,10 @@ export class CorrelationIdManager {
|
|
|
12
12
|
get current() {
|
|
13
13
|
return this._storage.getStore() ?? CorrelationId.create();
|
|
14
14
|
}
|
|
15
|
+
/** Runs an async or synchronous operation with a correlation id, restoring the caller afterward. */
|
|
16
|
+
run(correlationId, callback) {
|
|
17
|
+
return this._storage.run(correlationId, callback);
|
|
18
|
+
}
|
|
15
19
|
/** @inheritdoc */
|
|
16
20
|
setCurrent(correlationId) {
|
|
17
21
|
this._storage.enterWith(correlationId);
|
|
@@ -1 +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,oBAAoB,CAAC;AAInD;;;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"}
|
|
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,oBAAoB,CAAC;AAInD;;;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,oGAAoG;IACpG,GAAG,CAAI,aAA4B,EAAE,QAAiB;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACtD,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"}
|
|
@@ -29,10 +29,9 @@ export interface AppendOptions {
|
|
|
29
29
|
*/
|
|
30
30
|
tags?: ReadonlyArray<string | Tag>;
|
|
31
31
|
/**
|
|
32
|
-
* Optional
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* entry here, it falls back to {@link concurrencyScope}.
|
|
32
|
+
* Optional labeled concurrency scopes, keyed by event source id. Labels need not be append targets.
|
|
33
|
+
* Any target without an explicit scope falls back to {@link concurrencyScope}.
|
|
34
|
+
* The kernel requires at least one event in a batch, so scope-only batches are not supported.
|
|
36
35
|
*/
|
|
37
36
|
concurrencyScopes?: Record<string, ConcurrencyScope>;
|
|
38
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppendOptions.d.ts","sourceRoot":"","sources":["../../eventSequences/AppendOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAEnC
|
|
1
|
+
{"version":3,"file":"AppendOptions.d.ts","sourceRoot":"","sources":["../../eventSequences/AppendOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAEnC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSequence.d.ts","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAwB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAc/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAK5C,QAAQ,CAAC,EAAE,EAAE,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IARvC,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,gBAAgB,yDAAgE;IAEzF,YACa,EAAE,EAAE,eAAe,EACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,mBAAmB,EAChC,kBAAkB,EAAE,kBAAkB,EAG1D;IAED,kBAAkB;IACZ,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAsHjG;IAED,kBAAkB;IACZ,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACtG,UAAU,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"EventSequence.d.ts","sourceRoot":"","sources":["../../eventSequences/EventSequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,8 +52,7 @@ export class EventSequence {
|
|
|
52
52
|
const content = JsonSerializer.serialize(event);
|
|
53
53
|
// Merge static tags declared on the event type with tags supplied at append time.
|
|
54
54
|
const tags = mergeTags(getTagsFor(event.constructor), options?.tags);
|
|
55
|
-
causationManager.
|
|
56
|
-
const causationChain = causationManager.getCurrentChain();
|
|
55
|
+
const causationChain = causationManager.run(CausationType.appendEvent, { eventType: eventType.id.value }, () => causationManager.getCurrentChain());
|
|
57
56
|
const identity = identityProvider.getCurrent();
|
|
58
57
|
const metricAttributes = {
|
|
59
58
|
'chronicle.event_store': this._eventStoreName,
|
|
@@ -176,19 +175,22 @@ export class EventSequence {
|
|
|
176
175
|
const appendOptions = typeof eventSourceIdOrEvents === 'string'
|
|
177
176
|
? options
|
|
178
177
|
: eventsOrOptions;
|
|
178
|
+
if (eventsForEventSourceIds.length === 0 && Object.keys(appendOptions?.concurrencyScopes ?? {}).length > 0) {
|
|
179
|
+
throw new Error('Chronicle requires at least one event to validate concurrency scopes.');
|
|
180
|
+
}
|
|
179
181
|
const correlationId = appendOptions?.correlationId === undefined
|
|
180
182
|
? Guid.as(correlationIdManager.current.value)
|
|
181
183
|
: Guid.as(appendOptions.correlationId);
|
|
182
|
-
causationManager.
|
|
183
|
-
const batchCausationChain = causationManager.getCurrentChain();
|
|
184
|
+
const batchCausationChain = causationManager.run(CausationType.appendManyEvents, { count: String(eventsForEventSourceIds.length) }, () => causationManager.getCurrentChain());
|
|
184
185
|
const identity = identityProvider.getCurrent();
|
|
185
|
-
//
|
|
186
|
-
//
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
186
|
+
// Explicit labels may narrow a different event source than any target in this batch.
|
|
187
|
+
// Preserve them and supply the shared fallback only for targets without an explicit scope.
|
|
188
|
+
const concurrencyScopes = new Map(Object.entries(appendOptions?.concurrencyScopes ?? {}));
|
|
189
|
+
for (const { eventSourceId } of eventsForEventSourceIds) {
|
|
190
|
+
if (!concurrencyScopes.has(eventSourceId)) {
|
|
191
|
+
concurrencyScopes.set(eventSourceId, appendOptions?.concurrencyScope);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
192
194
|
const eventsToAppend = eventsForEventSourceIds.map(({ eventSourceId, event, eventStreamType, eventStreamId, eventSourceType, subject, occurred, tags: instanceTags }) => {
|
|
193
195
|
const eventType = getEventTypeFor(event.constructor);
|
|
194
196
|
// Merge static tags declared on the event type, tags carried by this specific
|
|
@@ -240,9 +242,9 @@ export class EventSequence {
|
|
|
240
242
|
Properties: { ...c.properties }
|
|
241
243
|
})),
|
|
242
244
|
CausedBy: toContractsCausedBy(identity),
|
|
243
|
-
ConcurrencyScopes:
|
|
245
|
+
ConcurrencyScopes: [...concurrencyScopes].map(([eventSourceId, scope]) => ({
|
|
244
246
|
EventSourceId: eventSourceId,
|
|
245
|
-
Scope:
|
|
247
|
+
Scope: this.toContractConcurrencyScope(scope)
|
|
246
248
|
}))
|
|
247
249
|
});
|
|
248
250
|
const appendManyResponse = ensureCommandResponse('append many events', response);
|
|
@@ -652,7 +654,10 @@ export class EventSequence {
|
|
|
652
654
|
}
|
|
653
655
|
toContractConcurrencyScope(scope) {
|
|
654
656
|
return {
|
|
655
|
-
SequenceNumber: scope?.sequenceNumber
|
|
657
|
+
SequenceNumber: scope?.sequenceNumber === EventSequenceNumber.beforeFirst.value
|
|
658
|
+
? EventSequenceNumber.unset.value
|
|
659
|
+
: scope?.sequenceNumber ?? EventSequenceNumber.unset.value,
|
|
660
|
+
ExpectsNoMatchingEvent: scope?.sequenceNumber === EventSequenceNumber.beforeFirst.value,
|
|
656
661
|
EventSourceId: scope?.eventSourceId ?? false,
|
|
657
662
|
EventStreamType: scope?.eventStreamType ?? '',
|
|
658
663
|
EventStreamId: scope?.eventStreamId ?? '',
|