@kronos-ts/axon-server 0.4.0 → 0.6.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 (106) hide show
  1. package/dist/axon-server-event-store.d.ts +0 -16
  2. package/dist/axon-server-event-store.d.ts.map +1 -1
  3. package/dist/axon-server-event-store.js +73 -45
  4. package/dist/axon-server-event-store.js.map +1 -1
  5. package/dist/axon-server-snapshotting-event-store.d.ts +30 -0
  6. package/dist/axon-server-snapshotting-event-store.d.ts.map +1 -0
  7. package/dist/axon-server-snapshotting-event-store.js +154 -0
  8. package/dist/axon-server-snapshotting-event-store.js.map +1 -0
  9. package/dist/axon-server.d.ts +46 -65
  10. package/dist/axon-server.d.ts.map +1 -1
  11. package/dist/axon-server.js +490 -317
  12. package/dist/axon-server.js.map +1 -1
  13. package/dist/bounded-read.d.ts +19 -0
  14. package/dist/bounded-read.d.ts.map +1 -0
  15. package/dist/bounded-read.js +39 -0
  16. package/dist/bounded-read.js.map +1 -0
  17. package/dist/connection-manager.d.ts +2 -2
  18. package/dist/connection-manager.d.ts.map +1 -1
  19. package/dist/connection.d.ts +36 -21
  20. package/dist/connection.d.ts.map +1 -1
  21. package/dist/connection.js +84 -45
  22. package/dist/connection.js.map +1 -1
  23. package/dist/context-view.d.ts +2 -2
  24. package/dist/context-view.d.ts.map +1 -1
  25. package/dist/control-plane.d.ts +14 -24
  26. package/dist/control-plane.d.ts.map +1 -1
  27. package/dist/control-plane.js +6 -37
  28. package/dist/control-plane.js.map +1 -1
  29. package/dist/event-processor-info.d.ts +7 -25
  30. package/dist/event-processor-info.d.ts.map +1 -1
  31. package/dist/event-processor-info.js +16 -20
  32. package/dist/event-processor-info.js.map +1 -1
  33. package/dist/flow-controlled-sender.d.ts +2 -2
  34. package/dist/flow-controlled-sender.d.ts.map +1 -1
  35. package/dist/flow-controlled-sender.js +37 -17
  36. package/dist/flow-controlled-sender.js.map +1 -1
  37. package/dist/generated/command.d.ts +20 -20
  38. package/dist/generated/command.d.ts.map +1 -1
  39. package/dist/generated/common.d.ts +20 -20
  40. package/dist/generated/common.d.ts.map +1 -1
  41. package/dist/generated/control.d.ts +36 -40
  42. package/dist/generated/control.d.ts.map +1 -1
  43. package/dist/generated/dcb.d.ts +88 -94
  44. package/dist/generated/dcb.d.ts.map +1 -1
  45. package/dist/generated/event.d.ts +81 -84
  46. package/dist/generated/event.d.ts.map +1 -1
  47. package/dist/generated/google/protobuf/empty.d.ts +3 -4
  48. package/dist/generated/google/protobuf/empty.d.ts.map +1 -1
  49. package/dist/generated/query.d.ts +40 -40
  50. package/dist/generated/query.d.ts.map +1 -1
  51. package/dist/index.d.ts +2 -2
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/message-size.d.ts +2 -2
  56. package/dist/message-size.d.ts.map +1 -1
  57. package/dist/outbound-stream.d.ts +7 -11
  58. package/dist/outbound-stream.d.ts.map +1 -1
  59. package/dist/outbound-stream.js +65 -16
  60. package/dist/outbound-stream.js.map +1 -1
  61. package/dist/platform-service.d.ts +14 -5
  62. package/dist/platform-service.d.ts.map +1 -1
  63. package/dist/platform-service.js +70 -10
  64. package/dist/platform-service.js.map +1 -1
  65. package/dist/resilience.d.ts +62 -0
  66. package/dist/resilience.d.ts.map +1 -0
  67. package/dist/resilience.js +103 -0
  68. package/dist/resilience.js.map +1 -0
  69. package/dist/shutdown-latch.d.ts +5 -4
  70. package/dist/shutdown-latch.d.ts.map +1 -1
  71. package/dist/shutdown-latch.js +20 -1
  72. package/dist/shutdown-latch.js.map +1 -1
  73. package/dist/stream-recovery.d.ts +9 -0
  74. package/dist/stream-recovery.d.ts.map +1 -0
  75. package/dist/stream-recovery.js +70 -0
  76. package/dist/stream-recovery.js.map +1 -0
  77. package/package.json +3 -3
  78. package/src/axon-server-event-store.ts +77 -47
  79. package/src/axon-server-snapshotting-event-store.ts +194 -0
  80. package/src/axon-server.ts +472 -374
  81. package/src/bounded-read.ts +43 -0
  82. package/src/connection-manager.ts +1 -1
  83. package/src/connection.ts +93 -59
  84. package/src/context-view.ts +1 -1
  85. package/src/control-plane.ts +22 -66
  86. package/src/event-processor-info.ts +23 -44
  87. package/src/flow-controlled-sender.ts +34 -15
  88. package/src/generated/command.ts +10 -10
  89. package/src/generated/common.ts +10 -10
  90. package/src/generated/control.ts +20 -20
  91. package/src/generated/dcb.ts +47 -47
  92. package/src/generated/event.ts +42 -42
  93. package/src/generated/google/protobuf/empty.ts +2 -2
  94. package/src/generated/query.ts +20 -20
  95. package/src/index.ts +1 -2
  96. package/src/message-size.ts +1 -1
  97. package/src/outbound-stream.ts +58 -28
  98. package/src/platform-service.ts +77 -13
  99. package/src/resilience.ts +149 -0
  100. package/src/shutdown-latch.ts +16 -3
  101. package/src/stream-recovery.ts +72 -0
  102. package/dist/axon-server-snapshot-store.d.ts +0 -12
  103. package/dist/axon-server-snapshot-store.d.ts.map +0 -1
  104. package/dist/axon-server-snapshot-store.js +0 -82
  105. package/dist/axon-server-snapshot-store.js.map +0 -1
  106. package/src/axon-server-snapshot-store.ts +0 -110
