@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.
Files changed (74) hide show
  1. package/README.md +17 -3
  2. package/REFERENCE.md +66 -12
  3. package/dist/context/bounded-context.d.ts +72 -14
  4. package/dist/context/bounded-context.d.ts.map +1 -1
  5. package/dist/context/bounded-context.js +130 -49
  6. package/dist/context/bounded-context.js.map +1 -1
  7. package/dist/context/effective-tenant.d.ts +9 -0
  8. package/dist/context/effective-tenant.d.ts.map +1 -0
  9. package/dist/context/effective-tenant.js +58 -0
  10. package/dist/context/effective-tenant.js.map +1 -0
  11. package/dist/context/tenant-index.d.ts.map +1 -1
  12. package/dist/context/tenant-index.js +70 -1
  13. package/dist/context/tenant-index.js.map +1 -1
  14. package/dist/delivery/delivery.d.ts.map +1 -1
  15. package/dist/delivery/delivery.js +270 -26
  16. package/dist/delivery/delivery.js.map +1 -1
  17. package/dist/delivery/inbox-storage.d.ts +7 -0
  18. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  19. package/dist/delivery/inbox-storage.js +110 -0
  20. package/dist/delivery/inbox-storage.js.map +1 -1
  21. package/dist/entity/entity-metadata.d.ts +2 -2
  22. package/dist/entity/entity-metadata.js +2 -2
  23. package/dist/entity/entity-metadata.js.map +1 -1
  24. package/dist/entity/entity-storage-descriptor.d.ts +24 -4
  25. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  26. package/dist/entity/entity-storage-descriptor.js +69 -23
  27. package/dist/entity/entity-storage-descriptor.js.map +1 -1
  28. package/dist/entity/entity.d.ts +19 -18
  29. package/dist/entity/entity.d.ts.map +1 -1
  30. package/dist/entity/entity.js +61 -24
  31. package/dist/entity/entity.js.map +1 -1
  32. package/dist/entity/spec-scanner.d.ts +13 -1
  33. package/dist/entity/spec-scanner.d.ts.map +1 -1
  34. package/dist/entity/spec-scanner.js +20 -3
  35. package/dist/entity/spec-scanner.js.map +1 -1
  36. package/dist/index.d.ts +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/repository/command-routing.d.ts +63 -10
  40. package/dist/repository/command-routing.d.ts.map +1 -1
  41. package/dist/repository/command-routing.js +41 -8
  42. package/dist/repository/command-routing.js.map +1 -1
  43. package/dist/repository/event-routing.d.ts +64 -9
  44. package/dist/repository/event-routing.d.ts.map +1 -1
  45. package/dist/repository/event-routing.js +42 -7
  46. package/dist/repository/event-routing.js.map +1 -1
  47. package/dist/repository/repository.d.ts +96 -10
  48. package/dist/repository/repository.d.ts.map +1 -1
  49. package/dist/repository/repository.js +437 -133
  50. package/dist/repository/repository.js.map +1 -1
  51. package/dist/repository/state-update-routing.d.ts +67 -8
  52. package/dist/repository/state-update-routing.d.ts.map +1 -1
  53. package/dist/repository/state-update-routing.js +45 -6
  54. package/dist/repository/state-update-routing.js.map +1 -1
  55. package/dist/server/server.d.ts.map +1 -1
  56. package/dist/server/server.js +407 -109
  57. package/dist/server/server.js.map +1 -1
  58. package/dist/services/registered-targets.d.ts +73 -0
  59. package/dist/services/registered-targets.d.ts.map +1 -0
  60. package/dist/services/registered-targets.js +127 -0
  61. package/dist/services/registered-targets.js.map +1 -0
  62. package/dist/services/spine-services.d.ts +26 -12
  63. package/dist/services/spine-services.d.ts.map +1 -1
  64. package/dist/services/spine-services.js +1044 -962
  65. package/dist/services/spine-services.js.map +1 -1
  66. package/dist/stand/stand.d.ts +73 -1
  67. package/dist/stand/stand.d.ts.map +1 -1
  68. package/dist/stand/stand.js +220 -48
  69. package/dist/stand/stand.js.map +1 -1
  70. package/dist/stand/subscription-observer.d.ts.map +1 -1
  71. package/dist/stand/subscription-observer.js +4 -11
  72. package/dist/stand/subscription-observer.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. 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
- * column-eligible entity kinds only. Aggregate and generic entity column
143
- * declarations are ignored in this slice.
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 a Projection or Process Manager.
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>): EntityStorageInput<I, Message>;
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,EAA0B,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,qBAmE1B,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,GAChC,kBAAkB,CAAC,CAAC,EAAE,OAAO,CAAC,CAoBhC;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,GAAG,GAAG,CAAC;CAC/D,CAkBC,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;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,SAAS,YAAY,CAAC,OAAO,CAAC,EAAE,GACxC,UAAU,CAAC,OAAO,GAAG,WAAW,EAAE,YAAY,CAAC,CA0CjD;AAuCD,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,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,GACnE,YAAY,CAAC;IAChB,MAAM,CAAC,MAAM,EAAE,uBAAuB,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAAC;CAClF,CAAC,CAAC"}
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 = EntityIds.pack(schema, entityId);
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) => canonicalEntityIdKey(spec.sourceType, id),
101
- pack: (id) => EntityIds.pack(spec.sourceType, id),
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
- if (idField.fieldKind === "message") {
125
- return Identifiers.pack(idField.message, entityId);
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 (idField.fieldKind === "scalar") {
128
- switch (primitiveIdKind(idField.scalar)) {
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
- const metadata = describeEntityMetadata(schema);
162
- const input = {
163
- sourceType: schema,
164
- recordType: EntityRecordSchema,
165
- columns: [
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":"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"}
1
+ {"version":3,"file":"entity-storage-descriptor.js","sourceRoot":"","sources":["../../src/entity/entity-storage-descriptor.ts"],"names":[],"mappings":"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"}