@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.
Files changed (96) hide show
  1. package/dist/connection.d.ts +86 -0
  2. package/dist/connection.d.ts.map +1 -0
  3. package/dist/connection.js +133 -0
  4. package/dist/connection.js.map +1 -0
  5. package/dist/errors.d.ts +72 -0
  6. package/dist/errors.d.ts.map +1 -0
  7. package/dist/errors.js +149 -0
  8. package/dist/errors.js.map +1 -0
  9. package/dist/event-processor-info.d.ts +32 -0
  10. package/dist/event-processor-info.d.ts.map +1 -0
  11. package/dist/event-processor-info.js +24 -0
  12. package/dist/event-processor-info.js.map +1 -0
  13. package/dist/flow-controlled-sender.d.ts +12 -0
  14. package/dist/flow-controlled-sender.d.ts.map +1 -0
  15. package/dist/flow-controlled-sender.js +53 -0
  16. package/dist/flow-controlled-sender.js.map +1 -0
  17. package/dist/generated/command.d.ts +169 -0
  18. package/dist/generated/command.d.ts.map +1 -0
  19. package/dist/generated/command.js +964 -0
  20. package/dist/generated/command.js.map +1 -0
  21. package/dist/generated/common.d.ts +76 -0
  22. package/dist/generated/common.d.ts.map +1 -0
  23. package/dist/generated/common.js +648 -0
  24. package/dist/generated/common.js.map +1 -0
  25. package/dist/generated/eventstore.d.ts +337 -0
  26. package/dist/generated/eventstore.d.ts.map +1 -0
  27. package/dist/generated/eventstore.js +1757 -0
  28. package/dist/generated/eventstore.js.map +1 -0
  29. package/dist/generated/platform.d.ts +242 -0
  30. package/dist/generated/platform.d.ts.map +1 -0
  31. package/dist/generated/platform.js +1525 -0
  32. package/dist/generated/platform.js.map +1 -0
  33. package/dist/generated/query.d.ts +265 -0
  34. package/dist/generated/query.d.ts.map +1 -0
  35. package/dist/generated/query.js +2114 -0
  36. package/dist/generated/query.js.map +1 -0
  37. package/dist/generated/snapshot.d.ts +180 -0
  38. package/dist/generated/snapshot.d.ts.map +1 -0
  39. package/dist/generated/snapshot.js +861 -0
  40. package/dist/generated/snapshot.js.map +1 -0
  41. package/dist/index.d.ts +13 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +13 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/kronosdb-event-store.d.ts +17 -0
  46. package/dist/kronosdb-event-store.d.ts.map +1 -0
  47. package/dist/kronosdb-event-store.js +328 -0
  48. package/dist/kronosdb-event-store.js.map +1 -0
  49. package/dist/kronosdb-snapshot-store.d.ts +10 -0
  50. package/dist/kronosdb-snapshot-store.d.ts.map +1 -0
  51. package/dist/kronosdb-snapshot-store.js +79 -0
  52. package/dist/kronosdb-snapshot-store.js.map +1 -0
  53. package/dist/kronosdb.d.ts +53 -0
  54. package/dist/kronosdb.d.ts.map +1 -0
  55. package/dist/kronosdb.js +852 -0
  56. package/dist/kronosdb.js.map +1 -0
  57. package/dist/metadata-conversion.d.ts +37 -0
  58. package/dist/metadata-conversion.d.ts.map +1 -0
  59. package/dist/metadata-conversion.js +75 -0
  60. package/dist/metadata-conversion.js.map +1 -0
  61. package/dist/outbound-stream.d.ts +15 -0
  62. package/dist/outbound-stream.d.ts.map +1 -0
  63. package/dist/outbound-stream.js +39 -0
  64. package/dist/outbound-stream.js.map +1 -0
  65. package/dist/platform-service.d.ts +87 -0
  66. package/dist/platform-service.d.ts.map +1 -0
  67. package/dist/platform-service.js +218 -0
  68. package/dist/platform-service.js.map +1 -0
  69. package/dist/service-definitions.d.ts +187 -0
  70. package/dist/service-definitions.d.ts.map +1 -0
  71. package/dist/service-definitions.js +18 -0
  72. package/dist/service-definitions.js.map +1 -0
  73. package/dist/shutdown-latch.d.ts +18 -0
  74. package/dist/shutdown-latch.d.ts.map +1 -0
  75. package/dist/shutdown-latch.js +51 -0
  76. package/dist/shutdown-latch.js.map +1 -0
  77. package/package.json +69 -0
  78. package/src/connection.ts +235 -0
  79. package/src/errors.ts +173 -0
  80. package/src/event-processor-info.ts +53 -0
  81. package/src/flow-controlled-sender.ts +73 -0
  82. package/src/generated/command.ts +1226 -0
  83. package/src/generated/common.ts +770 -0
  84. package/src/generated/eventstore.ts +2241 -0
  85. package/src/generated/platform.ts +1914 -0
  86. package/src/generated/query.ts +2571 -0
  87. package/src/generated/snapshot.ts +1110 -0
  88. package/src/index.ts +87 -0
  89. package/src/kronosdb-event-store.ts +401 -0
  90. package/src/kronosdb-snapshot-store.ts +104 -0
  91. package/src/kronosdb.ts +1000 -0
  92. package/src/metadata-conversion.ts +85 -0
  93. package/src/outbound-stream.ts +52 -0
  94. package/src/platform-service.ts +297 -0
  95. package/src/service-definitions.ts +25 -0
  96. 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":"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"}