@spine-event-engine/server 2.0.0-snapshot.16 → 2.0.0-snapshot.20
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/README.md +17 -3
- package/REFERENCE.md +66 -12
- package/dist/context/bounded-context.d.ts +72 -14
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +130 -49
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/context/effective-tenant.d.ts +9 -0
- package/dist/context/effective-tenant.d.ts.map +1 -0
- package/dist/context/effective-tenant.js +58 -0
- package/dist/context/effective-tenant.js.map +1 -0
- package/dist/context/tenant-index.d.ts.map +1 -1
- package/dist/context/tenant-index.js +70 -1
- package/dist/context/tenant-index.js.map +1 -1
- package/dist/delivery/delivery.d.ts.map +1 -1
- package/dist/delivery/delivery.js +270 -26
- package/dist/delivery/delivery.js.map +1 -1
- package/dist/delivery/inbox-storage.d.ts +7 -0
- package/dist/delivery/inbox-storage.d.ts.map +1 -1
- package/dist/delivery/inbox-storage.js +110 -0
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/entity/entity-metadata.d.ts +2 -2
- package/dist/entity/entity-metadata.js +2 -2
- package/dist/entity/entity-metadata.js.map +1 -1
- package/dist/entity/entity-storage-descriptor.d.ts +24 -4
- package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
- package/dist/entity/entity-storage-descriptor.js +69 -23
- package/dist/entity/entity-storage-descriptor.js.map +1 -1
- package/dist/entity/entity.d.ts +19 -18
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +61 -24
- package/dist/entity/entity.js.map +1 -1
- package/dist/entity/spec-scanner.d.ts +13 -1
- package/dist/entity/spec-scanner.d.ts.map +1 -1
- package/dist/entity/spec-scanner.js +20 -3
- package/dist/entity/spec-scanner.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/repository/command-routing.d.ts +63 -10
- package/dist/repository/command-routing.d.ts.map +1 -1
- package/dist/repository/command-routing.js +41 -8
- package/dist/repository/command-routing.js.map +1 -1
- package/dist/repository/event-routing.d.ts +64 -9
- package/dist/repository/event-routing.d.ts.map +1 -1
- package/dist/repository/event-routing.js +42 -7
- package/dist/repository/event-routing.js.map +1 -1
- package/dist/repository/repository.d.ts +96 -10
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +437 -133
- package/dist/repository/repository.js.map +1 -1
- package/dist/repository/state-update-routing.d.ts +67 -8
- package/dist/repository/state-update-routing.d.ts.map +1 -1
- package/dist/repository/state-update-routing.js +45 -6
- package/dist/repository/state-update-routing.js.map +1 -1
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +407 -109
- package/dist/server/server.js.map +1 -1
- package/dist/services/registered-targets.d.ts +73 -0
- package/dist/services/registered-targets.d.ts.map +1 -0
- package/dist/services/registered-targets.js +127 -0
- package/dist/services/registered-targets.js.map +1 -0
- package/dist/services/spine-services.d.ts +26 -12
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +1044 -962
- package/dist/services/spine-services.js.map +1 -1
- package/dist/stand/stand.d.ts +73 -1
- package/dist/stand/stand.d.ts.map +1 -1
- package/dist/stand/stand.js +220 -48
- package/dist/stand/stand.js.map +1 -1
- package/dist/stand/subscription-observer.d.ts.map +1 -1
- package/dist/stand/subscription-observer.js +4 -11
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
|
@@ -23,6 +23,22 @@ import { ShardIndex } from "./shard-index.js";
|
|
|
23
23
|
import { shardSessionRecordSpec } from "./sharded-work-registry.js";
|
|
24
24
|
const defaultReadLimit = 100;
|
|
25
25
|
const maxReadLimit = 1_000;
|
|
26
|
+
const storageClocks = new WeakMap();
|
|
27
|
+
/**
|
|
28
|
+
* Internal clock access for concrete local inbox delivery.
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export const InboxStorageClock = Object.freeze({
|
|
32
|
+
/**
|
|
33
|
+
* Reads the configured storage clock.
|
|
34
|
+
* @param storage Supplies the concrete local storage.
|
|
35
|
+
* @returns Its current retention time.
|
|
36
|
+
*/
|
|
37
|
+
read(storage) {
|
|
38
|
+
const clock = storageClocks.get(storage);
|
|
39
|
+
return clock === undefined ? new Date() : new Date(Values.now(clock));
|
|
40
|
+
},
|
|
41
|
+
});
|
|
26
42
|
/**
|
|
27
43
|
* Stores direct generated inbox records in the configured durable family.
|
|
28
44
|
*/
|
|
@@ -39,6 +55,7 @@ export class InboxStorage {
|
|
|
39
55
|
this.#context = Values.snapshotContext(options.context);
|
|
40
56
|
this.#storageFactory = options.storageFactory;
|
|
41
57
|
this.#now = options.now ?? (() => new Date());
|
|
58
|
+
storageClocks.set(this, this.#now);
|
|
42
59
|
Object.freeze(this);
|
|
43
60
|
}
|
|
44
61
|
/**
|
|
@@ -225,6 +242,12 @@ export class InboxStorage {
|
|
|
225
242
|
}
|
|
226
243
|
}
|
|
227
244
|
const Values = Object.freeze({
|
|
245
|
+
/**
|
|
246
|
+
* Copies the storage context and its tenant ID.
|
|
247
|
+
*
|
|
248
|
+
* @param context Supplies the context to copy.
|
|
249
|
+
* @returns A detached context snapshot.
|
|
250
|
+
*/
|
|
228
251
|
snapshotContext(context) {
|
|
229
252
|
return context.multitenant
|
|
230
253
|
? {
|
|
@@ -234,28 +257,65 @@ const Values = Object.freeze({
|
|
|
234
257
|
}
|
|
235
258
|
: { name: context.name, multitenant: false };
|
|
236
259
|
},
|
|
260
|
+
/**
|
|
261
|
+
* Converts an inbox status to its stored numeric value.
|
|
262
|
+
*
|
|
263
|
+
* @param value Supplies the inbox status.
|
|
264
|
+
* @returns The stored status value.
|
|
265
|
+
*/
|
|
237
266
|
status(value) {
|
|
238
267
|
return { TO_DELIVER: 1, SCHEDULED: 2, DELIVERED: 3, TO_CATCH_UP: 4 }[value];
|
|
239
268
|
},
|
|
269
|
+
/**
|
|
270
|
+
* Builds the Protobuf inbox message ID from its value and shard.
|
|
271
|
+
*
|
|
272
|
+
* @param value Supplies the inbox message ID.
|
|
273
|
+
* @returns The wire-format message ID.
|
|
274
|
+
*/
|
|
240
275
|
id(value) {
|
|
241
276
|
return create(InboxMessageIdSchema, {
|
|
242
277
|
uuid: value.value,
|
|
243
278
|
index: { index: value.shard.index, ofTotal: value.shard.ofTotal },
|
|
244
279
|
});
|
|
245
280
|
},
|
|
281
|
+
/**
|
|
282
|
+
* Reads the required ID from a wire inbox message.
|
|
283
|
+
*
|
|
284
|
+
* @param value Supplies the wire inbox message.
|
|
285
|
+
* @returns Its message ID.
|
|
286
|
+
*/
|
|
246
287
|
wireId(value) {
|
|
247
288
|
if (value.id === undefined)
|
|
248
289
|
throw new InboxMessageError("Inbox message ID is invalid.");
|
|
249
290
|
return value.id;
|
|
250
291
|
},
|
|
292
|
+
/**
|
|
293
|
+
* Compares two wire inbox messages by their encoded record data.
|
|
294
|
+
*
|
|
295
|
+
* @param left Supplies the first wire message.
|
|
296
|
+
* @param right Supplies the second wire message.
|
|
297
|
+
* @returns Whether both messages encode to the same data.
|
|
298
|
+
*/
|
|
251
299
|
same(left, right) {
|
|
252
300
|
return Buffer.from(toBinary(inboxRecordSpec.recordType, left)).equals(Buffer.from(toBinary(inboxRecordSpec.recordType, right)));
|
|
253
301
|
},
|
|
302
|
+
/**
|
|
303
|
+
* Checks and returns a shard index.
|
|
304
|
+
*
|
|
305
|
+
* @param value Supplies the value to check.
|
|
306
|
+
* @returns The valid shard index.
|
|
307
|
+
*/
|
|
254
308
|
shard(value) {
|
|
255
309
|
if (!(value instanceof ShardIndex))
|
|
256
310
|
throw new InboxMessageError("Inbox shard is invalid.");
|
|
257
311
|
return value;
|
|
258
312
|
},
|
|
313
|
+
/**
|
|
314
|
+
* Checks an inbox page limit.
|
|
315
|
+
*
|
|
316
|
+
* @param value Supplies the requested limit.
|
|
317
|
+
* @returns The valid page limit.
|
|
318
|
+
*/
|
|
259
319
|
limit(value) {
|
|
260
320
|
if (!Number.isSafeInteger(value) ||
|
|
261
321
|
typeof value !== "number" ||
|
|
@@ -265,6 +325,12 @@ const Values = Object.freeze({
|
|
|
265
325
|
}
|
|
266
326
|
return value;
|
|
267
327
|
},
|
|
328
|
+
/**
|
|
329
|
+
* Checks an optional inbox page offset.
|
|
330
|
+
*
|
|
331
|
+
* @param value Supplies the requested offset.
|
|
332
|
+
* @returns The valid offset, or undefined when omitted.
|
|
333
|
+
*/
|
|
268
334
|
offset(value) {
|
|
269
335
|
if (value === undefined)
|
|
270
336
|
return undefined;
|
|
@@ -272,6 +338,13 @@ const Values = Object.freeze({
|
|
|
272
338
|
throw new InboxMessageError("Inbox read offset must be a non-negative safe integer.");
|
|
273
339
|
return value;
|
|
274
340
|
},
|
|
341
|
+
/**
|
|
342
|
+
* Converts and checks a continuation for one shard query.
|
|
343
|
+
*
|
|
344
|
+
* @param value Supplies the continuation, when present.
|
|
345
|
+
* @param shard Identifies the shard being queried.
|
|
346
|
+
* @returns The normalized record-query continuation.
|
|
347
|
+
*/
|
|
275
348
|
after(value, shard) {
|
|
276
349
|
if (value === undefined)
|
|
277
350
|
return undefined;
|
|
@@ -292,6 +365,12 @@ const Values = Object.freeze({
|
|
|
292
365
|
id: Values.id({ value: value.messageId, shard }),
|
|
293
366
|
};
|
|
294
367
|
},
|
|
368
|
+
/**
|
|
369
|
+
* Converts milliseconds to a Protobuf timestamp.
|
|
370
|
+
*
|
|
371
|
+
* @param ms Supplies the time in milliseconds.
|
|
372
|
+
* @returns The equivalent Protobuf timestamp.
|
|
373
|
+
*/
|
|
295
374
|
timestamp(ms) {
|
|
296
375
|
const seconds = Math.floor(ms / 1_000);
|
|
297
376
|
return create(TimestampSchema, {
|
|
@@ -299,16 +378,33 @@ const Values = Object.freeze({
|
|
|
299
378
|
nanos: (ms - seconds * 1_000) * 1_000_000,
|
|
300
379
|
});
|
|
301
380
|
},
|
|
381
|
+
/**
|
|
382
|
+
* Checks for atomic compare-and-set support in inbox record storage.
|
|
383
|
+
*
|
|
384
|
+
* @param storage Supplies the inbox record storage.
|
|
385
|
+
*/
|
|
302
386
|
atomic(storage) {
|
|
303
387
|
if (!storage.atomicCompareAndSet)
|
|
304
388
|
throw new InboxMessageError("Inbox storage requires atomic compare-and-set.");
|
|
305
389
|
},
|
|
390
|
+
/**
|
|
391
|
+
* Reads and validates the configured clock.
|
|
392
|
+
*
|
|
393
|
+
* @param clock Supplies the time source.
|
|
394
|
+
* @returns The current time in milliseconds.
|
|
395
|
+
*/
|
|
306
396
|
now(clock) {
|
|
307
397
|
const value = clock();
|
|
308
398
|
if (!(value instanceof Date) || !Number.isFinite(value.getTime()))
|
|
309
399
|
throw new InboxMessageError("Inbox storage clock returned an invalid time.");
|
|
310
400
|
return value.getTime();
|
|
311
401
|
},
|
|
402
|
+
/**
|
|
403
|
+
* Creates the storage context used for inbox records.
|
|
404
|
+
*
|
|
405
|
+
* @param context Supplies the caller's storage context.
|
|
406
|
+
* @returns The context reserved for delivery inbox storage.
|
|
407
|
+
*/
|
|
312
408
|
context(context) {
|
|
313
409
|
return context.multitenant
|
|
314
410
|
? {
|
|
@@ -318,6 +414,12 @@ const Values = Object.freeze({
|
|
|
318
414
|
}
|
|
319
415
|
: { name: `${context.name}.delivery.inbox`, multitenant: false };
|
|
320
416
|
},
|
|
417
|
+
/**
|
|
418
|
+
* Converts a shard session to its stored Protobuf record.
|
|
419
|
+
*
|
|
420
|
+
* @param value Supplies the shard session.
|
|
421
|
+
* @returns The stored shard-session record.
|
|
422
|
+
*/
|
|
321
423
|
session(value) {
|
|
322
424
|
return create(ShardSessionRecordSchema, {
|
|
323
425
|
index: { index: value.shard.index, ofTotal: value.shard.ofTotal },
|
|
@@ -325,6 +427,14 @@ const Values = Object.freeze({
|
|
|
325
427
|
worker: value.worker,
|
|
326
428
|
});
|
|
327
429
|
},
|
|
430
|
+
/**
|
|
431
|
+
* Checks whether a stored session matches the expected live session.
|
|
432
|
+
*
|
|
433
|
+
* @param value Supplies the stored session record.
|
|
434
|
+
* @param expected Supplies the expected shard session.
|
|
435
|
+
* @param now Supplies the current time in milliseconds.
|
|
436
|
+
* @returns Whether the shard, worker, and expiry match.
|
|
437
|
+
*/
|
|
328
438
|
sessionCurrent(value, expected, now) {
|
|
329
439
|
return (value.index?.index === expected.shard.index &&
|
|
330
440
|
value.index.ofTotal === expected.shard.ofTotal &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-storage.js","sourceRoot":"","sources":["../../src/delivery/inbox-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inbox-storage.js","sourceRoot":"","sources":["../../src/delivery/inbox-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,8 +139,8 @@ export interface EntityMetadata<Schema extends DescriptorMessageSchema = Descrip
|
|
|
139
139
|
readonly firstFieldRoutingHint: FirstFieldRoutingHint;
|
|
140
140
|
/**
|
|
141
141
|
* Fields marked `(column) = true`, in descriptor declaration order, for
|
|
142
|
-
*
|
|
143
|
-
* declarations are ignored
|
|
142
|
+
* Aggregate, Projection, and Process Manager states. Generic Entity column
|
|
143
|
+
* declarations are ignored.
|
|
144
144
|
*/
|
|
145
145
|
readonly columns: readonly DescriptorFieldMetadata[];
|
|
146
146
|
/**
|
|
@@ -201,14 +201,14 @@ const EntityDescriptors = Object.freeze({
|
|
|
201
201
|
return declared === "default" ? (kind === "projection" ? "full" : "none") : declared;
|
|
202
202
|
},
|
|
203
203
|
/**
|
|
204
|
-
* Lists singular indexed columns for
|
|
204
|
+
* Lists singular indexed columns for an Aggregate, Projection, or Process Manager.
|
|
205
205
|
*
|
|
206
206
|
* @param schema Entity schema containing the column declarations.
|
|
207
207
|
* @param kind Entity family that determines column support.
|
|
208
208
|
* @returns Frozen metadata for supported column fields.
|
|
209
209
|
*/
|
|
210
210
|
columns(schema, kind) {
|
|
211
|
-
if (kind !== "projection" && kind !== "process-manager")
|
|
211
|
+
if (kind !== "aggregate" && kind !== "projection" && kind !== "process-manager")
|
|
212
212
|
return Object.freeze([]);
|
|
213
213
|
return Object.freeze(schema.fields
|
|
214
214
|
.filter((field) => hasOption(field, column) && getOption(field, column))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-metadata.js","sourceRoot":"","sources":["../../src/entity/entity-metadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entity-metadata.js","sourceRoot":"","sources":["../../src/entity/entity-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { type Any } from "@bufbuild/protobuf/wkt";
|
|
|
3
3
|
import { type EntityRecord } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
|
|
4
4
|
import { RecordColumn, RecordSpec, type StorageContext } from "@spine-event-engine/storage";
|
|
5
5
|
import type { EntityStorageInput } from "@spine-event-engine/storage/provider";
|
|
6
|
-
import { type DescriptorMessageSchema } from "./entity-metadata.js";
|
|
6
|
+
import { type DescriptorFieldMetadata, type DescriptorMessageSchema, type EntityMetadata } from "./entity-metadata.js";
|
|
7
7
|
import type { PrimitiveId } from "../repository/primitive-id.js";
|
|
8
8
|
/**
|
|
9
9
|
* Converts repository current state to and from the JVM EntityRecord envelope.
|
|
@@ -14,11 +14,13 @@ export declare const EntityRecords: EntityRecordConverter;
|
|
|
14
14
|
/**
|
|
15
15
|
* Creates provider input from a class-derived EntityRecord specification.
|
|
16
16
|
*
|
|
17
|
+
* @typeParam I Entity identifier type.
|
|
17
18
|
* @param context Identifies the storage namespace for entity records.
|
|
18
19
|
* @param spec The Entity-class storage specification.
|
|
20
|
+
* @param metadata Repository metadata already validated for this schema.
|
|
19
21
|
* @returns The storage input for generated JVM EntityRecord values.
|
|
20
22
|
*/
|
|
21
|
-
export declare function entityStorageDescriptor<I>(context: StorageContext, spec: RecordSpec<I, EntityRecord
|
|
23
|
+
export declare function entityStorageDescriptor<I>(context: StorageContext, spec: RecordSpec<I, EntityRecord>, metadata?: EntityMetadata): EntityStorageInput<I, Message>;
|
|
22
24
|
/**
|
|
23
25
|
* Packs Entity IDs according to the declaration-first ID field of their state.
|
|
24
26
|
*
|
|
@@ -26,6 +28,7 @@ export declare function entityStorageDescriptor<I>(context: StorageContext, spec
|
|
|
26
28
|
*/
|
|
27
29
|
export declare const EntityIds: Readonly<{
|
|
28
30
|
pack(schema: DescriptorMessageSchema, entityId: unknown): Any;
|
|
31
|
+
packField(field: DescriptorFieldMetadata["descriptor"], entityId: unknown): Any;
|
|
29
32
|
}>;
|
|
30
33
|
/**
|
|
31
34
|
* Creates the internal Stand storage input for a registered Entity state schema.
|
|
@@ -42,10 +45,11 @@ export declare function standEntityStorageDescriptor(context: StorageContext, sc
|
|
|
42
45
|
*
|
|
43
46
|
* @param schema Generated Entity state schema.
|
|
44
47
|
* @param columns State columns materialized from an unpacked EntityRecord.
|
|
48
|
+
* @param metadata Repository metadata already validated for this schema.
|
|
45
49
|
* @returns The generated EntityRecord specification.
|
|
46
50
|
* @internal
|
|
47
51
|
*/
|
|
48
|
-
export declare function entityRecordSpec(schema: DescriptorMessageSchema, columns: readonly RecordColumn<Message>[]): RecordSpec<Message | PrimitiveId, EntityRecord>;
|
|
52
|
+
export declare function entityRecordSpec(schema: DescriptorMessageSchema, columns: readonly RecordColumn<Message>[], metadata?: EntityMetadata): RecordSpec<Message | PrimitiveId, EntityRecord>;
|
|
49
53
|
type EntityRecordValue = Readonly<{
|
|
50
54
|
readonly archived: boolean;
|
|
51
55
|
readonly deleted: boolean;
|
|
@@ -54,10 +58,26 @@ type EntityRecordValue = Readonly<{
|
|
|
54
58
|
readonly versionMessage: import("@spine-event-engine/proto").Version;
|
|
55
59
|
}>;
|
|
56
60
|
type EntityRecordConverter = Readonly<{
|
|
61
|
+
/**
|
|
62
|
+
* Packs current state and metadata into a generated Entity record.
|
|
63
|
+
* @param schema Generated Entity state schema.
|
|
64
|
+
* @param entityId Authoritative Entity identifier.
|
|
65
|
+
* @param state Current Entity state.
|
|
66
|
+
* @param version Persisted Entity version.
|
|
67
|
+
* @param lifecycle Persisted lifecycle flags.
|
|
68
|
+
* @param idField Previously validated ID descriptor, when available.
|
|
69
|
+
* @returns The generated Entity record.
|
|
70
|
+
*/
|
|
57
71
|
pack(schema: DescriptorMessageSchema, entityId: unknown, state: Message, version: bigint | import("@spine-event-engine/proto").Version, lifecycle: {
|
|
58
72
|
readonly archived: boolean;
|
|
59
73
|
readonly deleted: boolean;
|
|
60
|
-
}): EntityRecord;
|
|
74
|
+
}, idField?: DescriptorFieldMetadata): EntityRecord;
|
|
75
|
+
/**
|
|
76
|
+
* Unpacks current state and metadata from a generated Entity record.
|
|
77
|
+
* @param schema Generated Entity state schema.
|
|
78
|
+
* @param record Stored Entity record.
|
|
79
|
+
* @returns Its state and durable metadata.
|
|
80
|
+
*/
|
|
61
81
|
unpack(schema: DescriptorMessageSchema, record: EntityRecord): EntityRecordValue;
|
|
62
82
|
}>;
|
|
63
83
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-storage-descriptor.d.ts","sourceRoot":"","sources":["../../src/entity/entity-storage-descriptor.ts"],"names":[],"mappings":"AAcA,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,
|
|
1
|
+
{"version":3,"file":"entity-storage-descriptor.d.ts","sourceRoot":"","sources":["../../src/entity/entity-storage-descriptor.ts"],"names":[],"mappings":"AAcA,OAAO,EAAuC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAa,KAAK,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,qBAwE1B,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,EACjC,QAAQ,CAAC,EAAE,cAAc,GACxB,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,CA6BhC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,GAAG,GAAG,CAAC;IAC9D,SAAS,CAAC,KAAK,EAAE,uBAAuB,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,GAAG,CAAC;CACjF,CAoCC,CAAC;AAEH;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,SAAS,YAAY,CAAC,OAAO,CAAC,EAAE,GACxC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAKtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,SAAS,YAAY,CAAC,OAAO,CAAC,EAAE,EACzC,QAAQ,CAAC,EAAE,cAAc,GACxB,UAAU,CAAC,OAAO,GAAG,WAAW,EAAE,YAAY,CAAC,CAoBjD;AA8ED,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,2BAA2B,EAAE,OAAO,CAAC;CACtE,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,QAAQ,CAAC;IACpC;;;;;;;;;OASG;IACH,IAAI,CACF,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,GAAG,OAAO,2BAA2B,EAAE,OAAO,EAC7D,SAAS,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EACpE,OAAO,CAAC,EAAE,uBAAuB,GAChC,YAAY,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAAC;CAClF,CAAC,CAAC"}
|
|
@@ -17,7 +17,7 @@ import { AnyMessages, Identifiers } from "@spine-event-engine/core";
|
|
|
17
17
|
import { VersionSchema } from "@spine-event-engine/proto";
|
|
18
18
|
import { EntityRecordSchema, LifecycleFlagsSchema, } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
|
|
19
19
|
import { ColumnTypes, RecordColumn, RecordSpec, } from "@spine-event-engine/storage";
|
|
20
|
-
import { describeEntityMetadata } from "./entity-metadata.js";
|
|
20
|
+
import { describeEntityMetadata, } from "./entity-metadata.js";
|
|
21
21
|
/**
|
|
22
22
|
* Converts repository current state to and from the JVM EntityRecord envelope.
|
|
23
23
|
*
|
|
@@ -33,14 +33,17 @@ export const EntityRecords = Object.freeze({
|
|
|
33
33
|
* @param state The current Entity state.
|
|
34
34
|
* @param version The persisted Entity version.
|
|
35
35
|
* @param lifecycle The persisted Entity lifecycle.
|
|
36
|
+
* @param idField A previously validated ID descriptor, when available.
|
|
36
37
|
* @returns The generated JVM EntityRecord envelope.
|
|
37
38
|
*/
|
|
38
|
-
pack(schema, entityId, state, version, lifecycle) {
|
|
39
|
+
pack(schema, entityId, state, version, lifecycle, idField) {
|
|
39
40
|
const versionNumber = typeof version === "bigint" ? version : BigInt(version.number);
|
|
40
41
|
if (versionNumber < 0n || versionNumber > 2147483647n) {
|
|
41
42
|
throw new RangeError("EntityRecord version must fit the non-negative JVM int32 range.");
|
|
42
43
|
}
|
|
43
|
-
const packedId =
|
|
44
|
+
const packedId = idField === undefined
|
|
45
|
+
? EntityIds.pack(schema, entityId)
|
|
46
|
+
: EntityIds.packField(idField.descriptor, entityId);
|
|
44
47
|
return create(EntityRecordSchema, {
|
|
45
48
|
entityId: packedId,
|
|
46
49
|
state: AnyMessages.pack(schema, state),
|
|
@@ -87,18 +90,27 @@ export const EntityRecords = Object.freeze({
|
|
|
87
90
|
/**
|
|
88
91
|
* Creates provider input from a class-derived EntityRecord specification.
|
|
89
92
|
*
|
|
93
|
+
* @typeParam I Entity identifier type.
|
|
90
94
|
* @param context Identifies the storage namespace for entity records.
|
|
91
95
|
* @param spec The Entity-class storage specification.
|
|
96
|
+
* @param metadata Repository metadata already validated for this schema.
|
|
92
97
|
* @returns The storage input for generated JVM EntityRecord values.
|
|
93
98
|
*/
|
|
94
|
-
export function entityStorageDescriptor(context, spec) {
|
|
99
|
+
export function entityStorageDescriptor(context, spec, metadata) {
|
|
100
|
+
if (metadata !== undefined && metadata.schema !== spec.sourceType)
|
|
101
|
+
throw new Error("Repository metadata does not match the Entity state schema.");
|
|
102
|
+
const packId = (id) => metadata === undefined
|
|
103
|
+
? EntityIds.pack(spec.sourceType, id)
|
|
104
|
+
: EntityIds.packField(metadata.idField.descriptor, id);
|
|
95
105
|
return {
|
|
96
106
|
columns: spec.columns,
|
|
97
107
|
context,
|
|
98
108
|
id: {
|
|
99
109
|
clone: (id) => structuredClone(id),
|
|
100
|
-
key: (id) =>
|
|
101
|
-
|
|
110
|
+
key: (id) => metadata === undefined
|
|
111
|
+
? canonicalEntityIdKey(spec.sourceType, id)
|
|
112
|
+
: Buffer.from(toBinary(AnySchema, packId(id))).toString("base64"),
|
|
113
|
+
pack: packId,
|
|
102
114
|
unpack: (id) => {
|
|
103
115
|
try {
|
|
104
116
|
return spec.idValueIn(create(EntityRecordSchema, { entityId: id }));
|
|
@@ -119,13 +131,30 @@ export function entityStorageDescriptor(context, spec) {
|
|
|
119
131
|
* @internal
|
|
120
132
|
*/
|
|
121
133
|
export const EntityIds = Object.freeze({
|
|
134
|
+
/**
|
|
135
|
+
* Packs an ID after validating its Entity state metadata.
|
|
136
|
+
*
|
|
137
|
+
* @param schema Entity state schema to validate.
|
|
138
|
+
* @param entityId Identifier to pack.
|
|
139
|
+
* @returns The packed identifier.
|
|
140
|
+
*/
|
|
122
141
|
pack(schema, entityId) {
|
|
123
142
|
const idField = describeEntityMetadata(schema).idField.descriptor;
|
|
124
|
-
|
|
125
|
-
|
|
143
|
+
return EntityIds.packField(idField, entityId);
|
|
144
|
+
},
|
|
145
|
+
/**
|
|
146
|
+
* Packs an ID using an Entity descriptor validated by its repository.
|
|
147
|
+
*
|
|
148
|
+
* @param field The repository's validated ID field descriptor.
|
|
149
|
+
* @param entityId Identifier to pack.
|
|
150
|
+
* @returns The packed identifier.
|
|
151
|
+
*/
|
|
152
|
+
packField(field, entityId) {
|
|
153
|
+
if (field.fieldKind === "message") {
|
|
154
|
+
return Identifiers.pack(field.message, entityId);
|
|
126
155
|
}
|
|
127
|
-
if (
|
|
128
|
-
switch (primitiveIdKind(
|
|
156
|
+
if (field.fieldKind === "scalar") {
|
|
157
|
+
switch (primitiveIdKind(field.scalar)) {
|
|
129
158
|
case "string":
|
|
130
159
|
return Identifiers.pack("string", entityId);
|
|
131
160
|
case "int32":
|
|
@@ -154,22 +183,16 @@ export function standEntityStorageDescriptor(context, schema, columns) {
|
|
|
154
183
|
*
|
|
155
184
|
* @param schema Generated Entity state schema.
|
|
156
185
|
* @param columns State columns materialized from an unpacked EntityRecord.
|
|
186
|
+
* @param metadata Repository metadata already validated for this schema.
|
|
157
187
|
* @returns The generated EntityRecord specification.
|
|
158
188
|
* @internal
|
|
159
189
|
*/
|
|
160
|
-
export function entityRecordSpec(schema, columns) {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
new RecordColumn("archived", ColumnTypes.scalar(ScalarType.BOOL), (record) => record.lifecycleFlags?.archived ?? false),
|
|
167
|
-
new RecordColumn("deleted", ColumnTypes.scalar(ScalarType.BOOL), (record) => record.lifecycleFlags?.deleted ?? false),
|
|
168
|
-
new RecordColumn("version", ColumnTypes.message(VersionSchema), (record) => clone(VersionSchema, record.version ?? create(VersionSchema))),
|
|
169
|
-
...columns.map((column) => new RecordColumn(column.name, column.type, (record) => column.valueIn(EntityRecords.unpack(schema, record).state))),
|
|
170
|
-
],
|
|
171
|
-
};
|
|
172
|
-
const idField = metadata.idField.descriptor;
|
|
190
|
+
export function entityRecordSpec(schema, columns, metadata) {
|
|
191
|
+
if (metadata !== undefined && metadata.schema !== schema)
|
|
192
|
+
throw new Error("Repository metadata does not match the Entity state schema.");
|
|
193
|
+
const description = metadata ?? describeEntityMetadata(schema);
|
|
194
|
+
const input = EntityRecordSpecValues.input(schema, columns);
|
|
195
|
+
const idField = description.idField.descriptor;
|
|
173
196
|
if (idField.fieldKind === "message")
|
|
174
197
|
return new RecordSpec({
|
|
175
198
|
...input,
|
|
@@ -184,6 +207,29 @@ export function entityRecordSpec(schema, columns) {
|
|
|
184
207
|
});
|
|
185
208
|
throw new Error(`Entity ID field "${idField.name}" must be scalar or message-valued.`);
|
|
186
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Builds the shared columns of generated Entity records.
|
|
212
|
+
*/
|
|
213
|
+
const EntityRecordSpecValues = {
|
|
214
|
+
/**
|
|
215
|
+
* Creates record columns while retaining the generated state schema.
|
|
216
|
+
* @param schema Generated Entity state schema.
|
|
217
|
+
* @param columns Columns materialized from the unpacked state.
|
|
218
|
+
* @returns The common EntityRecord specification fields.
|
|
219
|
+
*/
|
|
220
|
+
input(schema, columns) {
|
|
221
|
+
return {
|
|
222
|
+
sourceType: schema,
|
|
223
|
+
recordType: EntityRecordSchema,
|
|
224
|
+
columns: [
|
|
225
|
+
new RecordColumn("archived", ColumnTypes.scalar(ScalarType.BOOL), (record) => record.lifecycleFlags?.archived ?? false),
|
|
226
|
+
new RecordColumn("deleted", ColumnTypes.scalar(ScalarType.BOOL), (record) => record.lifecycleFlags?.deleted ?? false),
|
|
227
|
+
new RecordColumn("version", ColumnTypes.message(VersionSchema), (record) => clone(VersionSchema, record.version ?? create(VersionSchema))),
|
|
228
|
+
...columns.map((column) => new RecordColumn(column.name, column.type, (record) => column.valueIn(EntityRecords.unpack(schema, record).state))),
|
|
229
|
+
],
|
|
230
|
+
};
|
|
231
|
+
},
|
|
232
|
+
};
|
|
187
233
|
function primitiveIdKind(type) {
|
|
188
234
|
switch (type) {
|
|
189
235
|
case ScalarType.STRING:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-storage-descriptor.js","sourceRoot":"","sources":["../../src/entity/entity-storage-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,SAAS,EAAY,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,UAAU,GAEX,MAAM,6BAA6B,CAAC;AAGrC,OAAO,
|
|
1
|
+
{"version":3,"file":"entity-storage-descriptor.js","sourceRoot":"","sources":["../../src/entity/entity-storage-descriptor.ts"],"names":[],"mappings":"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"}
|