@spine-event-engine/auth 2.0.0-snapshot.24 → 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 +29 -0
- package/REFERENCE.md +42 -10
- package/dist/gateway/dynamic-unary-forwarder.d.ts +62 -3
- package/dist/gateway/dynamic-unary-forwarder.d.ts.map +1 -1
- package/dist/gateway/dynamic-unary-forwarder.js +189 -10
- package/dist/gateway/dynamic-unary-forwarder.js.map +1 -1
- package/dist/gateway/index.d.ts +5 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +65 -7
- package/dist/gateway/index.js.map +1 -1
- package/dist/index.d.ts +45 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts +44 -3
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js +220 -32
- package/dist/native/index.js.map +1 -1
- package/dist/request/index.d.ts +8 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +93 -44
- package/dist/request/index.js.map +1 -1
- package/dist/subscriptions/index.d.ts +35 -3
- package/dist/subscriptions/index.d.ts.map +1 -1
- package/dist/subscriptions/index.js +433 -121
- package/dist/subscriptions/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/dist/native/index.js
CHANGED
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { clone, create, equals, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
15
15
|
import { Code, ConnectError, createClient, } from "@connectrpc/connect";
|
|
16
|
-
import { CommandService, QueryService, SubscriptionSchema, SubscriptionService, SubscriptionUpdateSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
16
|
+
import { CommandService, QueryService, AppQuerySchema, SubscriptionSchema, SubscriptionService, SubscriptionUpdateSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
17
17
|
import { AuthenticationService } from "@spine-event-engine/proto/auth";
|
|
18
|
+
import { ReaderForwarding, } from "@spine-event-engine/core/spi/reader-forwarding";
|
|
18
19
|
const relayDefaults = {
|
|
19
20
|
maxMessages: 64,
|
|
20
21
|
maxBytes: 1_048_576,
|
|
@@ -31,6 +32,7 @@ export class SubscriptionUpdateRelay {
|
|
|
31
32
|
#closed = false;
|
|
32
33
|
/**
|
|
33
34
|
* Creates a bounded FIFO relay.
|
|
35
|
+
*
|
|
34
36
|
* @param limits The optional message and byte bounds.
|
|
35
37
|
*/
|
|
36
38
|
constructor(limits = {}) {
|
|
@@ -39,6 +41,7 @@ export class SubscriptionUpdateRelay {
|
|
|
39
41
|
/**
|
|
40
42
|
* Copies and validates an update before FIFO admission. Count precedes bytes;
|
|
41
43
|
* either bound rejects with `ResourceExhausted`.
|
|
44
|
+
*
|
|
42
45
|
* @param update The update bytes to admit.
|
|
43
46
|
* @returns Completes after the update is admitted or rejected.
|
|
44
47
|
*/
|
|
@@ -86,6 +89,7 @@ export class SubscriptionUpdateRelay {
|
|
|
86
89
|
}
|
|
87
90
|
/**
|
|
88
91
|
* Throws queued and future consumers, purging bytes.
|
|
92
|
+
*
|
|
89
93
|
* @param reason The terminal failure reason.
|
|
90
94
|
*/
|
|
91
95
|
fail(reason) {
|
|
@@ -93,6 +97,7 @@ export class SubscriptionUpdateRelay {
|
|
|
93
97
|
}
|
|
94
98
|
/**
|
|
95
99
|
* Returns the public iterator; `return()` cancels it and purges queued bytes, while `throw()` fails it.
|
|
100
|
+
*
|
|
96
101
|
* @returns The single public update iterator.
|
|
97
102
|
*/
|
|
98
103
|
[Symbol.asyncIterator]() {
|
|
@@ -108,7 +113,11 @@ export class SubscriptionUpdateRelay {
|
|
|
108
113
|
},
|
|
109
114
|
};
|
|
110
115
|
}
|
|
111
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Dequeues the next native update or waits for stream progress.
|
|
118
|
+
*
|
|
119
|
+
* @returns The next iterator result.
|
|
120
|
+
*/ async #next() {
|
|
112
121
|
const bytes = this.#queue.shift();
|
|
113
122
|
if (bytes !== undefined) {
|
|
114
123
|
this.#bytes -= bytes.byteLength;
|
|
@@ -129,12 +138,22 @@ export class SubscriptionUpdateRelay {
|
|
|
129
138
|
}
|
|
130
139
|
return new Promise((resolve, reject) => this.#waiters.push({ resolve, reject }));
|
|
131
140
|
}
|
|
132
|
-
|
|
141
|
+
/**
|
|
142
|
+
* Fails a native update stream after its queue limit is exceeded.
|
|
143
|
+
*
|
|
144
|
+
* @param dimension Subscription limit dimension being checked.
|
|
145
|
+
* @param limit Configured operation bound.
|
|
146
|
+
* @param observed Observed subscription or lifecycle state.
|
|
147
|
+
*/ #failOverflow(dimension, limit, observed) {
|
|
133
148
|
const error = new ConnectError(`subscription relay ${dimension} limit ${String(limit)} exceeded by ${String(observed)}`, Code.ResourceExhausted);
|
|
134
149
|
this.#finish(error);
|
|
135
150
|
throw error;
|
|
136
151
|
}
|
|
137
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Completes a native update stream and releases queued listeners.
|
|
154
|
+
*
|
|
155
|
+
* @param reason Failure reason returned to the caller.
|
|
156
|
+
*/ #finish(reason) {
|
|
138
157
|
if (this.#closed) {
|
|
139
158
|
if (this.#terminal !== undefined || reason === undefined)
|
|
140
159
|
return;
|
|
@@ -181,89 +200,210 @@ const NativeRelayValues = Object.freeze({
|
|
|
181
200
|
/**
|
|
182
201
|
* Native Connect adapter. Post/Read use their matching Command/Query descriptors;
|
|
183
202
|
* Subscribe/Activate/Cancel/Dispose use the shared Subscription descriptors.
|
|
184
|
-
*
|
|
203
|
+
* Native requests carry the admitted cancellation signal and, when an issuer is
|
|
204
|
+
* configured, operation-bound internal headers with detached verified reader
|
|
205
|
+
* facts. Browser credentials and raw transport facts are not forwarded.
|
|
185
206
|
*/
|
|
186
207
|
export class NativeSubscriptionCreator {
|
|
187
208
|
#transport;
|
|
209
|
+
#issuer;
|
|
210
|
+
#maxBytes;
|
|
188
211
|
/**
|
|
189
212
|
* Creates a native adapter over one Connect transport.
|
|
213
|
+
*
|
|
190
214
|
* @param transport The native Connect transport.
|
|
215
|
+
* @param forwarding Configured peer proof issuer and existing request-size bound.
|
|
191
216
|
*/
|
|
192
|
-
constructor(transport) {
|
|
217
|
+
constructor(transport, forwarding) {
|
|
193
218
|
this.#transport = transport;
|
|
219
|
+
this.#issuer = forwarding?.issuer;
|
|
220
|
+
this.#maxBytes = forwarding?.maxBytes ?? 4 * 1024 * 1024;
|
|
194
221
|
}
|
|
195
222
|
/**
|
|
196
223
|
* Sends an admitted Post or Read envelope through its matching native descriptor.
|
|
224
|
+
* Removes the backend transport's media type from errors before a gateway serializes them.
|
|
225
|
+
*
|
|
197
226
|
* @param request The admitted unary request envelope.
|
|
198
227
|
* @returns The encoded native response.
|
|
199
228
|
*/
|
|
200
229
|
async forward(request) {
|
|
230
|
+
try {
|
|
231
|
+
const headers = request.reader === undefined ? undefined : await this.readerHeaders(request);
|
|
232
|
+
return await this.#forwardResponse(request, headers);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
throw NativeGatewayValues.publicError(error);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Invokes the selected native unary descriptor using admitted headers and cancellation.
|
|
240
|
+
*
|
|
241
|
+
* @param request The canonical operation and wire bytes.
|
|
242
|
+
* @param headers Forwarded verified-reader proof, when configured.
|
|
243
|
+
* @returns Serialized native response bytes.
|
|
244
|
+
*/
|
|
245
|
+
async #forwardResponse(request, headers) {
|
|
246
|
+
const options = {
|
|
247
|
+
...(request.signal === undefined ? {} : { signal: request.signal }),
|
|
248
|
+
...(headers === undefined ? {} : { headers }),
|
|
249
|
+
};
|
|
201
250
|
if (request.service === "spine.client.CommandService" && request.method === "Post")
|
|
202
|
-
return toBinary(CommandService.method.post.output, await createClient(CommandService, this.#transport).post(fromBinary(CommandService.method.post.input, request.value),
|
|
251
|
+
return toBinary(CommandService.method.post.output, await createClient(CommandService, this.#transport).post(fromBinary(CommandService.method.post.input, request.value), options));
|
|
203
252
|
if (request.service === "spine.client.QueryService" && request.method === "Read")
|
|
204
|
-
return toBinary(QueryService.method.read.output, await createClient(QueryService, this.#transport).read(fromBinary(QueryService.method.read.input, request.value),
|
|
253
|
+
return toBinary(QueryService.method.read.output, await createClient(QueryService, this.#transport).read(fromBinary(QueryService.method.read.input, request.value), options));
|
|
254
|
+
if (request.service === "spine.client.QueryService" && request.method === "Execute")
|
|
255
|
+
return toBinary(QueryService.method.execute.output, await createClient(QueryService, this.#transport).execute(fromBinary(QueryService.method.execute.input, request.value), options));
|
|
205
256
|
throw new ConnectError("unsupported native unary operation", Code.Unimplemented);
|
|
206
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Builds peer-authenticated metadata for an admitted unary request.
|
|
260
|
+
*
|
|
261
|
+
* @param request Admitted operation and trusted reader facts.
|
|
262
|
+
* @returns Headers for the configured native forwarding peer.
|
|
263
|
+
*/
|
|
264
|
+
async readerHeaders(request) {
|
|
265
|
+
if (request.reader === undefined)
|
|
266
|
+
return undefined;
|
|
267
|
+
if (this.#issuer === undefined) {
|
|
268
|
+
if (request.reader.principal !== undefined || request.reader.authorityFacts !== undefined)
|
|
269
|
+
throw new Error("Authenticated forwarding requires a configured proof issuer.");
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
return ReaderForwarding.seal(request.service, request.method, request.value, request.reader, this.#issuer, this.#maxBytes);
|
|
273
|
+
}
|
|
207
274
|
/**
|
|
208
275
|
* Creates a native subscription with the supplied admitted cancellation signal.
|
|
276
|
+
*
|
|
209
277
|
* @param request The admitted canonical subscription definition.
|
|
210
278
|
* @param signal The admitted cancellation signal.
|
|
211
279
|
* @returns The private backend subscription envelope.
|
|
212
280
|
*/
|
|
213
281
|
async subscribe(request, signal) {
|
|
214
|
-
|
|
215
|
-
|
|
282
|
+
try {
|
|
283
|
+
const topic = fromBinary(SubscriptionSchema, request.bytes).topic ?? create(TopicSchema);
|
|
284
|
+
const headers = await this.readerHeaders({
|
|
285
|
+
service: "spine.client.SubscriptionService",
|
|
286
|
+
method: "Subscribe",
|
|
287
|
+
value: toBinary(TopicSchema, topic),
|
|
288
|
+
reader: request.reader,
|
|
289
|
+
});
|
|
290
|
+
const result = await createClient(SubscriptionService, this.#transport).subscribe(topic, {
|
|
291
|
+
signal,
|
|
292
|
+
...(headers === undefined ? {} : { headers }),
|
|
293
|
+
});
|
|
294
|
+
return {
|
|
295
|
+
kind: "backend-subscription-envelope",
|
|
296
|
+
bytes: toBinary(SubscriptionSchema, result),
|
|
297
|
+
...(request.reader === undefined ? {} : { reader: request.reader }),
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
throw NativeGatewayValues.publicError(error);
|
|
302
|
+
}
|
|
216
303
|
}
|
|
217
304
|
/**
|
|
218
305
|
* Streams native Activate updates through the supplied asynchronous public-update sink.
|
|
306
|
+
*
|
|
219
307
|
* @param request The private native subscription envelope and update sink.
|
|
220
308
|
* @param signal The admitted cancellation signal.
|
|
221
309
|
* @returns Completes after native activation ends.
|
|
222
310
|
*/
|
|
223
311
|
async activate(request, signal) {
|
|
224
312
|
const subscription = fromBinary(SubscriptionSchema, request.wire.bytes);
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
!equals(TopicSchema, updateTopic, topic))
|
|
232
|
-
throw new Error("Backend child update does not match its subscription.");
|
|
233
|
-
await request.updates({
|
|
234
|
-
kind: "subscription-update",
|
|
235
|
-
bytes: toBinary(SubscriptionUpdateSchema, update),
|
|
313
|
+
try {
|
|
314
|
+
const headers = await this.readerHeaders({
|
|
315
|
+
service: "spine.client.SubscriptionService",
|
|
316
|
+
method: "Activate",
|
|
317
|
+
value: toBinary(SubscriptionSchema, subscription),
|
|
318
|
+
reader: request.wire.reader,
|
|
236
319
|
});
|
|
320
|
+
for await (const update of createClient(SubscriptionService, this.#transport).activate(subscription, { signal, ...(headers === undefined ? {} : { headers }) })) {
|
|
321
|
+
this.checkUpdate(subscription, update);
|
|
322
|
+
await request.updates({
|
|
323
|
+
kind: "subscription-update",
|
|
324
|
+
bytes: toBinary(SubscriptionUpdateSchema, update),
|
|
325
|
+
});
|
|
326
|
+
}
|
|
237
327
|
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
throw NativeGatewayValues.publicError(error);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Rejects a child update from a different subscription or Topic.
|
|
334
|
+
*
|
|
335
|
+
* @param subscription The subscription definition being processed.
|
|
336
|
+
* @param update Native subscription update.
|
|
337
|
+
*/
|
|
338
|
+
checkUpdate(subscription, update) {
|
|
339
|
+
const topic = subscription.topic;
|
|
340
|
+
const updateTopic = update.subscription?.topic;
|
|
341
|
+
if (update.subscription?.id?.value !== subscription.id?.value ||
|
|
342
|
+
topic === undefined ||
|
|
343
|
+
updateTopic === undefined ||
|
|
344
|
+
!equals(TopicSchema, updateTopic, topic))
|
|
345
|
+
throw new Error("Backend child update does not match its subscription.");
|
|
238
346
|
}
|
|
239
347
|
/**
|
|
240
348
|
* Cancels the native subscription represented by the canonical definition.
|
|
349
|
+
*
|
|
241
350
|
* @param request The canonical subscription definition.
|
|
242
351
|
* @param signal The admitted cancellation signal.
|
|
243
352
|
* @returns Completes after native cancellation ends.
|
|
244
353
|
*/
|
|
245
354
|
async cancel(request, signal) {
|
|
246
|
-
|
|
355
|
+
try {
|
|
356
|
+
const subscription = fromBinary(SubscriptionSchema, request.wire.bytes);
|
|
357
|
+
const headers = await this.readerHeaders({
|
|
358
|
+
service: "spine.client.SubscriptionService",
|
|
359
|
+
method: "Cancel",
|
|
360
|
+
value: toBinary(SubscriptionSchema, subscription),
|
|
361
|
+
reader: request.wire.reader,
|
|
362
|
+
});
|
|
363
|
+
await createClient(SubscriptionService, this.#transport).cancel(subscription, {
|
|
364
|
+
signal,
|
|
365
|
+
...(headers === undefined ? {} : { headers }),
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
throw NativeGatewayValues.publicError(error);
|
|
370
|
+
}
|
|
247
371
|
}
|
|
248
372
|
/**
|
|
249
373
|
* Performs mandatory native cancellation/disposal compensation for a private envelope.
|
|
374
|
+
*
|
|
250
375
|
* @param envelope The private backend subscription envelope.
|
|
251
376
|
* @param signal The admitted cancellation signal.
|
|
252
377
|
* @returns Completes after native disposal ends.
|
|
253
378
|
*/
|
|
254
379
|
async dispose(envelope, signal) {
|
|
255
|
-
|
|
380
|
+
try {
|
|
381
|
+
const subscription = fromBinary(SubscriptionSchema, envelope.bytes);
|
|
382
|
+
const headers = await this.readerHeaders({
|
|
383
|
+
service: "spine.client.SubscriptionService",
|
|
384
|
+
method: "Cancel",
|
|
385
|
+
value: toBinary(SubscriptionSchema, subscription),
|
|
386
|
+
reader: envelope.reader,
|
|
387
|
+
});
|
|
388
|
+
await createClient(SubscriptionService, this.#transport).cancel(subscription, {
|
|
389
|
+
signal,
|
|
390
|
+
...(headers === undefined ? {} : { headers }),
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
catch (error) {
|
|
394
|
+
throw NativeGatewayValues.publicError(error);
|
|
395
|
+
}
|
|
256
396
|
}
|
|
257
397
|
}
|
|
258
398
|
/**
|
|
259
399
|
* Creates native handlers without exposing private envelopes.
|
|
260
|
-
*
|
|
261
400
|
* Unauthenticated requests map to `Unauthenticated`; forbidden or denied requests to
|
|
262
401
|
* `PermissionDenied`; request/capacity limits to `ResourceExhausted`; busy bindings to `Aborted`;
|
|
263
402
|
* and unknown operations to `Unimplemented`. Malformed, stale-context, backend-envelope, and other
|
|
264
403
|
* validation rejections map to `InvalidArgument`. Terminal context/iterator paths abort native
|
|
265
404
|
* work. Natural completion drains FIFO updates, whereas failure or iterator cancellation purges
|
|
266
405
|
* them.
|
|
406
|
+
*
|
|
267
407
|
* @param options The unary, subscription, context, and relay dependencies.
|
|
268
408
|
* @returns The native Connect service implementations.
|
|
269
409
|
*/
|
|
@@ -277,8 +417,23 @@ export function createNativeGatewayServices(options) {
|
|
|
277
417
|
},
|
|
278
418
|
query: {
|
|
279
419
|
read: async (request, context) => NativeGatewayValues.queryResponse(options, request, context),
|
|
420
|
+
execute: async (request, context) => NativeGatewayValues.appQueryResponse(options, request, context),
|
|
280
421
|
},
|
|
281
|
-
subscription:
|
|
422
|
+
subscription: NativeGatewayValues.subscriptionService(options),
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Converts native Connect gateway inputs, responses, and errors.
|
|
427
|
+
*/
|
|
428
|
+
const NativeGatewayValues = Object.freeze({
|
|
429
|
+
/**
|
|
430
|
+
* Binds native subscription handlers to the existing gateway policy.
|
|
431
|
+
*
|
|
432
|
+
* @param options Subscription gateway and request facts.
|
|
433
|
+
* @returns Connect implementation for subscription lifecycle methods.
|
|
434
|
+
*/
|
|
435
|
+
subscriptionService(options) {
|
|
436
|
+
return {
|
|
282
437
|
subscribe: async (request, context) => {
|
|
283
438
|
const result = await options.subscriptions.handle(NativeGatewayValues.subscriptionRequest("Subscribe", toBinary(TopicSchema, request), context, options.requests));
|
|
284
439
|
if (result.kind !== "subscribed")
|
|
@@ -292,13 +447,25 @@ export function createNativeGatewayServices(options) {
|
|
|
292
447
|
throw NativeGatewayValues.gatewayResultError(result);
|
|
293
448
|
return create(SubscriptionService.method.cancel.output);
|
|
294
449
|
},
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
450
|
+
};
|
|
451
|
+
},
|
|
452
|
+
/**
|
|
453
|
+
* Removes backend transport headers before another Connect server serializes the error.
|
|
454
|
+
*
|
|
455
|
+
* @param error The native RPC failure.
|
|
456
|
+
* @returns The original failure with application metadata and details retained.
|
|
457
|
+
*/
|
|
458
|
+
publicError(error) {
|
|
459
|
+
if (error instanceof ConnectError)
|
|
460
|
+
for (const header of [
|
|
461
|
+
"content-type",
|
|
462
|
+
"grpc-status",
|
|
463
|
+
"grpc-message",
|
|
464
|
+
"grpc-status-details-bin",
|
|
465
|
+
])
|
|
466
|
+
error.metadata.delete(header);
|
|
467
|
+
return error;
|
|
468
|
+
},
|
|
302
469
|
/**
|
|
303
470
|
* Resolves authenticated context for a public request.
|
|
304
471
|
*
|
|
@@ -364,6 +531,27 @@ const NativeGatewayValues = Object.freeze({
|
|
|
364
531
|
throw NativeGatewayValues.unaryError(result);
|
|
365
532
|
return fromBinary(QueryService.method.read.output, result.value);
|
|
366
533
|
},
|
|
534
|
+
/**
|
|
535
|
+
* Maps a forwarded application request to its public Execute response.
|
|
536
|
+
*
|
|
537
|
+
* @param options Gateway collaborators for this operation.
|
|
538
|
+
* @param request Complete App Query envelope.
|
|
539
|
+
* @param context Authenticated native request context.
|
|
540
|
+
* @returns The app-node's packed paired response.
|
|
541
|
+
*/
|
|
542
|
+
async appQueryResponse(options, request, context) {
|
|
543
|
+
const result = await options.unary.handle({
|
|
544
|
+
service: "spine.client.QueryService",
|
|
545
|
+
method: "Execute",
|
|
546
|
+
value: toBinary(AppQuerySchema, request),
|
|
547
|
+
credential: options.requests.credential(context),
|
|
548
|
+
transport: options.requests.transport(context),
|
|
549
|
+
signal: context.signal,
|
|
550
|
+
});
|
|
551
|
+
if (result.kind === "rejected")
|
|
552
|
+
throw NativeGatewayValues.unaryError(result);
|
|
553
|
+
return fromBinary(QueryService.method.execute.output, result.value);
|
|
554
|
+
},
|
|
367
555
|
/**
|
|
368
556
|
* Activates the authenticated subscription stream.
|
|
369
557
|
*
|
package/dist/native/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|
package/dist/request/index.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { IncomingRequest, IncomingRequestInput } from "../index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Converts an accepted wire envelope into authorization request facts.
|
|
4
|
+
*/
|
|
2
5
|
interface IncomingRequestDecoder {
|
|
6
|
+
/**
|
|
7
|
+
* Decodes one accepted wire request.
|
|
8
|
+
* @param input Wire envelope and transport context.
|
|
9
|
+
* @returns Decoded request facts, if valid.
|
|
10
|
+
*/
|
|
3
11
|
decode(input: IncomingRequestInput): IncomingRequest | undefined;
|
|
4
12
|
}
|
|
5
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEzE;;GAEG;AACH,UAAU,sBAAsB;IAC9B;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,eAAe,GAAG,SAAS,CAAC;CAClE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,sBAAsB,CAsB5D,CAAC"}
|
package/dist/request/index.js
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { create, fromBinary } from "@bufbuild/protobuf";
|
|
15
15
|
import { ActorContextSchema, CommandSchema } from "@spine-event-engine/proto";
|
|
16
|
-
import { QuerySchema, SubscriptionSchema, TargetSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
17
|
-
import {
|
|
16
|
+
import { QuerySchema, AppQuerySchema, SubscriptionSchema, TargetSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
17
|
+
import { AnyPacker } from "@spine-event-engine/core";
|
|
18
18
|
/**
|
|
19
19
|
* Decodes the public request envelopes accepted by authentication gateways.
|
|
20
20
|
*/
|
|
@@ -28,49 +28,12 @@ export const IncomingRequests = Object.freeze({
|
|
|
28
28
|
decode(input) {
|
|
29
29
|
try {
|
|
30
30
|
switch (input.kind) {
|
|
31
|
-
case "command":
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
command,
|
|
36
|
-
message: command.message === undefined || input.registry === undefined
|
|
37
|
-
? undefined
|
|
38
|
-
: AnyMessages.unpackUsing(input.registry, command.message),
|
|
39
|
-
messageType: command.message?.typeUrl ?? "",
|
|
40
|
-
requestedContext: command.context?.actorContext ?? create(ActorContextSchema),
|
|
41
|
-
transport: input.transport,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
case "query": {
|
|
45
|
-
const query = fromBinary(QuerySchema, input.value);
|
|
46
|
-
return {
|
|
47
|
-
kind: input.kind,
|
|
48
|
-
query,
|
|
49
|
-
target: query.target ?? create(TargetSchema),
|
|
50
|
-
requestedContext: query.context ?? create(ActorContextSchema),
|
|
51
|
-
transport: input.transport,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
case "subscribe": {
|
|
55
|
-
const topic = fromBinary(TopicSchema, input.value);
|
|
56
|
-
return {
|
|
57
|
-
kind: input.kind,
|
|
58
|
-
topic,
|
|
59
|
-
target: topic.target ?? create(TargetSchema),
|
|
60
|
-
requestedContext: topic.context ?? create(ActorContextSchema),
|
|
61
|
-
transport: input.transport,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
31
|
+
case "command": return IncomingRequestValues.command(input);
|
|
32
|
+
case "query": return IncomingRequestValues.query(input);
|
|
33
|
+
case "app-query": return IncomingRequestValues.appQuery(input);
|
|
34
|
+
case "subscribe": return IncomingRequestValues.subscribe(input);
|
|
64
35
|
case "activate":
|
|
65
|
-
case "cancel":
|
|
66
|
-
const subscription = fromBinary(SubscriptionSchema, input.value);
|
|
67
|
-
return {
|
|
68
|
-
kind: input.kind,
|
|
69
|
-
subscription,
|
|
70
|
-
requestedContext: subscription.topic?.context ?? create(ActorContextSchema),
|
|
71
|
-
transport: input.transport,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
36
|
+
case "cancel": return IncomingRequestValues.subscription(input);
|
|
74
37
|
}
|
|
75
38
|
}
|
|
76
39
|
catch {
|
|
@@ -78,4 +41,90 @@ export const IncomingRequests = Object.freeze({
|
|
|
78
41
|
}
|
|
79
42
|
},
|
|
80
43
|
});
|
|
44
|
+
/**
|
|
45
|
+
* Decodes each supported request envelope after the caller selects its kind.
|
|
46
|
+
*/
|
|
47
|
+
const IncomingRequestValues = Object.freeze({
|
|
48
|
+
/**
|
|
49
|
+
* Decodes a Command request.
|
|
50
|
+
*
|
|
51
|
+
* @param input Command wire request.
|
|
52
|
+
* @returns Decoded command facts.
|
|
53
|
+
*/
|
|
54
|
+
command(input) {
|
|
55
|
+
const command = fromBinary(CommandSchema, input.value);
|
|
56
|
+
return {
|
|
57
|
+
kind: "command",
|
|
58
|
+
command,
|
|
59
|
+
message: command.message === undefined || input.registry === undefined
|
|
60
|
+
? undefined
|
|
61
|
+
: AnyPacker.tryUnpackUsing(input.registry, command.message),
|
|
62
|
+
messageType: command.message?.typeUrl ?? "",
|
|
63
|
+
requestedContext: command.context?.actorContext ?? create(ActorContextSchema),
|
|
64
|
+
transport: input.transport,
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* Decodes a Query request.
|
|
69
|
+
*
|
|
70
|
+
* @param input Query wire request.
|
|
71
|
+
* @returns Decoded query facts.
|
|
72
|
+
*/
|
|
73
|
+
query(input) {
|
|
74
|
+
const query = fromBinary(QuerySchema, input.value);
|
|
75
|
+
return {
|
|
76
|
+
kind: "query",
|
|
77
|
+
query,
|
|
78
|
+
target: query.target ?? create(TargetSchema),
|
|
79
|
+
requestedContext: query.context ?? create(ActorContextSchema),
|
|
80
|
+
transport: input.transport,
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
/**
|
|
84
|
+
* Decodes an App Query without interpreting its domain payload at the gateway.
|
|
85
|
+
*
|
|
86
|
+
* @param input Serialized application query and safe transport facts.
|
|
87
|
+
* @returns Actor context and the original domain request envelope.
|
|
88
|
+
*/
|
|
89
|
+
appQuery(input) {
|
|
90
|
+
const query = fromBinary(AppQuerySchema, input.value);
|
|
91
|
+
return {
|
|
92
|
+
kind: "app-query",
|
|
93
|
+
query,
|
|
94
|
+
requestedContext: query.context ?? create(ActorContextSchema),
|
|
95
|
+
transport: input.transport,
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
/**
|
|
99
|
+
* Decodes a subscription topic request.
|
|
100
|
+
*
|
|
101
|
+
* @param input Subscription topic wire request.
|
|
102
|
+
* @returns Decoded topic facts.
|
|
103
|
+
*/
|
|
104
|
+
subscribe(input) {
|
|
105
|
+
const topic = fromBinary(TopicSchema, input.value);
|
|
106
|
+
return {
|
|
107
|
+
kind: "subscribe",
|
|
108
|
+
topic,
|
|
109
|
+
target: topic.target ?? create(TargetSchema),
|
|
110
|
+
requestedContext: topic.context ?? create(ActorContextSchema),
|
|
111
|
+
transport: input.transport,
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
/**
|
|
115
|
+
* Decodes a subscription activation or cancellation request.
|
|
116
|
+
*
|
|
117
|
+
* @param input Subscription activation or cancellation.
|
|
118
|
+
* @returns Decoded subscription facts.
|
|
119
|
+
*/
|
|
120
|
+
subscription(input) {
|
|
121
|
+
const subscription = fromBinary(SubscriptionSchema, input.value);
|
|
122
|
+
return {
|
|
123
|
+
kind: input.kind,
|
|
124
|
+
subscription,
|
|
125
|
+
requestedContext: subscription.topic?.context ?? create(ActorContextSchema),
|
|
126
|
+
transport: input.transport,
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
});
|
|
81
130
|
//# sourceMappingURL=index.js.map
|