@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
package/dist/stand/stand.js
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
14
|
var _a;
|
|
15
|
-
import { clone
|
|
15
|
+
import { clone } from "@bufbuild/protobuf";
|
|
16
16
|
import { TypeUrls } from "@spine-event-engine/core";
|
|
17
17
|
import { TenantIdSchema, VersionSchema, } from "@spine-event-engine/proto";
|
|
18
|
-
import { ColumnTypes, RecordColumn,
|
|
18
|
+
import { ColumnTypes, RecordColumn, RecordQuery, } from "@spine-event-engine/storage";
|
|
19
19
|
import { TenantBoundary } from "@spine-event-engine/storage/provider";
|
|
20
20
|
import { EntityRecords, standEntityStorageDescriptor, } from "../entity/entity-storage-descriptor.js";
|
|
21
21
|
import { SubscriptionObservers } from "./subscription-observer.js";
|
|
@@ -71,7 +71,7 @@ export class Stand {
|
|
|
71
71
|
constructor(options) {
|
|
72
72
|
this.#context = _a.#cloneContext(options.context);
|
|
73
73
|
this.#storageFactory = options.storageFactory;
|
|
74
|
-
deferredUpdates.set(this, (schema, state, updateOptions) => this.#deferUpdate(schema, state, updateOptions));
|
|
74
|
+
deferredUpdates.set(this, (schema, state, updateOptions, metadata) => this.#deferUpdate(schema, state, updateOptions, metadata));
|
|
75
75
|
currentReads.set(this, (schema, id, readOptions) => this.#readCurrent(schema, id, readOptions));
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
@@ -124,6 +124,7 @@ export class Stand {
|
|
|
124
124
|
/**
|
|
125
125
|
* Reads the latest state for one entity ID.
|
|
126
126
|
*
|
|
127
|
+
* @typeParam Schema The registered state schema.
|
|
127
128
|
* @param schema The registered entity state schema.
|
|
128
129
|
* @param id The entity ID to read.
|
|
129
130
|
* @param options The tenant slice to read.
|
|
@@ -136,6 +137,7 @@ export class Stand {
|
|
|
136
137
|
/**
|
|
137
138
|
* Reads the latest state and its supplied version metadata for one entity ID.
|
|
138
139
|
*
|
|
140
|
+
* @typeParam Schema The registered state schema.
|
|
139
141
|
* @param schema The registered entity state schema.
|
|
140
142
|
* @param id The entity ID to read.
|
|
141
143
|
* @param options The tenant slice to read.
|
|
@@ -165,6 +167,7 @@ export class Stand {
|
|
|
165
167
|
/**
|
|
166
168
|
* Reads all latest states and version metadata in storage query order.
|
|
167
169
|
*
|
|
170
|
+
* @typeParam Schema The registered state schema.
|
|
168
171
|
* @param schema The registered entity state schema.
|
|
169
172
|
* @param options The tenant slice to read.
|
|
170
173
|
* @returns The current states and versions in query order.
|
|
@@ -175,6 +178,7 @@ export class Stand {
|
|
|
175
178
|
/**
|
|
176
179
|
* Finds latest states and version metadata in storage query order.
|
|
177
180
|
*
|
|
181
|
+
* @typeParam Schema The registered state schema.
|
|
178
182
|
* @param schema The registered entity state schema.
|
|
179
183
|
* @param query The legacy record query to apply.
|
|
180
184
|
* @param options The tenant slice to read.
|
|
@@ -188,7 +192,7 @@ export class Stand {
|
|
|
188
192
|
const storage = this.#leaseCurrent(registration, tenantId);
|
|
189
193
|
try {
|
|
190
194
|
const stored = await storage.current.query(_a.#legacyPlan(query));
|
|
191
|
-
const results = stored.map((entry) => this.#entryResult(registration, entry.record
|
|
195
|
+
const results = stored.map((entry) => this.#entryResult(registration, entry.record));
|
|
192
196
|
return results.filter((result) => result !== undefined);
|
|
193
197
|
}
|
|
194
198
|
finally {
|
|
@@ -202,6 +206,7 @@ export class Stand {
|
|
|
202
206
|
/**
|
|
203
207
|
* Finds latest states through a normalized plan and retains versions.
|
|
204
208
|
*
|
|
209
|
+
* @typeParam Schema The registered state schema.
|
|
205
210
|
* @param schema The registered entity state schema.
|
|
206
211
|
* @param plan The normalized storage query plan to apply.
|
|
207
212
|
* @param options The tenant slice to read.
|
|
@@ -215,7 +220,7 @@ export class Stand {
|
|
|
215
220
|
const storage = this.#leaseCurrent(registration, tenantId);
|
|
216
221
|
try {
|
|
217
222
|
const stored = await storage.current.query(plan);
|
|
218
|
-
const results = stored.map((entry) => this.#entryResult(registration, entry.record
|
|
223
|
+
const results = stored.map((entry) => this.#entryResult(registration, entry.record));
|
|
219
224
|
return results.filter((result) => result !== undefined);
|
|
220
225
|
}
|
|
221
226
|
finally {
|
|
@@ -271,6 +276,7 @@ export class Stand {
|
|
|
271
276
|
/**
|
|
272
277
|
* Records one latest entity state and delivers an update to matching subscribers.
|
|
273
278
|
*
|
|
279
|
+
* @typeParam Schema The registered state schema.
|
|
274
280
|
* @param schema The registered entity state schema.
|
|
275
281
|
* @param state The latest entity state to store.
|
|
276
282
|
* @param options The tenant, version, and lifecycle metadata to store.
|
|
@@ -287,53 +293,43 @@ export class Stand {
|
|
|
287
293
|
throw error;
|
|
288
294
|
}
|
|
289
295
|
}
|
|
290
|
-
|
|
291
|
-
|
|
296
|
+
/**
|
|
297
|
+
* Prepares a repository update without notifying subscribers yet.
|
|
298
|
+
*
|
|
299
|
+
* @typeParam Schema The state message schema.
|
|
300
|
+
* @param schema Registered state schema.
|
|
301
|
+
* @param state State to persist.
|
|
302
|
+
* @param options Tenant and version metadata.
|
|
303
|
+
* @param metadata Repository-validated metadata for this schema, when available.
|
|
304
|
+
* @returns Deferred write and notification actions.
|
|
305
|
+
*/
|
|
306
|
+
async #deferUpdate(schema, state, options, metadata) {
|
|
307
|
+
return await this.#prepareUpdate(schema, state, options, metadata);
|
|
292
308
|
}
|
|
293
|
-
|
|
309
|
+
/**
|
|
310
|
+
* Reserves storage and captures subscribers for one state update.
|
|
311
|
+
*
|
|
312
|
+
* @typeParam Schema The state message schema.
|
|
313
|
+
* @param schema Registered state schema.
|
|
314
|
+
* @param state State to persist.
|
|
315
|
+
* @param options Tenant and version metadata.
|
|
316
|
+
* @param metadata Repository-validated metadata for this schema, when available.
|
|
317
|
+
* @returns Prepared write with cleanup actions.
|
|
318
|
+
*/
|
|
319
|
+
async #prepareUpdate(schema, state, options, metadata) {
|
|
294
320
|
const finish = this.#beginOperation();
|
|
295
321
|
let storage;
|
|
296
322
|
try {
|
|
297
323
|
const registration = this.#registration(schema, "update");
|
|
324
|
+
if (metadata !== undefined && metadata.schema !== registration.schema)
|
|
325
|
+
throw new Error("Repository metadata does not match the Entity state schema.");
|
|
298
326
|
const tenantId = this.#tenantId(options.tenantId);
|
|
327
|
+
const snapshot = _a.#snapshotUpdateOptions(options);
|
|
299
328
|
const stateCopy = clone(schema, state);
|
|
300
329
|
const id = _a.#readStateId(stateCopy, registration);
|
|
301
330
|
storage = this.#leaseCurrent(registration, tenantId);
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
? await currentStorage.current.read(id)
|
|
305
|
-
: undefined;
|
|
306
|
-
const previousState = previous === undefined
|
|
307
|
-
? undefined
|
|
308
|
-
: EntityRecords.unpack(registration.schema, previous).state;
|
|
309
|
-
const subscribers = [...this.#tenantSubscribers(registration, this.#tenantKey(tenantId))];
|
|
310
|
-
const record = EntityRecords.pack(registration.schema, id, stateCopy, options.version ?? 0n, options.lifecycle ?? { archived: false, deleted: false });
|
|
311
|
-
let settled = false;
|
|
312
|
-
const settle = () => {
|
|
313
|
-
if (!settled) {
|
|
314
|
-
settled = true;
|
|
315
|
-
currentStorage.release();
|
|
316
|
-
finish();
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
|
-
return Object.freeze({
|
|
320
|
-
cancel: settle,
|
|
321
|
-
write: () => currentStorage.current.write(record),
|
|
322
|
-
notify: () => {
|
|
323
|
-
try {
|
|
324
|
-
this.#notify(registration, {
|
|
325
|
-
id,
|
|
326
|
-
previousState,
|
|
327
|
-
state: stateCopy,
|
|
328
|
-
tenantId,
|
|
329
|
-
version: options.version,
|
|
330
|
-
}, subscribers);
|
|
331
|
-
}
|
|
332
|
-
finally {
|
|
333
|
-
settle();
|
|
334
|
-
}
|
|
335
|
-
},
|
|
336
|
-
});
|
|
331
|
+
const previousState = await this.#previousUpdateState(registration, tenantId, id, storage);
|
|
332
|
+
return this.#preparedUpdate(registration, { id, previousState, state: stateCopy, tenantId, version: snapshot.version }, snapshot, metadata, storage, finish);
|
|
337
333
|
}
|
|
338
334
|
catch (error) {
|
|
339
335
|
storage?.release();
|
|
@@ -341,8 +337,89 @@ export class Stand {
|
|
|
341
337
|
throw error;
|
|
342
338
|
}
|
|
343
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Copies mutable Version and lifecycle input before update preparation awaits.
|
|
342
|
+
* @param options Update metadata supplied by the caller.
|
|
343
|
+
* @returns Detached metadata for packing and notification.
|
|
344
|
+
*/
|
|
345
|
+
static #snapshotUpdateOptions(options) {
|
|
346
|
+
return {
|
|
347
|
+
...(options.version === undefined ? {} : { version: clone(VersionSchema, options.version) }),
|
|
348
|
+
...(options.lifecycle === undefined ? {} : { lifecycle: { ...options.lifecycle } }),
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Reads the previous state only when a subscriber in this tenant needs it.
|
|
353
|
+
* @typeParam Schema Registered state schema.
|
|
354
|
+
* @param registration Registered state metadata.
|
|
355
|
+
* @param tenantId Tenant for this update.
|
|
356
|
+
* @param id Entity identifier.
|
|
357
|
+
* @param storage Leased current-record storage.
|
|
358
|
+
* @returns Previous state when a matching subscriber exists.
|
|
359
|
+
*/
|
|
360
|
+
async #previousUpdateState(registration, tenantId, id, storage) {
|
|
361
|
+
if (!this.#hasTenantSubscribers(registration, tenantId))
|
|
362
|
+
return undefined;
|
|
363
|
+
const previous = await storage.current.read(id);
|
|
364
|
+
return previous === undefined
|
|
365
|
+
? undefined
|
|
366
|
+
: EntityRecords.unpack(registration.schema, previous).state;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Captures the deferred write and subscriber notification actions.
|
|
370
|
+
* @typeParam Schema Registered state schema.
|
|
371
|
+
* @param registration Registered state metadata.
|
|
372
|
+
* @param update Detached state update for subscribers.
|
|
373
|
+
* @param options Version and lifecycle metadata to persist.
|
|
374
|
+
* @param metadata Repository-validated metadata for this schema, when available.
|
|
375
|
+
* @param storage Leased current-record storage.
|
|
376
|
+
* @param onFinish Completes the Stand operation.
|
|
377
|
+
* @returns Deferred actions for persistence and notification.
|
|
378
|
+
*/
|
|
379
|
+
#preparedUpdate(registration, update, options, metadata, storage, onFinish) {
|
|
380
|
+
const subscribers = [
|
|
381
|
+
...this.#tenantSubscribers(registration, this.#tenantKey(update.tenantId)),
|
|
382
|
+
];
|
|
383
|
+
const record = EntityRecords.pack(registration.schema, update.id, update.state, options.version ?? 0n, options.lifecycle ?? { archived: false, deleted: false }, metadata?.idField);
|
|
384
|
+
const settle = _a.#settleUpdate(storage, onFinish);
|
|
385
|
+
return Object.freeze({
|
|
386
|
+
cancel: settle,
|
|
387
|
+
record,
|
|
388
|
+
write: () => storage.current.write(record),
|
|
389
|
+
notify: () => {
|
|
390
|
+
try {
|
|
391
|
+
this.#notify(registration, update, subscribers);
|
|
392
|
+
}
|
|
393
|
+
finally {
|
|
394
|
+
settle();
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Closes a deferred update's lease and operation at most once.
|
|
401
|
+
* @param storage Leased current-record storage.
|
|
402
|
+
* @param onFinish Completes the Stand operation.
|
|
403
|
+
* @returns Idempotent cleanup action.
|
|
404
|
+
*/
|
|
405
|
+
static #settleUpdate(storage, onFinish) {
|
|
406
|
+
let settled = false;
|
|
407
|
+
return () => {
|
|
408
|
+
if (settled)
|
|
409
|
+
return;
|
|
410
|
+
settled = true;
|
|
411
|
+
storage.release();
|
|
412
|
+
onFinish();
|
|
413
|
+
};
|
|
414
|
+
}
|
|
344
415
|
/**
|
|
345
416
|
* Repository-only full current-record read, including lifecycle metadata.
|
|
417
|
+
*
|
|
418
|
+
* @typeParam Schema The registered state schema.
|
|
419
|
+
* @param schema Registered state schema.
|
|
420
|
+
* @param id Entity ID to read.
|
|
421
|
+
* @param options Tenant selection.
|
|
422
|
+
* @returns Current stored state and lifecycle, if present.
|
|
346
423
|
*/
|
|
347
424
|
async #readCurrent(schema, id, options) {
|
|
348
425
|
const finish = this.#beginOperation();
|
|
@@ -374,6 +451,7 @@ export class Stand {
|
|
|
374
451
|
/**
|
|
375
452
|
* Subscribes to in-process updates for one registered state schema.
|
|
376
453
|
*
|
|
454
|
+
* @typeParam Schema The registered state schema.
|
|
377
455
|
* @param schema The registered entity state schema.
|
|
378
456
|
* @param callback The function receiving matching state updates.
|
|
379
457
|
* @param options The tenant slice to subscribe to.
|
|
@@ -440,6 +518,14 @@ export class Stand {
|
|
|
440
518
|
if (errors.length > 0)
|
|
441
519
|
throw new AggregateError(errors, "Stand close failed.");
|
|
442
520
|
}
|
|
521
|
+
/**
|
|
522
|
+
* Resolves a registered state type for a Stand operation.
|
|
523
|
+
*
|
|
524
|
+
* @typeParam Schema The requested state schema.
|
|
525
|
+
* @param schema State schema to resolve.
|
|
526
|
+
* @param operation Operation named in an unknown-type error.
|
|
527
|
+
* @returns The matching registration.
|
|
528
|
+
*/
|
|
443
529
|
#registration(schema, operation) {
|
|
444
530
|
this.#requireOpen();
|
|
445
531
|
const typeUrl = TypeUrls.derive(schema);
|
|
@@ -485,7 +571,15 @@ export class Stand {
|
|
|
485
571
|
},
|
|
486
572
|
};
|
|
487
573
|
}
|
|
488
|
-
|
|
574
|
+
/**
|
|
575
|
+
* Decodes a complete current state and its version.
|
|
576
|
+
*
|
|
577
|
+
* @typeParam Schema The decoded state schema.
|
|
578
|
+
* @param registration State registration.
|
|
579
|
+
* @param current Stored Entity record.
|
|
580
|
+
* @returns Current state and version unless deleted.
|
|
581
|
+
*/
|
|
582
|
+
#entryResult(registration, current) {
|
|
489
583
|
const value = EntityRecords.unpack(registration.schema, current);
|
|
490
584
|
if (value.deleted)
|
|
491
585
|
return undefined;
|
|
@@ -493,13 +587,29 @@ export class Stand {
|
|
|
493
587
|
? undefined
|
|
494
588
|
: value.versionMessage;
|
|
495
589
|
return Object.freeze({
|
|
496
|
-
state:
|
|
590
|
+
state: clone(registration.schema, value.state),
|
|
497
591
|
...(version === undefined ? {} : { version: clone(VersionSchema, version) }),
|
|
498
592
|
});
|
|
499
593
|
}
|
|
594
|
+
/**
|
|
595
|
+
* Decodes a complete current record.
|
|
596
|
+
*
|
|
597
|
+
* @typeParam Schema The decoded state schema.
|
|
598
|
+
* @param registration State registration.
|
|
599
|
+
* @param current Stored Entity record.
|
|
600
|
+
* @returns Current state and version unless deleted.
|
|
601
|
+
*/
|
|
500
602
|
#currentResult(registration, current) {
|
|
501
603
|
return this.#entryResult(registration, current);
|
|
502
604
|
}
|
|
605
|
+
/**
|
|
606
|
+
* Delivers one state update to the captured tenant subscribers.
|
|
607
|
+
*
|
|
608
|
+
* @typeParam Schema The updated state schema.
|
|
609
|
+
* @param registration State registration.
|
|
610
|
+
* @param input State and lifecycle details for the notification.
|
|
611
|
+
* @param captured Subscribers captured before persistence, if available.
|
|
612
|
+
*/
|
|
503
613
|
#notify(registration, input, captured) {
|
|
504
614
|
const errors = [];
|
|
505
615
|
const tenantKey = this.#tenantKey(input.tenantId);
|
|
@@ -532,6 +642,14 @@ export class Stand {
|
|
|
532
642
|
}
|
|
533
643
|
return false;
|
|
534
644
|
}
|
|
645
|
+
/**
|
|
646
|
+
* Lists subscribers for the selected state type and tenant.
|
|
647
|
+
*
|
|
648
|
+
* @typeParam Schema The state schema.
|
|
649
|
+
* @param registration State registration.
|
|
650
|
+
* @param tenantKey Tenant key to match.
|
|
651
|
+
* @returns Matching subscribers.
|
|
652
|
+
*/
|
|
535
653
|
#tenantSubscribers(registration, tenantKey) {
|
|
536
654
|
return [...registration.subscribers].filter((subscriber) => subscriber.tenantKey === tenantKey);
|
|
537
655
|
}
|
|
@@ -578,6 +696,14 @@ export class Stand {
|
|
|
578
696
|
finish?.();
|
|
579
697
|
};
|
|
580
698
|
}
|
|
699
|
+
/**
|
|
700
|
+
* Clones a state update before delivering it to subscribers.
|
|
701
|
+
*
|
|
702
|
+
* @typeParam Schema The updated state schema.
|
|
703
|
+
* @param registration State registration.
|
|
704
|
+
* @param input State and version values to clone.
|
|
705
|
+
* @returns Immutable update snapshot.
|
|
706
|
+
*/
|
|
581
707
|
static #createUpdate(registration, input) {
|
|
582
708
|
const version = input.version === undefined ? undefined : clone(VersionSchema, input.version);
|
|
583
709
|
return Object.freeze({
|
|
@@ -628,11 +754,19 @@ export class Stand {
|
|
|
628
754
|
.map((sort) => ({ field: sort.field, direction: sort.direction ?? "asc" }))
|
|
629
755
|
.map(({ field, direction }) => ({ column: field, direction })),
|
|
630
756
|
}),
|
|
631
|
-
...(query.mask === undefined ? {} : { mask: { paths: query.mask } }),
|
|
632
757
|
...(query.limit === undefined ? {} : { limit: query.limit }),
|
|
633
758
|
candidateLimit: 10_000,
|
|
634
759
|
};
|
|
635
760
|
}
|
|
761
|
+
/**
|
|
762
|
+
* Opens the storage provider's Entity-record seam.
|
|
763
|
+
*
|
|
764
|
+
* @typeParam I Entity identifier type.
|
|
765
|
+
* @typeParam S Entity state message type.
|
|
766
|
+
* @param factory Provider factory.
|
|
767
|
+
* @param input Entity storage descriptor.
|
|
768
|
+
* @returns Current-record storage and close handle.
|
|
769
|
+
*/
|
|
636
770
|
static #openStorage(factory, input) {
|
|
637
771
|
const candidate = factory;
|
|
638
772
|
if (candidate.createEntityStorage === undefined) {
|
|
@@ -651,6 +785,13 @@ _a = Stand;
|
|
|
651
785
|
* @internal
|
|
652
786
|
*/
|
|
653
787
|
export const standAccess = Object.freeze({
|
|
788
|
+
/**
|
|
789
|
+
* Finds observer metadata on the supplied Stand.
|
|
790
|
+
*
|
|
791
|
+
* @param stand Stand to inspect.
|
|
792
|
+
* @param typeUrl Candidate state type URL.
|
|
793
|
+
* @returns Observer metadata, if registered.
|
|
794
|
+
*/
|
|
654
795
|
observedState(stand, typeUrl) {
|
|
655
796
|
if (!(stand instanceof Stand))
|
|
656
797
|
throw new TypeError("State observation requires a Stand instance.");
|
|
@@ -658,22 +799,53 @@ export const standAccess = Object.freeze({
|
|
|
658
799
|
return undefined;
|
|
659
800
|
return stand.observedState(typeUrl);
|
|
660
801
|
},
|
|
802
|
+
/**
|
|
803
|
+
* Attaches a subscription observer to a registered state type.
|
|
804
|
+
*
|
|
805
|
+
* @param stand Stand supplying state metadata.
|
|
806
|
+
* @param subscription Subscription definition.
|
|
807
|
+
* @param state Registered state metadata.
|
|
808
|
+
* @param systemEventBus Event bus for notifications.
|
|
809
|
+
* @param onUpdate Callback for delivered updates.
|
|
810
|
+
* @returns Subscription handle, if installed.
|
|
811
|
+
*/
|
|
661
812
|
observeState(stand, subscription, state, systemEventBus, onUpdate) {
|
|
662
813
|
if (!(stand instanceof Stand))
|
|
663
814
|
throw new TypeError("State observation requires a Stand instance.");
|
|
664
815
|
return SubscriptionObservers.observeState(subscription, state, systemEventBus, onUpdate);
|
|
665
816
|
},
|
|
817
|
+
/**
|
|
818
|
+
* Reads complete current state for repository restoration.
|
|
819
|
+
*
|
|
820
|
+
* @typeParam Schema The registered state schema.
|
|
821
|
+
* @param stand Stand to read.
|
|
822
|
+
* @param schema Registered state schema.
|
|
823
|
+
* @param id Entity ID to read.
|
|
824
|
+
* @param options Tenant selection.
|
|
825
|
+
* @returns Current state and lifecycle, if present.
|
|
826
|
+
*/
|
|
666
827
|
readCurrent(stand, schema, id, options) {
|
|
667
828
|
const read = currentReads.get(stand);
|
|
668
829
|
if (read === undefined)
|
|
669
830
|
throw new TypeError("Stand current read requires a Stand instance.");
|
|
670
831
|
return read(schema, id, options);
|
|
671
832
|
},
|
|
672
|
-
|
|
833
|
+
/**
|
|
834
|
+
* Prepares a state update that notifies subscribers after persistence.
|
|
835
|
+
*
|
|
836
|
+
* @typeParam Schema The registered state schema.
|
|
837
|
+
* @param stand Stand to update.
|
|
838
|
+
* @param schema Registered state schema.
|
|
839
|
+
* @param state New state value.
|
|
840
|
+
* @param options Tenant and version metadata.
|
|
841
|
+
* @param metadata Repository-validated metadata for this schema, when available.
|
|
842
|
+
* @returns Deferred update actions.
|
|
843
|
+
*/
|
|
844
|
+
deferUpdate(stand, schema, state, options, metadata) {
|
|
673
845
|
const deferred = deferredUpdates.get(stand);
|
|
674
846
|
if (deferred === undefined)
|
|
675
847
|
throw new TypeError("Stand deferred update requires a Stand instance.");
|
|
676
|
-
return deferred(schema, state, options);
|
|
848
|
+
return deferred(schema, state, options, metadata);
|
|
677
849
|
},
|
|
678
850
|
});
|
|
679
851
|
const deferredUpdates = new WeakMap();
|
package/dist/stand/stand.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stand.js","sourceRoot":"","sources":["../../src/stand/stand.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stand.js","sourceRoot":"","sources":["../../src/stand/stand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription-observer.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-observer.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAWrF,OAAO,EAUL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"subscription-observer.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-observer.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAWrF,OAAO,EAUL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAkB,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK5F;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAGjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAwBD;;;;;GAKG;AACH,qBAAa,qBAAqB;;IAGhC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,QAAQ,GAAG,SAAS,EACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAC7C,iBAAiB,GAAG,SAAS;IAiBhC;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,QAAQ,GAAG,SAAS,EACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAC7C,iBAAiB,GAAG,SAAS;CA6ejC"}
|
|
@@ -18,7 +18,6 @@ import { EventSchema, ResponseSchema, StatusSchema, TenantIdSchema, VersionSchem
|
|
|
18
18
|
import { TenantBoundary } from "@spine-event-engine/storage/provider";
|
|
19
19
|
import { EntityStateUpdateSchema, EntityUpdatesSchema, EventUpdatesSchema, Filter_Operator, CompositeFilter_CompositeOperator, SubscriptionSchema, SubscriptionUpdateSchema, } from "@spine-event-engine/proto/client";
|
|
20
20
|
import * as EntityLog from "@spine-event-engine/proto/generated/spine/system/server/entity_log_events_pb.js";
|
|
21
|
-
import { RecordMask } from "@spine-event-engine/storage";
|
|
22
21
|
import { eventBusAccess } from "../bus/event-bus.js";
|
|
23
22
|
/**
|
|
24
23
|
* Groups the internal operations that observe and render canonical Stand
|
|
@@ -212,7 +211,9 @@ export class SubscriptionObservers {
|
|
|
212
211
|
kind: match === "state"
|
|
213
212
|
? {
|
|
214
213
|
case: "state",
|
|
215
|
-
value: AnyMessages.pack(state.schema,
|
|
214
|
+
value: AnyMessages.pack(state.schema, clone(state.schema, update.state), {
|
|
215
|
+
validate: false,
|
|
216
|
+
}),
|
|
216
217
|
}
|
|
217
218
|
: { case: "noLongerMatching", value: true },
|
|
218
219
|
}),
|
|
@@ -269,15 +270,13 @@ export class SubscriptionObservers {
|
|
|
269
270
|
}
|
|
270
271
|
static #createMatcher(subscription, state) {
|
|
271
272
|
const target = subscription.topic?.target;
|
|
272
|
-
const mask = SubscriptionObservers.#localMask(subscription, state.schema);
|
|
273
273
|
if (target?.criterion.case !== "filters")
|
|
274
|
-
return {
|
|
274
|
+
return { match: () => "state" };
|
|
275
275
|
const filters = target.criterion.value;
|
|
276
276
|
const idField = SubscriptionObservers.#findField(state.schema, state.idField);
|
|
277
277
|
const ids = filters.idFilter?.id.map((value) => SubscriptionObservers.#decodeId(value, idField?.message));
|
|
278
278
|
const predicate = SubscriptionObservers.#createPredicate(filters.filter, state.schema);
|
|
279
279
|
return {
|
|
280
|
-
mask,
|
|
281
280
|
match(update) {
|
|
282
281
|
if (ids !== undefined &&
|
|
283
282
|
!ids.some((id) => SubscriptionObservers.#equals(update.id, id, idField?.message))) {
|
|
@@ -312,12 +311,6 @@ export class SubscriptionObservers {
|
|
|
312
311
|
const expected = SubscriptionObservers.#unpackValue(filter.value, path.leaf?.message);
|
|
313
312
|
return (state) => SubscriptionObservers.#equals(SubscriptionObservers.#readPath(state, path.local), expected, path.leaf?.message);
|
|
314
313
|
}
|
|
315
|
-
static #localMask(subscription, schema) {
|
|
316
|
-
const paths = subscription.topic?.fieldMask?.paths ?? [];
|
|
317
|
-
return paths.length === 0
|
|
318
|
-
? undefined
|
|
319
|
-
: paths.map((path) => SubscriptionObservers.#resolvePath(schema, path.split(".")).local.join("."));
|
|
320
|
-
}
|
|
321
314
|
static #resolvePath(schema, names) {
|
|
322
315
|
let current = schema;
|
|
323
316
|
let leaf;
|