@cratis/chronicle 3.1.0 → 4.0.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 +4 -3
- package/EventStore.ts +4 -3
- package/README.md +40 -28
- package/compliance/ComplianceContracts.ts +59 -0
- package/compliance/IPIIManager.ts +12 -0
- package/compliance/PIIManager.spec.ts +50 -0
- package/compliance/PIIManager.ts +9 -0
- package/compliance/PIINotSupportedOnEventSourceId.ts +21 -0
- package/compliance/index.ts +2 -0
- package/compliance/pii.spec.ts +37 -0
- package/compliance/pii.ts +16 -1
- package/compliance/subject.spec.ts +45 -0
- package/compliance/subject.ts +64 -0
- package/connection/callResults.spec.ts +90 -0
- package/connection/callResults.ts +112 -0
- package/dist/ChronicleClient.d.ts.map +1 -1
- package/dist/ChronicleClient.js +4 -3
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +4 -3
- package/dist/EventStore.js.map +1 -1
- package/dist/compliance/ComplianceContracts.d.ts +31 -0
- package/dist/compliance/ComplianceContracts.d.ts.map +1 -1
- package/dist/compliance/ComplianceContracts.js +52 -0
- package/dist/compliance/ComplianceContracts.js.map +1 -1
- package/dist/compliance/IPIIManager.d.ts +11 -0
- package/dist/compliance/IPIIManager.d.ts.map +1 -1
- package/dist/compliance/PIIManager.d.ts +2 -0
- package/dist/compliance/PIIManager.d.ts.map +1 -1
- package/dist/compliance/PIIManager.js +8 -0
- package/dist/compliance/PIIManager.js.map +1 -1
- package/dist/compliance/PIINotSupportedOnEventSourceId.d.ts +11 -0
- package/dist/compliance/PIINotSupportedOnEventSourceId.d.ts.map +1 -0
- package/dist/compliance/PIINotSupportedOnEventSourceId.js +19 -0
- package/dist/compliance/PIINotSupportedOnEventSourceId.js.map +1 -0
- package/dist/compliance/index.d.ts +2 -0
- package/dist/compliance/index.d.ts.map +1 -1
- package/dist/compliance/index.js +2 -0
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/pii.d.ts.map +1 -1
- package/dist/compliance/pii.js +13 -1
- package/dist/compliance/pii.js.map +1 -1
- package/dist/compliance/subject.d.ts +39 -0
- package/dist/compliance/subject.d.ts.map +1 -0
- package/dist/compliance/subject.js +58 -0
- package/dist/compliance/subject.js.map +1 -0
- package/dist/connection/callResults.d.ts +69 -0
- package/dist/connection/callResults.d.ts.map +1 -0
- package/dist/connection/callResults.js +74 -0
- package/dist/connection/callResults.js.map +1 -0
- package/dist/eventSequences/AppendOptions.d.ts +8 -0
- package/dist/eventSequences/AppendOptions.d.ts.map +1 -1
- package/dist/eventSequences/EventForEventSourceId.d.ts +7 -0
- package/dist/eventSequences/EventForEventSourceId.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +17 -6
- package/dist/eventSequences/EventSequence.js.map +1 -1
- package/dist/events/EventContext.d.ts +3 -0
- package/dist/events/EventContext.d.ts.map +1 -1
- package/dist/events/Tag.d.ts +10 -0
- package/dist/events/Tag.d.ts.map +1 -0
- package/dist/events/Tag.js +16 -0
- package/dist/events/Tag.js.map +1 -0
- package/dist/events/constraints/Constraints.js +3 -3
- package/dist/events/constraints/Constraints.js.map +1 -1
- package/dist/events/filterEventsByTagDecorator.d.ts +35 -0
- package/dist/events/filterEventsByTagDecorator.d.ts.map +1 -0
- package/dist/events/filterEventsByTagDecorator.js +48 -0
- package/dist/events/filterEventsByTagDecorator.js.map +1 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +4 -0
- package/dist/events/index.js.map +1 -1
- package/dist/events/mergeTags.d.ts +12 -0
- package/dist/events/mergeTags.d.ts.map +1 -0
- package/dist/events/mergeTags.js +26 -0
- package/dist/events/mergeTags.js.map +1 -0
- package/dist/events/tagDecorator.d.ts +38 -0
- package/dist/events/tagDecorator.d.ts.map +1 -0
- package/dist/events/tagDecorator.js +54 -0
- package/dist/events/tagDecorator.js.map +1 -0
- package/dist/jobs/IJobs.d.ts +4 -4
- package/dist/jobs/IJobs.d.ts.map +1 -1
- package/dist/jobs/Jobs.d.ts +4 -4
- package/dist/jobs/Jobs.d.ts.map +1 -1
- package/dist/jobs/Jobs.js +12 -10
- package/dist/jobs/Jobs.js.map +1 -1
- package/dist/observation/ObserverRunningState.d.ts +9 -15
- package/dist/observation/ObserverRunningState.d.ts.map +1 -1
- package/dist/observation/ObserverRunningState.js +8 -14
- package/dist/observation/ObserverRunningState.js.map +1 -1
- package/dist/observation/index.d.ts +1 -0
- package/dist/observation/index.d.ts.map +1 -1
- package/dist/observation/index.js +1 -0
- package/dist/observation/index.js.map +1 -1
- package/dist/observation/toObserverRunningState.d.ts +9 -0
- package/dist/observation/toObserverRunningState.d.ts.map +1 -0
- package/dist/observation/toObserverRunningState.js +26 -0
- package/dist/observation/toObserverRunningState.js.map +1 -0
- package/dist/projections/IProjections.d.ts +71 -1
- package/dist/projections/IProjections.d.ts.map +1 -1
- package/dist/projections/ProjectionQueryResult.d.ts +8 -0
- package/dist/projections/ProjectionQueryResult.d.ts.map +1 -0
- package/dist/projections/ProjectionQueryResult.js +4 -0
- package/dist/projections/ProjectionQueryResult.js.map +1 -0
- package/dist/projections/ProjectionState.d.ts +18 -0
- package/dist/projections/ProjectionState.d.ts.map +1 -0
- package/dist/projections/ProjectionState.js +4 -0
- package/dist/projections/ProjectionState.js.map +1 -0
- package/dist/projections/Projections.d.ts +46 -1
- package/dist/projections/Projections.d.ts.map +1 -1
- package/dist/projections/Projections.js +153 -6
- package/dist/projections/Projections.js.map +1 -1
- package/dist/projections/UnableToQueryProjection.d.ts +12 -0
- package/dist/projections/UnableToQueryProjection.d.ts.map +1 -0
- package/dist/projections/UnableToQueryProjection.js +17 -0
- package/dist/projections/UnableToQueryProjection.js.map +1 -0
- package/dist/projections/index.d.ts +3 -0
- package/dist/projections/index.d.ts.map +1 -1
- package/dist/projections/index.js +1 -0
- package/dist/projections/index.js.map +1 -1
- package/dist/projections/modelBound/eventSequence.d.ts +22 -0
- package/dist/projections/modelBound/eventSequence.d.ts.map +1 -0
- package/dist/projections/modelBound/eventSequence.js +34 -0
- package/dist/projections/modelBound/eventSequence.js.map +1 -0
- package/dist/projections/modelBound/fromAll.d.ts +26 -0
- package/dist/projections/modelBound/fromAll.d.ts.map +1 -0
- package/dist/projections/modelBound/fromAll.js +31 -0
- package/dist/projections/modelBound/fromAll.js.map +1 -0
- package/dist/projections/modelBound/index.d.ts +4 -0
- package/dist/projections/modelBound/index.d.ts.map +1 -1
- package/dist/projections/modelBound/index.js +3 -0
- package/dist/projections/modelBound/index.js.map +1 -1
- package/dist/projections/modelBound/noAutoMap.d.ts +26 -0
- package/dist/projections/modelBound/noAutoMap.d.ts.map +1 -0
- package/dist/projections/modelBound/noAutoMap.js +44 -0
- package/dist/projections/modelBound/noAutoMap.js.map +1 -0
- package/dist/reactors/Reactors.d.ts.map +1 -1
- package/dist/reactors/Reactors.js +7 -3
- package/dist/reactors/Reactors.js.map +1 -1
- package/dist/readModels/MaterializedReadModels.d.ts +0 -1
- package/dist/readModels/MaterializedReadModels.d.ts.map +1 -1
- package/dist/readModels/MaterializedReadModels.js +2 -8
- package/dist/readModels/MaterializedReadModels.js.map +1 -1
- package/dist/readModels/ReadModelSubjectResolver.d.ts +22 -0
- package/dist/readModels/ReadModelSubjectResolver.d.ts.map +1 -0
- package/dist/readModels/ReadModelSubjectResolver.js +38 -0
- package/dist/readModels/ReadModelSubjectResolver.js.map +1 -0
- package/dist/readModels/ReadModels.d.ts.map +1 -1
- package/dist/readModels/ReadModels.js +7 -7
- package/dist/readModels/ReadModels.js.map +1 -1
- package/dist/readModels/index.d.ts +1 -0
- package/dist/readModels/index.d.ts.map +1 -1
- package/dist/readModels/index.js +1 -0
- package/dist/readModels/index.js.map +1 -1
- package/dist/reducers/Reducers.d.ts.map +1 -1
- package/dist/reducers/Reducers.js +21 -3
- package/dist/reducers/Reducers.js.map +1 -1
- package/dist/schemas/JsonSchema.d.ts +14 -0
- package/dist/schemas/JsonSchema.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.d.ts +61 -5
- package/dist/schemas/JsonSchemaGenerator.d.ts.map +1 -1
- package/dist/schemas/JsonSchemaGenerator.js +130 -26
- package/dist/schemas/JsonSchemaGenerator.js.map +1 -1
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/seeding/EventSeeding.d.ts.map +1 -1
- package/dist/seeding/EventSeeding.js +3 -1
- package/dist/seeding/EventSeeding.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/eventSequences/AppendOptions.ts +9 -0
- package/eventSequences/EventForEventSourceId.ts +9 -0
- package/eventSequences/EventSequence.ts +20 -6
- package/events/EventContext.ts +4 -0
- package/events/Tag.ts +14 -0
- package/events/constraints/Constraints.ts +3 -3
- package/events/filterEventsByTagDecorator.ts +51 -0
- package/events/index.ts +4 -0
- package/events/mergeTags.spec.ts +50 -0
- package/events/mergeTags.ts +27 -0
- package/events/tagDecorator.spec.ts +115 -0
- package/events/tagDecorator.ts +59 -0
- package/jobs/IJobs.ts +4 -4
- package/jobs/Jobs.ts +16 -14
- package/observation/ObserverRunningState.ts +9 -18
- package/observation/index.ts +1 -0
- package/observation/toObserverRunningState.ts +27 -0
- package/package.json +25 -10
- package/projections/IProjections.ts +81 -1
- package/projections/ProjectionQueryResult.ts +10 -0
- package/projections/ProjectionState.ts +25 -0
- package/projections/Projections.childrenAndNested.spec.ts +1 -1
- package/projections/Projections.modelBoundCompleteness.spec.ts +224 -0
- package/projections/Projections.operationalSurface.spec.ts +257 -0
- package/projections/Projections.spec.ts +1 -1
- package/projections/Projections.ts +180 -5
- package/projections/UnableToQueryProjection.ts +17 -0
- package/projections/index.ts +3 -0
- package/projections/modelBound/eventSequence.ts +38 -0
- package/projections/modelBound/fromAll.ts +42 -0
- package/projections/modelBound/index.ts +4 -0
- package/projections/modelBound/noAutoMap.ts +47 -0
- package/reactors/Reactors.ts +7 -3
- package/readModels/MaterializedReadModels.spec.ts +98 -0
- package/readModels/MaterializedReadModels.ts +2 -8
- package/readModels/ReadModelSubjectResolver.spec.ts +84 -0
- package/readModels/ReadModelSubjectResolver.ts +44 -0
- package/readModels/ReadModels.spec.ts +118 -0
- package/readModels/ReadModels.ts +7 -7
- package/readModels/index.ts +1 -0
- package/reducers/Reducers.spec.ts +80 -0
- package/reducers/Reducers.ts +22 -3
- package/schemas/JsonSchema.ts +16 -0
- package/schemas/JsonSchemaGenerator.spec.ts +195 -0
- package/schemas/JsonSchemaGenerator.ts +145 -27
- package/schemas/index.ts +1 -1
- package/seeding/EventSeeding.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../readModels/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../readModels/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/readModels/index.js
CHANGED
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
export { ReadModelId } from './ReadModelId';
|
|
4
4
|
export { ReadModels } from './ReadModels';
|
|
5
5
|
export { MaterializedReadModels } from './MaterializedReadModels';
|
|
6
|
+
export { ReadModelSubjectResolver } from './ReadModelSubjectResolver';
|
|
6
7
|
export { readModel, getReadModelMetadata, isReadModel } from './readModel';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../readModels/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../readModels/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reducers.d.ts","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"Reducers.d.ts","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAUxE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA2ExC;;;GAGG;AACH,qBAAa,QAAS,YAAW,SAAS;IAoBlC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAxBvC,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2E;IACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;;OAQG;gBAEkB,gBAAgB,EAAE,wBAAwB,EAC1C,WAAW,EAAE,mBAAmB,EAChC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EACnC,SAAS,EAAE,mBAAmB,EACb,kBAAkB,EAAE,MAAM;IAU/C,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBjB,kBAAkB;IAoChC,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,gBAAgB;YAiBV,cAAc;IAgB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,6BAA6B;YASvB,cAAc;IAwJ5B,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,aAAa;CAMxB"}
|
|
@@ -6,6 +6,11 @@ import { Guid } from '@cratis/fundamentals';
|
|
|
6
6
|
import { ObservationState, ReadModelObserverType } from '@cratis/chronicle.contracts';
|
|
7
7
|
import { toContractsGuid } from '../connection/Guid';
|
|
8
8
|
import { getEventTypeMetadata } from '../events/eventTypeDecorator';
|
|
9
|
+
import { EventTypeId } from '../events/EventTypeId';
|
|
10
|
+
import { EventTypeGeneration } from '../events/EventTypeGeneration';
|
|
11
|
+
import { Tag } from '../events/Tag';
|
|
12
|
+
import { getTagsFor } from '../events/tagDecorator';
|
|
13
|
+
import { getFilterTagsFor } from '../events/filterEventsByTagDecorator';
|
|
9
14
|
import { EventSequenceId } from '../eventSequences/EventSequenceId';
|
|
10
15
|
import { notifyReplayLifecycle } from '../observation/notifyReplayLifecycle';
|
|
11
16
|
import { getReducerMetadata } from './reducer';
|
|
@@ -260,9 +265,9 @@ export class Reducers {
|
|
|
260
265
|
})),
|
|
261
266
|
ReadModel: readModelName,
|
|
262
267
|
IsActive: isActive,
|
|
263
|
-
Tags:
|
|
268
|
+
Tags: getTagsFor(reducerType).map(t => t.value),
|
|
264
269
|
Filters: {
|
|
265
|
-
FilterTags:
|
|
270
|
+
FilterTags: getFilterTagsFor(reducerType).map(t => t.value),
|
|
266
271
|
EventSourceType: '',
|
|
267
272
|
EventStreamType: 'All'
|
|
268
273
|
}
|
|
@@ -312,6 +317,19 @@ export class Reducers {
|
|
|
312
317
|
continue;
|
|
313
318
|
}
|
|
314
319
|
const content = JSON.parse(event.Content);
|
|
320
|
+
const context = {
|
|
321
|
+
sequenceNumber: event.Context.SequenceNumber,
|
|
322
|
+
eventSourceId: event.Context.EventSourceId,
|
|
323
|
+
eventType: {
|
|
324
|
+
id: new EventTypeId(event.Context.EventType.Id),
|
|
325
|
+
generation: new EventTypeGeneration(event.Context.EventType.Generation),
|
|
326
|
+
tombstone: event.Context.EventType.Tombstone
|
|
327
|
+
},
|
|
328
|
+
occurred: new Date(event.Context.Occurred?.Value ?? ''),
|
|
329
|
+
correlationId: event.Context?.CorrelationId ? `${event.Context.CorrelationId.lo}-${event.Context.CorrelationId.hi}` : '',
|
|
330
|
+
causation: [],
|
|
331
|
+
tags: (event.Context.Tags ?? []).map(value => new Tag(value))
|
|
332
|
+
};
|
|
315
333
|
this._logger.info('Invoking reducer handler', {
|
|
316
334
|
reducerId: id,
|
|
317
335
|
method: entry.methodName,
|
|
@@ -319,7 +337,7 @@ export class Reducers {
|
|
|
319
337
|
eventTypeId,
|
|
320
338
|
hasState: currentState !== undefined
|
|
321
339
|
});
|
|
322
|
-
currentState = await reducerInstance[entry.methodName](content, currentState);
|
|
340
|
+
currentState = await reducerInstance[entry.methodName](content, currentState, context);
|
|
323
341
|
lastSuccessfullyObservedEvent = event.Context.SequenceNumber;
|
|
324
342
|
}
|
|
325
343
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reducers.js","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAe,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAkB,MAAM,6BAA6B,CAAC;AAGtG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,4EAA4E;AAC5E,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C,mFAAmF;AACnF,MAAM,2BAA2B,GAAG,WAAW,CAAC;AAQhD;;;;GAIG;AACH,MAAM,UAAU;IACK,MAAM,GAAQ,EAAE,CAAC;IAC1B,QAAQ,GAAiE,SAAS,CAAC;IACnF,KAAK,GAAG,KAAK,CAAC;IAEtB,4EAA4E;IAC5E,IAAI,CAAC,KAAQ;QACT,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,yFAAyF;IACzF,QAAQ;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QAClB,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;YACH,IAAI;gBACA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;oBACzB,IAAI,CAAC,QAAQ,GAAG,OAAyD,CAAC;gBAC9E,CAAC,CAAC,CAAC;YACP,CAAC;YACD,MAAM;gBACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC9B,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;SACJ,CAAC;IACN,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAoBI;IACA;IACA;IACA;IAEA;IAxBrB,iFAAiF;IACzE,MAAM,CAAU,iBAAiB,GAAG,IAAI,CAAC;IAEhC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAClF,UAAU,CAAsB;IAChC,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IACjE,WAAW,GAAG,KAAK,CAAC;IAE5B;;;;;;;;OAQG;IACH,YACqB,gBAA0C,EAC1C,WAAgC,EAChC,eAAuB,EACvB,UAAkB,EACnC,SAA8B,EACb,kBAA0B;QAL1B,qBAAgB,GAAhB,gBAAgB,CAA0B;QAC1C,gBAAW,GAAX,WAAW,CAAqB;QAChC,oBAAe,GAAf,eAAe,CAAQ;QACvB,eAAU,GAAV,UAAU,CAAQ;QAElB,uBAAkB,GAAlB,kBAAkB,CAAQ;QAE3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACtE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAG,IAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9G,CAAC;QACL,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;YAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YACtE,OAAO;gBACH,IAAI,EAAE;oBACF,UAAU,EAAE,aAAa;oBACzB,UAAU,EAAE,CAAC;iBAChB;gBACD,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE;oBACF,eAAe,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC5C,MAAM,EAAE,IAAI,CAAC,kBAAkB;iBAClC;gBACD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC;gBACzD,OAAO,EAAE,EAAE;gBACX,YAAY,EAAE,qBAAqB,CAAC,OAAO;gBAC3C,kBAAkB,EAAE,EAAE;gBACtB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACZ,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3C,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,UAAU;YACtB,MAAM,EAAE,CAAC;SACZ,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB,CAAC,WAAwB,EAAE,aAAqB;QACpE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YACD,qDAAqD;YACrD,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,+DAA+D;QAC/D,MAAM,aAAa,GAAG;YAClB,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,CAAC;YACvD,oBAAoB,EAAE,IAAI;SAC7B,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEO,gBAAgB,CAAC,EAAU,EAAE,WAAwB;QACzD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAE,CAAC;QAClD,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC9C,SAAS,EAAE,EAAE;YACb,eAAe;YACf,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,UAAU,CAAC,MAAM;YAC/B,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SAC9C,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAC1F,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAAU,EACV,WAAwB,EACxB,eAAuB,EACvB,UAA4B,EAC5B,aAAqB;QAErB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACK,iBAAiB,CAAC,EAAU,EAAE,WAAwB;QAC1D,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpB,OAAO;YACX,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAE/B,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACrB,CAAC;IAEO,6BAA6B,CAAC,WAAwB;QAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;YACtB,OAAO,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;QACzF,CAAC;QAED,OAAQ,WAAwB,CAAC,IAAI,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAAU,EACV,WAAwB,EACxB,eAAuB,EACvB,UAA4B,EAC5B,aAAqB;QAErB,MAAM,KAAK,GAAG,IAAI,UAAU,EAAkB,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;QAEnE,KAAK,CAAC,IAAI,CAAC;YACP,OAAO,EAAE;gBACL,MAAM,EAAE;oBACJ,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;oBAC1C,UAAU,EAAE,IAAI,CAAC,eAAe;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,OAAO,EAAE;wBACL,SAAS,EAAE,EAAE;wBACb,eAAe,EAAE,eAAe;wBAChC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BAC9B,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE;4BACrE,GAAG,EAAE,mBAAmB;yBAC3B,CAAC,CAAC;wBACH,SAAS,EAAE,aAAa;wBACxB,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE;4BACL,UAAU,EAAE,EAAE;4BACd,eAAe,EAAE,EAAE;4BACnB,eAAe,EAAE,KAAK;yBACzB;qBACJ;iBACJ;gBACD,MAAM,EAAE,SAAS;aACpB;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,MAAM,eAAe,GAAG,IAAK,WAAkD,EAAE,CAAC;YAElF,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrE,IAAI,6BAA6B,GAAG,2BAA2B,CAAC;gBAChE,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC;gBACrC,MAAM,iBAAiB,GAAa,EAAE,CAAC;gBACvC,IAAI,mBAAmB,GAAG,EAAE,CAAC;gBAC7B,IAAI,cAAkC,CAAC;gBAEvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBAC5C,SAAS,EAAE,EAAE;oBACb,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;oBAC9B,eAAe,EAAE,SAAS,CAAC,YAAY,KAAK,EAAE;oBAC9C,WAAW,EAAE,SAAS,CAAC,WAAW;iBACrC,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACD,MAAM,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7F,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACpH,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpC,mBAAmB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBACpC,CAAC;gBAED,IAAI,YAAY,GAAY,SAAS,CAAC,YAAY;oBAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAY;oBAC/C,CAAC,CAAC,SAAS,CAAC;gBAEhB,KAAK,MAAM,KAAK,IAAI,KAAK,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5E,IAAI,CAAC;wBACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;wBACjD,IAAI,CAAC,WAAW,EAAE,CAAC;4BACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;4BACzE,SAAS;wBACb,CAAC;wBAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;wBAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;4BACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;4BACtG,6BAA6B,GAAG,KAAK,CAAC,OAAQ,CAAC,cAAc,CAAC;4BAC9D,SAAS;wBACb,CAAC;wBAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;wBAErE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;4BAC1C,SAAS,EAAE,EAAE;4BACb,MAAM,EAAE,KAAK,CAAC,UAAU;4BACxB,cAAc,EAAE,KAAK,CAAC,OAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE;4BACxD,WAAW;4BACX,QAAQ,EAAE,YAAY,KAAK,SAAS;yBACvC,CAAC,CAAC;wBAEH,YAAY,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;wBAC9E,6BAA6B,GAAG,KAAK,CAAC,OAAQ,CAAC,cAAc,CAAC;oBAClE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7F,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpC,mBAAmB,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;wBAChC,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,KAAK,gBAAgB,CAAC,OAAO,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBACnE,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAClD,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC;oBACP,OAAO,EAAE;wBACL,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE;4BACJ,SAAS,EAAE,SAAS,CAAC,SAAS;4BAC9B,KAAK,EAAE,KAAK;4BACZ,yBAAyB,EAAE,6BAA6B;4BACxD,iBAAiB,EAAE,iBAAiB;4BACpC,mBAAmB,EAAE,mBAAmB;4BACxC,cAAc,EAAE,cAAc,IAAI,EAAE;yBACvC;qBACJ;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/G,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,uEAAuE;YACvE,sEAAsE;YACtE,8CAA8C;YAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,WAAwB;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAoC,CAAC;QAC/D,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YAC5D,MAAM,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,MAAM,SAAS,GAAI,cAA2B,CAAC,IAAI,CAAC;YACpD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE1E,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,UAAU,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK;oBACpC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK;oBACpD,UAAU;iBACb,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,aAAa;QACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Reducers.js","sourceRoot":"","sources":["../../reducers/Reducers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a single compliance classification recorded on a schema node.
|
|
3
|
+
*/
|
|
4
|
+
export interface ComplianceSchemaMetadata {
|
|
5
|
+
/**
|
|
6
|
+
* The type of compliance metadata (e.g. 'PII').
|
|
7
|
+
*/
|
|
8
|
+
metadataType: string;
|
|
9
|
+
/**
|
|
10
|
+
* Any additional details - can be empty.
|
|
11
|
+
*/
|
|
12
|
+
details: string;
|
|
13
|
+
}
|
|
1
14
|
/**
|
|
2
15
|
* Represents a JSON Schema object.
|
|
3
16
|
*/
|
|
@@ -12,5 +25,6 @@ export type JsonSchema = {
|
|
|
12
25
|
items?: JsonSchema;
|
|
13
26
|
additionalProperties?: boolean | JsonSchema;
|
|
14
27
|
enum?: Array<string | number | boolean | null>;
|
|
28
|
+
compliance?: ComplianceSchemaMetadata[];
|
|
15
29
|
};
|
|
16
30
|
//# sourceMappingURL=JsonSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../schemas/JsonSchema.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonSchema.d.ts","sourceRoot":"","sources":["../../schemas/JsonSchema.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC3C,CAAC"}
|
|
@@ -20,16 +20,72 @@ export declare class JsonSchemaGenerator {
|
|
|
20
20
|
*/
|
|
21
21
|
static generate(target: Function, members?: ReadonlyMap<string, Function | undefined>): JsonSchema;
|
|
22
22
|
private static mapRuntimeTypeToSchema;
|
|
23
|
+
/**
|
|
24
|
+
* Maps an array-typed member to a schema, resolving the element type from a
|
|
25
|
+
* `@field(Array, { genericArguments: [ItemType] })` declaration when present.
|
|
26
|
+
* @param declaringType - The class constructor that declares the array property.
|
|
27
|
+
* @param propertyName - The array property name.
|
|
28
|
+
* @returns The array schema, with the element's own compliance metadata carried onto `items` when the element is a PII concept.
|
|
29
|
+
*/
|
|
30
|
+
private static mapArrayTypeToSchema;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves the element type of an array property from its `@field(Array, { genericArguments: [...] })`
|
|
33
|
+
* declaration. TypeScript erases generic type arguments at runtime, so without an explicit
|
|
34
|
+
* `@field` declaration the element type cannot be recovered.
|
|
35
|
+
* @param declaringType - The class constructor that declares the array property.
|
|
36
|
+
* @param propertyName - The array property name.
|
|
37
|
+
* @returns The element type constructor, or undefined when it cannot be resolved.
|
|
38
|
+
*/
|
|
39
|
+
private static getArrayElementType;
|
|
40
|
+
/**
|
|
41
|
+
* Checks whether a member is an array whose element type is a ConceptAs<T>.
|
|
42
|
+
* @param declaringType - The class constructor that declares the property.
|
|
43
|
+
* @param propertyName - The property name.
|
|
44
|
+
* @param runtimeType - The member's reflected runtime type.
|
|
45
|
+
* @returns True when the member is an array of concept elements; false otherwise.
|
|
46
|
+
*/
|
|
47
|
+
private static isConceptArrayMember;
|
|
23
48
|
private static isConceptAs;
|
|
24
49
|
private static getKnownTypeFormat;
|
|
25
50
|
private static normalizeFormat;
|
|
26
51
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @param
|
|
30
|
-
* @param target - The class prototype.
|
|
52
|
+
* Collects compliance metadata for a property from every source C# resolves PII from: the
|
|
53
|
+
* property itself, its declaring class, and its own type (the concept case).
|
|
54
|
+
* @param target - The class prototype the property is declared on.
|
|
31
55
|
* @param propertyKey - The property name.
|
|
56
|
+
* @param propertyType - The property's runtime type, when resolved.
|
|
57
|
+
* @returns The collected compliance metadata, in property → declaring-class → type order.
|
|
58
|
+
*/
|
|
59
|
+
private static collectComplianceMetadata;
|
|
60
|
+
/**
|
|
61
|
+
* Adds compliance metadata to a schema node, descending into an object's properties so that
|
|
62
|
+
* the metadata always lands on the leaves that actually hold a value.
|
|
63
|
+
* @param schema - The schema node to add to.
|
|
64
|
+
* @param metadata - The compliance metadata to add.
|
|
65
|
+
* @remarks
|
|
66
|
+
* A compliance marker can be declared on something that is not a single value: a `@pii()` on a
|
|
67
|
+
* composite value-object type, or on a property whose type is such an object. Compliance is
|
|
68
|
+
* applied per value, so leaving the marker on the container would make Chronicle hand the whole
|
|
69
|
+
* JSON object to the value handler and store one opaque ciphertext string where the schema still
|
|
70
|
+
* says "object". Releasing that gives back a string, not an object, and the read model then
|
|
71
|
+
* fails to materialize. Pushing the metadata down to every leaf keeps encryption symmetric with
|
|
72
|
+
* the release walk, keeps each value independently encrypted, and preserves the document shape.
|
|
73
|
+
*
|
|
74
|
+
* An array-typed node is deliberately left as a container: coarse compliance on a whole
|
|
75
|
+
* collection is an established, separately handled behavior (the collection is blob-encrypted
|
|
76
|
+
* and its shape restored on release).
|
|
77
|
+
*/
|
|
78
|
+
private static addComplianceMetadataToSchema;
|
|
79
|
+
/**
|
|
80
|
+
* Checks whether a compliance array already carries metadata of a given type.
|
|
81
|
+
* @param compliance - The compliance array to check.
|
|
82
|
+
* @param metadataType - The metadata type to look for.
|
|
83
|
+
* @returns True when the metadata type is already present, false if not.
|
|
84
|
+
* @remarks
|
|
85
|
+
* A leaf can be reached by more than one marker — for example a `@pii()` concept inside a value
|
|
86
|
+
* object whose type is itself marked `@pii()`. Recording the same metadata type twice adds
|
|
87
|
+
* nothing and makes the generated schema noisier to read and to diff.
|
|
32
88
|
*/
|
|
33
|
-
private static
|
|
89
|
+
private static hasComplianceMetadataOfType;
|
|
34
90
|
}
|
|
35
91
|
//# sourceMappingURL=JsonSchemaGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSchemaGenerator.d.ts","sourceRoot":"","sources":["../../schemas/JsonSchemaGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"JsonSchemaGenerator.d.ts","sourceRoot":"","sources":["../../schemas/JsonSchemaGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAA4B,UAAU,EAAE,MAAM,cAAc,CAAC;AAKpE;;GAEG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAGtC;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEnC;IAEH;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAWnD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,UAAU;IAmClG,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA2CrC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAiBnC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IASnC,OAAO,CAAC,MAAM,CAAC,WAAW;IAa1B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC,OAAO,CAAC,MAAM,CAAC,eAAe;IAK9B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAuBxC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAyB5C;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;CAG7C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import 'reflect-metadata';
|
|
4
|
-
import { ConceptAs, Guid } from '@cratis/fundamentals';
|
|
4
|
+
import { ConceptAs, Fields, Guid } from '@cratis/fundamentals';
|
|
5
5
|
import { TypeIntrospector } from '../types';
|
|
6
6
|
import { ComplianceMetadataResolver } from '../compliance/ComplianceMetadataResolver';
|
|
7
7
|
/**
|
|
@@ -41,12 +41,17 @@ export class JsonSchemaGenerator {
|
|
|
41
41
|
const schemaProperties = {};
|
|
42
42
|
const prototype = target.prototype;
|
|
43
43
|
for (const [memberName, memberType] of membersToUse.entries()) {
|
|
44
|
-
const propertySchema = this.mapRuntimeTypeToSchema(memberType);
|
|
44
|
+
const propertySchema = this.mapRuntimeTypeToSchema(memberType, target, memberName);
|
|
45
45
|
// Only include properties whose type was resolved. An empty schema ({}) means
|
|
46
46
|
// the runtime type was unavailable (e.g. esbuild/tsx omits design:paramtypes).
|
|
47
47
|
if (Object.keys(propertySchema).length > 0) {
|
|
48
|
-
//
|
|
49
|
-
|
|
48
|
+
// An array of concept elements resolves and applies its own item-level compliance
|
|
49
|
+
// inside mapRuntimeTypeToSchema - the general property/type/declaring-class walk
|
|
50
|
+
// below is skipped for it, mirroring the C# generator's enumerable-of-concept branch.
|
|
51
|
+
if (!this.isConceptArrayMember(target, memberName, memberType)) {
|
|
52
|
+
const metadata = this.collectComplianceMetadata(prototype, memberName, memberType);
|
|
53
|
+
this.addComplianceMetadataToSchema(propertySchema, metadata);
|
|
54
|
+
}
|
|
50
55
|
schemaProperties[memberName] = propertySchema;
|
|
51
56
|
}
|
|
52
57
|
}
|
|
@@ -62,7 +67,7 @@ export class JsonSchemaGenerator {
|
|
|
62
67
|
required: Object.keys(schemaProperties),
|
|
63
68
|
};
|
|
64
69
|
}
|
|
65
|
-
static mapRuntimeTypeToSchema(runtimeType) {
|
|
70
|
+
static mapRuntimeTypeToSchema(runtimeType, declaringType, propertyName) {
|
|
66
71
|
const knownTypeFormat = this.getKnownTypeFormat(runtimeType);
|
|
67
72
|
if (knownTypeFormat) {
|
|
68
73
|
return knownTypeFormat;
|
|
@@ -77,7 +82,7 @@ export class JsonSchemaGenerator {
|
|
|
77
82
|
return { type: 'boolean' };
|
|
78
83
|
}
|
|
79
84
|
if (runtimeType === Array) {
|
|
80
|
-
return
|
|
85
|
+
return this.mapArrayTypeToSchema(declaringType, propertyName);
|
|
81
86
|
}
|
|
82
87
|
if (!runtimeType) {
|
|
83
88
|
return {};
|
|
@@ -96,6 +101,56 @@ export class JsonSchemaGenerator {
|
|
|
96
101
|
}
|
|
97
102
|
return { type: 'object' };
|
|
98
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Maps an array-typed member to a schema, resolving the element type from a
|
|
106
|
+
* `@field(Array, { genericArguments: [ItemType] })` declaration when present.
|
|
107
|
+
* @param declaringType - The class constructor that declares the array property.
|
|
108
|
+
* @param propertyName - The array property name.
|
|
109
|
+
* @returns The array schema, with the element's own compliance metadata carried onto `items` when the element is a PII concept.
|
|
110
|
+
*/
|
|
111
|
+
static mapArrayTypeToSchema(declaringType, propertyName) {
|
|
112
|
+
const elementType = this.getArrayElementType(declaringType, propertyName);
|
|
113
|
+
// An array whose element is a ConceptAs<T> loses its classification the moment it is put in
|
|
114
|
+
// a list unless the element concept's own compliance metadata is carried onto the item schema -
|
|
115
|
+
// a value that would be encrypted as a scalar would otherwise be persisted in the clear as a
|
|
116
|
+
// list element. Mirrors the C# generator's explicit enumerable-of-concept branch.
|
|
117
|
+
if (elementType && this.isConceptAs(elementType)) {
|
|
118
|
+
const itemSchema = this.mapRuntimeTypeToSchema(elementType);
|
|
119
|
+
const metadata = ComplianceMetadataResolver.getMetadataForType(elementType);
|
|
120
|
+
this.addComplianceMetadataToSchema(itemSchema, metadata);
|
|
121
|
+
return { type: 'array', items: itemSchema };
|
|
122
|
+
}
|
|
123
|
+
return { type: 'array', items: { type: 'object' } };
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Resolves the element type of an array property from its `@field(Array, { genericArguments: [...] })`
|
|
127
|
+
* declaration. TypeScript erases generic type arguments at runtime, so without an explicit
|
|
128
|
+
* `@field` declaration the element type cannot be recovered.
|
|
129
|
+
* @param declaringType - The class constructor that declares the array property.
|
|
130
|
+
* @param propertyName - The array property name.
|
|
131
|
+
* @returns The element type constructor, or undefined when it cannot be resolved.
|
|
132
|
+
*/
|
|
133
|
+
static getArrayElementType(declaringType, propertyName) {
|
|
134
|
+
if (!declaringType || !propertyName) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
const field = Fields.getFieldsForType(declaringType).find(candidate => candidate.name === propertyName);
|
|
138
|
+
return field?.genericArguments?.[0];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Checks whether a member is an array whose element type is a ConceptAs<T>.
|
|
142
|
+
* @param declaringType - The class constructor that declares the property.
|
|
143
|
+
* @param propertyName - The property name.
|
|
144
|
+
* @param runtimeType - The member's reflected runtime type.
|
|
145
|
+
* @returns True when the member is an array of concept elements; false otherwise.
|
|
146
|
+
*/
|
|
147
|
+
static isConceptArrayMember(declaringType, propertyName, runtimeType) {
|
|
148
|
+
if (runtimeType !== Array) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
const elementType = this.getArrayElementType(declaringType, propertyName);
|
|
152
|
+
return elementType !== undefined && this.isConceptAs(elementType);
|
|
153
|
+
}
|
|
99
154
|
static isConceptAs(runtimeType) {
|
|
100
155
|
let current = runtimeType;
|
|
101
156
|
while (current && current !== Function.prototype) {
|
|
@@ -124,33 +179,82 @@ export class JsonSchemaGenerator {
|
|
|
124
179
|
return this._formatAliases.get(normalized) ?? normalized;
|
|
125
180
|
}
|
|
126
181
|
/**
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
* @param
|
|
130
|
-
* @param target - The class prototype.
|
|
182
|
+
* Collects compliance metadata for a property from every source C# resolves PII from: the
|
|
183
|
+
* property itself, its declaring class, and its own type (the concept case).
|
|
184
|
+
* @param target - The class prototype the property is declared on.
|
|
131
185
|
* @param propertyKey - The property name.
|
|
186
|
+
* @param propertyType - The property's runtime type, when resolved.
|
|
187
|
+
* @returns The collected compliance metadata, in property → declaring-class → type order.
|
|
132
188
|
*/
|
|
133
|
-
static
|
|
134
|
-
const
|
|
135
|
-
//
|
|
189
|
+
static collectComplianceMetadata(target, propertyKey, propertyType) {
|
|
190
|
+
const metadata = [];
|
|
191
|
+
// Property-level compliance decorator.
|
|
136
192
|
if (ComplianceMetadataResolver.hasMetadataFor(target, propertyKey)) {
|
|
137
|
-
|
|
138
|
-
complianceArray.push(...propertyMetadata.map(metadata => ({
|
|
139
|
-
metadataType: metadata.metadataType.value.toString(),
|
|
140
|
-
details: metadata.details
|
|
141
|
-
})));
|
|
193
|
+
metadata.push(...ComplianceMetadataResolver.getMetadataFor(target, propertyKey));
|
|
142
194
|
}
|
|
143
|
-
//
|
|
195
|
+
// Declaring class-level compliance decorator - a class-level @pii() marks every one of
|
|
196
|
+
// its own properties, the same way C#'s PIIMetadataProvider checks property.DeclaringType.
|
|
197
|
+
const declaringClass = target.constructor;
|
|
198
|
+
if (declaringClass) {
|
|
199
|
+
metadata.push(...ComplianceMetadataResolver.getMetadataForType(declaringClass));
|
|
200
|
+
}
|
|
201
|
+
// Type-level compliance decorator on the property's own type (e.g., @pii on a ConceptAs).
|
|
144
202
|
if (propertyType) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
203
|
+
metadata.push(...ComplianceMetadataResolver.getMetadataForType(propertyType));
|
|
204
|
+
}
|
|
205
|
+
return metadata;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Adds compliance metadata to a schema node, descending into an object's properties so that
|
|
209
|
+
* the metadata always lands on the leaves that actually hold a value.
|
|
210
|
+
* @param schema - The schema node to add to.
|
|
211
|
+
* @param metadata - The compliance metadata to add.
|
|
212
|
+
* @remarks
|
|
213
|
+
* A compliance marker can be declared on something that is not a single value: a `@pii()` on a
|
|
214
|
+
* composite value-object type, or on a property whose type is such an object. Compliance is
|
|
215
|
+
* applied per value, so leaving the marker on the container would make Chronicle hand the whole
|
|
216
|
+
* JSON object to the value handler and store one opaque ciphertext string where the schema still
|
|
217
|
+
* says "object". Releasing that gives back a string, not an object, and the read model then
|
|
218
|
+
* fails to materialize. Pushing the metadata down to every leaf keeps encryption symmetric with
|
|
219
|
+
* the release walk, keeps each value independently encrypted, and preserves the document shape.
|
|
220
|
+
*
|
|
221
|
+
* An array-typed node is deliberately left as a container: coarse compliance on a whole
|
|
222
|
+
* collection is an established, separately handled behavior (the collection is blob-encrypted
|
|
223
|
+
* and its shape restored on release).
|
|
224
|
+
*/
|
|
225
|
+
static addComplianceMetadataToSchema(schema, metadata) {
|
|
226
|
+
if (metadata.length === 0) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
if (schema.properties && Object.keys(schema.properties).length > 0) {
|
|
230
|
+
for (const propertySchema of Object.values(schema.properties)) {
|
|
231
|
+
this.addComplianceMetadataToSchema(propertySchema, metadata);
|
|
232
|
+
}
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
const compliance = schema.compliance ?? [];
|
|
236
|
+
for (const item of metadata) {
|
|
237
|
+
const metadataType = item.metadataType.value.toString();
|
|
238
|
+
if (!this.hasComplianceMetadataOfType(compliance, metadataType)) {
|
|
239
|
+
compliance.push({ metadataType, details: item.details });
|
|
240
|
+
}
|
|
150
241
|
}
|
|
151
|
-
if (
|
|
152
|
-
schema.compliance =
|
|
242
|
+
if (compliance.length > 0) {
|
|
243
|
+
schema.compliance = compliance;
|
|
153
244
|
}
|
|
154
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Checks whether a compliance array already carries metadata of a given type.
|
|
248
|
+
* @param compliance - The compliance array to check.
|
|
249
|
+
* @param metadataType - The metadata type to look for.
|
|
250
|
+
* @returns True when the metadata type is already present, false if not.
|
|
251
|
+
* @remarks
|
|
252
|
+
* A leaf can be reached by more than one marker — for example a `@pii()` concept inside a value
|
|
253
|
+
* object whose type is itself marked `@pii()`. Recording the same metadata type twice adds
|
|
254
|
+
* nothing and makes the generated schema noisier to read and to diff.
|
|
255
|
+
*/
|
|
256
|
+
static hasComplianceMetadataOfType(compliance, metadataType) {
|
|
257
|
+
return compliance.some(item => item.metadataType === metadataType);
|
|
258
|
+
}
|
|
155
259
|
}
|
|
156
260
|
//# sourceMappingURL=JsonSchemaGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSchemaGenerator.js","sourceRoot":"","sources":["../../schemas/JsonSchemaGenerator.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonSchemaGenerator.js","sourceRoot":"","sources":["../../schemas/JsonSchemaGenerator.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { JsonSchemaGenerator } from './JsonSchemaGenerator';
|
|
2
2
|
export { jsonSchemaProperty, getTrackedJsonSchemaProperties } from './jsonSchemaProperty';
|
|
3
|
-
export type { JsonSchema } from './JsonSchema';
|
|
3
|
+
export type { ComplianceSchemaMetadata, JsonSchema } from './JsonSchema';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../schemas/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../schemas/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAC1F,YAAY,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSeeding.d.ts","sourceRoot":"","sources":["../../seeding/EventSeeding.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"EventSeeding.d.ts","sourceRoot":"","sources":["../../seeding/EventSeeding.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAWxE;;;GAGG;AACH,qBAAa,YAAa,YAAW,aAAa;IAW1C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAZrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+E;IACvG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAE/C;;;;;OAKG;gBAEkB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,wBAAwB;IAG/D,kBAAkB;IAClB,GAAG,CAAC,MAAM,SAAS,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,oBAAoB;IAKjG,kBAAkB;IAClB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,oBAAoB;IAKrF,kBAAkB;IAClB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB,GAAG,yBAAyB;IAKpF,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/B,kBAAkB;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB/B,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAIzF,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,wBAAwB;CAYnC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { diag } from '@opentelemetry/api';
|
|
4
4
|
import { EventStoreNamespaceName } from '../EventStoreNamespaceName';
|
|
5
5
|
import { getEventTypeFor } from '../events/eventTypeDecorator';
|
|
6
|
+
import { getTagsFor } from '../events/tagDecorator';
|
|
6
7
|
/**
|
|
7
8
|
* Implements {@link IEventSeeding}, managing discovery and registration of event seeders
|
|
8
9
|
* with the Chronicle Kernel.
|
|
@@ -80,11 +81,12 @@ export class EventSeeding {
|
|
|
80
81
|
addEntries(eventSourceId, events, isGlobal, targetNamespace) {
|
|
81
82
|
for (const event of events) {
|
|
82
83
|
const eventType = getEventTypeFor(event.constructor);
|
|
84
|
+
const tags = getTagsFor(event.constructor).map(t => t.value);
|
|
83
85
|
this._entries.push({
|
|
84
86
|
eventSourceId,
|
|
85
87
|
eventTypeId: eventType.id.value,
|
|
86
88
|
content: JSON.stringify(event),
|
|
87
|
-
tags
|
|
89
|
+
tags,
|
|
88
90
|
isGlobal,
|
|
89
91
|
targetNamespace
|
|
90
92
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSeeding.js","sourceRoot":"","sources":["../../seeding/EventSeeding.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"EventSeeding.js","sourceRoot":"","sources":["../../seeding/EventSeeding.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAepD;;;GAGG;AACH,MAAM,OAAO,YAAY;IAWA;IACA;IACA;IAZJ,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,gCAAgC,EAAE,CAAC,CAAC;IACtF,QAAQ,GAAmB,EAAE,CAAC;IAE/C;;;;;OAKG;IACH,YACqB,eAAuB,EACvB,WAAgC,EAChC,gBAA0C;QAF1C,oBAAe,GAAf,eAAe,CAAQ;QACvB,gBAAW,GAAX,WAAW,CAAqB;QAChC,qBAAgB,GAAhB,gBAAgB,CAA0B;IAC5D,CAAC;IAEJ,kBAAkB;IAClB,GAAG,CAAwB,aAAqB,EAAE,MAAwB;QACtE,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,cAAc,CAAC,aAAqB,EAAE,MAAwB;QAC1D,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,YAAY,CAAC,SAA2C;QACpD,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;QACvH,OAAO,IAAI,wBAAwB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,IAAK,UAAuC,EAAE,CAAC;gBAC9D,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8DAA8D,EAAE;oBAC9E,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACvB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,QAAQ;QACV,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,4BAA4B,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAElI,MAAM,OAAO,GAAG;YACZ,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;YAC7D,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC;YACjE,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrG,SAAS,EAAE,aAAa;gBACxB,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBACjD,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;aACxD,CAAC,CAAC;SACN,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,aAAqB,EAAE,MAAwB,EAAE,eAAuB;QAC9E,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACnE,CAAC;IAEO,UAAU,CAAwB,aAAqB,EAAE,MAAwB,EAAE,QAAiB,EAAE,eAAuB;QACjI,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,WAAuB,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,WAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACf,aAAa;gBACb,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK;gBAC/B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC9B,IAAI;gBACJ,QAAQ;gBACR,eAAe;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,OAAO,CACX,MAAgB,EAChB,WAAoC;QAEpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,QAAQ,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,sBAAsB,CAAC,OAAuB;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7E,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC,CAAC;SACN,CAAC,CAAC,CAAC;IACR,CAAC;IAEO,wBAAwB,CAAC,OAAuB;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YACjF,aAAa,EAAE,aAAa;YAC5B,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;aACnB,CAAC,CAAC;SACN,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;AAED,MAAM,wBAAwB;IACG;IAAwC;IAArE,YAA6B,OAAqB,EAAmB,gBAAwB;QAAhE,YAAO,GAAP,OAAO,CAAc;QAAmB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAAG,CAAC;IAEjG,kBAAkB;IAClB,GAAG,CAAwB,aAAqB,EAAE,MAAwB;QACtE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kBAAkB;IAClB,cAAc,CAAC,aAAqB,EAAE,MAAwB;QAC1D,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|