@kronos-ts/kronosdb 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connection.d.ts +86 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +133 -0
- package/dist/connection.js.map +1 -0
- package/dist/errors.d.ts +72 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +149 -0
- package/dist/errors.js.map +1 -0
- package/dist/event-processor-info.d.ts +32 -0
- package/dist/event-processor-info.d.ts.map +1 -0
- package/dist/event-processor-info.js +24 -0
- package/dist/event-processor-info.js.map +1 -0
- package/dist/flow-controlled-sender.d.ts +12 -0
- package/dist/flow-controlled-sender.d.ts.map +1 -0
- package/dist/flow-controlled-sender.js +53 -0
- package/dist/flow-controlled-sender.js.map +1 -0
- package/dist/generated/command.d.ts +169 -0
- package/dist/generated/command.d.ts.map +1 -0
- package/dist/generated/command.js +964 -0
- package/dist/generated/command.js.map +1 -0
- package/dist/generated/common.d.ts +76 -0
- package/dist/generated/common.d.ts.map +1 -0
- package/dist/generated/common.js +648 -0
- package/dist/generated/common.js.map +1 -0
- package/dist/generated/eventstore.d.ts +337 -0
- package/dist/generated/eventstore.d.ts.map +1 -0
- package/dist/generated/eventstore.js +1757 -0
- package/dist/generated/eventstore.js.map +1 -0
- package/dist/generated/platform.d.ts +242 -0
- package/dist/generated/platform.d.ts.map +1 -0
- package/dist/generated/platform.js +1525 -0
- package/dist/generated/platform.js.map +1 -0
- package/dist/generated/query.d.ts +265 -0
- package/dist/generated/query.d.ts.map +1 -0
- package/dist/generated/query.js +2114 -0
- package/dist/generated/query.js.map +1 -0
- package/dist/generated/snapshot.d.ts +180 -0
- package/dist/generated/snapshot.d.ts.map +1 -0
- package/dist/generated/snapshot.js +861 -0
- package/dist/generated/snapshot.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/kronosdb-event-store.d.ts +17 -0
- package/dist/kronosdb-event-store.d.ts.map +1 -0
- package/dist/kronosdb-event-store.js +328 -0
- package/dist/kronosdb-event-store.js.map +1 -0
- package/dist/kronosdb-snapshot-store.d.ts +10 -0
- package/dist/kronosdb-snapshot-store.d.ts.map +1 -0
- package/dist/kronosdb-snapshot-store.js +79 -0
- package/dist/kronosdb-snapshot-store.js.map +1 -0
- package/dist/kronosdb.d.ts +53 -0
- package/dist/kronosdb.d.ts.map +1 -0
- package/dist/kronosdb.js +852 -0
- package/dist/kronosdb.js.map +1 -0
- package/dist/metadata-conversion.d.ts +37 -0
- package/dist/metadata-conversion.d.ts.map +1 -0
- package/dist/metadata-conversion.js +75 -0
- package/dist/metadata-conversion.js.map +1 -0
- package/dist/outbound-stream.d.ts +15 -0
- package/dist/outbound-stream.d.ts.map +1 -0
- package/dist/outbound-stream.js +39 -0
- package/dist/outbound-stream.js.map +1 -0
- package/dist/platform-service.d.ts +87 -0
- package/dist/platform-service.d.ts.map +1 -0
- package/dist/platform-service.js +218 -0
- package/dist/platform-service.js.map +1 -0
- package/dist/service-definitions.d.ts +187 -0
- package/dist/service-definitions.d.ts.map +1 -0
- package/dist/service-definitions.js +18 -0
- package/dist/service-definitions.js.map +1 -0
- package/dist/shutdown-latch.d.ts +18 -0
- package/dist/shutdown-latch.d.ts.map +1 -0
- package/dist/shutdown-latch.js +51 -0
- package/dist/shutdown-latch.js.map +1 -0
- package/package.json +69 -0
- package/src/connection.ts +235 -0
- package/src/errors.ts +173 -0
- package/src/event-processor-info.ts +53 -0
- package/src/flow-controlled-sender.ts +73 -0
- package/src/generated/command.ts +1226 -0
- package/src/generated/common.ts +770 -0
- package/src/generated/eventstore.ts +2241 -0
- package/src/generated/platform.ts +1914 -0
- package/src/generated/query.ts +2571 -0
- package/src/generated/snapshot.ts +1110 -0
- package/src/index.ts +87 -0
- package/src/kronosdb-event-store.ts +401 -0
- package/src/kronosdb-snapshot-store.ts +104 -0
- package/src/kronosdb.ts +1000 -0
- package/src/metadata-conversion.ts +85 -0
- package/src/outbound-stream.ts +52 -0
- package/src/platform-service.ts +297 -0
- package/src/service-definitions.ts +25 -0
- package/src/shutdown-latch.ts +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kronosdb.js","sourceRoot":"","sources":["../src/kronosdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Metadata } from "@kronos-ts/common";
|
|
2
|
+
/**
|
|
3
|
+
* KronosDB MetadataValue type — matches the proto oneof.
|
|
4
|
+
*
|
|
5
|
+
* Since we don't have generated types yet, we define the shape
|
|
6
|
+
* inline. Once proto codegen runs, these can be replaced with imports.
|
|
7
|
+
*/
|
|
8
|
+
export interface MetadataValue {
|
|
9
|
+
textValue?: string;
|
|
10
|
+
numberValue?: bigint;
|
|
11
|
+
booleanValue?: boolean;
|
|
12
|
+
doubleValue?: number;
|
|
13
|
+
bytesValue?: {
|
|
14
|
+
type: string;
|
|
15
|
+
revision: string;
|
|
16
|
+
data: Uint8Array;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert framework metadata to KronosDB proto metadata format.
|
|
21
|
+
* Used for command and query metadata (which use MetadataValue).
|
|
22
|
+
*/
|
|
23
|
+
export declare function metadataToProto(metadata: Metadata): Record<string, MetadataValue>;
|
|
24
|
+
/**
|
|
25
|
+
* Convert KronosDB proto metadata format to framework metadata.
|
|
26
|
+
*/
|
|
27
|
+
export declare function metadataFromProto(protoMeta: Record<string, MetadataValue>): Metadata;
|
|
28
|
+
/**
|
|
29
|
+
* Convert framework metadata to simple string map.
|
|
30
|
+
* Used for event and snapshot metadata (which use map<string, string>).
|
|
31
|
+
*/
|
|
32
|
+
export declare function metadataToStringMap(metadata: Metadata): Record<string, string>;
|
|
33
|
+
/**
|
|
34
|
+
* Convert simple string map to framework metadata.
|
|
35
|
+
*/
|
|
36
|
+
export declare function metadataFromStringMap(map: Record<string, string>): Metadata;
|
|
37
|
+
//# sourceMappingURL=metadata-conversion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-conversion.d.ts","sourceRoot":"","sources":["../src/metadata-conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAA;CAClE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAoBjF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,QAAQ,CAcpF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAM3E"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert framework metadata to KronosDB proto metadata format.
|
|
3
|
+
* Used for command and query metadata (which use MetadataValue).
|
|
4
|
+
*/
|
|
5
|
+
export function metadataToProto(metadata) {
|
|
6
|
+
const result = {};
|
|
7
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
8
|
+
if (typeof value === "string") {
|
|
9
|
+
result[key] = { textValue: value };
|
|
10
|
+
}
|
|
11
|
+
else if (typeof value === "number") {
|
|
12
|
+
if (Number.isInteger(value)) {
|
|
13
|
+
result[key] = { numberValue: BigInt(value) };
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
result[key] = { doubleValue: value };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else if (typeof value === "boolean") {
|
|
20
|
+
result[key] = { booleanValue: value };
|
|
21
|
+
}
|
|
22
|
+
else if (typeof value === "bigint") {
|
|
23
|
+
result[key] = { numberValue: value };
|
|
24
|
+
}
|
|
25
|
+
else if (value !== undefined && value !== null) {
|
|
26
|
+
result[key] = { textValue: JSON.stringify(value) };
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Convert KronosDB proto metadata format to framework metadata.
|
|
33
|
+
*/
|
|
34
|
+
export function metadataFromProto(protoMeta) {
|
|
35
|
+
const result = {};
|
|
36
|
+
for (const [key, value] of Object.entries(protoMeta)) {
|
|
37
|
+
if (value.textValue !== undefined) {
|
|
38
|
+
result[key] = value.textValue;
|
|
39
|
+
}
|
|
40
|
+
else if (value.numberValue !== undefined) {
|
|
41
|
+
result[key] = Number(value.numberValue);
|
|
42
|
+
}
|
|
43
|
+
else if (value.booleanValue !== undefined) {
|
|
44
|
+
result[key] = value.booleanValue;
|
|
45
|
+
}
|
|
46
|
+
else if (value.doubleValue !== undefined) {
|
|
47
|
+
result[key] = value.doubleValue;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Convert framework metadata to simple string map.
|
|
54
|
+
* Used for event and snapshot metadata (which use map<string, string>).
|
|
55
|
+
*/
|
|
56
|
+
export function metadataToStringMap(metadata) {
|
|
57
|
+
const result = {};
|
|
58
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
59
|
+
if (value !== undefined && value !== null) {
|
|
60
|
+
result[key] = String(value);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert simple string map to framework metadata.
|
|
67
|
+
*/
|
|
68
|
+
export function metadataFromStringMap(map) {
|
|
69
|
+
const result = {};
|
|
70
|
+
for (const [key, value] of Object.entries(map)) {
|
|
71
|
+
result[key] = value;
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=metadata-conversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-conversion.js","sourceRoot":"","sources":["../src/metadata-conversion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A queue-backed async iterable for feeding outbound messages to a
|
|
3
|
+
* bidirectional gRPC stream. Buffers messages when the stream isn't
|
|
4
|
+
* consuming, and resolves promises when the stream is waiting.
|
|
5
|
+
*/
|
|
6
|
+
export interface OutboundStream<T> {
|
|
7
|
+
/** Send a message into the stream. */
|
|
8
|
+
send(message: T): void;
|
|
9
|
+
/** The async iterable to pass to the gRPC client. */
|
|
10
|
+
readonly iterable: AsyncIterable<T>;
|
|
11
|
+
/** Close the stream. */
|
|
12
|
+
close(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createOutboundStream<T>(): OutboundStream<T>;
|
|
15
|
+
//# sourceMappingURL=outbound-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-stream.d.ts","sourceRoot":"","sources":["../src/outbound-stream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,sCAAsC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAA;IACtB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACnC,wBAAwB;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wBAAgB,oBAAoB,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAqC3D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export function createOutboundStream() {
|
|
2
|
+
let resolve = null;
|
|
3
|
+
const queue = [];
|
|
4
|
+
let closed = false;
|
|
5
|
+
return {
|
|
6
|
+
send(message) {
|
|
7
|
+
if (resolve) {
|
|
8
|
+
const r = resolve;
|
|
9
|
+
resolve = null;
|
|
10
|
+
r({ value: message, done: false });
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
queue.push(message);
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
iterable: {
|
|
17
|
+
[Symbol.asyncIterator]() {
|
|
18
|
+
return {
|
|
19
|
+
next() {
|
|
20
|
+
const queued = queue.shift();
|
|
21
|
+
if (queued)
|
|
22
|
+
return Promise.resolve({ value: queued, done: false });
|
|
23
|
+
if (closed)
|
|
24
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
25
|
+
return new Promise((r) => { resolve = r; });
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
close() {
|
|
31
|
+
closed = true;
|
|
32
|
+
if (resolve) {
|
|
33
|
+
resolve({ value: undefined, done: true });
|
|
34
|
+
resolve = null;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=outbound-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbound-stream.js","sourceRoot":"","sources":["../src/outbound-stream.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,GAAgD,IAAI,CAAA;IAC/D,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,IAAI,MAAM,GAAG,KAAK,CAAA;IAElB,OAAO;QACL,IAAI,CAAC,OAAU;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,GAAG,OAAO,CAAA;gBACjB,OAAO,GAAG,IAAI,CAAA;gBACd,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QAED,QAAQ,EAAE;YACR,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO;oBACL,IAAI;wBACF,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;wBAC5B,IAAI,MAAM;4BAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;wBAClE,IAAI,MAAM;4BAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;wBAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;oBAC5C,CAAC;iBACF,CAAA;YACH,CAAC;SACF;QAED,KAAK;YACH,MAAM,GAAG,IAAI,CAAA;YACb,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,EAAE,KAAK,EAAE,SAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;gBAChD,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { KronosDbConnection } from "./connection.js";
|
|
2
|
+
import type { ProcessorStatusSupplier } from "./event-processor-info.js";
|
|
3
|
+
/**
|
|
4
|
+
* Server-initiated instructions received via the platform stream.
|
|
5
|
+
*
|
|
6
|
+
* KronosDB uses direct fields on PlatformOutbound (not nested like Axon Server's
|
|
7
|
+
* eventProcessorControl/topologyChange wrappers).
|
|
8
|
+
*/
|
|
9
|
+
export type PlatformInstruction = {
|
|
10
|
+
kind: "pause-processor";
|
|
11
|
+
processorName: string;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "start-processor";
|
|
14
|
+
processorName: string;
|
|
15
|
+
} | {
|
|
16
|
+
kind: "release-segment";
|
|
17
|
+
processorName: string;
|
|
18
|
+
segmentId: number;
|
|
19
|
+
} | {
|
|
20
|
+
kind: "split-segment";
|
|
21
|
+
processorName: string;
|
|
22
|
+
segmentId: number;
|
|
23
|
+
} | {
|
|
24
|
+
kind: "merge-segment";
|
|
25
|
+
processorName: string;
|
|
26
|
+
segmentId: number;
|
|
27
|
+
} | {
|
|
28
|
+
kind: "reconnect-request";
|
|
29
|
+
};
|
|
30
|
+
export type InstructionHandler = (instruction: PlatformInstruction) => void | Promise<void>;
|
|
31
|
+
export interface PlatformConnection {
|
|
32
|
+
start(): Promise<void>;
|
|
33
|
+
stop(): void;
|
|
34
|
+
onInstruction(handler: InstructionHandler): void;
|
|
35
|
+
registerProcessorStatusSupplier(supplier: ProcessorStatusSupplier): void;
|
|
36
|
+
readonly connected: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Resolves with `true` once KronosDB has acknowledged this client's
|
|
39
|
+
* registration on the platform stream (we use the first server-originated
|
|
40
|
+
* inbound message — typically a heartbeat reply — as the ack signal).
|
|
41
|
+
* Resolves with `false` if the platform is not yet started.
|
|
42
|
+
*
|
|
43
|
+
* This replaces the legacy 1-second sleep at
|
|
44
|
+
* kronosdb-configuration-enhancer.ts:216 (D-102): the kronosDb extension's
|
|
45
|
+
* `onStart('processors', ...)` hook polls this method via `withRetry` so the
|
|
46
|
+
* application waits exactly long enough for handler subscriptions to be
|
|
47
|
+
* routable, no longer or shorter.
|
|
48
|
+
*
|
|
49
|
+
* Implementation note: the platform stream sends a `register` frame on
|
|
50
|
+
* `start()` and KronosDB responds with a heartbeat tick at the configured
|
|
51
|
+
* heartbeat interval. We treat the first inbound frame as the ack signal,
|
|
52
|
+
* which is the earliest observable point at which the server has accepted
|
|
53
|
+
* the registration. (No explicit ack frame exists in the KronosDB protobuf
|
|
54
|
+
* surface today — Pitfall 5 / RESEARCH.md.)
|
|
55
|
+
*/
|
|
56
|
+
subscriptionsAcked(): Promise<boolean>;
|
|
57
|
+
}
|
|
58
|
+
export interface PlatformServiceOptions {
|
|
59
|
+
/** Heartbeat interval in ms. Default: 10000 */
|
|
60
|
+
heartbeatIntervalMs?: number;
|
|
61
|
+
/** Heartbeat timeout in ms. Default: 7500 */
|
|
62
|
+
heartbeatTimeoutMs?: number;
|
|
63
|
+
/** Processor status reporting interval in ms. Default: 500 */
|
|
64
|
+
processorsNotificationRateMs?: number;
|
|
65
|
+
/** Delay before first processor status report in ms. Default: 5000 */
|
|
66
|
+
processorsNotificationInitialDelayMs?: number;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Parses a raw PlatformOutbound message into a typed PlatformInstruction.
|
|
70
|
+
*
|
|
71
|
+
* Returns `null` for any arm that does not correspond to a known instruction
|
|
72
|
+
* (e.g. heartbeat, nodeNotification, topologyNotification). This is the
|
|
73
|
+
* correct catch-all for forward-compatibility: new proto fields added to
|
|
74
|
+
* PlatformOutbound will silently be ignored rather than causing errors.
|
|
75
|
+
*/
|
|
76
|
+
export declare function parseInstruction(message: any): PlatformInstruction | null;
|
|
77
|
+
/**
|
|
78
|
+
* Creates a PlatformService connection to KronosDB.
|
|
79
|
+
*
|
|
80
|
+
* The platform stream is the control plane:
|
|
81
|
+
* 1. Registers this client with KronosDB
|
|
82
|
+
* 2. Sends periodic heartbeats to verify connectivity
|
|
83
|
+
* 3. Receives instructions from KronosDB (split, merge, pause, resume)
|
|
84
|
+
* 4. Reports event processor status periodically
|
|
85
|
+
*/
|
|
86
|
+
export declare function createPlatformConnection(connection: KronosDbConnection, options?: PlatformServiceOptions): PlatformConnection;
|
|
87
|
+
//# sourceMappingURL=platform-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-service.d.ts","sourceRoot":"","sources":["../src/platform-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAIzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGxE;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAA;AAEjC,MAAM,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAE3F,MAAM,WAAW,kBAAkB;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAChD,+BAA+B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,8DAA8D;IAC9D,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,sEAAsE;IACtE,oCAAoC,CAAC,EAAE,MAAM,CAAA;CAC9C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,GAAG,mBAAmB,GAAG,IAAI,CAyCzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,kBAAkB,CA2KpB"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { createKronosMetadata } from "./connection.js";
|
|
2
|
+
import { createOutboundStream } from "./outbound-stream.js";
|
|
3
|
+
import { toEventProcessorInfo } from "./event-processor-info.js";
|
|
4
|
+
/**
|
|
5
|
+
* Parses a raw PlatformOutbound message into a typed PlatformInstruction.
|
|
6
|
+
*
|
|
7
|
+
* Returns `null` for any arm that does not correspond to a known instruction
|
|
8
|
+
* (e.g. heartbeat, nodeNotification, topologyNotification). This is the
|
|
9
|
+
* correct catch-all for forward-compatibility: new proto fields added to
|
|
10
|
+
* PlatformOutbound will silently be ignored rather than causing errors.
|
|
11
|
+
*/
|
|
12
|
+
export function parseInstruction(message) {
|
|
13
|
+
if (message.requestReconnect) {
|
|
14
|
+
return { kind: "reconnect-request" };
|
|
15
|
+
}
|
|
16
|
+
// KronosDB sends processor instructions directly on PlatformOutbound
|
|
17
|
+
if (message.pauseEventProcessor) {
|
|
18
|
+
return {
|
|
19
|
+
kind: "pause-processor",
|
|
20
|
+
processorName: message.pauseEventProcessor.processorName ?? "",
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (message.startEventProcessor) {
|
|
24
|
+
return {
|
|
25
|
+
kind: "start-processor",
|
|
26
|
+
processorName: message.startEventProcessor.processorName ?? "",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (message.releaseSegment) {
|
|
30
|
+
return {
|
|
31
|
+
kind: "release-segment",
|
|
32
|
+
processorName: message.releaseSegment.processorName ?? "",
|
|
33
|
+
segmentId: message.releaseSegment.segmentIdentifier ?? 0,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (message.splitEventProcessorSegment) {
|
|
37
|
+
return {
|
|
38
|
+
kind: "split-segment",
|
|
39
|
+
processorName: message.splitEventProcessorSegment.processorName ?? "",
|
|
40
|
+
segmentId: message.splitEventProcessorSegment.segmentIdentifier ?? 0,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (message.mergeEventProcessorSegment) {
|
|
44
|
+
return {
|
|
45
|
+
kind: "merge-segment",
|
|
46
|
+
processorName: message.mergeEventProcessorSegment.processorName ?? "",
|
|
47
|
+
segmentId: message.mergeEventProcessorSegment.segmentIdentifier ?? 0,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates a PlatformService connection to KronosDB.
|
|
54
|
+
*
|
|
55
|
+
* The platform stream is the control plane:
|
|
56
|
+
* 1. Registers this client with KronosDB
|
|
57
|
+
* 2. Sends periodic heartbeats to verify connectivity
|
|
58
|
+
* 3. Receives instructions from KronosDB (split, merge, pause, resume)
|
|
59
|
+
* 4. Reports event processor status periodically
|
|
60
|
+
*/
|
|
61
|
+
export function createPlatformConnection(connection, options) {
|
|
62
|
+
const heartbeatIntervalMs = options?.heartbeatIntervalMs ?? 10000;
|
|
63
|
+
const heartbeatTimeoutMs = options?.heartbeatTimeoutMs ?? 7500;
|
|
64
|
+
const processorsNotificationRateMs = options?.processorsNotificationRateMs ?? 500;
|
|
65
|
+
const processorsNotificationInitialDelayMs = options?.processorsNotificationInitialDelayMs ?? 5000;
|
|
66
|
+
const instructionHandlers = [];
|
|
67
|
+
const processorStatusSuppliers = [];
|
|
68
|
+
let isConnected = false;
|
|
69
|
+
let heartbeatTimer = null;
|
|
70
|
+
let processorStatusTimer = null;
|
|
71
|
+
let lastHeartbeatResponse = Date.now();
|
|
72
|
+
let outbound = null;
|
|
73
|
+
/**
|
|
74
|
+
* Latches once KronosDB sends its first inbound message after registration
|
|
75
|
+
* — the earliest observable signal that the platform stream is fully wired
|
|
76
|
+
* (D-102, replaces the legacy 1s sleep). Reset on every `start()` so a
|
|
77
|
+
* stop/start cycle re-arms the latch correctly.
|
|
78
|
+
*/
|
|
79
|
+
let acked = false;
|
|
80
|
+
const grpcMetadata = createKronosMetadata(connection.config);
|
|
81
|
+
async function processInboundInstructions(inbound) {
|
|
82
|
+
try {
|
|
83
|
+
for await (const message of inbound) {
|
|
84
|
+
// First inbound message after start() = the platform has accepted our
|
|
85
|
+
// registration and is talking back. Latch the ack flag (D-102).
|
|
86
|
+
acked = true;
|
|
87
|
+
const instruction = parseInstruction(message);
|
|
88
|
+
if (instruction) {
|
|
89
|
+
for (const handler of instructionHandlers) {
|
|
90
|
+
try {
|
|
91
|
+
await handler(instruction);
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
console.error("Platform instruction handler error:", err);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (message.heartbeat) {
|
|
99
|
+
lastHeartbeatResponse = Date.now();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
if (isConnected) {
|
|
105
|
+
console.error("Platform stream error:", err);
|
|
106
|
+
isConnected = false;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function startHeartbeat() {
|
|
111
|
+
if (heartbeatTimer)
|
|
112
|
+
clearInterval(heartbeatTimer);
|
|
113
|
+
lastHeartbeatResponse = Date.now();
|
|
114
|
+
heartbeatTimer = setInterval(() => {
|
|
115
|
+
if (!isConnected || !outbound)
|
|
116
|
+
return;
|
|
117
|
+
const timeSinceLastResponse = Date.now() - lastHeartbeatResponse;
|
|
118
|
+
if (timeSinceLastResponse > heartbeatTimeoutMs) {
|
|
119
|
+
console.warn(`Platform heartbeat timeout: no response in ${timeSinceLastResponse}ms ` +
|
|
120
|
+
`(threshold: ${heartbeatTimeoutMs}ms). Marking connection as lost.`);
|
|
121
|
+
isConnected = false;
|
|
122
|
+
connection.reconnect().catch((err) => {
|
|
123
|
+
console.error("Failed to reconnect after heartbeat timeout:", err);
|
|
124
|
+
});
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
// Send heartbeat — KronosDB PlatformInbound uses oneof, heartbeat field
|
|
128
|
+
outbound.send({
|
|
129
|
+
heartbeat: {},
|
|
130
|
+
});
|
|
131
|
+
}, heartbeatIntervalMs);
|
|
132
|
+
}
|
|
133
|
+
function startProcessorStatusReporting() {
|
|
134
|
+
if (processorStatusTimer)
|
|
135
|
+
clearInterval(processorStatusTimer);
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
if (!isConnected)
|
|
138
|
+
return;
|
|
139
|
+
reportProcessorStatus();
|
|
140
|
+
processorStatusTimer = setInterval(() => {
|
|
141
|
+
if (!isConnected || !outbound)
|
|
142
|
+
return;
|
|
143
|
+
reportProcessorStatus();
|
|
144
|
+
}, processorsNotificationRateMs);
|
|
145
|
+
}, processorsNotificationInitialDelayMs);
|
|
146
|
+
}
|
|
147
|
+
function reportProcessorStatus() {
|
|
148
|
+
if (!outbound || processorStatusSuppliers.length === 0)
|
|
149
|
+
return;
|
|
150
|
+
for (const supplier of processorStatusSuppliers) {
|
|
151
|
+
try {
|
|
152
|
+
const statuses = supplier();
|
|
153
|
+
for (const status of statuses) {
|
|
154
|
+
outbound.send({
|
|
155
|
+
eventProcessorInfo: toEventProcessorInfo(status),
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
catch (err) {
|
|
160
|
+
console.warn("Failed to report processor status:", err);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
async start() {
|
|
166
|
+
if (isConnected)
|
|
167
|
+
return;
|
|
168
|
+
// Re-arm the ack latch so a stop/start cycle correctly re-waits.
|
|
169
|
+
acked = false;
|
|
170
|
+
outbound = createOutboundStream();
|
|
171
|
+
// Register with KronosDB — first message must be ClientIdentification
|
|
172
|
+
outbound.send({
|
|
173
|
+
register: {
|
|
174
|
+
clientId: connection.config.clientId,
|
|
175
|
+
componentName: connection.config.componentName,
|
|
176
|
+
version: "1.0.0",
|
|
177
|
+
tags: {},
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
// Open bidirectional platform stream
|
|
181
|
+
const inbound = connection.platform.openStream(outbound.iterable, {
|
|
182
|
+
metadata: grpcMetadata,
|
|
183
|
+
});
|
|
184
|
+
isConnected = true;
|
|
185
|
+
startHeartbeat();
|
|
186
|
+
startProcessorStatusReporting();
|
|
187
|
+
processInboundInstructions(inbound);
|
|
188
|
+
},
|
|
189
|
+
stop() {
|
|
190
|
+
isConnected = false;
|
|
191
|
+
if (heartbeatTimer) {
|
|
192
|
+
clearInterval(heartbeatTimer);
|
|
193
|
+
heartbeatTimer = null;
|
|
194
|
+
}
|
|
195
|
+
if (processorStatusTimer) {
|
|
196
|
+
clearInterval(processorStatusTimer);
|
|
197
|
+
processorStatusTimer = null;
|
|
198
|
+
}
|
|
199
|
+
if (outbound) {
|
|
200
|
+
outbound.close();
|
|
201
|
+
outbound = null;
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
onInstruction(handler) {
|
|
205
|
+
instructionHandlers.push(handler);
|
|
206
|
+
},
|
|
207
|
+
registerProcessorStatusSupplier(supplier) {
|
|
208
|
+
processorStatusSuppliers.push(supplier);
|
|
209
|
+
},
|
|
210
|
+
get connected() {
|
|
211
|
+
return isConnected;
|
|
212
|
+
},
|
|
213
|
+
async subscriptionsAcked() {
|
|
214
|
+
return isConnected && acked;
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=platform-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-service.js","sourceRoot":"","sources":["../src/platform-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAyDhE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAY;IAC3C,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAA;IACtC,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAAC,aAAa,IAAI,EAAE;SAC/D,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAAC,aAAa,IAAI,EAAE;SAC/D,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa,IAAI,EAAE;YACzD,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,iBAAiB,IAAI,CAAC;SACzD,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,aAAa,EAAE,OAAO,CAAC,0BAA0B,CAAC,aAAa,IAAI,EAAE;YACrE,SAAS,EAAE,OAAO,CAAC,0BAA0B,CAAC,iBAAiB,IAAI,CAAC;SACrE,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,aAAa,EAAE,OAAO,CAAC,0BAA0B,CAAC,aAAa,IAAI,EAAE;YACrE,SAAS,EAAE,OAAO,CAAC,0BAA0B,CAAC,iBAAiB,IAAI,CAAC;SACrE,CAAA;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,UAA8B,EAC9B,OAAgC;IAEhC,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAA;IACjE,MAAM,kBAAkB,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAI,CAAA;IAC9D,MAAM,4BAA4B,GAAG,OAAO,EAAE,4BAA4B,IAAI,GAAG,CAAA;IACjF,MAAM,oCAAoC,GAAG,OAAO,EAAE,oCAAoC,IAAI,IAAI,CAAA;IAElG,MAAM,mBAAmB,GAAyB,EAAE,CAAA;IACpD,MAAM,wBAAwB,GAA8B,EAAE,CAAA;IAC9D,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,IAAI,cAAc,GAA0C,IAAI,CAAA;IAChE,IAAI,oBAAoB,GAA0C,IAAI,CAAA;IACtE,IAAI,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtC,IAAI,QAAQ,GAAoE,IAAI,CAAA;IACpF;;;;;OAKG;IACH,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAE5D,KAAK,UAAU,0BAA0B,CAAC,OAA2B;QACnE,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;gBACpC,sEAAsE;gBACtE,gEAAgE;gBAChE,KAAK,GAAG,IAAI,CAAA;gBACZ,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBAC7C,IAAI,WAAW,EAAE,CAAC;oBAChB,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;wBAC1C,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;wBAC5B,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;wBAC3D,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;gBAC5C,WAAW,GAAG,KAAK,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,cAAc;QACrB,IAAI,cAAc;YAAE,aAAa,CAAC,cAAc,CAAC,CAAA;QACjD,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAElC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAErC,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAA;YAChE,IAAI,qBAAqB,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,OAAO,CAAC,IAAI,CACV,8CAA8C,qBAAqB,KAAK;oBACxE,eAAe,kBAAkB,kCAAkC,CACpE,CAAA;gBACD,WAAW,GAAG,KAAK,CAAA;gBACnB,UAAU,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAA;gBACpE,CAAC,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YAED,wEAAwE;YACxE,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS,EAAE,EAAE;aACd,CAAC,CAAA;QACJ,CAAC,EAAE,mBAAmB,CAAC,CAAA;IACzB,CAAC;IAED,SAAS,6BAA6B;QACpC,IAAI,oBAAoB;YAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAE7D,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,WAAW;gBAAE,OAAM;YACxB,qBAAqB,EAAE,CAAA;YAEvB,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACtC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ;oBAAE,OAAM;gBACrC,qBAAqB,EAAE,CAAA;YACzB,CAAC,EAAE,4BAA4B,CAAC,CAAA;QAClC,CAAC,EAAE,oCAAoC,CAAC,CAAA;IAC1C,CAAC;IAED,SAAS,qBAAqB;QAC5B,IAAI,CAAC,QAAQ,IAAI,wBAAwB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAE9D,KAAK,MAAM,QAAQ,IAAI,wBAAwB,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAA;gBAC3B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,QAAQ,CAAC,IAAI,CAAC;wBACZ,kBAAkB,EAAE,oBAAoB,CAAC,MAAM,CAAC;qBACjD,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAK;YACT,IAAI,WAAW;gBAAE,OAAM;YAEvB,iEAAiE;YACjE,KAAK,GAAG,KAAK,CAAA;YACb,QAAQ,GAAG,oBAAoB,EAAmB,CAAA;YAElD,sEAAsE;YACtE,QAAQ,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE;oBACR,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;oBACpC,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa;oBAC9C,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,EAAE;iBACT;aACF,CAAC,CAAA;YAEF,qCAAqC;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAChE,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAA;YAEF,WAAW,GAAG,IAAI,CAAA;YAClB,cAAc,EAAE,CAAA;YAChB,6BAA6B,EAAE,CAAA;YAC/B,0BAA0B,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QAED,IAAI;YACF,WAAW,GAAG,KAAK,CAAA;YACnB,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,CAAC,cAAc,CAAC,CAAA;gBAC7B,cAAc,GAAG,IAAI,CAAA;YACvB,CAAC;YACD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,aAAa,CAAC,oBAAoB,CAAC,CAAA;gBACnC,oBAAoB,GAAG,IAAI,CAAA;YAC7B,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,EAAE,CAAA;gBAChB,QAAQ,GAAG,IAAI,CAAA;YACjB,CAAC;QACH,CAAC;QAED,aAAa,CAAC,OAAO;YACnB,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QAED,+BAA+B,CAAC,QAAQ;YACtC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,SAAS;YACX,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,KAAK,CAAC,kBAAkB;YACtB,OAAO,WAAW,IAAI,KAAK,CAAA;QAC7B,CAAC;KACF,CAAA;AACH,CAAC"}
|