@spine-event-engine/storage 2.0.0-snapshot.23 → 2.0.0-snapshot.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/REFERENCE.md +32 -13
- package/dist/entity/agent-execution-transitions.d.ts +14 -13
- package/dist/entity/agent-execution-transitions.d.ts.map +1 -1
- package/dist/entity/agent-execution-transitions.js +20 -37
- package/dist/entity/agent-execution-transitions.js.map +1 -1
- package/dist/entity/agent-execution-values.d.ts +4 -3
- package/dist/entity/agent-execution-values.d.ts.map +1 -1
- package/dist/entity/agent-execution-values.js +13 -12
- package/dist/entity/agent-execution-values.js.map +1 -1
- package/dist/entity/agent-execution.d.ts +6 -5
- package/dist/entity/agent-execution.d.ts.map +1 -1
- package/dist/event/event-store.d.ts +30 -72
- package/dist/event/event-store.d.ts.map +1 -1
- package/dist/event/event-store.js +124 -268
- package/dist/event/event-store.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/entity-commit.d.ts +30 -11
- package/dist/internal/entity-commit.d.ts.map +1 -1
- package/dist/internal/entity-commit.js +45 -2
- package/dist/internal/entity-commit.js.map +1 -1
- package/dist/internal/event-store.d.ts +1 -1
- package/dist/internal/event-store.d.ts.map +1 -1
- package/dist/internal/event-store.js +1 -1
- package/dist/internal/event-store.js.map +1 -1
- package/dist/memory/in-memory-agent-execution.d.ts.map +1 -1
- package/dist/memory/in-memory-agent-execution.js +3 -3
- package/dist/memory/in-memory-agent-execution.js.map +1 -1
- package/dist/memory/in-memory-entity-commit.d.ts +100 -38
- package/dist/memory/in-memory-entity-commit.d.ts.map +1 -1
- package/dist/memory/in-memory-entity-commit.js +191 -323
- package/dist/memory/in-memory-entity-commit.js.map +1 -1
- package/dist/memory/in-memory-storage-factory.d.ts +1 -1
- package/dist/memory/in-memory-storage-factory.d.ts.map +1 -1
- package/dist/memory/in-memory-storage-factory.js +2 -7
- package/dist/memory/in-memory-storage-factory.js.map +1 -1
- package/dist/memory/tenant-records.d.ts +1 -1
- package/dist/memory/tenant-records.d.ts.map +1 -1
- package/dist/memory/tenant-records.js +3 -2
- package/dist/memory/tenant-records.js.map +1 -1
- package/dist/provider.d.ts +0 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +0 -1
- package/dist/provider.js.map +1 -1
- package/dist/record/record-query.d.ts +10 -2
- package/dist/record/record-query.d.ts.map +1 -1
- package/dist/record/record-query.js +9 -0
- package/dist/record/record-query.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/internal/delivery-cleanup.d.ts +0 -99
- package/dist/internal/delivery-cleanup.d.ts.map +0 -1
- package/dist/internal/delivery-cleanup.js +0 -38
- package/dist/internal/delivery-cleanup.js.map +0 -1
- package/dist/memory/memory-delivery-cleanup.d.ts +0 -32
- package/dist/memory/memory-delivery-cleanup.d.ts.map +0 -1
- package/dist/memory/memory-delivery-cleanup.js +0 -61
- package/dist/memory/memory-delivery-cleanup.js.map +0 -1
|
@@ -11,35 +11,49 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
-
import { clone, create,
|
|
14
|
+
import { clone, create, equals, ScalarType } from "@bufbuild/protobuf";
|
|
15
15
|
import { TimestampSchema } from "@bufbuild/protobuf/wkt";
|
|
16
16
|
import { EventIdSchema, EventSchema, TenantIdSchema } from "@spine-event-engine/proto";
|
|
17
17
|
import { RecordColumn } from "../record/record-column.js";
|
|
18
18
|
import { ColumnTypes } from "../record/column-type.js";
|
|
19
19
|
import { RecordSpec } from "../record/record-spec.js";
|
|
20
20
|
import { TenantBoundary } from "../internal/tenancy.js";
|
|
21
|
-
const savedEventStores = new WeakMap();
|
|
22
21
|
/**
|
|
23
22
|
* Framework event store backed by record storage.
|
|
24
23
|
*
|
|
25
|
-
* Snapshots input
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* Snapshots input Events and rejects missing, blank, or repeated IDs within a
|
|
25
|
+
* batch. Immutable append accepts identical complete stored Events and leaves
|
|
26
|
+
* completed prefixes when a later insert fails. Admission methods reject every
|
|
27
|
+
* existing ID, including an identical Event.
|
|
28
28
|
*/
|
|
29
29
|
export class EventStore {
|
|
30
|
+
/**
|
|
31
|
+
* Selected Event Store context.
|
|
32
|
+
*/
|
|
30
33
|
#context;
|
|
34
|
+
/**
|
|
35
|
+
* Opens Event record-family handles.
|
|
36
|
+
*/
|
|
31
37
|
#factory;
|
|
38
|
+
/**
|
|
39
|
+
* Optional record family selector independent of the diagnostic context name.
|
|
40
|
+
*/
|
|
41
|
+
#group;
|
|
42
|
+
/**
|
|
43
|
+
* Whether this Event Store accepts operations.
|
|
44
|
+
*/
|
|
32
45
|
#open = true;
|
|
33
46
|
/**
|
|
34
47
|
* Creates an event store for one storage context.
|
|
35
48
|
*
|
|
36
49
|
* @param context Specifies the storage context.
|
|
37
50
|
* @param factory Creates the backing record storage.
|
|
51
|
+
* @param group Selects a separate Event record family when supplied.
|
|
38
52
|
*/
|
|
39
|
-
constructor(context, factory) {
|
|
53
|
+
constructor(context, factory, group) {
|
|
40
54
|
this.#context = EventContexts.base(context);
|
|
41
55
|
this.#factory = factory;
|
|
42
|
-
|
|
56
|
+
this.#group = group;
|
|
43
57
|
}
|
|
44
58
|
/**
|
|
45
59
|
* Returns whether this Event Store still accepts operations.
|
|
@@ -56,7 +70,8 @@ export class EventStore {
|
|
|
56
70
|
this.#open = false;
|
|
57
71
|
}
|
|
58
72
|
/**
|
|
59
|
-
* Validates
|
|
73
|
+
* Validates strict new admission without storing an Event. An identical
|
|
74
|
+
* existing Event still rejects; this precheck does not reserve its ID.
|
|
60
75
|
*
|
|
61
76
|
* @param event Supplies the event to validate.
|
|
62
77
|
* @returns Completes when the event is accepted.
|
|
@@ -67,8 +82,9 @@ export class EventStore {
|
|
|
67
82
|
await this.checkUnique([EventIds.require(record)], context);
|
|
68
83
|
}
|
|
69
84
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
85
|
+
* Checks strict new admission, runs caller acceptance, then atomically inserts
|
|
86
|
+
* under one captured context. Competing callbacks may both run, but only one
|
|
87
|
+
* absent-slot insertion can succeed.
|
|
72
88
|
*
|
|
73
89
|
* @param event Supplies the event to accept.
|
|
74
90
|
* @param onAccepted Runs after uniqueness validation and before append.
|
|
@@ -83,17 +99,19 @@ export class EventStore {
|
|
|
83
99
|
return clone(EventSchema, record);
|
|
84
100
|
}
|
|
85
101
|
/**
|
|
86
|
-
* Writes one
|
|
102
|
+
* Writes one complete Event, accepting an identical immutable retry without
|
|
103
|
+
* overwriting it. A conflicting Event at the same ID rejects.
|
|
87
104
|
*
|
|
88
105
|
* @param event Supplies the event to append.
|
|
89
106
|
* @returns Completes when the event is appended.
|
|
90
107
|
*/
|
|
91
108
|
async append(event) {
|
|
92
109
|
const record = clone(EventSchema, event);
|
|
93
|
-
await this.
|
|
110
|
+
await this.appendImmutable([record], EventContexts.snapshotForEvent(this.#context, record));
|
|
94
111
|
}
|
|
95
112
|
/**
|
|
96
|
-
* Writes generated
|
|
113
|
+
* Writes generated Events in order, accepting identical immutable retries.
|
|
114
|
+
* A later failure retains the completed prefix for retry with the same IDs.
|
|
97
115
|
*
|
|
98
116
|
* @param events Supplies the events to append.
|
|
99
117
|
* @returns Completes when the events are appended.
|
|
@@ -101,34 +119,9 @@ export class EventStore {
|
|
|
101
119
|
async appendAll(events) {
|
|
102
120
|
const records = [...events].map((event) => clone(EventSchema, event));
|
|
103
121
|
if (records.length > 0) {
|
|
104
|
-
await this.
|
|
122
|
+
await this.appendImmutable(records, EventContexts.batch(this.#context, records));
|
|
105
123
|
}
|
|
106
124
|
}
|
|
107
|
-
/**
|
|
108
|
-
* Writes generated Spine events and returns a one-shot rollback token.
|
|
109
|
-
*
|
|
110
|
-
* @param events Supplies the events to append.
|
|
111
|
-
* @returns Resolves to the rollback token for this append.
|
|
112
|
-
*/
|
|
113
|
-
async appendAllWithRollback(events) {
|
|
114
|
-
const records = [...events].map((event) => clone(EventSchema, event));
|
|
115
|
-
const ids = records.map((record) => EventIds.require(record));
|
|
116
|
-
const context = records.length === 0 ? undefined : EventContexts.batch(this.#context, records);
|
|
117
|
-
if (context !== undefined) {
|
|
118
|
-
await this.appendUnique(records, context);
|
|
119
|
-
}
|
|
120
|
-
let used = false;
|
|
121
|
-
return Object.freeze({
|
|
122
|
-
rollback: async () => {
|
|
123
|
-
if (used) {
|
|
124
|
-
throw new Error("Event rollback token has already been used.");
|
|
125
|
-
}
|
|
126
|
-
used = true;
|
|
127
|
-
if (context !== undefined)
|
|
128
|
-
await this.deleteIds(ids, context);
|
|
129
|
-
},
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
125
|
/**
|
|
133
126
|
* Reads persisted events through the underlying record-storage query seam.
|
|
134
127
|
*
|
|
@@ -137,7 +130,7 @@ export class EventStore {
|
|
|
137
130
|
*/
|
|
138
131
|
async read(query = {}) {
|
|
139
132
|
this.requireOpen();
|
|
140
|
-
const storage = this.#factory.createRecordStorage(EventContexts.snapshot(this.#context), eventStoreRecordSpec);
|
|
133
|
+
const storage = this.#factory.createRecordStorage(EventContexts.snapshot(this.#context), eventStoreRecordSpec, this.#group);
|
|
141
134
|
try {
|
|
142
135
|
return await storage.query(query);
|
|
143
136
|
}
|
|
@@ -146,211 +139,78 @@ export class EventStore {
|
|
|
146
139
|
}
|
|
147
140
|
}
|
|
148
141
|
/**
|
|
149
|
-
*
|
|
142
|
+
* Writes strictly new Events after caller acceptance.
|
|
150
143
|
*
|
|
151
|
-
* @param records
|
|
152
|
-
* @param context
|
|
153
|
-
* @returns Completion after
|
|
144
|
+
* @param records Supplies validated Event snapshots.
|
|
145
|
+
* @param context Selects their storage boundary.
|
|
146
|
+
* @returns Completion after every strict insertion.
|
|
154
147
|
*/
|
|
155
148
|
async appendUnique(records, context) {
|
|
156
149
|
this.requireOpen();
|
|
157
150
|
const ids = records.map((record) => EventIds.require(record));
|
|
158
151
|
EventIds.rejectDuplicates(ids);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
167
|
-
});
|
|
152
|
+
const storage = this.#factory.createRecordStorage(context, eventStoreRecordSpec, this.#group);
|
|
153
|
+
try {
|
|
154
|
+
await EventIds.insertUnique(storage, records);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
storage.close();
|
|
158
|
+
}
|
|
168
159
|
}
|
|
169
160
|
/**
|
|
170
|
-
*
|
|
161
|
+
* Writes captured immutable Events, accepting identical stored retries.
|
|
171
162
|
*
|
|
172
|
-
* @param
|
|
173
|
-
* @param context
|
|
174
|
-
* @returns Completion after
|
|
163
|
+
* @param records Supplies ordered Event snapshots.
|
|
164
|
+
* @param context Selects their single storage boundary.
|
|
165
|
+
* @returns Completion after every immutable Event is confirmed.
|
|
175
166
|
*/
|
|
176
|
-
async
|
|
167
|
+
async appendImmutable(records, context) {
|
|
177
168
|
this.requireOpen();
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
storage.close();
|
|
187
|
-
}
|
|
188
|
-
});
|
|
169
|
+
EventIds.rejectDuplicates(records.map((record) => EventIds.require(record)));
|
|
170
|
+
const storage = this.#factory.createRecordStorage(context, eventStoreRecordSpec, this.#group);
|
|
171
|
+
try {
|
|
172
|
+
await EventIds.insertImmutable(storage, records);
|
|
173
|
+
}
|
|
174
|
+
finally {
|
|
175
|
+
storage.close();
|
|
176
|
+
}
|
|
189
177
|
}
|
|
190
178
|
/**
|
|
191
|
-
* Checks
|
|
179
|
+
* Checks strict admission without writing an Event.
|
|
192
180
|
*
|
|
193
|
-
* @param ids
|
|
194
|
-
* @param context
|
|
195
|
-
* @returns Completion
|
|
181
|
+
* @param ids Supplies IDs that must be absent.
|
|
182
|
+
* @param context Selects the storage boundary.
|
|
183
|
+
* @returns Completion when no ID is stored.
|
|
196
184
|
*/
|
|
197
185
|
async checkUnique(ids, context) {
|
|
198
186
|
this.requireOpen();
|
|
199
187
|
EventIds.rejectDuplicates(ids);
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
});
|
|
188
|
+
const storage = this.#factory.createRecordStorage(context, eventStoreRecordSpec, this.#group);
|
|
189
|
+
try {
|
|
190
|
+
await EventIds.rejectStored(storage, ids);
|
|
191
|
+
}
|
|
192
|
+
finally {
|
|
193
|
+
storage.close();
|
|
194
|
+
}
|
|
209
195
|
}
|
|
210
196
|
/**
|
|
211
|
-
* Rejects
|
|
197
|
+
* Rejects operations after this Event Store closes.
|
|
212
198
|
*/
|
|
213
199
|
requireOpen() {
|
|
214
200
|
if (!this.#open)
|
|
215
201
|
throw new Error("EventStore is closed.");
|
|
216
202
|
}
|
|
217
203
|
}
|
|
218
|
-
const EventStoreLocks = Object.freeze({
|
|
219
|
-
queues: new WeakMap(),
|
|
220
|
-
/**
|
|
221
|
-
* Serializes Event ID checks and insertion for one captured Bounded Context and tenant.
|
|
222
|
-
*
|
|
223
|
-
* @param factory Storage provider used for the Event family.
|
|
224
|
-
* @param context Captured tenant and Bounded Context.
|
|
225
|
-
* @param work Operation run under the Bounded Context and tenant lock.
|
|
226
|
-
* @returns Result returned by the operation.
|
|
227
|
-
* @typeParam T Operation result.
|
|
228
|
-
*/
|
|
229
|
-
async withLock(factory, context, work) {
|
|
230
|
-
const queues = this.queueMap(factory);
|
|
231
|
-
const key = EventContexts.key(context);
|
|
232
|
-
const previous = queues.get(key) ?? Promise.resolve();
|
|
233
|
-
const next = previous.then(work, work);
|
|
234
|
-
const stored = next.then(() => undefined, () => undefined);
|
|
235
|
-
queues.set(key, stored);
|
|
236
|
-
try {
|
|
237
|
-
return await next;
|
|
238
|
-
}
|
|
239
|
-
finally {
|
|
240
|
-
if (queues.get(key) === stored) {
|
|
241
|
-
queues.delete(key);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
},
|
|
245
|
-
/**
|
|
246
|
-
* Returns the serial queue map for one storage provider.
|
|
247
|
-
*
|
|
248
|
-
* @param factory Storage provider used for the Event family.
|
|
249
|
-
* @returns Bounded Context and tenant queues for this provider.
|
|
250
|
-
*/
|
|
251
|
-
queueMap(factory) {
|
|
252
|
-
let queues = this.queues.get(factory);
|
|
253
|
-
if (queues === undefined) {
|
|
254
|
-
queues = new Map();
|
|
255
|
-
this.queues.set(factory, queues);
|
|
256
|
-
}
|
|
257
|
-
return queues;
|
|
258
|
-
},
|
|
259
|
-
});
|
|
260
|
-
/**
|
|
261
|
-
* Exposes captured Event Store coordination to provider and Agent delivery paths.
|
|
262
|
-
* @internal
|
|
263
|
-
*/
|
|
264
|
-
export const eventStoreAccess = Object.freeze({
|
|
265
|
-
// prettier-ignore
|
|
266
|
-
/**
|
|
267
|
-
* Runs work under the same factory/context lock used by direct Event Store appends.
|
|
268
|
-
*
|
|
269
|
-
* @param factory The factory that owns the Event Store records.
|
|
270
|
-
* @param context The Event Store context to serialize.
|
|
271
|
-
* @param work The operation to run while holding the lock.
|
|
272
|
-
* @returns The operation result.
|
|
273
|
-
* @typeParam T Result returned by the transaction callback.
|
|
274
|
-
*/
|
|
275
|
-
withLock(factory, context, work) {
|
|
276
|
-
return EventStoreLocks.withLock(factory, context, work);
|
|
277
|
-
},
|
|
278
|
-
/**
|
|
279
|
-
* Reuses one EventStore's captured tenant and Bounded Context for saved-output retry.
|
|
280
|
-
*/
|
|
281
|
-
async appendOrVerifyOriginal(store, event) {
|
|
282
|
-
if (!store.isOpen())
|
|
283
|
-
throw new Error("EventStore is closed.");
|
|
284
|
-
const binding = savedEventStores.get(store);
|
|
285
|
-
if (binding === undefined)
|
|
286
|
-
throw new Error("Saved Agent Event requires an EventStore instance.");
|
|
287
|
-
const record = clone(EventSchema, event);
|
|
288
|
-
const context = EventContexts.snapshotForEvent(binding.context, record);
|
|
289
|
-
const id = EventIds.require(record);
|
|
290
|
-
await this.withLock(binding.factory, context, async () => {
|
|
291
|
-
const storage = binding.factory.createRecordStorage(context, eventStoreRecordSpec);
|
|
292
|
-
try {
|
|
293
|
-
await SavedEvents.appendOrVerify(storage, id, record);
|
|
294
|
-
}
|
|
295
|
-
finally {
|
|
296
|
-
storage.close();
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
return record;
|
|
300
|
-
},
|
|
301
|
-
});
|
|
302
|
-
/**
|
|
303
|
-
* Keeps saved-output insert and complete-envelope comparison together.
|
|
304
|
-
*/
|
|
305
|
-
const SavedEvents = {
|
|
306
|
-
/**
|
|
307
|
-
* Applies atomic insert and compares every original Event byte after a collision.
|
|
308
|
-
*
|
|
309
|
-
* @param event Original event envelope.
|
|
310
|
-
* @param id Complete persisted record identity.
|
|
311
|
-
* @param storage Native record storage for this row.
|
|
312
|
-
* @returns Completion after exact-envelope insertion or verification.
|
|
313
|
-
*/
|
|
314
|
-
async appendOrVerify(storage, id, event) {
|
|
315
|
-
if (!storage.atomicCompareAndSet)
|
|
316
|
-
throw new Error("Saved Agent Event requires atomic record compare-and-set.");
|
|
317
|
-
try {
|
|
318
|
-
if (await storage.compareAndSet(id, undefined, event))
|
|
319
|
-
return;
|
|
320
|
-
}
|
|
321
|
-
catch (error) {
|
|
322
|
-
const stored = await storage.read(id);
|
|
323
|
-
if (stored !== undefined && this.same(stored, event))
|
|
324
|
-
return;
|
|
325
|
-
throw error;
|
|
326
|
-
}
|
|
327
|
-
const stored = await storage.read(id);
|
|
328
|
-
if (stored === undefined || !this.same(stored, event))
|
|
329
|
-
throw new Error("Saved Agent Event ID conflicts with another envelope.");
|
|
330
|
-
},
|
|
331
|
-
/**
|
|
332
|
-
* Compares complete Protobuf envelopes, including unknown fields.
|
|
333
|
-
*
|
|
334
|
-
* @param left First value in the comparison.
|
|
335
|
-
* @param right Second value in the comparison.
|
|
336
|
-
* @returns Whether the two original Event envelopes have identical bytes.
|
|
337
|
-
*/
|
|
338
|
-
same(left, right) {
|
|
339
|
-
const a = toBinary(EventSchema, left);
|
|
340
|
-
const b = toBinary(EventSchema, right);
|
|
341
|
-
return a.length === b.length && a.every((byte, index) => byte === b[index]);
|
|
342
|
-
},
|
|
343
|
-
};
|
|
344
204
|
/**
|
|
345
205
|
* Validates event IDs before record-store operations.
|
|
346
206
|
*/
|
|
347
207
|
const EventIds = {
|
|
348
208
|
// prettier-ignore
|
|
349
209
|
/**
|
|
350
|
-
* Validates an
|
|
210
|
+
* Validates that an Event has a non-blank ID.
|
|
351
211
|
*
|
|
352
|
-
* @param event
|
|
353
|
-
* @returns
|
|
212
|
+
* @param event Supplies the Event envelope.
|
|
213
|
+
* @returns Its validated ID.
|
|
354
214
|
*/
|
|
355
215
|
require(event) {
|
|
356
216
|
if (event.id === undefined)
|
|
@@ -363,9 +223,9 @@ const EventIds = {
|
|
|
363
223
|
/**
|
|
364
224
|
* Rejects IDs that already exist in storage.
|
|
365
225
|
*
|
|
366
|
-
* @param
|
|
367
|
-
* @param
|
|
368
|
-
* @returns Completion
|
|
226
|
+
* @param storage Reads existing Events.
|
|
227
|
+
* @param ids Supplies IDs that must be absent.
|
|
228
|
+
* @returns Completion when no ID exists.
|
|
369
229
|
*/
|
|
370
230
|
async rejectStored(storage, ids) {
|
|
371
231
|
if ((await storage.index({ ids })).length > 0) {
|
|
@@ -373,48 +233,53 @@ const EventIds = {
|
|
|
373
233
|
}
|
|
374
234
|
},
|
|
375
235
|
/**
|
|
376
|
-
* Writes each
|
|
236
|
+
* Writes each strictly new Event, retaining a completed prefix on failure.
|
|
377
237
|
*
|
|
378
|
-
* @param
|
|
379
|
-
* @param
|
|
380
|
-
* @returns Completion after
|
|
238
|
+
* @param storage Supplies atomic record insertion.
|
|
239
|
+
* @param records Supplies accepted Event snapshots.
|
|
240
|
+
* @returns Completion after every new Event is stored.
|
|
381
241
|
*/
|
|
382
242
|
async insertUnique(storage, records) {
|
|
383
243
|
if (!storage.atomicCompareAndSet) {
|
|
384
244
|
throw new Error("EventStore requires atomic record compare-and-set.");
|
|
385
245
|
}
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
if (!(await storage.compareAndSet(id, undefined, record))) {
|
|
391
|
-
throw new Error("EventStore requires unique event IDs.");
|
|
392
|
-
}
|
|
393
|
-
inserted.push({ id, record });
|
|
246
|
+
for (const record of records) {
|
|
247
|
+
const id = EventIds.require(record);
|
|
248
|
+
if (!(await storage.compareAndSet(id, undefined, record))) {
|
|
249
|
+
throw new Error("EventStore requires unique event IDs.");
|
|
394
250
|
}
|
|
395
251
|
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
252
|
+
},
|
|
253
|
+
/**
|
|
254
|
+
* Writes immutable Events or confirms complete equality at the same ID.
|
|
255
|
+
*
|
|
256
|
+
* @param storage Supplies atomic single-record insertion and reads.
|
|
257
|
+
* @param records Supplies ordered Event snapshots.
|
|
258
|
+
* @returns Completion after each Event is present unchanged.
|
|
259
|
+
*/
|
|
260
|
+
async insertImmutable(storage, records) {
|
|
261
|
+
if (!storage.atomicCompareAndSet)
|
|
262
|
+
throw new Error("EventStore requires atomic record compare-and-set.");
|
|
263
|
+
for (const record of records) {
|
|
264
|
+
const id = EventIds.require(record);
|
|
265
|
+
for (let attempt = 0; attempt < 2; attempt += 1) {
|
|
266
|
+
if (await storage.compareAndSet(id, undefined, record))
|
|
267
|
+
break;
|
|
268
|
+
const stored = await storage.read(id);
|
|
269
|
+
if (stored !== undefined) {
|
|
270
|
+
if (!equals(EventSchema, stored, record))
|
|
271
|
+
throw new Error("EventStore requires unique event IDs.");
|
|
272
|
+
break;
|
|
406
273
|
}
|
|
274
|
+
if (attempt === 1)
|
|
275
|
+
throw new Error("EventStore immutable insert could not confirm its ID.");
|
|
407
276
|
}
|
|
408
|
-
if (failures.length > 0) {
|
|
409
|
-
throw new AggregateError([error, ...failures], "EventStore append rollback failed.");
|
|
410
|
-
}
|
|
411
|
-
throw error;
|
|
412
277
|
}
|
|
413
278
|
},
|
|
414
279
|
/**
|
|
415
280
|
* Rejects repeated IDs within one append operation.
|
|
416
281
|
*
|
|
417
|
-
* @param ids
|
|
282
|
+
* @param ids Supplies the IDs in the operation.
|
|
418
283
|
*/
|
|
419
284
|
rejectDuplicates(ids) {
|
|
420
285
|
const seen = new Set();
|
|
@@ -426,15 +291,15 @@ const EventIds = {
|
|
|
426
291
|
},
|
|
427
292
|
};
|
|
428
293
|
/**
|
|
429
|
-
* Captures tenant-aware event-store contexts
|
|
294
|
+
* Captures tenant-aware event-store contexts.
|
|
430
295
|
*/
|
|
431
296
|
const EventContexts = {
|
|
432
297
|
// prettier-ignore
|
|
433
298
|
/**
|
|
434
299
|
* Captures one storage context.
|
|
435
300
|
*
|
|
436
|
-
* @param context
|
|
437
|
-
* @returns
|
|
301
|
+
* @param context Supplies context and optional default tenant.
|
|
302
|
+
* @returns An immutable context snapshot.
|
|
438
303
|
*/
|
|
439
304
|
base(context) {
|
|
440
305
|
return context.multitenant
|
|
@@ -448,10 +313,10 @@ const EventContexts = {
|
|
|
448
313
|
: Object.freeze({ name: context.name, multitenant: false });
|
|
449
314
|
},
|
|
450
315
|
/**
|
|
451
|
-
*
|
|
316
|
+
* Returns a complete storage context for a read.
|
|
452
317
|
*
|
|
453
|
-
* @param context
|
|
454
|
-
* @returns
|
|
318
|
+
* @param context Supplies an explicit default tenant when required.
|
|
319
|
+
* @returns A complete tenant-scoped storage context.
|
|
455
320
|
*/
|
|
456
321
|
snapshot(context) {
|
|
457
322
|
if (!context.multitenant)
|
|
@@ -469,9 +334,9 @@ const EventContexts = {
|
|
|
469
334
|
/**
|
|
470
335
|
* Captures one context using an event envelope tenant when present.
|
|
471
336
|
*
|
|
472
|
-
* @param context
|
|
473
|
-
* @param event
|
|
474
|
-
* @returns
|
|
337
|
+
* @param context Supplies the Event Store default boundary.
|
|
338
|
+
* @param event Supplies an optional envelope tenant.
|
|
339
|
+
* @returns The Event's complete storage context.
|
|
475
340
|
*/
|
|
476
341
|
snapshotForEvent(context, event) {
|
|
477
342
|
if (!context.multitenant)
|
|
@@ -486,11 +351,11 @@ const EventContexts = {
|
|
|
486
351
|
});
|
|
487
352
|
},
|
|
488
353
|
/**
|
|
489
|
-
*
|
|
354
|
+
* Returns one tenant boundary for every Event in a batch.
|
|
490
355
|
*
|
|
491
|
-
* @param context Event Store
|
|
492
|
-
* @param events
|
|
493
|
-
* @returns
|
|
356
|
+
* @param context Supplies the Event Store default boundary.
|
|
357
|
+
* @param events Supplies the complete Event batch.
|
|
358
|
+
* @returns Their shared storage context.
|
|
494
359
|
*/
|
|
495
360
|
batch(context, events) {
|
|
496
361
|
const first = events[0];
|
|
@@ -507,8 +372,8 @@ const EventContexts = {
|
|
|
507
372
|
/**
|
|
508
373
|
* Reads an explicit tenant from an event envelope.
|
|
509
374
|
*
|
|
510
|
-
* @param event
|
|
511
|
-
* @returns
|
|
375
|
+
* @param event Supplies the envelope origin.
|
|
376
|
+
* @returns Its tenant when present.
|
|
512
377
|
*/
|
|
513
378
|
readEventTenant(event) {
|
|
514
379
|
switch (event.context?.origin.case) {
|
|
@@ -523,21 +388,12 @@ const EventContexts = {
|
|
|
523
388
|
/**
|
|
524
389
|
* Converts a typed tenant ID to its storage-scope value.
|
|
525
390
|
*
|
|
526
|
-
* @param tenantId
|
|
527
|
-
* @returns
|
|
391
|
+
* @param tenantId Supplies the optional tenant ID.
|
|
392
|
+
* @returns An independent tenant ID when present.
|
|
528
393
|
*/
|
|
529
394
|
tenantValue(tenantId) {
|
|
530
395
|
return tenantId === undefined ? undefined : clone(TenantIdSchema, tenantId);
|
|
531
396
|
},
|
|
532
|
-
/**
|
|
533
|
-
* Creates a deterministic key for a context-scoped append lock.
|
|
534
|
-
*
|
|
535
|
-
* @param context Captured event storage context.
|
|
536
|
-
* @returns Complete encoded invocation identity.
|
|
537
|
-
*/
|
|
538
|
-
key(context) {
|
|
539
|
-
return TenantBoundary.of(context).key;
|
|
540
|
-
},
|
|
541
397
|
};
|
|
542
398
|
/**
|
|
543
399
|
* Provides the canonical event-store record layout to provider-only internals.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/event/event-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/event/event-store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { EventStore, type
|
|
1
|
+
export { EventStore, type EventStoreContext, type OnEventAccepted } from "./event/event-store.js";
|
|
2
2
|
export type { EntityEventStorage, EntityStateHistoryStorage, } from "./entity/entity-history-storage.js";
|
|
3
3
|
export { InMemoryRecordStorage } from "./memory/in-memory-record-storage.js";
|
|
4
4
|
export { InMemoryStorageBackend } from "./memory/in-memory-storage-backend.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAClG,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
|