@@ -11,7 +11,7 @@ import type { AxonServerStoreSource } from "./connection.js";
11
11
  * channel, the codec or the drain latch differs between them; only this header
12
12
  * does, which is why the whole difference fits in one small record.
13
13
  */
14
- export interface AxonServerContextView extends AxonServerStoreSource {
14
+ export type AxonServerContextView = AxonServerStoreSource & {
15
15
  /** The Axon Server context every call through this view addresses. */
16
16
  readonly context: string;
17
17
  /**
@@ -24,7 +24,7 @@ export interface AxonServerContextView extends AxonServerStoreSource {
24
24
  * can hoist it, and one that makes many unary calls can hand each its own.
25
25
  */
26
26
  metadata(): Metadata;
27
- }
27
+ };
28
28
  /** Scope a connection to one Axon Server context. */
29
29
  export declare function contextView(source: AxonServerStoreSource, context: string): AxonServerContextView;
30
30
  //# sourceMappingURL=context-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-view.d.ts","sourceRoot":"","sources":["../src/context-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,QAAQ,IAAI,QAAQ,CAAA;CACrB;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAejG"}
1
+ {"version":3,"file":"context-view.d.ts","sourceRoot":"","sources":["../src/context-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE5D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,GAAG;IAC1D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,QAAQ,IAAI,QAAQ,CAAA;CACrB,CAAA;AAED,qDAAqD;AACrD,wBAAgB,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAejG"}
@@ -6,8 +6,9 @@
6
6
  * Axon Server's admin surface needs from a client:
7
7
  *
8
8
  * 1. inbound — Axon Server pushes processor instructions (pause-processor,
9
- * start-processor, release-segment, split-segment, merge-segment) which
10
- * have to be routed to the live processor of that name;
9
+ * start-processor) which have to be routed to the live processor of that
10
+ * name; segment instructions (split, merge, release) are ignored, a kronos
11
+ * processor has one lane;
11
12
  * 2. outbound — the client periodically reports each processor's status so
12
13
  * the Axon Dashboard can render it.
13
14
  *
@@ -19,7 +20,7 @@
19
20
  *
