@kronos-ts/axon-server 0.4.0 → 0.5.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 (84) 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 +47 -14
  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 +153 -0
  8. package/dist/axon-server-snapshotting-event-store.js.map +1 -0
  9. package/dist/axon-server.d.ts +33 -60
  10. package/dist/axon-server.d.ts.map +1 -1
  11. package/dist/axon-server.js +58 -59
  12. package/dist/axon-server.js.map +1 -1
  13. package/dist/connection-manager.d.ts +2 -2
  14. package/dist/connection-manager.d.ts.map +1 -1
  15. package/dist/connection.d.ts +23 -21
  16. package/dist/connection.d.ts.map +1 -1
  17. package/dist/connection.js +6 -5
  18. package/dist/connection.js.map +1 -1
  19. package/dist/context-view.d.ts +2 -2
  20. package/dist/context-view.d.ts.map +1 -1
  21. package/dist/control-plane.d.ts +5 -5
  22. package/dist/control-plane.d.ts.map +1 -1
  23. package/dist/event-processor-info.d.ts +4 -4
  24. package/dist/event-processor-info.d.ts.map +1 -1
  25. package/dist/flow-controlled-sender.d.ts +2 -2
  26. package/dist/flow-controlled-sender.d.ts.map +1 -1
  27. package/dist/generated/command.d.ts +20 -20
  28. package/dist/generated/command.d.ts.map +1 -1
  29. package/dist/generated/common.d.ts +20 -20
  30. package/dist/generated/common.d.ts.map +1 -1
  31. package/dist/generated/control.d.ts +36 -40
  32. package/dist/generated/control.d.ts.map +1 -1
  33. package/dist/generated/dcb.d.ts +88 -94
  34. package/dist/generated/dcb.d.ts.map +1 -1
  35. package/dist/generated/event.d.ts +81 -84
  36. package/dist/generated/event.d.ts.map +1 -1
  37. package/dist/generated/google/protobuf/empty.d.ts +3 -4
  38. package/dist/generated/google/protobuf/empty.d.ts.map +1 -1
  39. package/dist/generated/query.d.ts +40 -40
  40. package/dist/generated/query.d.ts.map +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/message-size.d.ts +2 -2
  46. package/dist/message-size.d.ts.map +1 -1
  47. package/dist/outbound-stream.d.ts +2 -2
  48. package/dist/outbound-stream.d.ts.map +1 -1
  49. package/dist/platform-service.d.ts +4 -4
  50. package/dist/platform-service.d.ts.map +1 -1
  51. package/dist/resilience.d.ts +62 -0
  52. package/dist/resilience.d.ts.map +1 -0
  53. package/dist/resilience.js +103 -0
  54. package/dist/resilience.js.map +1 -0
  55. package/dist/shutdown-latch.d.ts +4 -4
  56. package/dist/shutdown-latch.d.ts.map +1 -1
  57. package/package.json +3 -3
  58. package/src/axon-server-event-store.ts +46 -14
  59. package/src/axon-server-snapshotting-event-store.ts +191 -0
  60. package/src/axon-server.ts +72 -77
  61. package/src/connection-manager.ts +1 -1
  62. package/src/connection.ts +16 -14
  63. package/src/context-view.ts +1 -1
  64. package/src/control-plane.ts +3 -3
  65. package/src/event-processor-info.ts +2 -2
  66. package/src/flow-controlled-sender.ts +1 -1
  67. package/src/generated/command.ts +10 -10
  68. package/src/generated/common.ts +10 -10
  69. package/src/generated/control.ts +20 -20
  70. package/src/generated/dcb.ts +47 -47
  71. package/src/generated/event.ts +42 -42
  72. package/src/generated/google/protobuf/empty.ts +2 -2
  73. package/src/generated/query.ts +20 -20
  74. package/src/index.ts +1 -1
  75. package/src/message-size.ts +1 -1
  76. package/src/outbound-stream.ts +1 -1
  77. package/src/platform-service.ts +2 -2
  78. package/src/resilience.ts +149 -0
  79. package/src/shutdown-latch.ts +2 -2
  80. package/dist/axon-server-snapshot-store.d.ts +0 -12
  81. package/dist/axon-server-snapshot-store.d.ts.map +0 -1
  82. package/dist/axon-server-snapshot-store.js +0 -82
  83. package/dist/axon-server-snapshot-store.js.map +0 -1
  84. package/src/axon-server-snapshot-store.ts +0 -110
