@spine-event-engine/server 2.0.0-snapshot.25 → 2.0.0-snapshot.26
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 +49 -9
- package/REFERENCE.md +339 -22
- package/dist/agent/agent-history.d.ts +19 -3
- package/dist/agent/agent-history.d.ts.map +1 -1
- package/dist/agent/agent-history.js +41 -10
- package/dist/agent/agent-history.js.map +1 -1
- package/dist/agent/agent-live-read-runtime.d.ts +12 -1
- package/dist/agent/agent-live-read-runtime.d.ts.map +1 -1
- package/dist/agent/agent-live-read-runtime.js +5 -4
- package/dist/agent/agent-live-read-runtime.js.map +1 -1
- package/dist/browser/browser-server.d.ts +163 -0
- package/dist/browser/browser-server.d.ts.map +1 -1
- package/dist/browser/browser-server.js +579 -188
- package/dist/browser/browser-server.js.map +1 -1
- package/dist/browser/durable-subscription-bindings.d.ts +5 -0
- package/dist/browser/durable-subscription-bindings.d.ts.map +1 -1
- package/dist/browser/durable-subscription-bindings.js +226 -38
- package/dist/browser/durable-subscription-bindings.js.map +1 -1
- package/dist/browser/options.d.ts +5 -0
- package/dist/browser/options.d.ts.map +1 -1
- package/dist/bus/command-bus.d.ts +3 -0
- package/dist/bus/command-bus.d.ts.map +1 -1
- package/dist/bus/command-bus.js +69 -9
- package/dist/bus/command-bus.js.map +1 -1
- package/dist/bus/command-errors.d.ts +20 -4
- package/dist/bus/command-errors.d.ts.map +1 -1
- package/dist/bus/command-errors.js +47 -7
- package/dist/bus/command-errors.js.map +1 -1
- package/dist/bus/event-bus.d.ts +3 -0
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +130 -8
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/context/bounded-context.d.ts +29 -11
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +147 -186
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/entity/entity.d.ts +59 -0
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +60 -0
- package/dist/entity/entity.js.map +1 -1
- package/dist/handler/app-query-handler.d.ts +60 -0
- package/dist/handler/app-query-handler.d.ts.map +1 -0
- package/dist/handler/app-query-handler.js +23 -0
- package/dist/handler/app-query-handler.js.map +1 -0
- package/dist/handler/generated-registry-discovery.d.ts +6 -0
- package/dist/handler/generated-registry-discovery.d.ts.map +1 -1
- package/dist/handler/generated-registry-discovery.js +71 -2
- package/dist/handler/generated-registry-discovery.js.map +1 -1
- package/dist/handler/handler-decorators.d.ts +8 -29
- package/dist/handler/handler-decorators.d.ts.map +1 -1
- package/dist/handler/handler-decorators.js +33 -210
- package/dist/handler/handler-decorators.js.map +1 -1
- package/dist/handler/spine-metadata-inventory.d.ts +99 -0
- package/dist/handler/spine-metadata-inventory.d.ts.map +1 -0
- package/dist/handler/spine-metadata-inventory.js +162 -0
- package/dist/handler/spine-metadata-inventory.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/repository/repository.d.ts +44 -1
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +368 -88
- package/dist/repository/repository.js.map +1 -1
- package/dist/server/managed-server-application.d.ts +12 -11
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +41 -25
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/server/node-coordinator.d.ts +18 -5
- package/dist/server/node-coordinator.d.ts.map +1 -1
- package/dist/server/node-coordinator.js +554 -84
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/reserved-spine-rpc-paths.json +1 -0
- package/dist/server/server-environment.d.ts +17 -0
- package/dist/server/server-environment.d.ts.map +1 -1
- package/dist/server/server-environment.js +77 -16
- package/dist/server/server-environment.js.map +1 -1
- package/dist/server/server.d.ts +45 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +111 -3
- package/dist/server/server.js.map +1 -1
- package/dist/services/app-query-execution.d.ts +53 -0
- package/dist/services/app-query-execution.d.ts.map +1 -0
- package/dist/services/app-query-execution.js +408 -0
- package/dist/services/app-query-execution.js.map +1 -0
- package/dist/services/query-reader.d.ts +32 -7
- package/dist/services/query-reader.d.ts.map +1 -1
- package/dist/services/query-reader.js +22 -2
- package/dist/services/query-reader.js.map +1 -1
- package/dist/services/read-request-status.d.ts +65 -0
- package/dist/services/read-request-status.d.ts.map +1 -0
- package/dist/services/read-request-status.js +151 -0
- package/dist/services/read-request-status.js.map +1 -0
- package/dist/services/spine-services.d.ts +36 -7
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +900 -168
- package/dist/services/spine-services.js.map +1 -1
- package/dist/services/trusted-reader-ingress.d.ts +92 -0
- package/dist/services/trusted-reader-ingress.d.ts.map +1 -0
- package/dist/services/trusted-reader-ingress.js +89 -0
- package/dist/services/trusted-reader-ingress.js.map +1 -0
- package/dist/spi/handler-registry.d.ts +2 -0
- package/dist/spi/handler-registry.d.ts.map +1 -1
- package/dist/spi/handler-registry.js +1 -1
- package/dist/spi/handler-registry.js.map +1 -1
- package/dist/stand/read-side-filter-engine.d.ts +46 -0
- package/dist/stand/read-side-filter-engine.d.ts.map +1 -0
- package/dist/stand/read-side-filter-engine.js +356 -0
- package/dist/stand/read-side-filter-engine.js.map +1 -0
- package/dist/stand/read-side-filter.d.ts +247 -0
- package/dist/stand/read-side-filter.d.ts.map +1 -0
- package/dist/stand/read-side-filter.js +39 -0
- package/dist/stand/read-side-filter.js.map +1 -0
- package/dist/stand/read-side-message.d.ts +66 -0
- package/dist/stand/read-side-message.d.ts.map +1 -0
- package/dist/stand/read-side-message.js +167 -0
- package/dist/stand/read-side-message.js.map +1 -0
- package/dist/stand/stand-direct-delivery.d.ts +161 -0
- package/dist/stand/stand-direct-delivery.d.ts.map +1 -0
- package/dist/stand/stand-direct-delivery.js +210 -0
- package/dist/stand/stand-direct-delivery.js.map +1 -0
- package/dist/stand/stand.d.ts +80 -42
- package/dist/stand/stand.d.ts.map +1 -1
- package/dist/stand/stand.js +410 -54
- package/dist/stand/stand.js.map +1 -1
- package/dist/stand/subscription-observer.d.ts.map +1 -1
- package/dist/stand/subscription-observer.js +103 -0
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/stand/subscription-read-filters.d.ts +40 -0
- package/dist/stand/subscription-read-filters.d.ts.map +1 -0
- package/dist/stand/subscription-read-filters.js +91 -0
- package/dist/stand/subscription-read-filters.js.map +1 -0
- package/dist/stand/subscription-reader-binding.d.ts +20 -0
- package/dist/stand/subscription-reader-binding.d.ts.map +1 -0
- package/dist/stand/subscription-reader-binding.js +56 -0
- package/dist/stand/subscription-reader-binding.js.map +1 -0
- package/dist/stand/subscription-records.d.ts +30 -3
- package/dist/stand/subscription-records.d.ts.map +1 -1
- package/dist/stand/subscription-records.js +61 -16
- package/dist/stand/subscription-records.js.map +1 -1
- package/dist/stand/subscription-registry.d.ts +49 -14
- package/dist/stand/subscription-registry.d.ts.map +1 -1
- package/dist/stand/subscription-registry.js +150 -31
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/stand/subscription-runtime.d.ts +7 -2
- package/dist/stand/subscription-runtime.d.ts.map +1 -1
- package/dist/stand/subscription-runtime.js +131 -25
- package/dist/stand/subscription-runtime.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
|
@@ -16,7 +16,9 @@ import { timestampFromMs } from "@bufbuild/protobuf/wkt";
|
|
|
16
16
|
import { GatewayAuthenticatedSubscriptionSchema, } from "@spine-event-engine/proto/auth";
|
|
17
17
|
import { SubscriptionIdSchema, SubscriptionSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
18
18
|
import { TenantIdSchema } from "@spine-event-engine/proto";
|
|
19
|
+
import { ReaderIdentities } from "@spine-event-engine/core/spi/trusted-reader";
|
|
19
20
|
import { ColumnTypes, RecordColumn, RecordSpec, } from "@spine-event-engine/storage";
|
|
21
|
+
import { SubscriptionReaderBindings } from "../stand/subscription-reader-binding.js";
|
|
20
22
|
const expiryBatchSize = 25;
|
|
21
23
|
const durableCleanupStates = new WeakMap();
|
|
22
24
|
/**
|
|
@@ -35,6 +37,7 @@ export class DurableSubscriptionBindings {
|
|
|
35
37
|
#nextId;
|
|
36
38
|
#pending = new Map();
|
|
37
39
|
#active = new Map();
|
|
40
|
+
#activeReaders = new Map();
|
|
38
41
|
#limits;
|
|
39
42
|
#queued = new Map();
|
|
40
43
|
#running = new Set();
|
|
@@ -82,13 +85,19 @@ export class DurableSubscriptionBindings {
|
|
|
82
85
|
}
|
|
83
86
|
/**
|
|
84
87
|
* Creates one inactive authenticated subscription from a trusted topic.
|
|
88
|
+
*
|
|
85
89
|
* @param input Supplies the trusted topic and expiry.
|
|
86
90
|
* @returns The stored public subscription definition.
|
|
87
91
|
*/
|
|
88
92
|
create(input) {
|
|
89
93
|
return this.#admit(() => this.#create(input));
|
|
90
94
|
}
|
|
91
|
-
|
|
95
|
+
/**
|
|
96
|
+
* Persists a new reader-bound subscription definition.
|
|
97
|
+
*
|
|
98
|
+
* @param input Durable operation parameters and verified reader state.
|
|
99
|
+
* @returns The created durable subscription.
|
|
100
|
+
*/ async #create(input) {
|
|
92
101
|
const id = this.#nextId();
|
|
93
102
|
if (id.trim().length === 0)
|
|
94
103
|
throw new Error("subscription ID must be non-blank");
|
|
@@ -103,7 +112,17 @@ export class DurableSubscriptionBindings {
|
|
|
103
112
|
id: create(SubscriptionIdSchema, { value: id }),
|
|
104
113
|
subscription: clone(SubscriptionSchema, subscription),
|
|
105
114
|
whenExpires: timestampFromMs(input.whenExpires),
|
|
115
|
+
reader: SubscriptionReaderBindings.write(input.reader),
|
|
106
116
|
});
|
|
117
|
+
return this.#storeCreated(record);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Persists a prepared reader-bound definition with ambiguous-write recovery.
|
|
121
|
+
*
|
|
122
|
+
* @param record The durable subscription record.
|
|
123
|
+
* @returns The stored reader-bound definition.
|
|
124
|
+
*/
|
|
125
|
+
async #storeCreated(record) {
|
|
107
126
|
DurableSubscriptionValues.validate(record);
|
|
108
127
|
const recordId = record.id;
|
|
109
128
|
if (recordId === undefined)
|
|
@@ -138,9 +157,9 @@ export class DurableSubscriptionBindings {
|
|
|
138
157
|
const record = await this.#read(input.id);
|
|
139
158
|
if (record === undefined ||
|
|
140
159
|
this.#expired(record, input.nowMs) ||
|
|
141
|
-
!DurableSubscriptionValues.owns(record, input.context))
|
|
160
|
+
!DurableSubscriptionValues.owns(record, input.context, input.reader))
|
|
142
161
|
return { kind: "denied" };
|
|
143
|
-
await this.#callbackForId(input.id, input.onDefinition, DurableSubscriptionValues.wire(record), input.signal, true);
|
|
162
|
+
await this.#callbackForId(input.id, input.onDefinition, DurableSubscriptionValues.wire(record), input.signal, true, input.reader);
|
|
144
163
|
return { kind: "activated" };
|
|
145
164
|
});
|
|
146
165
|
}
|
|
@@ -151,13 +170,39 @@ export class DurableSubscriptionBindings {
|
|
|
151
170
|
* @returns The cancellation outcome.
|
|
152
171
|
*/
|
|
153
172
|
cancel(input) {
|
|
154
|
-
this.#
|
|
155
|
-
|
|
173
|
+
const activeReader = this.#activeReaders.get(input.id);
|
|
174
|
+
if (activeReader !== undefined && !ReaderIdentities.matches(activeReader, input.reader))
|
|
175
|
+
return Promise.resolve({ kind: "denied" });
|
|
176
|
+
const observed = this.#read(input.id);
|
|
177
|
+
void observed.then((record) => {
|
|
178
|
+
if (record === undefined ||
|
|
179
|
+
!DurableSubscriptionValues.owns(record, input.context, input.reader))
|
|
180
|
+
return;
|
|
181
|
+
const activeReader = this.#activeReaders.get(input.id);
|
|
182
|
+
if (activeReader === undefined || ReaderIdentities.matches(activeReader, input.reader))
|
|
183
|
+
this.#active.get(input.id)?.abort();
|
|
184
|
+
}, () => undefined);
|
|
185
|
+
return this.#forId(input.id, () => this.#cancelAdmitted(input, observed));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Verifies current identity before aborting an active stream or queuing deletion.
|
|
189
|
+
*
|
|
190
|
+
* @param input Authenticated cancellation request.
|
|
191
|
+
* @returns Denial or completed cleanup.
|
|
192
|
+
* @param observation Current activation observation.
|
|
193
|
+
*/
|
|
194
|
+
async #cancelAdmitted(input, observation) {
|
|
195
|
+
const observed = await observation;
|
|
196
|
+
if (observed === undefined)
|
|
197
|
+
return { kind: "closed" };
|
|
198
|
+
if (!DurableSubscriptionValues.owns(observed, input.context, input.reader))
|
|
199
|
+
return { kind: "denied" };
|
|
200
|
+
return (async () => {
|
|
156
201
|
const record = await this.#read(input.id);
|
|
157
202
|
if (record === undefined)
|
|
158
203
|
return { kind: "closed" };
|
|
159
204
|
if (this.#expired(record, input.nowMs) ||
|
|
160
|
-
!DurableSubscriptionValues.owns(record, input.context))
|
|
205
|
+
!DurableSubscriptionValues.owns(record, input.context, input.reader))
|
|
161
206
|
return { kind: "denied" };
|
|
162
207
|
await this.#callbackForId(input.id, input.onDefinition, DurableSubscriptionValues.wire(record));
|
|
163
208
|
const recordId = record.id;
|
|
@@ -168,7 +213,7 @@ export class DurableSubscriptionBindings {
|
|
|
168
213
|
return (await this.#storage.read(recordId)) === undefined
|
|
169
214
|
? { kind: "closed" }
|
|
170
215
|
: { kind: "denied" };
|
|
171
|
-
});
|
|
216
|
+
})();
|
|
172
217
|
}
|
|
173
218
|
/**
|
|
174
219
|
* Removes at most the earliest 25 expired definitions.
|
|
@@ -202,7 +247,11 @@ export class DurableSubscriptionBindings {
|
|
|
202
247
|
});
|
|
203
248
|
return task;
|
|
204
249
|
}
|
|
205
|
-
|
|
250
|
+
/**
|
|
251
|
+
* Serializes queued expiry purges through the storage boundary.
|
|
252
|
+
*
|
|
253
|
+
* @returns Completion after the operation settles.
|
|
254
|
+
*/ async #drainPurges() {
|
|
206
255
|
while (this.#purgeHorizon !== undefined) {
|
|
207
256
|
const horizon = this.#purgeHorizon;
|
|
208
257
|
this.#purgeHorizon = undefined;
|
|
@@ -215,7 +264,12 @@ export class DurableSubscriptionBindings {
|
|
|
215
264
|
}
|
|
216
265
|
}
|
|
217
266
|
}
|
|
218
|
-
|
|
267
|
+
/**
|
|
268
|
+
* Deletes expired durable subscriptions from storage.
|
|
269
|
+
*
|
|
270
|
+
* @param nowMs The current time in milliseconds.
|
|
271
|
+
* @returns Completion after the operation settles.
|
|
272
|
+
*/ async #purgeExpired(nowMs) {
|
|
219
273
|
const records = await this.#storage.queryEntries({
|
|
220
274
|
sort: [{ field: "when_expires" }, { field: "id" }],
|
|
221
275
|
limit: expiryBatchSize,
|
|
@@ -238,7 +292,12 @@ export class DurableSubscriptionBindings {
|
|
|
238
292
|
recoverActive(input) {
|
|
239
293
|
return this.#admit(() => this.#recoverActive(input));
|
|
240
294
|
}
|
|
241
|
-
|
|
295
|
+
/**
|
|
296
|
+
* Reloads active durable definitions and resumes their callbacks.
|
|
297
|
+
*
|
|
298
|
+
* @param input Durable operation parameters and verified reader state.
|
|
299
|
+
* @returns Completion after the operation settles.
|
|
300
|
+
*/ async #recoverActive(input) {
|
|
242
301
|
let after;
|
|
243
302
|
for (;;) {
|
|
244
303
|
const page = await this.#storage.queryEntries({
|
|
@@ -248,22 +307,36 @@ export class DurableSubscriptionBindings {
|
|
|
248
307
|
});
|
|
249
308
|
if (page.length === 0)
|
|
250
309
|
return;
|
|
251
|
-
for (const { id: slotId, record } of page)
|
|
252
|
-
|
|
253
|
-
const id = slotId.value;
|
|
254
|
-
await this.#forId(id, async () => {
|
|
255
|
-
if (this.#expired(record, input.nowMs))
|
|
256
|
-
await this.#removeExpired(record);
|
|
257
|
-
else
|
|
258
|
-
await input.onDefinition(DurableSubscriptionValues.wire(record), DurableSubscriptionValues.expiryMs(record.whenExpires));
|
|
259
|
-
}, true);
|
|
260
|
-
}
|
|
310
|
+
for (const { id: slotId, record } of page)
|
|
311
|
+
await this.#recoverRecord(slotId, record, input);
|
|
261
312
|
const last = page.at(-1);
|
|
262
313
|
if (last === undefined)
|
|
263
314
|
throw new Error("Authenticated subscription recovery page is invalid.");
|
|
264
315
|
after = { id: last.id, values: [{ field: "id", value: last.id }] };
|
|
265
316
|
}
|
|
266
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* Rehydrates a verified durable reader record under its ID serialization.
|
|
320
|
+
*
|
|
321
|
+
* @param slotId Subscription slot ID.
|
|
322
|
+
* @param record The paged durable subscription record used for slot validation.
|
|
323
|
+
* @param input Durable operation parameters and verified reader state.
|
|
324
|
+
* @returns Completion after the operation settles.
|
|
325
|
+
*/
|
|
326
|
+
async #recoverRecord(slotId, record, input) {
|
|
327
|
+
DurableSubscriptionValues.validate(record, slotId);
|
|
328
|
+
await this.#forId(slotId.value, async () => {
|
|
329
|
+
const current = await this.#read(slotId.value);
|
|
330
|
+
if (current === undefined)
|
|
331
|
+
return;
|
|
332
|
+
if (SubscriptionReaderBindings.read(current.reader) === undefined)
|
|
333
|
+
return;
|
|
334
|
+
if (this.#expired(current, input.nowMs))
|
|
335
|
+
await this.#removeExpired(current);
|
|
336
|
+
else
|
|
337
|
+
await input.onDefinition(DurableSubscriptionValues.wire(current), DurableSubscriptionValues.expiryMs(current.whenExpires));
|
|
338
|
+
}, true);
|
|
339
|
+
}
|
|
267
340
|
/**
|
|
268
341
|
* Stops local operations while leaving durable rows for the next Gateway.
|
|
269
342
|
*
|
|
@@ -273,7 +346,11 @@ export class DurableSubscriptionBindings {
|
|
|
273
346
|
this.#closing ??= this.#close();
|
|
274
347
|
return this.#closing;
|
|
275
348
|
}
|
|
276
|
-
|
|
349
|
+
/**
|
|
350
|
+
* Stops accepting work and drains the active lifecycle.
|
|
351
|
+
*
|
|
352
|
+
* @returns Completion after the operation settles.
|
|
353
|
+
*/ async #close() {
|
|
277
354
|
this.#closed = true;
|
|
278
355
|
for (const controller of this.#active.values())
|
|
279
356
|
controller.abort();
|
|
@@ -293,7 +370,12 @@ export class DurableSubscriptionBindings {
|
|
|
293
370
|
this.#storage.close();
|
|
294
371
|
}
|
|
295
372
|
}
|
|
296
|
-
|
|
373
|
+
/**
|
|
374
|
+
* Removes one expired durable record without claiming another reader.
|
|
375
|
+
*
|
|
376
|
+
* @param record The durable subscription record.
|
|
377
|
+
* @returns Completion after the operation settles.
|
|
378
|
+
*/ async #removeExpired(record) {
|
|
297
379
|
try {
|
|
298
380
|
const id = record.id?.value;
|
|
299
381
|
if (id === undefined)
|
|
@@ -306,7 +388,12 @@ export class DurableSubscriptionBindings {
|
|
|
306
388
|
if (record.id !== undefined)
|
|
307
389
|
await this.#storage.compareAndSet(record.id, record, undefined);
|
|
308
390
|
}
|
|
309
|
-
|
|
391
|
+
/**
|
|
392
|
+
* Routes a validated read request to its registered Entity state source.
|
|
393
|
+
*
|
|
394
|
+
* @param id The stable identifier for this record.
|
|
395
|
+
* @returns The read response.
|
|
396
|
+
*/ async #read(id) {
|
|
310
397
|
if (id.length === 0)
|
|
311
398
|
return undefined;
|
|
312
399
|
const record = await this.#storage.read(create(SubscriptionIdSchema, { value: id }));
|
|
@@ -314,11 +401,25 @@ export class DurableSubscriptionBindings {
|
|
|
314
401
|
DurableSubscriptionValues.validate(record, create(SubscriptionIdSchema, { value: id }));
|
|
315
402
|
return record;
|
|
316
403
|
}
|
|
317
|
-
|
|
404
|
+
/**
|
|
405
|
+
* Checks whether a durable record has passed its stored expiry.
|
|
406
|
+
*
|
|
407
|
+
* @param record The durable subscription record.
|
|
408
|
+
* @param nowMs The current time in milliseconds.
|
|
409
|
+
* @returns Whether the record has expired.
|
|
410
|
+
*/ #expired(record, nowMs) {
|
|
318
411
|
DurableSubscriptionValues.validate(record);
|
|
319
412
|
return DurableSubscriptionValues.expiryMs(record.whenExpires) <= nowMs;
|
|
320
413
|
}
|
|
321
|
-
|
|
414
|
+
/**
|
|
415
|
+
* Runs a serialized durable operation for one subscription ID.
|
|
416
|
+
*
|
|
417
|
+
* @param id The stable identifier for this record.
|
|
418
|
+
* @param operation Accepted asynchronous operation.
|
|
419
|
+
* @param admitted Verified reader and request state.
|
|
420
|
+
* @returns The operation result for that ID.
|
|
421
|
+
* @typeParam T Result type of the admitted operation.
|
|
422
|
+
*/ async #forId(id, operation, admitted = false) {
|
|
322
423
|
if (!admitted)
|
|
323
424
|
this.#open();
|
|
324
425
|
const previous = this.#pending.get(id) ?? Promise.resolve();
|
|
@@ -349,7 +450,13 @@ export class DurableSubscriptionBindings {
|
|
|
349
450
|
this.#pending.delete(id);
|
|
350
451
|
}
|
|
351
452
|
}
|
|
352
|
-
|
|
453
|
+
/**
|
|
454
|
+
* Rejects new durable work after close and tracks accepted operations.
|
|
455
|
+
*
|
|
456
|
+
* @param operation Asynchronous storage operation to admit.
|
|
457
|
+
* @returns Tracked operation result.
|
|
458
|
+
* @typeParam T Result of the admitted storage operation.
|
|
459
|
+
*/ #admit(operation) {
|
|
353
460
|
try {
|
|
354
461
|
this.#open();
|
|
355
462
|
}
|
|
@@ -360,7 +467,11 @@ export class DurableSubscriptionBindings {
|
|
|
360
467
|
this.#track(task);
|
|
361
468
|
return task;
|
|
362
469
|
}
|
|
363
|
-
|
|
470
|
+
/**
|
|
471
|
+
* Keeps an accepted storage operation visible to close until settled.
|
|
472
|
+
*
|
|
473
|
+
* @param task Accepted operation promise.
|
|
474
|
+
*/ #track(task) {
|
|
364
475
|
this.#running.add(task);
|
|
365
476
|
void task.then(() => {
|
|
366
477
|
this.#running.delete(task);
|
|
@@ -368,11 +479,20 @@ export class DurableSubscriptionBindings {
|
|
|
368
479
|
this.#running.delete(task);
|
|
369
480
|
});
|
|
370
481
|
}
|
|
371
|
-
|
|
482
|
+
/**
|
|
483
|
+
* Requires the durable store to remain open for new operations.
|
|
484
|
+
*/ #open() {
|
|
372
485
|
if (this.#closed)
|
|
373
486
|
throw new Error("authenticated subscription store is closed");
|
|
374
487
|
}
|
|
375
|
-
|
|
488
|
+
/**
|
|
489
|
+
* Invokes a retained subscription callback after reader admission.
|
|
490
|
+
*
|
|
491
|
+
* @param callback Definition or lifecycle callback.
|
|
492
|
+
* @param wire Canonical serialized subscription bytes.
|
|
493
|
+
* @param controller Abort controller for the active operation.
|
|
494
|
+
* @returns Completion after the operation settles.
|
|
495
|
+
*/ async #callback(callback, wire, controller) {
|
|
376
496
|
let rejectTimeout = () => undefined;
|
|
377
497
|
const timeout = new Promise((_, onReject) => {
|
|
378
498
|
rejectTimeout = onReject;
|
|
@@ -388,7 +508,17 @@ export class DurableSubscriptionBindings {
|
|
|
388
508
|
clearTimeout(timer);
|
|
389
509
|
}
|
|
390
510
|
}
|
|
391
|
-
|
|
511
|
+
/**
|
|
512
|
+
* Finds the retained definition and invokes its callback by ID.
|
|
513
|
+
*
|
|
514
|
+
* @param id The stable identifier for this record.
|
|
515
|
+
* @param callback Definition or lifecycle callback.
|
|
516
|
+
* @param wire Canonical serialized subscription bytes.
|
|
517
|
+
* @param signal The cancellation signal for this operation.
|
|
518
|
+
* @param active Active retained binding state.
|
|
519
|
+
* @param reader The verified reader facts for this operation.
|
|
520
|
+
* @returns Completion after the operation settles.
|
|
521
|
+
*/ async #callbackForId(id, callback, wire, signal, active = false, reader) {
|
|
392
522
|
const controller = new AbortController();
|
|
393
523
|
const abort = () => {
|
|
394
524
|
controller.abort();
|
|
@@ -397,6 +527,8 @@ export class DurableSubscriptionBindings {
|
|
|
397
527
|
if (signal?.aborted)
|
|
398
528
|
controller.abort();
|
|
399
529
|
this.#active.set(id, controller);
|
|
530
|
+
if (reader !== undefined)
|
|
531
|
+
this.#activeReaders.set(id, reader);
|
|
400
532
|
try {
|
|
401
533
|
if (active)
|
|
402
534
|
await this.#runActiveCallback(callback, wire, controller);
|
|
@@ -407,9 +539,18 @@ export class DurableSubscriptionBindings {
|
|
|
407
539
|
signal?.removeEventListener("abort", abort);
|
|
408
540
|
if (this.#active.get(id) === controller)
|
|
409
541
|
this.#active.delete(id);
|
|
542
|
+
if (this.#activeReaders.get(id) === reader)
|
|
543
|
+
this.#activeReaders.delete(id);
|
|
410
544
|
}
|
|
411
545
|
}
|
|
412
|
-
|
|
546
|
+
/**
|
|
547
|
+
* Invokes an active durable definition callback with cancellation tracking.
|
|
548
|
+
*
|
|
549
|
+
* @param callback Definition or lifecycle callback.
|
|
550
|
+
* @param wire Canonical serialized subscription bytes.
|
|
551
|
+
* @param controller Abort controller for the active operation.
|
|
552
|
+
* @returns Completion after the operation settles.
|
|
553
|
+
*/ async #runActiveCallback(callback, wire, controller) {
|
|
413
554
|
let observeAbort = () => undefined;
|
|
414
555
|
const aborted = new Promise((resolve) => {
|
|
415
556
|
observeAbort = () => {
|
|
@@ -454,7 +595,12 @@ export function attachDurableSubscriptionCleanup(bindings, cleanup) {
|
|
|
454
595
|
throw new Error("Authenticated subscription cleanup is already attached.");
|
|
455
596
|
state.backend = cleanup;
|
|
456
597
|
}
|
|
457
|
-
|
|
598
|
+
/**
|
|
599
|
+
* Returns the cleanup state associated with a durable binding instance.
|
|
600
|
+
*
|
|
601
|
+
* @param bindings The durable subscription binding port.
|
|
602
|
+
* @returns The durable cleanup state.
|
|
603
|
+
*/ function durableCleanupFor(bindings) {
|
|
458
604
|
const state = durableCleanupStates.get(bindings);
|
|
459
605
|
if (state === undefined)
|
|
460
606
|
throw new Error("Authenticated subscription cleanup state is unavailable.");
|
|
@@ -465,7 +611,12 @@ function durableCleanupFor(bindings) {
|
|
|
465
611
|
};
|
|
466
612
|
}
|
|
467
613
|
const DurableSubscriptionValues = Object.freeze({
|
|
468
|
-
|
|
614
|
+
/**
|
|
615
|
+
* Converts a Proto expiry timestamp to milliseconds.
|
|
616
|
+
*
|
|
617
|
+
* @param timestamp Stored Proto timestamp.
|
|
618
|
+
* @returns The expiry time in milliseconds.
|
|
619
|
+
*/ expiryMs(timestamp) {
|
|
469
620
|
if (timestamp === undefined)
|
|
470
621
|
return Number.NEGATIVE_INFINITY;
|
|
471
622
|
const seconds = Number(timestamp.seconds);
|
|
@@ -479,27 +630,58 @@ const DurableSubscriptionValues = Object.freeze({
|
|
|
479
630
|
? milliseconds
|
|
480
631
|
: Number.NEGATIVE_INFINITY;
|
|
481
632
|
},
|
|
482
|
-
|
|
633
|
+
/**
|
|
634
|
+
* Serializes a retained subscription to canonical wire bytes.
|
|
635
|
+
*
|
|
636
|
+
* @param record The durable subscription record.
|
|
637
|
+
* @returns The serialized subscription bytes.
|
|
638
|
+
*/ wire(record) {
|
|
483
639
|
if (record.subscription === undefined)
|
|
484
640
|
throw new Error("Authenticated subscription has no definition.");
|
|
641
|
+
const binding = SubscriptionReaderBindings.read(record.reader);
|
|
485
642
|
return {
|
|
486
643
|
kind: "public-subscription",
|
|
487
644
|
bytes: toBinary(SubscriptionSchema, record.subscription),
|
|
645
|
+
...(binding === undefined
|
|
646
|
+
? {}
|
|
647
|
+
: {
|
|
648
|
+
reader: binding.kind === "anonymous" ? {} : { principal: { id: binding.id } },
|
|
649
|
+
}),
|
|
488
650
|
};
|
|
489
651
|
},
|
|
490
|
-
|
|
652
|
+
/**
|
|
653
|
+
* Compares retained subscription records including reader binding.
|
|
654
|
+
*
|
|
655
|
+
* @param left First value being compared.
|
|
656
|
+
* @param right Second value being compared.
|
|
657
|
+
* @returns Whether the records match.
|
|
658
|
+
*/ same(left, right) {
|
|
491
659
|
const first = toBinary(GatewayAuthenticatedSubscriptionSchema, left);
|
|
492
660
|
const second = toBinary(GatewayAuthenticatedSubscriptionSchema, right);
|
|
493
661
|
return (first.byteLength === second.byteLength &&
|
|
494
662
|
first.every((value, index) => value === second[index]));
|
|
495
663
|
},
|
|
496
|
-
|
|
664
|
+
/**
|
|
665
|
+
* Checks whether a durable record matches the admitted reader.
|
|
666
|
+
*
|
|
667
|
+
* @param record The durable subscription record.
|
|
668
|
+
* @param context The trusted context for this operation.
|
|
669
|
+
* @param reader The verified reader facts for this operation.
|
|
670
|
+
* @returns Whether the reader matches the stored binding.
|
|
671
|
+
*/ owns(record, context, reader) {
|
|
497
672
|
const retained = record.subscription?.topic?.context;
|
|
498
673
|
return (retained !== undefined &&
|
|
674
|
+
ReaderIdentities.matches(SubscriptionReaderBindings.read(record.reader), reader) &&
|
|
499
675
|
retained.actor?.value === context.actor?.value &&
|
|
500
676
|
DurableSubscriptionValues.tenantsEqual(retained.tenantId, context.tenantId));
|
|
501
677
|
},
|
|
502
|
-
|
|
678
|
+
/**
|
|
679
|
+
* Compares two optional tenant identifiers.
|
|
680
|
+
*
|
|
681
|
+
* @param left First value being compared.
|
|
682
|
+
* @param right Second value being compared.
|
|
683
|
+
* @returns Whether the tenant identifiers match.
|
|
684
|
+
*/ tenantsEqual(left, right) {
|
|
503
685
|
if (left === undefined || right === undefined)
|
|
504
686
|
return left === right;
|
|
505
687
|
const first = toBinary(TenantIdSchema, left);
|
|
@@ -507,11 +689,17 @@ const DurableSubscriptionValues = Object.freeze({
|
|
|
507
689
|
return (first.byteLength === second.byteLength &&
|
|
508
690
|
first.every((value, index) => value === second[index]));
|
|
509
691
|
},
|
|
510
|
-
|
|
692
|
+
/**
|
|
693
|
+
* Checks a retained subscription record before use.
|
|
694
|
+
*
|
|
695
|
+
* @param record The durable subscription record.
|
|
696
|
+
* @param slotId Subscription slot ID.
|
|
697
|
+
*/ validate(record, slotId) {
|
|
511
698
|
const id = record.id?.value;
|
|
512
699
|
const nestedId = record.subscription?.id?.value;
|
|
513
700
|
const context = record.subscription?.topic?.context;
|
|
514
701
|
const expires = record.whenExpires;
|
|
702
|
+
SubscriptionReaderBindings.read(record.reader);
|
|
515
703
|
if (id === undefined ||
|
|
516
704
|
id.length === 0 ||
|
|
517
705
|
(slotId !== undefined && slotId.value !== id) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-subscription-bindings.js","sourceRoot":"","sources":["../../src/browser/durable-subscription-bindings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"durable-subscription-bindings.js","sourceRoot":"","sources":["../../src/browser/durable-subscription-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AuthorizationPolicy, Clock, ContextResolver, OpaqueSessionCookies, SessionResolver, SubscriptionBindings } from "@spine-event-engine/auth";
|
|
2
2
|
import type { TypeRegistryLookup } from "@spine-event-engine/core";
|
|
3
|
+
import type { ReaderProofIssuer } from "@spine-event-engine/core/spi/reader-forwarding";
|
|
3
4
|
import type { NodeDiscovery } from "@spine-event-engine/deployment";
|
|
4
5
|
/**
|
|
5
6
|
* Selects exactly one admission mode and binding ownership for a browser host.
|
|
@@ -69,6 +70,10 @@ export interface BrowserServerCollaborators {
|
|
|
69
70
|
* Maximum accepted request bytes; defaults to 4 MiB.
|
|
70
71
|
*/
|
|
71
72
|
readonly readMaxBytes?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Produces operation-bound reader assertions for the configured application node.
|
|
75
|
+
*/
|
|
76
|
+
readonly forwardingProof?: ReaderProofIssuer;
|
|
72
77
|
/**
|
|
73
78
|
* Maximum emitted response or auth callback bytes; defaults to 4 MiB.
|
|
74
79
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/browser/options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/browser/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type Command } from "@spine-event-engine/proto";
|
|
2
2
|
import type { ServerEnvironment } from "../server/server-environment.js";
|
|
3
3
|
import type { CommandDispatcher } from "./command-dispatcher.js";
|
|
4
|
+
/**
|
|
5
|
+
* Framework-only operations for coordinating a CommandBus with its runtime and environment.
|
|
6
|
+
*/
|
|
4
7
|
interface CommandBusAccess {
|
|
5
8
|
/**
|
|
6
9
|
* Binds this context bus's private runtime to its captured environment.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-bus.d.ts","sourceRoot":"","sources":["../../src/bus/command-bus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-bus.d.ts","sourceRoot":"","sources":["../../src/bus/command-bus.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAOxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAYjE;;GAEG;AACH,UAAU,gBAAgB;IACxB;;;;OAIG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAE9E;;;;;OAKG;IACH,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEzF;;;;;;OAMG;IACH,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;;;;OAMG;IACH,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAEzC;;;;;OAKG;IACH,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAEzC;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;CACnD;AAOD;;;;;GAKG;AACH,qBAAa,UAAU;;IAarB;;;;OAIG;gBACS,WAAW,GAAE,QAAQ,CAAC,iBAAiB,CAAM;IAsBzD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,SAAS,iBAAiB,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU;IAKlF;;;;OAIG;IACH,oBAAoB,IAAI,SAAS,MAAM,EAAE;IAIzC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;;;;;OAQG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA6IvB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAiH7B,CAAC"}
|