@spine-event-engine/storage 2.0.0-snapshot.15 → 2.0.0-snapshot.18

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.
@@ -40,6 +40,8 @@ export class MemoryEntityStorageFactory {
40
40
  /**
41
41
  * Creates one scoped entity-storage handle.
42
42
  *
43
+ * @typeParam I Entity identifier type used by this storage scope.
44
+ * @typeParam S Generated Entity state message type.
43
45
  * @param input Supplies the entity storage configuration.
44
46
  * @returns Returns the scoped in-memory entity storage.
45
47
  */
@@ -49,6 +51,8 @@ export class MemoryEntityStorageFactory {
49
51
  /**
50
52
  * Opens the provider-owned maps used by an atomic in-memory commit.
51
53
  *
54
+ * @typeParam I Entity identifier type used by this storage scope.
55
+ * @typeParam S Generated Entity state message type.
52
56
  * @param input Supplies the Entity storage configuration.
53
57
  * @returns The compatible backend maps for this Entity scope.
54
58
  */
@@ -62,6 +66,9 @@ export class MemoryEntityStorageFactory {
62
66
  }
63
67
  /**
64
68
  * One scoped in-memory current/state/event storage handle.
69
+ *
70
+ * @typeParam I Entity identifier type used by this storage scope.
71
+ * @typeParam S Generated Entity state message type.
65
72
  */
66
73
  export class InMemoryEntityStorage {
67
74
  // prettier-ignore
@@ -128,13 +135,20 @@ export const ENTITY_SCOPE_MUTATION_KEY = "entity-storage-scope";
128
135
  const EntitySnapshots = {
129
136
  // prettier-ignore
130
137
  /**
131
- * Clones one entity ID with the platform structured-clone operation.
138
+ * Copies one entity ID with the platform structured-clone operation.
139
+ *
140
+ * @typeParam I Entity identifier type to clone.
141
+ * @param id Entity identifier to copy.
142
+ * @returns Independent identifier copy.
132
143
  */
133
144
  cloneId(id) {
134
145
  return storageHost.structuredClone(id);
135
146
  },
136
147
  /**
137
148
  * Copies an immutable latest-state record.
149
+ *
150
+ * @param record Generated current-state record to copy.
151
+ * @returns Independent generated record.
138
152
  */
139
153
  copyCurrent(record) {
140
154
  return clone(EntityRecordSchema, record);
@@ -142,6 +156,8 @@ const EntitySnapshots = {
142
156
  };
143
157
  /**
144
158
  * In-memory latest-state storage used by all entity families.
159
+ *
160
+ * @typeParam I Entity identifier type accepted by this adapter.
145
161
  */
146
162
  export class MemoryEntityRecordStorage {
147
163
  #idKey;
@@ -194,55 +210,46 @@ export class MemoryEntityRecordStorage {
194
210
  : this.#queue.run(ENTITY_SCOPE_MUTATION_KEY, write);
195
211
  }
196
212
  /**
197
- * Returns non-deleted current records matching the normalized plan.
213
+ * Returns matching current records; exhaustive plans may select deleted records.
198
214
  *
199
215
  * @param plan Supplies the normalized record-query plan.
200
216
  * @returns Resolves to ordered matching current-record entries.
201
217
  */
202
- query(plan) {
203
- return Promise.resolve().then(() => {
204
- StorageQueryPolicy.validate(plan, {
205
- comparisons: ["equal", "greaterThan", "lessThan", "greaterOrEqual", "lessOrEqual"],
206
- features: ["either", "nested", "order", "mask", "limit"],
207
- });
208
- const limit = plan.candidateLimit ?? 10_000;
209
- const candidates = [];
210
- for (const record of this.#records.values()) {
211
- if (record.lifecycleFlags?.deleted)
212
- continue;
213
- candidates.push(record);
214
- if (candidates.length > limit)
215
- break;
216
- }
217
- if (candidates.length > limit) {
218
- throw new Error(`Storage query exceeded the candidate limit of ${String(limit)}.`);
219
- }
220
- const entries = candidates.flatMap((record) => {
221
- const copied = EntitySnapshots.copyCurrent(record);
222
- const id = copied.entityId === undefined ? undefined : this.#unpackId(copied.entityId);
223
- if (id === undefined)
224
- throw new Error("Entity current record ID does not match its Entity ID schema.");
225
- return copied.lifecycleFlags?.deleted
226
- ? []
227
- : [
228
- {
229
- id: this.#idClone(id),
230
- record: copied,
231
- columns: new Map([
232
- ...this.#columns.map((column) => [
233
- column.name,
234
- column.valueIn(copied),
235
- ]),
236
- ]),
237
- },
238
- ];
239
- });
240
- return StorageQueryEvaluator.evaluate(entries, plan);
218
+ async query(plan) {
219
+ StorageQueryPolicy.validate(plan, {
220
+ comparisons: ["equal", "greaterThan", "lessThan", "greaterOrEqual", "lessOrEqual"],
221
+ features: ["either", "nested", "order", "limit"],
241
222
  });
223
+ const limit = plan.exhaustive ? Number.POSITIVE_INFINITY : (plan.candidateLimit ?? 10_000);
224
+ const candidates = [];
225
+ for (const record of this.#records.values()) {
226
+ if (!plan.exhaustive && record.lifecycleFlags?.deleted)
227
+ continue;
228
+ candidates.push(record);
229
+ if (candidates.length > limit)
230
+ break;
231
+ }
232
+ if (candidates.length > limit) {
233
+ throw new Error(`Storage query exceeded the candidate limit of ${String(limit)}.`);
234
+ }
235
+ const entries = candidates.map((record) => {
236
+ const copied = EntitySnapshots.copyCurrent(record);
237
+ const id = copied.entityId === undefined ? undefined : this.#unpackId(copied.entityId);
238
+ if (id === undefined)
239
+ throw new Error("Entity current record ID does not match its Entity ID schema.");
240
+ return {
241
+ id: this.#idClone(id),
242
+ record: copied,
243
+ columns: new Map(this.#columns.map((column) => [column.name, column.valueIn(copied)])),
244
+ };
245
+ });
246
+ return await Promise.resolve(StorageQueryEvaluator.evaluate(entries, plan));
242
247
  }
243
248
  }
244
249
  /**
245
250
  * In-memory immutable diagnostic event-history adapter.
251
+ *
252
+ * @typeParam I Producer Entity identifier type used to select events.
246
253
  */
247
254
  export class MemoryEntityEventHistory {
248
255
  #id;
@@ -357,12 +364,24 @@ export class MemoryEntityEventHistory {
357
364
  isOpen() {
358
365
  return this.#records.isOpen();
359
366
  }
367
+ /**
368
+ * Returns a nonempty generated event ID or throws.
369
+ *
370
+ * @param event Event inspected for its ID.
371
+ * @returns Present generated event ID.
372
+ */
360
373
  eventIdIn(event) {
361
374
  if (event.id === undefined || event.id.value.trim().length === 0) {
362
375
  throw new Error("Event history requires an event ID.");
363
376
  }
364
377
  return event.id;
365
378
  }
379
+ /**
380
+ * Decodes the producer Entity ID from an event context.
381
+ *
382
+ * @param event Event whose producer is inspected.
383
+ * @returns Entity ID matching the configured codec.
384
+ */
366
385
  producerIdIn(event) {
367
386
  const producerId = event.context?.producerId;
368
387
  if (producerId === undefined)
@@ -373,6 +392,12 @@ export class MemoryEntityEventHistory {
373
392
  }
374
393
  return entityId;
375
394
  }
395
+ /**
396
+ * Validates required event history fields and removes transient enrichment.
397
+ *
398
+ * @param event Event proposed for durable history.
399
+ * @returns Cloned event without context enrichment.
400
+ */
376
401
  validatedEvent(event) {
377
402
  this.eventIdIn(event);
378
403
  this.producerIdIn(event);
@@ -388,20 +413,44 @@ export class MemoryEntityEventHistory {
388
413
  stored.context.enrichment = undefined;
389
414
  return stored;
390
415
  }
416
+ /**
417
+ * Rejects an operation after this event-history handle closes.
418
+ */
391
419
  requireOpen() {
392
420
  if (!this.isOpen())
393
421
  throw new Error("Entity history storage is closed.");
394
422
  }
423
+ /**
424
+ * Invokes the maintenance selection hook and checks that the handle remains open.
425
+ *
426
+ * @returns Completes after the selection hook.
427
+ */
395
428
  async afterSelection() {
396
429
  await this.#maintenance?.afterSelection?.();
397
430
  this.requireOpen();
398
431
  }
432
+ /**
433
+ * Reads the configured maintenance deletion chunk size.
434
+ *
435
+ * @returns Configured or default chunk size.
436
+ */
399
437
  batchSize() {
400
438
  return this.#maintenance?.batchSize ?? MAINTENANCE_BATCH_SIZE;
401
439
  }
440
+ /**
441
+ * Reads the configured history query page size.
442
+ *
443
+ * @returns Configured or default page size.
444
+ */
402
445
  pageSize() {
403
446
  return this.#maintenance?.pageSize ?? HISTORY_PAGE_SIZE;
404
447
  }
448
+ /**
449
+ * Deletes selected event IDs in bounded maintenance chunks.
450
+ *
451
+ * @param entries Event IDs selected for deletion.
452
+ * @returns Completes after all chunks have been deleted.
453
+ */
405
454
  async deleteEntries(entries) {
406
455
  for (let start = 0; start < entries.length; start += this.batchSize()) {
407
456
  for (const entry of entries.slice(start, start + this.batchSize()))
@@ -413,6 +462,9 @@ export class MemoryEntityEventHistory {
413
462
  }
414
463
  /**
415
464
  * In-memory immutable, versioned state-history adapter.
465
+ *
466
+ * @typeParam I Entity identifier type used to select state records.
467
+ * @typeParam S Generated Entity state message type decoded from records.
416
468
  */
417
469
  export class InMemoryEntityHistory {
418
470
  #id;
@@ -575,6 +627,12 @@ export class InMemoryEntityHistory {
575
627
  isOpen() {
576
628
  return this.#records.isOpen();
577
629
  }
630
+ /**
631
+ * Deletes selected state-record keys in bounded maintenance chunks.
632
+ *
633
+ * @param entries State-record keys selected for deletion.
634
+ * @returns Completes after all chunks have been deleted.
635
+ */
578
636
  async deleteEntries(entries) {
579
637
  for (let start = 0; start < entries.length; start += this.batchSize()) {
580
638
  for (const entry of entries.slice(start, start + this.batchSize())) {
@@ -583,6 +641,12 @@ export class InMemoryEntityHistory {
583
641
  await this.afterMaintenanceChunk();
584
642
  }
585
643
  }
644
+ /**
645
+ * Builds a state-history key from an Entity ID and version.
646
+ *
647
+ * @param record Generated Entity record to identify.
648
+ * @returns Composite state-history key.
649
+ */
586
650
  keyFor(record) {
587
651
  if (record.entityId === undefined || record.version === undefined) {
588
652
  throw new Error("State history requires EntityRecord.entityId and EntityRecord.version.");
@@ -592,6 +656,12 @@ export class InMemoryEntityHistory {
592
656
  version: record.version.number,
593
657
  });
594
658
  }
659
+ /**
660
+ * Decodes the Entity ID stored in a generated record.
661
+ *
662
+ * @param record Generated Entity record to inspect.
663
+ * @returns Entity ID matching the configured codec.
664
+ */
595
665
  entityIdIn(record) {
596
666
  if (record.entityId === undefined) {
597
667
  throw new Error("State history requires EntityRecord.entityId.");
@@ -602,6 +672,11 @@ export class InMemoryEntityHistory {
602
672
  }
603
673
  return entityId;
604
674
  }
675
+ /**
676
+ * Checks an Entity record's ID, timestamp, and state schema before storage.
677
+ *
678
+ * @param record Generated Entity record proposed for history.
679
+ */
605
680
  validateRecord(record) {
606
681
  this.entityIdIn(record);
607
682
  if (record.version?.timestamp === undefined) {
@@ -609,6 +684,12 @@ export class InMemoryEntityHistory {
609
684
  }
610
685
  this.unpackState(record);
611
686
  }
687
+ /**
688
+ * Decodes a state whose type URL matches the configured state schema.
689
+ *
690
+ * @param record Generated Entity record containing a packed state.
691
+ * @returns Frozen decoded Entity state.
692
+ */
612
693
  unpackState(record) {
613
694
  const state = record.state;
614
695
  if (!state?.typeUrl.endsWith(`/${this.#stateSchema.typeName}`)) {
@@ -616,21 +697,44 @@ export class InMemoryEntityHistory {
616
697
  }
617
698
  return Object.freeze(fromBinary(this.#stateSchema, state.value));
618
699
  }
700
+ /**
701
+ * Rejects an operation after this state-history handle closes.
702
+ */
619
703
  requireOpen() {
620
704
  if (!this.isOpen())
621
705
  throw new Error("Entity history storage is closed.");
622
706
  }
707
+ /**
708
+ * Invokes the maintenance selection hook and checks that the handle remains open.
709
+ *
710
+ * @returns Completes after the selection hook.
711
+ */
623
712
  async afterSelection() {
624
713
  await this.#maintenance?.afterSelection?.();
625
714
  this.requireOpen();
626
715
  }
716
+ /**
717
+ * Invokes the maintenance chunk hook and checks that the handle remains open.
718
+ *
719
+ * @returns Completes after the chunk hook.
720
+ */
627
721
  async afterMaintenanceChunk() {
628
722
  await this.#maintenance?.onChunk?.();
629
723
  this.requireOpen();
630
724
  }
725
+ /**
726
+ * Reads the configured maintenance deletion chunk size.
727
+ *
728
+ * @returns Configured or default chunk size.
729
+ */
631
730
  batchSize() {
632
731
  return this.#maintenance?.batchSize ?? MAINTENANCE_BATCH_SIZE;
633
732
  }
733
+ /**
734
+ * Reads the configured history query page size.
735
+ *
736
+ * @returns Configured or default page size.
737
+ */
634
738
  pageSize() {
635
739
  return this.#maintenance?.pageSize ?? HISTORY_PAGE_SIZE;
636
740
  }
@@ -643,6 +747,7 @@ export class KeyedSerialQueue {
643
747
  /**
644
748
  * Queues an operation after earlier operations with the same key finish.
645
749
  *
750
+ * @typeParam T Result type returned by the queued operation.
646
751
  * @param key Identifies the serialized operation sequence.
647
752
  * @param operation Supplies the operation to run.
648
753
  * @returns Resolves to the operation result.
@@ -673,6 +778,10 @@ const HistoryOrdering = {
673
778
  // prettier-ignore
674
779
  /**
675
780
  * Compares timestamps by seconds and nanos.
781
+ *
782
+ * @param left First timestamp to compare.
783
+ * @param right Second timestamp to compare.
784
+ * @returns Signed chronological comparison.
676
785
  */
677
786
  compareTime(left, right) {
678
787
  return Number(left.seconds - right.seconds) || left.nanos - right.nanos;
@@ -682,6 +791,19 @@ const HistoryOrdering = {
682
791
  * Traverses finite RecordStorage windows with an exact stable keyset continuation.
683
792
  */
684
793
  const HistoryPaging = {
794
+ /**
795
+ * Reads finite record pages and visits each page using stable keyset continuation.
796
+ *
797
+ * @typeParam I Record identifier type used by the storage query.
798
+ * @typeParam R Generated record message type in each page.
799
+ * @param records Storage queried in pages.
800
+ * @param query Filters applied to every page.
801
+ * @param sort Stable field order used by the continuation.
802
+ * @param pageSize Maximum records requested per page.
803
+ * @param valueIn Reads an ordered field from a record.
804
+ * @param visit Processes a page and returns whether scanning should continue.
805
+ * @returns Completes after all pages or an early visitor stop.
806
+ */
685
807
  async scan(records, query, sort, pageSize, valueIn, visit) {
686
808
  let after;
687
809
  do {
@@ -714,6 +836,10 @@ const HistoryIdentity = {
714
836
  // prettier-ignore
715
837
  /**
716
838
  * Determines whether two generated Entity records have identical binary content.
839
+ *
840
+ * @param left First generated Entity record.
841
+ * @param right Second generated Entity record.
842
+ * @returns True when their serialized bytes match.
717
843
  */
718
844
  sameEntityRecord(left, right) {
719
845
  return CanonicalBytes.equal(toBinary(EntityRecordSchema, left), toBinary(EntityRecordSchema, right));
@@ -723,16 +849,31 @@ const HistoryIdentity = {
723
849
  * Validates bounded history requests.
724
850
  */
725
851
  const HistoryLimits = {
852
+ /**
853
+ * Rejects a history depth that is not a positive safe integer.
854
+ *
855
+ * @param depth Requested number of history entries.
856
+ */
726
857
  requireDepth(depth) {
727
858
  if (!Number.isSafeInteger(depth) || depth <= 0) {
728
859
  throw new Error("History depth must be a positive safe integer.");
729
860
  }
730
861
  },
862
+ /**
863
+ * Rejects an invalid optional maintenance deletion chunk size.
864
+ *
865
+ * @param batchSize Requested records per deletion chunk.
866
+ */
731
867
  requireBatchSize(batchSize) {
732
868
  if (batchSize !== undefined && (!Number.isSafeInteger(batchSize) || batchSize <= 0)) {
733
869
  throw new Error("In-memory maintenance batch size must be a positive safe integer.");
734
870
  }
735
871
  },
872
+ /**
873
+ * Rejects an invalid optional history query page size.
874
+ *
875
+ * @param pageSize Requested records per query page.
876
+ */
736
877
  requirePageSize(pageSize) {
737
878
  if (pageSize !== undefined && (!Number.isSafeInteger(pageSize) || pageSize <= 0)) {
738
879
  throw new Error("In-memory history page size must be a positive safe integer.");
@@ -748,6 +889,10 @@ const CanonicalBytes = {
748
889
  // prettier-ignore
749
890
  /**
750
891
  * Compares two durable byte sequences.
892
+ *
893
+ * @param left First byte sequence.
894
+ * @param right Second byte sequence.
895
+ * @returns True when lengths and bytes match.
751
896
  */
752
897
  equal(left, right) {
753
898
  return left.length === right.length && left.every((value, index) => value === right[index]);
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-entity-history.js","sourceRoot":"","sources":["../../src/memory/in-memory-entity-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-entity-history.js","sourceRoot":"","sources":["../../src/memory/in-memory-entity-history.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ import type { NormalizedQueryPlan, StorageQueryCapabilities } from "../query/que
8
8
  import { TenantRecords } from "./tenant-records.js";
9
9
  /**
10
10
  * In-memory record storage with per-tenant slices when the context is multitenant.
11
+ *
12
+ * @typeParam I The storage slot identifier type.
13
+ * @typeParam R The stored Protobuf record type.
11
14
  */
12
15
  export declare class InMemoryRecordStorage<I, R extends Message> extends RecordStorage<I, R> {
13
16
  #private;
@@ -71,8 +74,24 @@ export declare class InMemoryRecordStorage<I, R extends Message> extends RecordS
71
74
  * @returns Completes when the record is written.
72
75
  */
73
76
  protected writeRecord(record: ReturnType<RecordSpec<I, R>["materialize"]>): Promise<void>;
77
+ /**
78
+ * Returns the records selected by this handle's tenant context.
79
+ *
80
+ * @returns The tenant's mutable record collection.
81
+ */
74
82
  private records;
83
+ /**
84
+ * Finds or creates records for the current tenant in a local map.
85
+ *
86
+ * @param tenantRecords The map shared by this handle's local record supplier.
87
+ * @returns The selected tenant's mutable record collection.
88
+ */
75
89
  private localRecords;
90
+ /**
91
+ * Returns the key used to separate tenants in the local map.
92
+ *
93
+ * @returns The tenant key, or the single-tenant marker.
94
+ */
76
95
  private tenantKey;
77
96
  }
78
97
  //# sourceMappingURL=in-memory-record-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-record-storage.d.ts","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;GAEG;AACH,qBAAa,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAGlF;;OAEG;IACH,SAAkB,mBAAmB,QAAQ;IAG7C;;;;;OAKG;gBAED,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,aAAa,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAO3C;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAC3B,EAAE,EAAE,CAAC,EACL,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,EACjE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,GAC5D,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;cACgB,kBAAkB,CACnC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAIxC;;;OAGG;cACgB,iBAAiB,IAAI,wBAAwB;IAOhE;;;;OAIG;cACgB,sBAAsB,CACvC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAQxC;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInD;;;;OAIG;IACH,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,SAAS,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"in-memory-record-storage.d.ts","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;GAKG;AACH,qBAAa,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;IAGlF;;OAEG;IACH,SAAkB,mBAAmB,QAAQ;IAI7C;;;;;OAKG;gBAED,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,aAAa,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAO3C;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/C;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAC3B,EAAE,EAAE,CAAC,EACL,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,EACjE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,GAC5D,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;cACgB,kBAAkB,CACnC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAIxC;;;OAGG;cACgB,iBAAiB,IAAI,wBAAwB;IAOhE;;;;OAIG;cACgB,sBAAsB,CACvC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAaxC;;;;OAIG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInD;;;;OAIG;IACH,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,SAAS,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzF;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAIf;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAGlB"}
@@ -17,6 +17,9 @@ import { TenantRecords } from "./tenant-records.js";
17
17
  import { TenantBoundary } from "../internal/tenancy.js";
18
18
  /**
19
19
  * In-memory record storage with per-tenant slices when the context is multitenant.
20
+ *
21
+ * @typeParam I The storage slot identifier type.
22
+ * @typeParam R The stored Protobuf record type.
20
23
  */
21
24
  export class InMemoryRecordStorage extends RecordStorage {
22
25
  // prettier-ignore
@@ -69,7 +72,7 @@ export class InMemoryRecordStorage extends RecordStorage {
69
72
  queryCapabilities() {
70
73
  return {
71
74
  comparisons: ["equal", "greaterThan", "lessThan", "greaterOrEqual", "lessOrEqual"],
72
- features: ["either", "nested", "order", "mask", "limit"],
75
+ features: ["either", "nested", "order", "limit"],
73
76
  };
74
77
  }
75
78
  /**
@@ -78,9 +81,11 @@ export class InMemoryRecordStorage extends RecordStorage {
78
81
  * @returns The candidate storage entries.
79
82
  */
80
83
  queryPlanRecordEntries(plan) {
81
- return Promise.resolve(this.records().queryEntries(this.recordSpec, {
82
- limit: (plan.candidateLimit ?? defaultQueryCandidateLimit) + 1,
83
- }));
84
+ return Promise.resolve(this.records().queryEntries(this.recordSpec, plan.exhaustive
85
+ ? {}
86
+ : {
87
+ limit: (plan.candidateLimit ?? defaultQueryCandidateLimit) + 1,
88
+ }));
84
89
  }
85
90
  /**
86
91
  * Reads the record at one storage slot.
@@ -108,9 +113,20 @@ export class InMemoryRecordStorage extends RecordStorage {
108
113
  this.records().write(record);
109
114
  return Promise.resolve();
110
115
  }
116
+ /**
117
+ * Returns the records selected by this handle's tenant context.
118
+ *
119
+ * @returns The tenant's mutable record collection.
120
+ */
111
121
  records() {
112
122
  return this.#records();
113
123
  }
124
+ /**
125
+ * Finds or creates records for the current tenant in a local map.
126
+ *
127
+ * @param tenantRecords The map shared by this handle's local record supplier.
128
+ * @returns The selected tenant's mutable record collection.
129
+ */
114
130
  localRecords(tenantRecords) {
115
131
  const tenantKey = this.tenantKey();
116
132
  let records = tenantRecords.get(tenantKey);
@@ -120,6 +136,11 @@ export class InMemoryRecordStorage extends RecordStorage {
120
136
  }
121
137
  return records;
122
138
  }
139
+ /**
140
+ * Returns the key used to separate tenants in the local map.
141
+ *
142
+ * @returns The tenant key, or the single-tenant marker.
143
+ */
123
144
  tenantKey() {
124
145
  return TenantBoundary.of(this.context).key;
125
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-record-storage.js","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-record-storage.js","sourceRoot":"","sources":["../../src/memory/in-memory-record-storage.ts"],"names":[],"mappings":"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"}