@@ -1,20 +1,4 @@
1
1
  import type { EventStore } from "@kronos-ts/core";
2
2
  import type { AxonServerStoreSource } from "./connection.js";
3
- /**
4
- * An EventStore over Axon Server's DCB event store, in one context.
5
- *
6
- * This bridges the framework's EventStore interface to the gRPC
7
- * DcbEventStore service, handling conversion between framework types
8
- * and proto messages.
9
- *
10
- * `context` is Axon Server's tenancy boundary and is a per-call header, so
11
- * several contexts share the one channel `conn` holds — see `contextView`. The
12
- * serializer is the connection's: one codec for everything this client puts on
13
- * the wire.
14
- *
15
- * The {@link open} method returns a persistent {@link MessageStream} backed by
16
- * a single gRPC Stream RPC call that stays open indefinitely, aligned with
17
- * Java's infinite {@code ResultStream}.
18
- */
19
3
  export declare function axonServerEventStore(conn: AxonServerStoreSource, context: string): EventStore;
20
4
  //# sourceMappingURL=axon-server-event-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axon-server-event-store.d.ts","sourceRoot":"","sources":["../src/axon-server-event-store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,UAAU,EAMX,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AA0H5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CA2M7F"}
1
+ {"version":3,"file":"axon-server-event-store.d.ts","sourceRoot":"","sources":["../src/axon-server-event-store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,UAAU,EAMX,MAAM,iBAAiB,CAAA;AAIxB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAuJ5D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CA8N7F"}
@@ -114,6 +114,18 @@ function createEventConverters(serializer) {
114
114
  * a single gRPC Stream RPC call that stays open indefinitely, aligned with
115
115
  * Java's infinite {@code ResultStream}.
116
116
  */
117
+ /**
118
+ * Axon Server's way of saying "there is nothing at or after that position".
119
+ *
120
+ * Matched on the gRPC status code first — `OUT_OF_RANGE` is 11 — with the
121
+ * server's own message as a second, narrower gate, so an unrelated future
122
+ * OUT_OF_RANGE is not swallowed along with it.
123
+ */
124
+ function isStartPastHead(err) {
125
+ const code = err.code;
126
+ const details = String(err.details ?? "");
127
+ return code === 11 && details.includes("Start sequence cannot be larger than end sequence");
128
+ }
117
129
  export function axonServerEventStore(conn, context) {
118
130
  const { connection, serializer, metadata: createAxonMetadata } = contextView(conn, context);
119
131
  const { eventToProto, eventFromProto } = createEventConverters(serializer);
@@ -134,27 +146,48 @@ export function axonServerEventStore(conn, context) {
134
146
  return {
135
147
  async source(condition) {
136
148
  const criterions = criteriaToCriterions(compileQuery(condition.query));
149
+ const start = condition.start ?? 0n;
137
150
  const request = {
138
- fromSequence: condition.start ?? 0n,
151
+ fromSequence: start,
139
152
  criterion: criterions,
140
153
  };
141
154
  const events = [];
142
155
  let marker = noMarker();
143
- const stream = connection.eventStore.source(request, { metadata: createAxonMetadata() });
144
- for await (const response of stream) {
145
- if (response.event) {
146
- const taggedEvent = response.event;
147
- const protoEvent = taggedEvent.event;
148
- if (protoEvent) {
149
- // DCB source/stream responses carry no tags — the server indexes
150
- // them write-side but does not echo them back (SequencedEvent has
151
- // only sequence + event). Reconstructed events get empty tags.
152
- events.push(eventFromProto(protoEvent, []));
156
+ try {
157
+ const stream = connection.eventStore.source(request, { metadata: createAxonMetadata() });
158
+ for await (const response of stream) {
159
+ if (response.event) {
160
+ const taggedEvent = response.event;
161
+ const protoEvent = taggedEvent.event;
162
+ if (protoEvent) {
163
+ // DCB source/stream responses carry no tags the server indexes
164
+ // them write-side but does not echo them back (SequencedEvent has
165
+ // only sequence + event). Reconstructed events get empty tags.
166
+ events.push(eventFromProto(protoEvent, []));
167
+ }
168
+ }
169
+ if (response.consistencyMarker !== undefined) {
170
+ marker = markerAt(response.consistencyMarker);
153
171
  }
154
172
  }
155
- if (response.consistencyMarker !== undefined) {
156
- marker = markerAt(response.consistencyMarker);
157
- }
173
+ }
174
+ catch (err) {
175
+ // READING PAST THE HEAD IS AN EMPTY ANSWER, NOT AN ERROR — and Axon
176
+ // Server disagrees, so this is where the two vocabularies are
177
+ // reconciled. `Source` fails OUT_OF_RANGE with "Start sequence cannot
178
+ // be larger than end sequence" whenever `fromSequence` is beyond the
179
+ // global head, which is the ORDINARY STEADY STATE of a snapshotted
180
+ // load: an entry written at the head means the very next read resumes
181
+ // at head + 1 and legitimately finds nothing.
182
+ //
183
+ // The marker is `start - 1`, and it is exact rather than conservative:
184
+ // the caller has already accounted for everything up to there (that is
185
+ // what asking to start later MEANS), and nothing can exist after it or
186
+ // the server would not have refused. So an append conditioned on this
187
+ // read is checked against precisely the range that was read.
188
+ if (!isStartPastHead(err))
189
+ throw err;
190
+ return { events: [], marker: start > 0n ? markerAt(start - 1n) : noMarker() };
158
191
  }
159
192
  return { events, marker };
160
193
  },
@@ -1 +1 @@
1
- {"version":3,"file":"axon-server-event-store.js","sourceRoot":"","sources":["../src/axon-server-event-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axon-server-event-store.js","sourceRoot":"","sources":["../src/axon-server-event-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { EventStore, SnapshotCapability } from "@kronos-ts/core";
2
+ import type { AxonServerStoreSource } from "./connection.js";
3
+ /**
4
+ * Add the snapshotting capability to an Axon Server-backed log.
5
+ *
6
+ * ```ts
7
+ * const eventStore = axonServerSnapshottingEventStore(
8
+ * axonServerEventStore(axon, "default"),
9
+ * axon,
10
+ * "default",
11
+ * )
12
+ * ```
13
+ *
14
+ * ADDITIVE, NOT COLLAPSING. It returns `E & SnapshotCapability` — the store you
15
+ * passed in, plus the write — so capabilities stack in either order and nothing
16
+ * the inner store carried is laundered on the way through.
17
+ *
18
+ * `context` is a per-call header, so this shares the one channel `conn` holds
19
+ * with every other context — see `contextView`. Payloads go through the
20
+ * connection's serializer.
21
+ *
22
+ * LATEST-ONLY, over a service that is not. `DcbSnapshotStore` keeps a sequence
23
+ * of snapshots per key; the capability keeps one. `add` therefore sets
24
+ * `prune: true`, so writing an entry retires the ones before it, and `getLast`
25
+ * is the only read. That is the narrowing doing its job: the framework programs
26
+ * against the cache it needs, not against everything the backend happens to
27
+ * offer.
28
+ */
29
+ export declare function axonServerSnapshottingEventStore<E extends EventStore>(next: E, conn: AxonServerStoreSource, context: string): E & SnapshotCapability;
30
+ //# sourceMappingURL=axon-server-snapshotting-event-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axon-server-snapshotting-event-store.d.ts","sourceRoot":"","sources":["../src/axon-server-snapshotting-event-store.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,UAAU,EAEV,kBAAkB,EAGnB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAkD5D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,UAAU,EACnE,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,qBAAqB,EAC3B,OAAO,EAAE,MAAM,GACd,CAAC,GAAG,kBAAkB,CA6ExB"}
@@ -0,0 +1,153 @@
1
+ // ---------------------------------------------------------------------------
2
+ // AXON SERVER SNAPSHOTS — the capability tier, served by `DcbSnapshotStore`.
3
+ //
4
+ // THE PROBE, AND WHAT IT SETTLED. Axon Server's public API defines both a
5
+ // snapshot STORE service (`DcbSnapshotStore`: Add / Delete / List / GetLast)
6
+ // and, on newer API drops, a fused `SnapshottedDcbEventStore.Source` whose
7
+ // stream leads with the snapshot. Only the first of those is actually served:
8
+ //
9
+ // axoniq/axonserver:2025.2.5 DcbSnapshotStore/GetLast → answers
10
+ // SnapshottedDcbEventStore/Source → UNIMPLEMENTED
11
+ // axoniq/axonserver:2026.0.4 same, both ways
12
+ //
13
+ // So there is no server-side fusion to call here — there is nothing on the
14
+ // other end of the wire. The READ is therefore fused CLIENT-SIDE: `GetLast` for
15
+ // the entry, then a source after its position, assembled into the one
16
+ // `SourcingResult` a fold expects. Two round trips, the same answers, correct
17
+ // today.
18
+ //
19
+ // When a server version does serve `SnapshottedDcbEventStore.Source`, the fused
20
+ // call lands INSIDE this function — `source` stops making two calls and starts
21
+ // making one — and no host changes a line, because the capability was never a
22
+ // promise about round trips.
23
+ // ---------------------------------------------------------------------------
24
+ import { withoutSnapshotKey } from "@kronos-ts/core";
25
+ import { contextView } from "./context-view.js";
26
+ // ---------------------------------------------------------------------------
27
+ // Conversion — framework Snapshot ↔ proto Snapshot
28
+ // ---------------------------------------------------------------------------
29
+ const encoder = new TextEncoder();
30
+ /**
31
+ * The proto message carries `name`, `version`, `timestamp` and a metadata map
32
+ * the narrowed seam has no equivalent for. `name` carries the cache key,
33
+ * `timestamp` is filled at write time for operators, and `version` stays EMPTY
34
+ * — snapshots have no versions, and inventing one to fill a proto field would
35
+ * be exactly the bookkeeping this design removed. The metadata map stays empty
36
+ * too: a cache entry carries no cargo.
37
+ */
38
+ function createSnapshotConverters(serializer) {
39
+ return {
40
+ snapshotToProto(name, snapshot) {
41
+ const serialized = serializer.serialize(snapshot.state, name, "");
42
+ return {
43
+ name,
44
+ version: "",
45
+ payload: serialized.data,
46
+ timestamp: BigInt(Date.now()),
47
+ metadata: {},
48
+ };
49
+ },
50
+ snapshotFromProto(name, proto, position) {
51
+ const state = proto.payload.length > 0
52
+ ? serializer.deserialize({ data: proto.payload, type: name, revision: "" })
53
+ : {};
54
+ return { state, position };
55
+ },
56
+ };
57
+ }
58
+ function encodeKey(key) {
59
+ return encoder.encode(key);
60
+ }
61
+ // ---------------------------------------------------------------------------
62
+ // Axon Server snapshot store
63
+ // ---------------------------------------------------------------------------
64
+ /**
65
+ * Add the snapshotting capability to an Axon Server-backed log.
66
+ *
67
+ * ```ts
68
+ * const eventStore = axonServerSnapshottingEventStore(
69
+ * axonServerEventStore(axon, "default"),
70
+ * axon,
71
+ * "default",
72
+ * )
73
+ * ```
74
+ *
75
+ * ADDITIVE, NOT COLLAPSING. It returns `E & SnapshotCapability` — the store you
76
+ * passed in, plus the write — so capabilities stack in either order and nothing
77
+ * the inner store carried is laundered on the way through.
78
+ *
79
+ * `context` is a per-call header, so this shares the one channel `conn` holds
80
+ * with every other context — see `contextView`. Payloads go through the
81
+ * connection's serializer.
82
+ *
83
+ * LATEST-ONLY, over a service that is not. `DcbSnapshotStore` keeps a sequence
84
+ * of snapshots per key; the capability keeps one. `add` therefore sets
85
+ * `prune: true`, so writing an entry retires the ones before it, and `getLast`
86
+ * is the only read. That is the narrowing doing its job: the framework programs
87
+ * against the cache it needs, not against everything the backend happens to
88
+ * offer.
89
+ */
90
+ export function axonServerSnapshottingEventStore(next, conn, context) {
91
+ const { connection, serializer, metadata: createAxonMetadata } = contextView(conn, context);
92
+ const { snapshotToProto, snapshotFromProto } = createSnapshotConverters(serializer);
93
+ /** The cached fold filed under `key`, or nothing — the first of the two calls. */
94
+ async function loadSnapshot(key) {
95
+ try {
96
+ const response = await connection.snapshotStore.getLast({ key: encodeKey(key) }, { metadata: createAxonMetadata() });
97
+ if (!response.snapshot) {
98
+ return undefined;
99
+ }
100
+ return snapshotFromProto(key, response.snapshot, response.sequence);
101
+ }
102
+ catch (err) {
103
+ // Axon Server throws rather than answering empty when no snapshot
104
+ // exists — and a cache miss is not an error to anybody upstream.
105
+ if (String(err).includes("No snapshot found") ||
106
+ String(err).includes("not found")) {
107
+ return undefined;
108
+ }
109
+ throw err;
110
+ }
111
+ }
112
+ return {
113
+ ...next,
114
+ async storeSnapshot(key, snapshot) {
115
+ await connection.snapshotStore.add({
116
+ key: encodeKey(key),
117
+ sequence: snapshot.position,
118
+ prune: true,
119
+ snapshot: snapshotToProto(key, snapshot),
120
+ }, { metadata: createAxonMetadata() });
121
+ },
122
+ /**
123
+ * THE CLIENT-SIDE FUSION. Two calls, assembled into the one result a fold
124
+ * expects — and the cache is NEVER LOAD-BEARING, so a miss or an outright
125
+ * throw from the snapshot service both fall through to a full read.
126
+ */
127
+ async source(condition) {
128
+ const key = condition.snapshot;
129
+ if (key === undefined)
130
+ return next.source(condition);
131
+ // The strategy is CONSUMED here; the store below gets a plain condition.
132
+ const plain = withoutSnapshotKey(condition);
133
+ let snapshot;
134
+ try {
135
+ snapshot = await loadSnapshot(key.key);
136
+ }
137
+ catch {
138
+ // A cache you cannot reach is a cache miss. Loads stay correct; they
139
+ // just cost what they always cost.
140
+ return next.source(plain);
141
+ }
142
+ if (snapshot === undefined)
143
+ return next.source(plain);
144
+ // Resume AFTER the position the snapshot already folded; a condition that
145
+ // independently asked to start later keeps its own floor.
146
+ const resumeFrom = snapshot.position + 1n;
147
+ const start = plain.start !== undefined && plain.start > resumeFrom ? plain.start : resumeFrom;
148
+ const result = await next.source({ ...plain, start });
149
+ return { ...result, snapshot };
150
+ },
151
+ };
152
+ }
153
+ //# sourceMappingURL=axon-server-snapshotting-event-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axon-server-snapshotting-event-store.js","sourceRoot":"","sources":["../src/axon-server-snapshotting-event-store.ts"],"names":[],"mappings":"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"}
@@ -1,60 +1,33 @@
1
- /**
2
- * The Axon Server command and query buses.
3
- *
4
- * Axon Server is a SMART HUB: outbound dispatch always goes to the server, and
5
- * the server decides which node handles it — there is no client-side
6
- * prefer-local fork here, which is the whole difference from the dumb-pipe
7
- * broker in `@kronos-ts/rabbitmq`.
8
- *
9
- * Both buses are plain functions over the shared connection and YOUR local bus:
10
- *
11
- * ```ts
12
- * const commandBus = interceptingCommandBus(
13
- * axonServerCommandBus(axon, simpleCommandBus(unitOfWork)), lineage)
14
- * const queryBus = interceptingQueryBus(
15
- * axonServerQueryBus(axon, simpleQueryBus(unitOfWork)), lineage)
16
- * ```
17
- *
18
- * Axon-specific protocol invariants are preserved byte-for-byte:
19
- *
20
- * - CLIENT_SUPPORTS_STREAMING capability advertised on every dispatched
21
- * query via `defaultQueryInstructions(...)`;
22
- * - AxonIQ-Context + AxonIQ-Access-Token gRPC metadata headers built by
23
- * `contextView(...)` and attached to every outbound stream/RPC;
24
- * - permits-AFTER-subscriptions stream ordering preserved on the initial
25
- * handshake AND on reconnect (see `ensureStreamStarted` /
26
- * `reestablishStreamBody`).
27
- */
28
- import { type ResilienceConfig } from "@kronos-ts/core";
29
- import type { CommandBus, QueryBus } from "@kronos-ts/core";
1
+ import { type ResilienceConfig } from "./resilience.js";
2
+ import type { CommandBus, QueryBus, UnitOfWork } from "@kronos-ts/core";
30
3
  import type { AxonServerBusSource } from "./connection.js";
31
4
  /**
32
5
  * Flow control configuration for a bus channel.
33
6
  */
34
- export interface FlowControlConfig {
7
+ export type FlowControlConfig = {
35
8
  /** Initial permits granted to Axon Server. Default: 5000 (aligned with Java). */
36
9
  permits?: number;
37
10
  /** Threshold at which to request more permits. Default: 2500 (aligned with Java). */
38
11
  refillThreshold?: number;
39
- }
12
+ };
40
13
  /**
41
14
  * Processing instructions attached to outbound messages.
42
15
  * Controls routing, priority, and timeout behavior on Axon Server.
43
16
  */
44
- export interface ProcessingInstructions {
17
+ export type ProcessingInstructions = {
45
18
  /** Routing key for consistent hashing (e.g., aggregate ID). */
46
19
  routingKey?: string;
47
20
  /** Priority (higher = processed first). Default: 0 */
48
21
  priority?: number;
49
22
  /** Timeout in ms. Axon Server cancels the command/query if not handled in time. */
50
23
  timeoutMs?: number;
51
- }
24
+ };
52
25
  /**
53
26
  * Tuning for {@link axonServerCommandBus}. Every field has a working default;
54
- * the two arguments that carry meaning — the connection and your local bus —
27
+ * the two arguments that carry meaning — the connection and your next bus —
55
28
  * are positional, and this record is the trailing remainder.
56
29
  */
57
- export interface AxonServerCommandBusOptions {
30
+ export type AxonServerCommandBusOptions = {
58
31
  /** Axon Server context for this bus's stream. Default: the connection's. */
59
32
  context?: string;
60
33
  /** Flow control for the command stream. */
@@ -67,11 +40,11 @@ export interface AxonServerCommandBusOptions {
67
40
  loadFactor?: number;
68
41
  /** Retry policy for stream re-establishment. Default: the connection's. */
69
42
  resilience?: Partial<ResilienceConfig>;
70
- }
43
+ };
71
44
  /**
72
45
  * Tuning for {@link axonServerQueryBus}. See {@link AxonServerCommandBusOptions}.
73
46
  */
74
- export interface AxonServerQueryBusOptions {
47
+ export type AxonServerQueryBusOptions = {
75
48
  /** Axon Server context for this bus's stream. Default: the connection's. */
76
49
  context?: string;
77
50
  /** Flow control for the query stream. */
@@ -93,35 +66,35 @@ export interface AxonServerQueryBusOptions {
93
66
  timeoutMs?: number;
94
67
  /** Retry policy for stream re-establishment. Default: the connection's. */
95
68
  resilience?: Partial<ResilienceConfig>;
96
- }
69
+ };
97
70
  /**
98
- * A command bus backed by Axon Server, over YOUR local bus.
71
+ * A command bus backed by Axon Server, over YOUR next bus.
99
72
  *
100
73
  * - **Outbound dispatch**: ALWAYS through Axon Server, via the unary Dispatch
101
74
  * RPC. Axon Server routes the command to the appropriate node (which may be
102
- * this one). There is deliberately no client-side prefer-local fork: the hub
75
+ * this one). There is deliberately no client-side prefer-next fork: the hub
103
76
  * is the router, and short-circuiting it would silently defeat load factors,
104
77
  * priorities and routing keys.
105
- * - **Inbound**: a command the server routes here is dispatched into `local` —
78
+ * - **Inbound**: a command the server routes here is dispatched into `next` —
106
79
  * not into a privately-held handler map. That is what makes the unit-of-work
107
- * policy you chose for `local` (say `postgresUnitOfWork(pg, unitOfWork)`)
80
+ * policy you chose for `next` (say `postgresUnitOfWork(unitOfWork, pg)`)
108
81
  * apply to server-routed work exactly as it applies to work this process
109
82
  * originated. It is also why this function takes no `unitOfWork` argument:
110
- * `local` carries that policy now.
111
- * - **subscribe**: registers the handler on `local` AND announces the name to
83
+ * `next` carries that policy now.
84
+ * - **subscribe**: registers the handler on `next` AND announces the name to
112
85
  * Axon Server, so other nodes can route to us.
113
86
  *
114
- * ## Correlation lineage and the interceptor layer
87
+ * ## correlation and the interceptor layer
115
88
  *
116
- * The returned bus stamps no lineage of its own. A host that wants it wraps the
89
+ * The returned bus stamps no correlation of its own. A host that wants it wraps the
117
90
  * OUTERMOST bus:
118
91
  *
119
92
  * ```ts
120
- * interceptingCommandBus(axonServerCommandBus(conn, local), lineage)
93
+ * interceptingCommandBus(axonServerCommandBus(next, conn), correlation)
121
94
  * ```
122
95
  *
123
96
  * so whatever a host adds runs BEFORE the message is serialized onto the wire.
124
- * Lineage itself is usually already on `message.metadata` by then — `ctx.send`
97
+ * Correlation itself is usually already on `message.metadata` by then — `ctx.send`
125
98
  * stamps the unit of work's correlation data before any bus sees the message.
126
99
  *
127
100
  * This is precisely how the Java client does it. AF4's `AxonServerCommandBus`
@@ -129,37 +102,37 @@ export interface AxonServerQueryBusOptions {
129
102
  * `doDispatch(dispatchInterceptors.intercept(commandMessage), cb)` — one call
130
103
  * site, at the top, ahead of any routing. AF5 keeps the property via decorator
131
104
  * order: `DISTRIBUTED_COMMAND_BUS_ORDER = InterceptingCommandBus.DECORATION_ORDER - 50`
132
- * stacks `InterceptingCommandBus → DistributedCommandBus → SimpleCommandBus`.
105
+ * stacks `InterceptingCommandBus → DistributedCommandBus → LocalCommandBus`.
133
106
  *
134
- * If `local` is itself an intercepting bus, a server-routed command sees
135
- * `lineage` twice. That is harmless: both of its fields are `??` seeds, so the
107
+ * If `next` is itself an intercepting bus, a server-routed command sees
108
+ * `correlation` twice. That is harmless: both of its fields are `??` seeds, so the
136
109
  * second application finds them set and changes nothing.
137
110
  */
138
- export declare function axonServerCommandBus(conn: AxonServerBusSource, local: CommandBus, options?: AxonServerCommandBusOptions): CommandBus;
111
+ export declare function axonServerCommandBus<U extends UnitOfWork = UnitOfWork>(next: CommandBus<U>, conn: AxonServerBusSource, options?: AxonServerCommandBusOptions): CommandBus<U>;
139
112
  /**
140
- * A query bus backed by Axon Server, over YOUR local bus.
113
+ * A query bus backed by Axon Server, over YOUR next bus.
141
114
  *
142
115
  * Same architecture as {@link axonServerCommandBus}: outbound dispatch goes
143
- * through Axon Server, and a query the server routes here runs through `local`,
116
+ * through Axon Server, and a query the server routes here runs through `next`,
144
117
  * so your unit-of-work policy applies to server-routed reads too. `subscribe`
145
- * registers on `local` and announces the name to the server.
118
+ * registers on `next` and announces the name to the server.
146
119
  *
147
120
  * The one asymmetry with commands is `shortcutQueriesToLocalHandlers` — Java
148
121
  * has it for queries and not for commands, and so do we. When it is on and this
149
- * node subscribed the name, `query()` goes straight to `local` and the caller's
150
- * unit of work is passed through, so the local branch nests exactly as the
122
+ * node subscribed the name, `query()` goes straight to `next` and the caller's
123
+ * unit of work is passed through, so the next branch nests exactly as the
151
124
  * in-process bus does.
152
125
  *
153
- * Lineage, if wanted, is `interceptingQueryBus(bus, lineage)` at the host,
126
+ * Correlation, if wanted, is `interceptingQueryBus(bus, correlation)` at the host,
154
127
  * matching AF4's `AxonServerQueryBus`, which calls
155
128
  * `dispatchInterceptors.intercept(...)` at the top of `query`, `streamingQuery`,
156
129
  * `scatterGather` and `subscriptionQuery`. Because the wrap is outside, the
157
- * shortcut branch gets identical lineage to the remote branch.
130
+ * shortcut branch gets identical correlation to the remote branch.
158
131
  *
159
132
  * KNOWN GAP: `subscriptionQuery` / `subscribeToUpdates` build their proto
160
133
  * straight from `message.metadata`, and `interceptingQueryBus` (in
161
134
  * `@kronos-ts/core`) forwards those two calls to the delegate without
162
135
  * running the dispatch chain. Closing that needs a core change.
163
136
  */
164
- export declare function axonServerQueryBus(conn: AxonServerBusSource, local: QueryBus, options?: AxonServerQueryBusOptions): QueryBus;
137
+ export declare function axonServerQueryBus<U extends UnitOfWork = UnitOfWork>(next: QueryBus<U>, conn: AxonServerBusSource, options?: AxonServerQueryBusOptions): QueryBus<U>;
165
138
  //# sourceMappingURL=axon-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axon-server.d.ts","sourceRoot":"","sources":["../src/axon-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,UAAU,EAEV,QAAQ,EAOT,MAAM,iBAAiB,CAAA;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAgB1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;;;;OAQG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAA;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvC;AAyED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,2BAAgC,GACxC,UAAU,CAuOZ;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,EACf,OAAO,GAAE,yBAA8B,GACtC,QAAQ,CAojBV"}
1
+ {"version":3,"file":"axon-server.d.ts","sourceRoot":"","sources":["../src/axon-server.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EACV,UAAU,EAEV,QAAQ,EAIR,UAAU,EAEX,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAgB1D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B;;;;;;;;OAQG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAA;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACvC,CAAA;AAyED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EACpE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,2BAAgC,GACxC,UAAU,CAAC,CAAC,CAAC,CAsOf;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAClE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EACjB,IAAI,EAAE,mBAAmB,EACzB,OAAO,GAAE,yBAA8B,GACtC,QAAQ,CAAC,CAAC,CAAC,CAmjBb"}