20
21
  * ```ts
21
22
  * const axon = await axonServerConnection({ ... })
22
- * const app = kronos({ states, commandHandlers, queryHandlers, eventHandlers })
23
+ * const app = kronos({ commandHandlers, queryHandlers, eventHandlers })
23
24
  * await axon.start() // data path only
24
25
  *
25
26
  * // opt in to remote administration
@@ -40,40 +41,29 @@
40
41
  */
41
42
  import type { AxonServerPlatformSource } from "./connection.js";
42
43
  /**
43
- * A processor Axon Server is allowed to observe and control.
44
- *
45
- * The container version reached for `app.processors()` and cast the result to
46
- * `any` before poking at `start` / `stop` / `releaseSegment` / … — this is that
47
- * cast, written down. Both `TrackingEventProcessor` and
48
- * `StreamingEventProcessor` satisfy it structurally; anything else that can
49
- * name itself and answer some of these calls does too. Every member past the
50
- * name is optional because Axon Server asks for things a given processor kind
51
- * may not implement (a subscribing processor has no segments), and the
52
- * instruction handler simply skips what is absent.
44
+ * A processor Axon Server is allowed to observe and control. `RunningProcessor`
45
+ * satisfies it structurally; everything past `name` is optional so a foreign
46
+ * processor-shaped object is skipped rather than crashed on.
53
47
  */
54
- export interface ManagedEventProcessor {
48
+ export type ManagedEventProcessor = {
55
49
  readonly name: string;
56
50
  readonly running?: boolean;
57
51
  readonly replaying?: boolean;
58
52
  readonly position?: bigint;
59
53
  start?(): Promise<void> | void;
60
54
  stop?(): void;
61
- supportsReset?(): boolean;
62
- processingStatus?(): ReadonlyMap<number, {
63
- readonly position?: bigint;
55
+ status?(): {
64
56
  readonly caughtUp?: boolean;
65
57
  readonly replaying?: boolean;
58
+ readonly position?: bigint;
66
59
  readonly error?: Error;
67
- }>;
68
- releaseSegment?(segmentId: number): Promise<unknown> | unknown;
69
- splitSegment?(segmentId: number): Promise<unknown> | unknown;
70
- mergeSegment?(segmentId: number): Promise<unknown> | unknown;
71
- }
60
+ };
61
+ };
72
62
  /**
73
63
  * A running control plane. The platform stream is live; instructions are being
74
64
  * routed and status is being reported until `close()`.
75
65
  */
76
- export interface AxonServerControlPlane {
66
+ export type AxonServerControlPlane = {
77
67
  /**
78
68
  * The processors this control plane addresses, keyed by name — the snapshot
79
69
  * taken at construction. Exposed for introspection and tests.
@@ -81,7 +71,7 @@ export interface AxonServerControlPlane {
81
71
  readonly processors: ReadonlyMap<string, ManagedEventProcessor>;
82
72
  /** Stop the platform stream. Idempotent, and safe to call before `axon.close()`. */
83
73
  close(): Promise<void>;
84
- }
74
+ };
85
75
  /**
86
76
  * Wire remote administration onto an Axon Server platform stream and start it.
87
77
  *
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAG/D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,IAAI,IAAI,CAAA;IACb,aAAa,CAAC,IAAI,OAAO,CAAA;IACzB,gBAAgB,CAAC,IAAI,WAAW,CAC9B,MAAM,EACN;QACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;QAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KACvB,CACF,CAAA;IACD,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAC9D,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAC5D,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC/D,oFAAoF;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAwCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,wBAAwB,EAC9B,UAAU,GAAE,QAAQ,CAAC,qBAAqB,CAAM,GAC/C,OAAO,CAAC,sBAAsB,CAAC,CAuCjC"}
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAG/D;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC9B,IAAI,CAAC,IAAI,IAAI,CAAA;IACb,MAAM,CAAC,IAAI;QACT,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;QAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KACvB,CAAA;CACF,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC/D,oFAAoF;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB,CAAA;AAiBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,wBAAwB,EAC9B,UAAU,GAAE,QAAQ,CAAC,qBAAqB,CAAM,GAC/C,OAAO,CAAC,sBAAsB,CAAC,CA+BjC"}
@@ -1,37 +1,14 @@
1
1
  /** Map the managed processors into the status shape the platform stream reports. */
2
2
  function processorStatuses(processors) {
3
3
  return Array.from(processors, (proc) => {
4
- const isStreamingProcessor = proc.supportsReset?.() !== false;
5
- const perSegment = proc.processingStatus?.();
6
- const segments = perSegment
7
- ? Array.from(perSegment.entries()).map(([segmentId, status]) => ({
8
- segmentId,
9
- caughtUp: status.caughtUp ?? false,
10
- replaying: status.replaying ?? false,
11
- onePartOf: 1,
12
- tokenPosition: status.position ?? 0n,
13
- errorState: status.error?.message ?? "",
14
- }))
15
- : [
16
- {
17
- segmentId: 0,
18
- caughtUp: true,
19
- replaying: proc.replaying ?? false,
20
- onePartOf: 1,
21
- tokenPosition: proc.position ?? 0n,
22
- errorState: "",
23
- },
24
- ];
4
+ const status = proc.status?.();
25
5
  return {
26
6
  name: proc.name,
27
7
  running: proc.running ?? false,
28
- mode: isStreamingProcessor ? "Tracking" : "Subscribing",
29
- isStreamingProcessor,
30
- activeThreads: proc.running ? 1 : 0,
31
- availableThreads: 0,
32
- error: false,
33
- tokenStoreIdentifier: "",
34
- segments,
8
+ caughtUp: status?.caughtUp ?? true,
9
+ replaying: status?.replaying ?? proc.replaying ?? false,
10
+ position: status?.position ?? proc.position ?? 0n,
11
+ error: status?.error?.message,
35
12
  };
36
13
  });
37
14
  }
@@ -72,15 +49,7 @@ export async function axonServerControlPlane(conn, processors = []) {
72
49
  case "start-processor":
73
50
  await byName.get(instruction.processorName)?.start?.();
74
51
  break;
75
- case "release-segment":
76
- await byName.get(instruction.processorName)?.releaseSegment?.(instruction.segmentId);
77
- break;
78
- case "split-segment":
79
- await byName.get(instruction.processorName)?.splitSegment?.(instruction.segmentId);
80
- break;
81
- case "merge-segment":
82
- await byName.get(instruction.processorName)?.mergeSegment?.(instruction.segmentId);
83
- break;
52
+ // release/split/merge-segment: a kronos processor has one lane. Ignored.
84
53
  }
85
54
  });
86
55
  platform.registerProcessorStatusSupplier(() => processorStatuses(byName.values()));
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../src/control-plane.ts"],"names":[],"mappings":"AA8EA,oFAAoF;AACpF,SAAS,iBAAiB,CAAC,UAA2C;IACpE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;QAC9B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;YAC9B,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAI;YAClC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK;YACvD,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YACjD,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;SAC9B,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAA8B,EAC9B,UAAU,GAAoC,EAAE;IAEhD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IACzB,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAA;IACvD,KAAK,MAAM,IAAI,IAAI,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1D,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QAC3C,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,iBAAiB;gBACpB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,CAAA;gBAC/C,MAAK;YACP,KAAK,iBAAiB;gBACpB,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,CAAA;gBACtD,MAAK;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAElF,qEAAqE;IACrE,uEAAuE;IACvE,kCAAkC;IAClC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;IAEtB,OAAO;QACL,UAAU,EAAE,MAAM;QAClB,KAAK,CAAC,KAAK;YACT,QAAQ,CAAC,IAAI,EAAE,CAAA;QACjB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,35 +1,17 @@
1
1
  import type { EventProcessorInfo } from "./generated/control.js";
2
2
  /**
3
- * Status of a single event processor, reported to Axon Server.
4
- * Aligned with Java's EventProcessorInfo proto message.
3
+ * What a processor reports about itself. SIX FIELDS — see the kronosdb
4
+ * package's twin for why the wire's thread counts, token-store identifier and
5
+ * per-segment list are filled with constants here rather than carried.
5
6
  */
6
- export interface ProcessorStatus {
7
+ export type ProcessorStatus = {
7
8
  readonly name: string;
8
9
  readonly running: boolean;
9
- readonly mode: "Tracking" | "Subscribing";
10
- readonly isStreamingProcessor: boolean;
11
- readonly activeThreads: number;
12
- readonly availableThreads: number;
13
- readonly error: boolean;
14
- readonly errorMessage?: string;
15
- readonly tokenStoreIdentifier: string;
16
- readonly segments: SegmentStatus[];
17
- }
18
- export interface SegmentStatus {
19
- readonly segmentId: number;
20
10
  readonly caughtUp: boolean;
21
11
  readonly replaying: boolean;
22
- readonly onePartOf: number;
23
- readonly tokenPosition: bigint;
24
- readonly errorState: string;
25
- }
26
- /**
27
- * Converts a ProcessorStatus to the proto EventProcessorInfo format.
28
- */
12
+ readonly position: bigint;
13
+ readonly error?: string;
14
+ };
29
15
  export declare function toEventProcessorInfo(status: ProcessorStatus): EventProcessorInfo;
30
- /**
31
- * Supplier function that returns the current status of all event processors.
32
- * Registered with the platform connection for periodic reporting.
33
- */
34
16
  export type ProcessorStatusSupplier = () => ProcessorStatus[];
35
17
  //# sourceMappingURL=event-processor-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-processor-info.d.ts","sourceRoot":"","sources":["../src/event-processor-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAoC,MAAM,wBAAwB,CAAA;AAElG;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAAA;IACzC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,kBAAkB,CAahF;AAaD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"event-processor-info.d.ts","sourceRoot":"","sources":["../src/event-processor-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,kBAAkB,CAsBhF;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,eAAe,EAAE,CAAA"}
@@ -1,28 +1,24 @@
1
- /**
2
- * Converts a ProcessorStatus to the proto EventProcessorInfo format.
3
- */
4
1
  export function toEventProcessorInfo(status) {
5
2
  return {
6
3
  processorName: status.name,
7
- mode: status.mode,
8
- activeThreads: status.activeThreads,
4
+ mode: "Tracking",
5
+ activeThreads: status.running ? 1 : 0,
9
6
  running: status.running,
10
- error: status.error,
11
- segmentStatus: status.segments.map(toSegmentStatus),
12
- availableThreads: status.availableThreads,
13
- tokenStoreIdentifier: status.tokenStoreIdentifier,
14
- isStreamingProcessor: status.isStreamingProcessor,
7
+ error: status.error !== undefined,
8
+ segmentStatus: [
9
+ {
10
+ segmentId: 0,
11
+ caughtUp: status.caughtUp,
12
+ replaying: status.replaying,
13
+ onePartOf: 1,
14
+ tokenPosition: status.position,
15
+ errorState: status.error ?? "",
16
+ },
17
+ ],
18
+ availableThreads: 0,
19
+ tokenStoreIdentifier: "",
20
+ isStreamingProcessor: true,
15
21
  loadBalancingStrategyName: "",
16
22
  };
17
23
  }
18
- function toSegmentStatus(seg) {
19
- return {
20
- segmentId: seg.segmentId,
21
- caughtUp: seg.caughtUp,
22
- replaying: seg.replaying,
23
- onePartOf: seg.onePartOf,
24
- tokenPosition: seg.tokenPosition,
25
- errorState: seg.errorState,
26
- };
27
- }
28
24
  //# sourceMappingURL=event-processor-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-processor-info.js","sourceRoot":"","sources":["../src/event-processor-info.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,IAAI;QAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;QACnD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,yBAAyB,EAAE,EAAE;KAC9B,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAkB;IACzC,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"event-processor-info.js","sourceRoot":"","sources":["../src/event-processor-info.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,IAAI;QAC1B,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,SAAS;QACjC,aAAa,EAAE;YACb;gBACE,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,MAAM,CAAC,QAAQ;gBAC9B,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;aAC/B;SACF;QACD,gBAAgB,EAAE,CAAC;QACnB,oBAAoB,EAAE,EAAE;QACxB,oBAAoB,EAAE,IAAI;QAC1B,yBAAyB,EAAE,EAAE;KAC9B,CAAA;AACH,CAAC"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Aligned with Java's `FlowControlledResponseSender`.
9
9
  */
10
- export interface FlowControlledSender<T> {
10
+ export type FlowControlledSender<T> = {
11
11
  /** Send an update. Buffers if no permits available. */
12
12
  offer(value: T): boolean;
13
13
  /** Grant additional permits to the sender. */
@@ -18,7 +18,7 @@ export interface FlowControlledSender<T> {
18
18
  completeExceptionally(error: Error): void;
19
19
  /** Whether the stream is still active. */
20
20
  readonly active: boolean;
21
- }
21
+ };
22
22
  /**
23
23
  * Creates a flow-controlled sender that buffers updates when permits are
24
24
  * exhausted and drains the buffer when new permits arrive.
@@ -1 +1 @@
1
- {"version":3,"file":"flow-controlled-sender.d.ts","sourceRoot":"","sources":["../src/flow-controlled-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAA;IACxB,8CAA8C;IAC9C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,oCAAoC;IACpC,QAAQ,IAAI,IAAI,CAAA;IAChB,yCAAyC;IACzC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EACxB,UAAU,CAAC,EAAE,MAAM,IAAI,EACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,aAAa,GAAE,MAAY,GAC1B,oBAAoB,CAAC,CAAC,CAAC,CAwDzB"}
1
+ {"version":3,"file":"flow-controlled-sender.d.ts","sourceRoot":"","sources":["../src/flow-controlled-sender.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAA;IACxB,8CAA8C;IAC9C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,oCAAoC;IACpC,QAAQ,IAAI,IAAI,CAAA;IAChB,yCAAyC;IACzC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EACxB,UAAU,CAAC,EAAE,MAAM,IAAI,EACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAChC,aAAa,GAAE,MAAY,GAC1B,oBAAoB,CAAC,CAAC,CAAC,CA2EzB"}
@@ -6,28 +6,49 @@
6
6
  * @param maxBufferSize Maximum number of updates to buffer. Default: 256.
7
7
  */
8
8
  export function flowControlledSender(send, onComplete, onError, maxBufferSize = 256) {
9
+ if (!Number.isSafeInteger(maxBufferSize) || maxBufferSize <= 0)
10
+ throw new RangeError("maxBufferSize must be a positive integer");
9
11
  const buffer = [];
10
12
  let permits = 0;
11
13
  let isActive = true;
14
+ let completionRequested = false;
15
+ function fail(error) {
16
+ if (!isActive)
17
+ return;
18
+ isActive = false;
19
+ buffer.length = 0;
20
+ onError?.(error);
21
+ }
22
+ function sendOne(value) {
23
+ try {
24
+ send(value);
25
+ }
26
+ catch (error) {
27
+ fail(error instanceof Error ? error : new Error(String(error)));
28
+ throw error;
29
+ }
30
+ }
31
+ function finishIfDrained() {
32
+ if (isActive && completionRequested && !buffer.length) {
33
+ isActive = false;
34
+ onComplete?.();
35
+ }
36
+ }
12
37
  function drain() {
13
38
  while (permits > 0 && buffer.length > 0 && isActive) {
14
39
  const value = buffer.shift();
15
40
  permits--;
16
- try {
17
- send(value);
18
- }
19
- catch (err) {
20
- console.warn("FlowControlledSender: send error", err);
21
- }
41
+ sendOne(value);
22
42
  }
43
+ finishIfDrained();
23
44
  }
24
45
  return {
25
46
  offer(value) {
26
- if (!isActive)
47
+ if (!isActive || completionRequested)
27
48
  return false;
28
49
  if (permits > 0) {
29
50
  permits--;
30
- send(value);
51
+ sendOne(value);
31
52
  return true;
32
53
  }
33
54
  if (buffer.length >= maxBufferSize) {
@@ -37,23 +58,22 @@ export function flowControlledSender(send, onComplete, onError, maxBufferSize =
37
58
  return true;
38
59
  },
39
60
  addPermits(count) {
61
+ if (!Number.isSafeInteger(count) || count <= 0 || !Number.isSafeInteger(permits + count))
62
+ throw new RangeError("Permits must be positive safe integers");
63
+ if (!isActive)
64
+ return;
40
65
  permits += count;
41
66
  drain();
42
67
  },
43
68
  complete() {
44
- isActive = false;
45
- buffer.length = 0;
46
- if (onComplete)
47
- onComplete();
69
+ completionRequested = true;
70
+ finishIfDrained();
48
71
  },
49
72
  completeExceptionally(error) {
50
- isActive = false;
51
- buffer.length = 0;
52
- if (onError)
53
- onError(error);
73
+ fail(error);
54
74
  },
55
75
  get active() {
56
- return isActive;
76
+ return isActive && !completionRequested;
57
77
  },
58
78
  };
59
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow-controlled-sender.js","sourceRoot":"","sources":["../src/flow-controlled-sender.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAwB,EACxB,UAAuB,EACvB,OAAgC,EAChC,aAAa,GAAW,GAAG;IAE3B,MAAM,MAAM,GAAQ,EAAE,CAAA;IACtB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,QAAQ,GAAG,IAAI,CAAA;IAEnB,SAAS,KAAK;QACZ,OAAO,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAG,CAAA;YAC7B,OAAO,EAAE,CAAA;YACT,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,CAAC,CAAA;YACb,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAQ;YACZ,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAA;YAE3B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAA;gBACT,IAAI,CAAC,KAAK,CAAC,CAAA;gBACX,OAAO,IAAI,CAAA;YACb,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,UAAU,CAAC,KAAa;YACtB,OAAO,IAAI,KAAK,CAAA;YAChB,KAAK,EAAE,CAAA;QACT,CAAC;QAED,QAAQ;YACN,QAAQ,GAAG,KAAK,CAAA;YAChB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YACjB,IAAI,UAAU;gBAAE,UAAU,EAAE,CAAA;QAC9B,CAAC;QAED,qBAAqB,CAAC,KAAY;YAChC,QAAQ,GAAG,KAAK,CAAA;YAChB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;YACjB,IAAI,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,MAAM;YACR,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"flow-controlled-sender.js","sourceRoot":"","sources":["../src/flow-controlled-sender.ts"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAwB,EACxB,UAAuB,EACvB,OAAgC,EAChC,aAAa,GAAW,GAAG;IAE3B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAA;IAChI,MAAM,MAAM,GAAQ,EAAE,CAAA;IACtB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,QAAQ,GAAG,IAAI,CAAA;IACnB,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAE/B,SAAS,IAAI,CAAC,KAAY;QACxB,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,QAAQ,GAAG,KAAK,CAAA;QAChB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACjB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IACD,SAAS,OAAO,CAAC,KAAQ;QACvB,IAAI,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAAC,CAAC;QACnB,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC/D,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IACD,SAAS,eAAe;QACtB,IAAI,QAAQ,IAAI,mBAAmB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACtD,QAAQ,GAAG,KAAK,CAAA;YAChB,UAAU,EAAE,EAAE,CAAA;QAChB,CAAC;IACH,CAAC;IAGD,SAAS,KAAK;QACZ,OAAO,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAG,CAAA;YAC7B,OAAO,EAAE,CAAA;YACT,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;QACD,eAAe,EAAE,CAAA;IACnB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,KAAQ;YACZ,IAAI,CAAC,QAAQ,IAAI,mBAAmB;gBAAE,OAAO,KAAK,CAAA;YAElD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAA;gBACT,OAAO,CAAC,KAAK,CAAC,CAAA;gBACd,OAAO,IAAI,CAAA;YACb,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,UAAU,CAAC,KAAa;YACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,wCAAwC,CAAC,CAAA;YACxJ,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrB,OAAO,IAAI,KAAK,CAAA;YAChB,KAAK,EAAE,CAAA;QACT,CAAC;QAED,QAAQ;YACN,mBAAmB,GAAG,IAAI,CAAA;YAC1B,eAAe,EAAE,CAAA;QACnB,CAAC;QAED,qBAAqB,CAAC,KAAY;YAChC,IAAI,CAAC,KAAK,CAAC,CAAA;QACb,CAAC;QAED,IAAI,MAAM;YACR,OAAO,QAAQ,IAAI,CAAC,mBAAmB,CAAA;QACzC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -3,7 +3,7 @@ import type { CallContext, CallOptions } from "nice-grpc-common";
3
3
  import { ErrorMessage, FlowControl, InstructionAck, MetaDataValue, ProcessingInstruction, SerializedObject } from "./common.js";
4
4
  export declare const protobufPackage = "io.axoniq.axonserver.grpc.command";
5
5
  /** An instruction from the components that provides the Command Handler towards AxonServer. */
6
- export interface CommandProviderOutbound {
6
+ export type CommandProviderOutbound = {
7
7
  /** Instruction to subscribe this component as handler of a specific type of command */
8
8
  subscribe?: CommandSubscription | undefined;
9
9
  /** Instruction to unsubscribe this component as handler of a specific type of command */
@@ -16,18 +16,18 @@ export interface CommandProviderOutbound {
16
16
  ack?: InstructionAck | undefined;
17
17
  /** Instruction identifier. If this identifier is set, this instruction will be acknowledged via inbound stream */
18
18
  instructionId: string;
19
- }
19
+ };
20
20
  /** An instruction or confirmation from AxonServer towards the component that provides the Command Handler */
21
- export interface CommandProviderInbound {
21
+ export type CommandProviderInbound = {
22
22
  /** Acknowledgement of previously sent instruction via outbound stream */
23
23
  ack?: InstructionAck | undefined;
24
24
  /** A command for this component to process */
25
25
  command?: Command | undefined;
26
26
  /** Instruction identifier. If this identifier is set, this instruction will be acknowledged via outbound stream */
27
27
  instructionId: string;
28
- }
28
+ };
29
29
  /** A message representing a Command that needs to be routed to a component capable of handling it */
30
- export interface Command {
30
+ export type Command = {
31
31
  /** The unique identifier of the Command Message */
32
32
  messageIdentifier: string;
33
33
  /** The name of the command, used for routing it to a destination capable of handling it */
@@ -46,13 +46,13 @@ export interface Command {
46
46
  clientId: string;
47
47
  /** The name/type of the component dispatching this message */
48
48
  componentName: string;
49
- }
50
- export interface Command_MetaDataEntry {
49
+ };
50
+ export type Command_MetaDataEntry = {
51
51
  key: string;
52
52
  value: MetaDataValue | undefined;
53
- }
53
+ };
54
54
  /** Message representing the result of Command Handler execution */
55
- export interface CommandResponse {
55
+ export type CommandResponse = {
56
56
  /** The unique identifier of the response message */
57
57
  messageIdentifier: string;
58
58
  /** An error code describing the error, if any */
@@ -69,13 +69,13 @@ export interface CommandResponse {
69
69
  processingInstructions: ProcessingInstruction[];
70
70
  /** The unique identifier of the Command Message for which this is the response */
71
71
  requestIdentifier: string;
72
- }
73
- export interface CommandResponse_MetaDataEntry {
72
+ };
73
+ export type CommandResponse_MetaDataEntry = {
74
74
  key: string;
75
75
  value: MetaDataValue | undefined;
76
- }
76
+ };
77
77
  /** Message describing a component's capability of handling a command type */
78
- export interface CommandSubscription {
78
+ export type CommandSubscription = {
79
79
  /**
80
80
  * A unique identifier for this subscription. This identifier is returned in Acknowledgements to allow
81
81
  * pipelining of subscription messages
@@ -93,7 +93,7 @@ export interface CommandSubscription {
93
93
  * Used to balance the dispatching of commands. If set to 0, Axon Server consider 100 as default value.
94
94
  */
95
95
  loadFactor: number;
96
- }
96
+ };
97
97
  export declare const CommandProviderOutbound: MessageFns<CommandProviderOutbound>;
98
98
  export declare const CommandProviderInbound: MessageFns<CommandProviderInbound>;
99
99
  export declare const Command: MessageFns<Command>;
@@ -127,18 +127,18 @@ export declare const CommandServiceDefinition: {
127
127
  };
128
128
  };
129
129
  };
130
- export interface CommandServiceImplementation<CallContextExt = {}> {
130
+ export type CommandServiceImplementation<CallContextExt = {}> = {
131
131
  /** Opens a stream allowing clients to register command handlers and receive commands. */
132
132
  openStream(request: AsyncIterable<CommandProviderOutbound>, context: CallContext & CallContextExt): ServerStreamingMethodResult<DeepPartial<CommandProviderInbound>>;
133
133
  /** Dispatches the given command, returning the result of command execution */
134
134
  dispatch(request: Command, context: CallContext & CallContextExt): Promise<DeepPartial<CommandResponse>>;
135
- }
136
- export interface CommandServiceClient<CallOptionsExt = {}> {
135
+ };
136
+ export type CommandServiceClient<CallOptionsExt = {}> = {
137
137
  /** Opens a stream allowing clients to register command handlers and receive commands. */
138
138
  openStream(request: AsyncIterable<DeepPartial<CommandProviderOutbound>>, options?: CallOptions & CallOptionsExt): AsyncIterable<CommandProviderInbound>;
139
139
  /** Dispatches the given command, returning the result of command execution */
140
140
  dispatch(request: DeepPartial<Command>, options?: CallOptions & CallOptionsExt): Promise<CommandResponse>;
141
- }
141
+ };
142
142
  type Builtin = Date | Function | Uint8Array | string | number | boolean | bigint | undefined;
143
143
  export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
144
144
  [K in keyof T]?: DeepPartial<T[K]>;
@@ -146,13 +146,13 @@ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<
146
146
  export type ServerStreamingMethodResult<Response> = {
147
147
  [Symbol.asyncIterator](): AsyncIterator<Response, void>;
148
148
  };
149
- export interface MessageFns<T> {
149
+ export type MessageFns<T> = {
150
150
  encode(message: T, writer?: BinaryWriter): BinaryWriter;
151
151
  decode(input: BinaryReader | Uint8Array, length?: number): T;
152
152
  fromJSON(object: any): T;
153
153
  toJSON(message: T): unknown;
154
154
  create(base?: DeepPartial<T>): T;
155
155
  fromPartial(object: DeepPartial<T>): T;
156
- }
156
+ };
157
157
  export {};
158
158
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/generated/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/generated/command.ts"],"names":[],"mappings":"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"}