@cratis/chronicle 3.1.1 → 5.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 +3 -3
- package/EventStore.ts +4 -4
- 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/ChronicleConnection.ts +6 -0
- package/connection/ChronicleServices.ts +2 -0
- package/connection/callResults.ts +23 -0
- package/dist/ChronicleClient.js +3 -3
- package/dist/ChronicleClient.js.map +1 -1
- package/dist/EventStore.js +4 -4
- 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/ChronicleConnection.d.ts +1 -0
- package/dist/connection/ChronicleConnection.d.ts.map +1 -1
- package/dist/connection/ChronicleConnection.js +5 -1
- package/dist/connection/ChronicleConnection.js.map +1 -1
- package/dist/connection/ChronicleServices.d.ts +2 -1
- package/dist/connection/ChronicleServices.d.ts.map +1 -1
- package/dist/connection/callResults.d.ts +13 -0
- package/dist/connection/callResults.d.ts.map +1 -1
- package/dist/connection/callResults.js +14 -0
- package/dist/connection/callResults.js.map +1 -1
- 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 +2 -2
- package/dist/eventSequences/EventSequence.d.ts.map +1 -1
- package/dist/eventSequences/EventSequence.js +56 -63
- 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/EventTypes.d.ts.map +1 -1
- package/dist/events/EventTypes.js +3 -2
- package/dist/events/EventTypes.js.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/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/Jobs.js +3 -3
- 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 +15 -13
- 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 +5 -2
- package/dist/seeding/EventSeeding.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/webhooks/Webhooks.d.ts.map +1 -1
- package/dist/webhooks/Webhooks.js +22 -10
- package/dist/webhooks/Webhooks.js.map +1 -1
- package/eventSequences/AppendOptions.ts +9 -0
- package/eventSequences/EventForEventSourceId.ts +9 -0
- package/eventSequences/EventSequence.spec.ts +83 -74
- package/eventSequences/EventSequence.ts +64 -69
- package/events/EventContext.ts +4 -0
- package/events/EventTypes.ts +3 -2
- package/events/Tag.ts +14 -0
- 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/Jobs.ts +3 -3
- package/observation/ObserverRunningState.ts +9 -18
- package/observation/index.ts +1 -0
- package/observation/toObserverRunningState.ts +27 -0
- package/package.json +9 -9
- 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 +15 -13
- 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 +5 -2
- package/webhooks/Webhooks.ts +24 -10
package/ChronicleClient.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { diag } from '@opentelemetry/api';
|
|
|
6
6
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
7
7
|
import { ChronicleOptions } from './ChronicleOptions';
|
|
8
8
|
import { ChronicleConnection } from './connection';
|
|
9
|
-
import { ensureCommandSuccess, ensureQuerySuccess
|
|
9
|
+
import { ensureCommandSuccess, ensureQuerySuccess } from './connection/callResults';
|
|
10
10
|
import { ConnectionLifecycle } from './connection/ConnectionLifecycle';
|
|
11
11
|
import { KernelKeepAlive } from './connection/KernelKeepAlive';
|
|
12
12
|
import { EventStore } from './EventStore';
|
|
@@ -168,9 +168,9 @@ export class ChronicleClient implements IChronicleClient {
|
|
|
168
168
|
try {
|
|
169
169
|
const response = await this.withReconnect('get_event_stores', async () => {
|
|
170
170
|
await this.ensureConnected();
|
|
171
|
-
return
|
|
171
|
+
return this._connection.eventStores.allEventStores({});
|
|
172
172
|
});
|
|
173
|
-
const result = ensureQuerySuccess('get event stores', response).map(
|
|
173
|
+
const result = ensureQuerySuccess('get event stores', response).map(eventStore => new EventStoreName(eventStore.Name));
|
|
174
174
|
this._logger.verbose('Retrieved event stores from kernel', {
|
|
175
175
|
count: result.length
|
|
176
176
|
});
|
package/EventStore.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { diag } from '@opentelemetry/api';
|
|
|
5
5
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
6
6
|
import { ChronicleConnection } from './connection';
|
|
7
7
|
import { ConnectionLifecycle } from './connection/ConnectionLifecycle';
|
|
8
|
-
import { ensureQuerySuccess
|
|
8
|
+
import { ensureQuerySuccess } from './connection/callResults';
|
|
9
9
|
import { EventLog } from './eventSequences/EventLog';
|
|
10
10
|
import { EventSequence } from './eventSequences/EventSequence';
|
|
11
11
|
import { EventSequenceId } from './eventSequences/EventSequenceId';
|
|
@@ -90,7 +90,7 @@ export class EventStore implements IEventStore {
|
|
|
90
90
|
const artifacts = DefaultClientArtifactsProvider.default;
|
|
91
91
|
this.eventTypes = new EventTypes(name.value, _connection, artifacts);
|
|
92
92
|
this.constraints = new Constraints(name.value, _connection, artifacts);
|
|
93
|
-
this.projections = new Projections(name.value, _connection, artifacts, defaultSinkTypeId);
|
|
93
|
+
this.projections = new Projections(name.value, namespace.value, _connection, artifacts, defaultSinkTypeId);
|
|
94
94
|
this.reactors = new Reactors(artifacts, _connection, name.value, namespace.value, lifecycle, this.eventLog);
|
|
95
95
|
this.reducers = new Reducers(artifacts, _connection, name.value, namespace.value, lifecycle, defaultSinkTypeId);
|
|
96
96
|
this.readModels = new ReadModels(name.value, namespace.value, _connection, artifacts, defaultSinkTypeId);
|
|
@@ -164,8 +164,8 @@ export class EventStore implements IEventStore {
|
|
|
164
164
|
return ChronicleTracer.startActiveSpan('chronicle.event_store.get_namespaces', async span => {
|
|
165
165
|
span.setAttribute('chronicle.event_store', this.name.value);
|
|
166
166
|
try {
|
|
167
|
-
const response = await
|
|
168
|
-
const result = ensureQuerySuccess('get namespaces', response).map(
|
|
167
|
+
const response = await this._connection.namespaces.allNamespaces({ EventStore: this.name.value });
|
|
168
|
+
const result = ensureQuerySuccess('get namespaces', response).map(namespace => new EventStoreNamespaceName(namespace.Name));
|
|
169
169
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
170
170
|
return result;
|
|
171
171
|
} catch (error) {
|
|
@@ -33,6 +33,16 @@ export interface DeleteEncryptionKeyRequest {
|
|
|
33
33
|
Identifier: string;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* Request to authorize a new encryption key for a PII encryption key identifier whose key was
|
|
38
|
+
* previously erased, so a later lawful lifecycle can protect their data again.
|
|
39
|
+
*/
|
|
40
|
+
export interface AllowNewEncryptionKeyRequest {
|
|
41
|
+
EventStore: string;
|
|
42
|
+
Namespace: string;
|
|
43
|
+
Identifier: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
36
46
|
/**
|
|
37
47
|
* An empty protobuf message.
|
|
38
48
|
*/
|
|
@@ -49,6 +59,7 @@ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<
|
|
|
49
59
|
export interface ComplianceClient<CallOptionsExt = {}> {
|
|
50
60
|
release(request: DeepPartial<ReleaseRequest>, options?: CallOptions & CallOptionsExt): Promise<ReleaseResponse>;
|
|
51
61
|
deleteEncryptionKey(request: DeepPartial<DeleteEncryptionKeyRequest>, options?: CallOptions & CallOptionsExt): Promise<Empty>;
|
|
62
|
+
allowNewEncryptionKey(request: DeepPartial<AllowNewEncryptionKeyRequest>, options?: CallOptions & CallOptionsExt): Promise<Empty>;
|
|
52
63
|
}
|
|
53
64
|
|
|
54
65
|
export const ReleaseRequest = {
|
|
@@ -181,6 +192,46 @@ export const DeleteEncryptionKeyRequest = {
|
|
|
181
192
|
}
|
|
182
193
|
};
|
|
183
194
|
|
|
195
|
+
export const AllowNewEncryptionKeyRequest = {
|
|
196
|
+
encode(message: AllowNewEncryptionKeyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
197
|
+
if (message.EventStore !== '') {
|
|
198
|
+
writer.uint32(10).string(message.EventStore);
|
|
199
|
+
}
|
|
200
|
+
if (message.Namespace !== '') {
|
|
201
|
+
writer.uint32(18).string(message.Namespace);
|
|
202
|
+
}
|
|
203
|
+
if (message.Identifier !== '') {
|
|
204
|
+
writer.uint32(26).string(message.Identifier);
|
|
205
|
+
}
|
|
206
|
+
return writer;
|
|
207
|
+
},
|
|
208
|
+
|
|
209
|
+
decode(input: BinaryReader | Uint8Array, length?: number): AllowNewEncryptionKeyRequest {
|
|
210
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
211
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
212
|
+
const message: AllowNewEncryptionKeyRequest = { EventStore: '', Namespace: '', Identifier: '' };
|
|
213
|
+
while (reader.pos < end) {
|
|
214
|
+
const tag = reader.uint32();
|
|
215
|
+
switch (tag >>> 3) {
|
|
216
|
+
case 1: message.EventStore = reader.string(); continue;
|
|
217
|
+
case 2: message.Namespace = reader.string(); continue;
|
|
218
|
+
case 3: message.Identifier = reader.string(); continue;
|
|
219
|
+
}
|
|
220
|
+
if ((tag & 7) === 4 || tag === 0) break;
|
|
221
|
+
reader.skip(tag & 7);
|
|
222
|
+
}
|
|
223
|
+
return message;
|
|
224
|
+
},
|
|
225
|
+
|
|
226
|
+
fromPartial(object: DeepPartial<AllowNewEncryptionKeyRequest>): AllowNewEncryptionKeyRequest {
|
|
227
|
+
return {
|
|
228
|
+
EventStore: object.EventStore ?? '',
|
|
229
|
+
Namespace: object.Namespace ?? '',
|
|
230
|
+
Identifier: object.Identifier ?? ''
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
|
|
184
235
|
export const Empty = {
|
|
185
236
|
encode(_: Empty, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
186
237
|
return writer;
|
|
@@ -224,6 +275,14 @@ export const ComplianceDefinition = {
|
|
|
224
275
|
responseType: Empty,
|
|
225
276
|
responseStream: false as const,
|
|
226
277
|
options: {}
|
|
278
|
+
},
|
|
279
|
+
allowNewEncryptionKey: {
|
|
280
|
+
name: 'AllowNewEncryptionKey',
|
|
281
|
+
requestType: AllowNewEncryptionKeyRequest,
|
|
282
|
+
requestStream: false as const,
|
|
283
|
+
responseType: Empty,
|
|
284
|
+
responseStream: false as const,
|
|
285
|
+
options: {}
|
|
227
286
|
}
|
|
228
287
|
}
|
|
229
288
|
} as const;
|
|
@@ -14,4 +14,16 @@ export interface IPIIManager {
|
|
|
14
14
|
* this operation cannot be undone.
|
|
15
15
|
*/
|
|
16
16
|
deleteEncryptionKey(identifier: string): Promise<void>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Authorizes a new encryption key for a PII encryption key identifier whose key was previously
|
|
20
|
+
* erased, so a later lawful lifecycle can protect their data again.
|
|
21
|
+
* @param identifier - The identifier of the encryption key to authorize a new key for.
|
|
22
|
+
* @remarks
|
|
23
|
+
* Erasing an identifier removes the key that exists now; it does not ban the identifier
|
|
24
|
+
* forever. This creates no key - it lets the next PII value written for the identifier
|
|
25
|
+
* provision a fresh, independent one, which can decrypt nothing written before the erasure.
|
|
26
|
+
* The erased key itself never comes back, whatever else happens.
|
|
27
|
+
*/
|
|
28
|
+
allowNewEncryptionKeyFor(identifier: string): Promise<void>;
|
|
17
29
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
5
|
+
import { ChronicleConnection } from '../connection';
|
|
6
|
+
import { PIIManager } from './PIIManager';
|
|
7
|
+
|
|
8
|
+
function createPIIManager() {
|
|
9
|
+
const deleteEncryptionKeyMock = vi.fn().mockResolvedValue(undefined);
|
|
10
|
+
const allowNewEncryptionKeyMock = vi.fn().mockResolvedValue(undefined);
|
|
11
|
+
const connection = {
|
|
12
|
+
compliance: {
|
|
13
|
+
deleteEncryptionKey: deleteEncryptionKeyMock,
|
|
14
|
+
allowNewEncryptionKey: allowNewEncryptionKeyMock
|
|
15
|
+
}
|
|
16
|
+
} as unknown as ChronicleConnection;
|
|
17
|
+
|
|
18
|
+
const manager = new PIIManager('test-store', 'test-namespace', connection);
|
|
19
|
+
return { manager, deleteEncryptionKeyMock, allowNewEncryptionKeyMock };
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
describe('PIIManager', () => {
|
|
23
|
+
describe('when deleting an encryption key', () => {
|
|
24
|
+
it('should call the compliance service with the event store, namespace, and identifier', async () => {
|
|
25
|
+
const { manager, deleteEncryptionKeyMock } = createPIIManager();
|
|
26
|
+
|
|
27
|
+
await manager.deleteEncryptionKey('some-subject');
|
|
28
|
+
|
|
29
|
+
expect(deleteEncryptionKeyMock).toHaveBeenCalledWith({
|
|
30
|
+
EventStore: 'test-store',
|
|
31
|
+
Namespace: 'test-namespace',
|
|
32
|
+
Identifier: 'some-subject'
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
describe('when allowing a new encryption key', () => {
|
|
38
|
+
it('should call the compliance service with the event store, namespace, and identifier', async () => {
|
|
39
|
+
const { manager, allowNewEncryptionKeyMock } = createPIIManager();
|
|
40
|
+
|
|
41
|
+
await manager.allowNewEncryptionKeyFor('some-subject');
|
|
42
|
+
|
|
43
|
+
expect(allowNewEncryptionKeyMock).toHaveBeenCalledWith({
|
|
44
|
+
EventStore: 'test-store',
|
|
45
|
+
Namespace: 'test-namespace',
|
|
46
|
+
Identifier: 'some-subject'
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
package/compliance/PIIManager.ts
CHANGED
|
@@ -28,4 +28,13 @@ export class PIIManager implements IPIIManager {
|
|
|
28
28
|
Identifier: identifier
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
/** @inheritdoc */
|
|
33
|
+
async allowNewEncryptionKeyFor(identifier: string): Promise<void> {
|
|
34
|
+
await this._connection.compliance.allowNewEncryptionKey({
|
|
35
|
+
EventStore: this._eventStore,
|
|
36
|
+
Namespace: this._namespace,
|
|
37
|
+
Identifier: identifier
|
|
38
|
+
});
|
|
39
|
+
}
|
|
31
40
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Error thrown when the {@link pii} decorator is applied to the `eventSourceId` property.
|
|
6
|
+
*/
|
|
7
|
+
export class PIINotSupportedOnEventSourceId extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* Initializes a new instance of the {@link PIINotSupportedOnEventSourceId} class.
|
|
10
|
+
* @param typeName - The name of the type the decorator was applied to.
|
|
11
|
+
*/
|
|
12
|
+
constructor(typeName: string) {
|
|
13
|
+
super(
|
|
14
|
+
`The @pii() decorator cannot be applied to 'eventSourceId' on '${typeName}' because it is the event ` +
|
|
15
|
+
'source identifier. Event source identifiers cannot be encrypted as they are required for event ' +
|
|
16
|
+
'correlation. If the identifier itself is sensitive, use a non-sensitive surrogate value as the event ' +
|
|
17
|
+
'source identifier and store the sensitive value in a separate property marked with @pii().'
|
|
18
|
+
);
|
|
19
|
+
this.name = 'PIINotSupportedOnEventSourceId';
|
|
20
|
+
}
|
|
21
|
+
}
|
package/compliance/index.ts
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
export { ComplianceMetadataType } from './ComplianceMetadataType';
|
|
5
5
|
export type { ComplianceMetadata } from './ComplianceMetadata';
|
|
6
6
|
export { pii, getPIIMetadata, hasPIIMetadata, getTypePIIMetadata, isPII } from './pii';
|
|
7
|
+
export { subject, hasSubjectMetadata, getSubjectPropertyName } from './subject';
|
|
8
|
+
export { PIINotSupportedOnEventSourceId } from './PIINotSupportedOnEventSourceId';
|
|
7
9
|
export { ComplianceMetadataResolver } from './ComplianceMetadataResolver';
|
|
8
10
|
export type { IPIIManager } from './IPIIManager';
|
|
9
11
|
export { PIIManager } from './PIIManager';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import 'reflect-metadata';
|
|
5
|
+
import { describe, expect, it } from 'vitest';
|
|
6
|
+
import { pii } from './pii';
|
|
7
|
+
import { PIINotSupportedOnEventSourceId } from './PIINotSupportedOnEventSourceId';
|
|
8
|
+
|
|
9
|
+
// Decorators are applied as plain function calls (rather than `@decorator` syntax) so these
|
|
10
|
+
// fixtures don't depend on the test runner's decorator-syntax support.
|
|
11
|
+
|
|
12
|
+
describe('pii', () => {
|
|
13
|
+
describe('when applied to the eventSourceId property', () => {
|
|
14
|
+
class SomeEvent {
|
|
15
|
+
eventSourceId = '';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
it('should throw PIINotSupportedOnEventSourceId', () => {
|
|
19
|
+
expect(() => pii()(SomeEvent.prototype, 'eventSourceId')).toThrow(PIINotSupportedOnEventSourceId);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should describe why the property cannot be encrypted', () => {
|
|
23
|
+
expect(() => pii()(SomeEvent.prototype, 'eventSourceId')).toThrow(/event source identifier/);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
describe('when applied to any other property', () => {
|
|
28
|
+
class SomeEvent {
|
|
29
|
+
eventSourceId = '';
|
|
30
|
+
name = '';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
it('should not throw', () => {
|
|
34
|
+
expect(() => pii()(SomeEvent.prototype, 'name')).not.toThrow();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
});
|
package/compliance/pii.ts
CHANGED
|
@@ -4,8 +4,12 @@
|
|
|
4
4
|
import 'reflect-metadata';
|
|
5
5
|
import type { ComplianceMetadata } from './ComplianceMetadata';
|
|
6
6
|
import { ComplianceMetadataType } from './ComplianceMetadataType';
|
|
7
|
+
import { PIINotSupportedOnEventSourceId } from './PIINotSupportedOnEventSourceId';
|
|
7
8
|
import { TypeIntrospector } from '../types';
|
|
8
9
|
|
|
10
|
+
/** The property name this client uses everywhere for the event source identifier. */
|
|
11
|
+
const EVENT_SOURCE_ID_PROPERTY = 'eventSourceId';
|
|
12
|
+
|
|
9
13
|
/** Metadata key for PII decorator on properties. */
|
|
10
14
|
const PII_PROPERTY_METADATA_KEY = 'chronicle:compliance:pii:property';
|
|
11
15
|
|
|
@@ -66,7 +70,18 @@ export function pii(details?: string): PropertyDecorator & ClassDecorator {
|
|
|
66
70
|
// Property decorator usage
|
|
67
71
|
if (propertyKey !== undefined) {
|
|
68
72
|
const key = propertyKey.toString();
|
|
69
|
-
|
|
73
|
+
const declaringType = (target as { constructor: Function }).constructor;
|
|
74
|
+
|
|
75
|
+
// Encrypting the event source identifier would make its own decryption key
|
|
76
|
+
// unfindable - the identifier is required, in the clear, to correlate events and
|
|
77
|
+
// look up the key that protects everything else. Mirrors C#'s
|
|
78
|
+
// PIINotSupportedOnEventSourceId guard, which throws for the same reason when
|
|
79
|
+
// [PII] is applied to an EventSourceId/EventSourceId<T> type.
|
|
80
|
+
if (key === EVENT_SOURCE_ID_PROPERTY) {
|
|
81
|
+
throw new PIINotSupportedOnEventSourceId(declaringType.name);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
TypeIntrospector.trackProperty(declaringType, key);
|
|
70
85
|
const metadata: ComplianceMetadata = {
|
|
71
86
|
metadataType: ComplianceMetadataType.PII,
|
|
72
87
|
details: details ?? ''
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import 'reflect-metadata';
|
|
5
|
+
import { describe, expect, it } from 'vitest';
|
|
6
|
+
import { getSubjectPropertyName, hasSubjectMetadata, subject } from './subject';
|
|
7
|
+
|
|
8
|
+
// Decorators are applied as plain function calls (rather than `@decorator` syntax) so these
|
|
9
|
+
// fixtures don't depend on the test runner's decorator-syntax support.
|
|
10
|
+
|
|
11
|
+
describe('subject', () => {
|
|
12
|
+
describe('when applied to a property', () => {
|
|
13
|
+
class SomeReadModel {
|
|
14
|
+
personId = '';
|
|
15
|
+
name = '';
|
|
16
|
+
}
|
|
17
|
+
subject()(SomeReadModel.prototype, 'personId');
|
|
18
|
+
|
|
19
|
+
it('should mark the decorated property with subject metadata', () => {
|
|
20
|
+
expect(hasSubjectMetadata(SomeReadModel.prototype, 'personId')).toBe(true);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should leave other properties without subject metadata', () => {
|
|
24
|
+
expect(hasSubjectMetadata(SomeReadModel.prototype, 'name')).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('should record the decorated property name on the declaring type', () => {
|
|
28
|
+
expect(getSubjectPropertyName(SomeReadModel)).toBe('personId');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe('when no property is decorated', () => {
|
|
33
|
+
class PlainReadModel {
|
|
34
|
+
id = '';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
it('should not record a subject property on the declaring type', () => {
|
|
38
|
+
expect(getSubjectPropertyName(PlainReadModel)).toBeUndefined();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('should report no subject metadata for its properties', () => {
|
|
42
|
+
expect(hasSubjectMetadata(PlainReadModel.prototype, 'id')).toBe(false);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Copyright (c) Cratis. All rights reserved.
|
|
2
|
+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
+
|
|
4
|
+
import 'reflect-metadata';
|
|
5
|
+
import { TypeIntrospector } from '../types';
|
|
6
|
+
|
|
7
|
+
/** Metadata key for the subject decorator on a property. */
|
|
8
|
+
const SUBJECT_PROPERTY_METADATA_KEY = 'chronicle:compliance:subject:property';
|
|
9
|
+
|
|
10
|
+
/** Metadata key for the name of the subject property recorded on the declaring type. */
|
|
11
|
+
const SUBJECT_TYPE_METADATA_KEY = 'chronicle:compliance:subject:type';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Decorator that marks a property as the compliance subject - the natural person whose Personal
|
|
15
|
+
* Identifiable Information (PII) a read model or event carries. The subject selects which
|
|
16
|
+
* encryption key protects that PII, and which key a manual release operation must use.
|
|
17
|
+
*
|
|
18
|
+
* Mirrors the .NET client's `SubjectAttribute`. When no property is decorated, resolvers fall
|
|
19
|
+
* back to the `id` property by convention, so read models that predate this decorator keep
|
|
20
|
+
* working unchanged.
|
|
21
|
+
*
|
|
22
|
+
* @returns A property decorator.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* @readModel()
|
|
27
|
+
* class Employee {
|
|
28
|
+
* @subject()
|
|
29
|
+
* personId: string = '';
|
|
30
|
+
*
|
|
31
|
+
* @pii('Employee social security number')
|
|
32
|
+
* ssn: string = '';
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function subject(): PropertyDecorator {
|
|
37
|
+
return (target: object, propertyKey: string | symbol) => {
|
|
38
|
+
const key = propertyKey.toString();
|
|
39
|
+
const declaringType = (target as { constructor: Function }).constructor;
|
|
40
|
+
|
|
41
|
+
TypeIntrospector.trackProperty(declaringType, key);
|
|
42
|
+
Reflect.defineMetadata(SUBJECT_PROPERTY_METADATA_KEY, true, target, key);
|
|
43
|
+
Reflect.defineMetadata(SUBJECT_TYPE_METADATA_KEY, key, declaringType);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Checks whether a property has been decorated with @subject.
|
|
49
|
+
* @param target - The class prototype.
|
|
50
|
+
* @param propertyKey - The property name.
|
|
51
|
+
* @returns True if the property has the @subject decorator; false otherwise.
|
|
52
|
+
*/
|
|
53
|
+
export function hasSubjectMetadata(target: object, propertyKey: string): boolean {
|
|
54
|
+
return Reflect.hasMetadata(SUBJECT_PROPERTY_METADATA_KEY, target, propertyKey);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Gets the name of the property decorated with @subject on a type, if any.
|
|
59
|
+
* @param type - The type constructor to inspect.
|
|
60
|
+
* @returns The decorated property name, or undefined when no property is decorated.
|
|
61
|
+
*/
|
|
62
|
+
export function getSubjectPropertyName(type: Function): string | undefined {
|
|
63
|
+
return Reflect.getMetadata(SUBJECT_TYPE_METADATA_KEY, type);
|
|
64
|
+
}
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
ObserversDefinition,
|
|
18
18
|
ProjectionsDefinition,
|
|
19
19
|
ReactorsDefinition,
|
|
20
|
+
ReadModelExplorerDefinition,
|
|
20
21
|
ReadModelsDefinition,
|
|
21
22
|
RecommendationsDefinition,
|
|
22
23
|
ReducersDefinition,
|
|
@@ -184,6 +185,10 @@ export class ChronicleConnection implements ChronicleServices {
|
|
|
184
185
|
return this._services.readModels;
|
|
185
186
|
}
|
|
186
187
|
|
|
188
|
+
get readModelExplorer() {
|
|
189
|
+
return this._services.readModelExplorer;
|
|
190
|
+
}
|
|
191
|
+
|
|
187
192
|
get materializedReadModels() {
|
|
188
193
|
return this._services.materializedReadModels;
|
|
189
194
|
}
|
|
@@ -286,6 +291,7 @@ export class ChronicleConnection implements ChronicleServices {
|
|
|
286
291
|
reducers: factory.create(ReducersDefinition, this._channel),
|
|
287
292
|
projections: factory.create(ProjectionsDefinition, this._channel),
|
|
288
293
|
readModels: factory.create(ReadModelsDefinition, this._channel),
|
|
294
|
+
readModelExplorer: factory.create(ReadModelExplorerDefinition, this._channel),
|
|
289
295
|
materializedReadModels: factory.create(MaterializedReadModelsDefinition, this._channel),
|
|
290
296
|
jobs: factory.create(JobsDefinition, this._channel),
|
|
291
297
|
webhooks: factory.create(WebhooksDefinition, this._channel),
|
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
ObserversClient,
|
|
16
16
|
ProjectionsClient,
|
|
17
17
|
ReactorsClient,
|
|
18
|
+
ReadModelExplorerClient,
|
|
18
19
|
ReadModelsClient,
|
|
19
20
|
RecommendationsClient,
|
|
20
21
|
ReducersClient,
|
|
@@ -43,6 +44,7 @@ export interface ChronicleServices {
|
|
|
43
44
|
reducers: ReducersClient;
|
|
44
45
|
projections: ProjectionsClient;
|
|
45
46
|
readModels: ReadModelsClient;
|
|
47
|
+
readModelExplorer: ReadModelExplorerClient;
|
|
46
48
|
materializedReadModels: MaterializedReadModelsClient;
|
|
47
49
|
jobs: JobsClient;
|
|
48
50
|
webhooks: WebhooksClient;
|
|
@@ -32,6 +32,13 @@ export interface QueryResultLike<TData> extends CallResultLike {
|
|
|
32
32
|
Data: TData;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Structural shape shared by every Chronicle command result envelope that carries a response payload.
|
|
37
|
+
*/
|
|
38
|
+
export interface CommandResultLike<TResponse> extends CallResultLike {
|
|
39
|
+
Response: TResponse | undefined;
|
|
40
|
+
}
|
|
41
|
+
|
|
35
42
|
/**
|
|
36
43
|
* Error thrown when a Chronicle command or query did not succeed.
|
|
37
44
|
*/
|
|
@@ -81,6 +88,22 @@ export function ensureCommandSuccess(operation: string, result: CallResultLike):
|
|
|
81
88
|
}
|
|
82
89
|
}
|
|
83
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Ensures a Chronicle command executed successfully, returning its response or throwing when it did not.
|
|
93
|
+
* @param operation - The operation the result belongs to, used for error reporting.
|
|
94
|
+
* @param result - The command result envelope returned by the kernel.
|
|
95
|
+
* @returns The response produced by the command.
|
|
96
|
+
*/
|
|
97
|
+
export function ensureCommandResponse<TResponse>(operation: string, result: CommandResultLike<TResponse>): TResponse {
|
|
98
|
+
if (!isCallSuccess(result)) {
|
|
99
|
+
throw new ChronicleCallFailed(operation, result);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// A successful command result always carries its response; the wire type marks it optional
|
|
103
|
+
// only because protobuf gives every singular message field a technically-absent state.
|
|
104
|
+
return result.Response!;
|
|
105
|
+
}
|
|
106
|
+
|
|
84
107
|
/**
|
|
85
108
|
* Ensures a Chronicle query executed successfully, returning its data or throwing when it did not.
|
|
86
109
|
* @param operation - The operation the result belongs to, used for error reporting.
|
package/dist/ChronicleClient.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as os from 'os';
|
|
|
4
4
|
import { diag } from '@opentelemetry/api';
|
|
5
5
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
6
6
|
import { ChronicleConnection } from './connection';
|
|
7
|
-
import { ensureCommandSuccess, ensureQuerySuccess
|
|
7
|
+
import { ensureCommandSuccess, ensureQuerySuccess } from './connection/callResults';
|
|
8
8
|
import { ConnectionLifecycle } from './connection/ConnectionLifecycle';
|
|
9
9
|
import { KernelKeepAlive } from './connection/KernelKeepAlive';
|
|
10
10
|
import { EventStore } from './EventStore';
|
|
@@ -148,9 +148,9 @@ export class ChronicleClient {
|
|
|
148
148
|
try {
|
|
149
149
|
const response = await this.withReconnect('get_event_stores', async () => {
|
|
150
150
|
await this.ensureConnected();
|
|
151
|
-
return
|
|
151
|
+
return this._connection.eventStores.allEventStores({});
|
|
152
152
|
});
|
|
153
|
-
const result = ensureQuerySuccess('get event stores', response).map(
|
|
153
|
+
const result = ensureQuerySuccess('get event stores', response).map(eventStore => new EventStoreName(eventStore.Name));
|
|
154
154
|
this._logger.verbose('Retrieved event stores from kernel', {
|
|
155
155
|
count: result.length
|
|
156
156
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChronicleClient.js","sourceRoot":"","sources":["../ChronicleClient.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAwBH;IAvBb,MAAM,CAAU,sBAAsB,GAAG,IAAI,CAAC;IAC9C,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC;IAE9B,WAAW,CAAsB;IACjC,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAC;IAC7C,UAAU,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEvC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC;QAClD,SAAS,EAAE,mCAAmC;KACjD,CAAC,CAAC;IAEK,eAAe,CAAkC;IACjD,iBAAiB,CAAiB;IAClC,mBAAmB,CAAiB;IACpC,mBAAmB,CAAiB;IACpC,WAAW,GAAG,KAAK,CAAC;IACpB,yBAAyB,CAAmB;IAC5C,oBAAoB,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,YAAqB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;QAC1C,sEAAsE;QACtE,6EAA6E;QAC7E,yEAAyE;QACzE,8EAA8E;QAC9E,sCAAsC;QACtC,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,UAAU;YACzD,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE;YAC3G,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC1C,aAAa,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE;YAC9G,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,UAAU;SAClD,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YACtF,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;YACnC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,6EAA6E,EAAE;oBAC9F,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;iBAC7C,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+EAA+E,EAAE;gBAC/F,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;gBAC1C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;aACrC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACnD,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;aAC7C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,aAAa,CAAC,IAA6B,EAAE,SAA4C;QAC3F,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7E,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS;YACzC,CAAC,CAAC,uBAAuB,CAAC,OAAO;YACjC,CAAC,CAAC,OAAO,SAAS,KAAK,QAAQ;gBAC3B,CAAC,CAAC,IAAI,uBAAuB,CAAC,SAAS,CAAC;gBACxC,CAAC,CAAC,SAAS,CAAC;QAEpB,OAAO,eAAe,CAAC,eAAe,CAAC,kCAAkC,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACpF,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;oBACjE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBAE7B,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,EAAE;4BACjD,UAAU,EAAE,SAAS,CAAC,KAAK;4BAC3B,SAAS,EAAE,aAAa,CAAC,KAAK;yBACjC,CAAC,CAAC;wBACH,OAAO,QAAQ,CAAC;oBACpB,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE;wBACxD,UAAU,EAAE,SAAS,CAAC,KAAK;qBAC9B,CAAC,CAAC;oBACH,oBAAoB,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAE3H,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAC5H,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBAE/B,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAC3D,OAAO,OAAO,CAAC;gBACnB,CAAC,CAAC,CAAC;gBAEH,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE;oBACzC,uBAAuB,EAAE,SAAS,CAAC,KAAK;oBACxC,qBAAqB,EAAE,aAAa,CAAC,KAAK;iBAC7C,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,KAAK,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBAC7C,UAAU,EAAE,SAAS,CAAC,KAAK;oBAC3B,SAAS,EAAE,aAAa,CAAC,KAAK;oBAC9B,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;iBACpC,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,cAAc;QAChB,OAAO,eAAe,CAAC,eAAe,CAAC,mCAAmC,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACrF,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;oBACrE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7B,OAAO,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjG,CAAC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,kBAAkB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,EAAE;oBACvD,KAAK,EAAE,MAAM,CAAC,MAAM;iBACvB,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBACjD,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;iBACpC,CAAC,CAAC;gBACH,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB;IAClB,OAAO;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE;oBACxE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;iBACpC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,2EAA2E;gBAC3E,6EAA6E;gBAC7E,0EAA0E;gBAC1E,6EAA6E;gBAC7E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,yEAAyE;gBACzE,sEAAsE;gBACtE,4BAA4B;gBAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAEtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;gBAE/E,sEAAsE;gBACtE,sEAAsE;gBACtE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAE1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE;wBACtD,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;qBACpC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,OAAO;YAGX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qCAAqC,EAAE,KAAK,CAAC,CAAC;gBAC1F,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5F,CAAC;QACL,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;IAEO,KAAK,CAAC,eAAe;QACzB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1D,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACvC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,KAAc;QAClD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE;oBAClD,MAAM;oBACN,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;iBACpC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE;wBACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE;4BACzD,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;yBAC9C,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;wBACtC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC1F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC/E,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAClC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;4BAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE;gCACtE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;6BAC7C,CAAC,CAAC;wBACP,CAAC,CAAC,CAAC;wBACH,OAAO;oBACX,CAAC;oBAAC,OAAO,cAAc,EAAE,CAAC;wBACtB,OAAO,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oCAAoC,EAAE,cAAc,CAAC,CAAC;oBACtF,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACzC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAe,EAAE,KAAc;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YACvB,OAAO;YACP,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAI,SAAiB,EAAE,MAAwB;QACtE,IAAI,CAAC;YACD,OAAO,MAAM,MAAM,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YAChB,CAAC;YAED,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,MAAM,EAAE,CAAC;QACpB,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,KAAc;QAClC,MAAM,IAAI,GAAG,MAAM,CAAE,KAA2B,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,CAAE,KAA8B,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,oBAAoB,GAAG;YACzB,mBAAmB;YACnB,aAAa;YACb,YAAY;YACZ,cAAc;YACd,SAAS;YACT,QAAQ;YACR,cAAc;YACd,WAAW;SACd,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;IAEO,cAAc,CAAC,KAAc;QACjC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAE3C,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,uEAAuE;QACvE,yEAAyE;QACzE,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAChF,OAAO;QACX,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACtC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAC9B,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,yBAAyB,GAAG,IAAI,eAAe,EAAE,CAAC;QACvD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAElD,oEAAoE;QACpE,mEAAmE;QACnE,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAClF,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrC,OAAO;YACX,CAAC;YAED,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,KAAK,CACjB;YACI,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;YAC1C,0EAA0E;YAC1E,wEAAwE;YACxE,aAAa,EAAE,OAAO;YACtB,qBAAqB,EAAE,KAAK;YAC5B,SAAS,EAAE,OAAO,CAAC,GAAG;YACtB,WAAW,EAAE,OAAO,CAAC,QAAQ;YAC7B,WAAW,EAAE,EAAE,CAAC,QAAQ,EAAE;YAC1B,UAAU,EAAE,YAAY;SAC3B,EACD,MAAM,CACT,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE;YACpE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;SAC7C,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,KAAiB,EAAE,MAAc;QACrE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE;YACxD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;YAChC,MAAM;SACT,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,mBAAmB,CAAC;QACnC,CAAC;QAED,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE;YACtD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;YAChC,MAAM;SACT,CAAC,CAAC;IACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"ChronicleClient.js","sourceRoot":"","sources":["../ChronicleClient.ts"],"names":[],"mappings":"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"}
|
package/dist/EventStore.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
import { diag } from '@opentelemetry/api';
|
|
4
4
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
5
|
-
import { ensureQuerySuccess
|
|
5
|
+
import { ensureQuerySuccess } from './connection/callResults';
|
|
6
6
|
import { EventLog } from './eventSequences/EventLog';
|
|
7
7
|
import { EventSequence } from './eventSequences/EventSequence';
|
|
8
8
|
import { EventSequenceId } from './eventSequences/EventSequenceId';
|
|
@@ -62,7 +62,7 @@ export class EventStore {
|
|
|
62
62
|
const artifacts = DefaultClientArtifactsProvider.default;
|
|
63
63
|
this.eventTypes = new EventTypes(name.value, _connection, artifacts);
|
|
64
64
|
this.constraints = new Constraints(name.value, _connection, artifacts);
|
|
65
|
-
this.projections = new Projections(name.value, _connection, artifacts, defaultSinkTypeId);
|
|
65
|
+
this.projections = new Projections(name.value, namespace.value, _connection, artifacts, defaultSinkTypeId);
|
|
66
66
|
this.reactors = new Reactors(artifacts, _connection, name.value, namespace.value, lifecycle, this.eventLog);
|
|
67
67
|
this.reducers = new Reducers(artifacts, _connection, name.value, namespace.value, lifecycle, defaultSinkTypeId);
|
|
68
68
|
this.readModels = new ReadModels(name.value, namespace.value, _connection, artifacts, defaultSinkTypeId);
|
|
@@ -127,8 +127,8 @@ export class EventStore {
|
|
|
127
127
|
return ChronicleTracer.startActiveSpan('chronicle.event_store.get_namespaces', async (span) => {
|
|
128
128
|
span.setAttribute('chronicle.event_store', this.name.value);
|
|
129
129
|
try {
|
|
130
|
-
const response = await
|
|
131
|
-
const result = ensureQuerySuccess('get namespaces', response).map(
|
|
130
|
+
const response = await this._connection.namespaces.allNamespaces({ EventStore: this.name.value });
|
|
131
|
+
const result = ensureQuerySuccess('get namespaces', response).map(namespace => new EventStoreNamespaceName(namespace.Name));
|
|
132
132
|
span.setStatus({ code: SpanStatusCode.OK });
|
|
133
133
|
return result;
|
|
134
134
|
}
|