@spine-event-engine/auth 2.0.0-snapshot.23 → 2.0.0-snapshot.24
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 +6 -0
- package/REFERENCE.md +21 -6
- package/dist/gateway/dynamic-unary-forwarder.d.ts +26 -1
- package/dist/gateway/dynamic-unary-forwarder.d.ts.map +1 -1
- package/dist/gateway/dynamic-unary-forwarder.js +47 -16
- package/dist/gateway/dynamic-unary-forwarder.js.map +1 -1
- package/dist/gateway/index.d.ts +4 -1
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +74 -9
- package/dist/gateway/index.js.map +1 -1
- package/dist/index.d.ts +13 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/native/index.d.ts.map +1 -1
- package/dist/native/index.js +93 -2
- package/dist/native/index.js.map +1 -1
- package/dist/subscriptions/index.d.ts +3 -1
- package/dist/subscriptions/index.d.ts.map +1 -1
- package/dist/subscriptions/index.js +139 -5
- package/dist/subscriptions/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -45,6 +45,12 @@ limit, policy, trusted-context resolver, clock, and forwarder. Every approved
|
|
|
45
45
|
operation is independently admitted and authorized; forwarded data excludes
|
|
46
46
|
credentials and untrusted transport headers.
|
|
47
47
|
|
|
48
|
+
The gateway verifies each Command's actor and tenant against its resolved
|
|
49
|
+
identity. It preserves that Command's original creation time and locale so
|
|
50
|
+
Events can refer to the exact Command that caused them. Those metadata fields
|
|
51
|
+
are supplied by the caller; they are not proof of identity. Queries and
|
|
52
|
+
subscription Topics receive the context supplied by the gateway resolver.
|
|
53
|
+
|
|
48
54
|
## Browser and OIDC extensions
|
|
49
55
|
|
|
50
56
|
The package does not provide HTTP routes, browser pages, users, permissions,
|
package/REFERENCE.md
CHANGED
|
@@ -9,7 +9,15 @@ The package supplies provider-neutral gateway building blocks. An application pl
|
|
|
9
9
|
|
|
10
10
|
`TransportFacts.from()` exposes only allowlisted request facts. Credentials are passed only to `Authenticator` or `SessionResolver`; they are not included in `IncomingRequest`. `IncomingRequest` is a discriminated union for command, query, subscription creation, activation, and cancellation. Command facts can include a decoded message when a `TypeRegistryLookup` knows its packed type; unknown and malformed `Any` values remain type-URL-only facts.
|
|
11
11
|
|
|
12
|
-
`AuthorizationPolicy.authorize()` is evaluated separately for each incoming request. `ContextResolver.resolve()` returns the trusted actor, optional tenant, timestamp, zone, and language. The caller-provided `ActorContext` must match that resolved actor and tenant, otherwise `UnaryGateway` rejects the request as `context-stale`. Backends
|
|
12
|
+
`AuthorizationPolicy.authorize()` is evaluated separately for each incoming request. `ContextResolver.resolve()` returns the trusted actor, optional tenant, timestamp, zone, and language. The caller-provided `ActorContext` must match that resolved actor and tenant, otherwise `UnaryGateway` rejects the request as `context-stale`. Backends may rely on these identity checks only when the deployment routes traffic through an application-selected gateway.
|
|
13
|
+
|
|
14
|
+
After those checks, Post preserves the original Command's `ActorContext`,
|
|
15
|
+
including its creation timestamp, zone, and language. These fields describe the
|
|
16
|
+
caller's request; they are not gateway-attested metadata. Preserving them keeps
|
|
17
|
+
the Event's complete `past_message` Origin equal to the originating Command's
|
|
18
|
+
Origin, as in Spine JVM. Authorization and context resolution receive isolated
|
|
19
|
+
request views; changes to those views cannot change the forwarded Command.
|
|
20
|
+
Read and subscription Topic requests still receive the resolver's context.
|
|
13
21
|
|
|
14
22
|
## Dynamic subscription membership
|
|
15
23
|
|
|
@@ -18,12 +26,17 @@ queries, and native subscription streams. A fixed backend list is static
|
|
|
18
26
|
membership input and is not capped; dynamic discovery replaces it with later
|
|
19
27
|
complete snapshots. Notices can be duplicated, missing, or lost.
|
|
20
28
|
Browser code must treat notices as refresh hints and use Queries as the
|
|
21
|
-
authoritative state source. The
|
|
29
|
+
authoritative state source. The gateway keeps one native child stream for every
|
|
22
30
|
active logical subscription on every current node. Membership changes converge
|
|
23
|
-
through one latest-only generation
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
membership is empty.
|
|
31
|
+
through one latest-only generation: removed or stale nodes cannot revive their
|
|
32
|
+
children, while a zero-node interval retains an existing definition for later
|
|
33
|
+
recovery. New subscription creation reports backend unavailability while
|
|
34
|
+
membership is empty. The gateway emits one logical activation ACK only after all
|
|
35
|
+
required native children attach and acknowledge. Child ACKs from later joins stay internal. A child
|
|
36
|
+
failure before readiness cleans up admitted siblings, while generic unary
|
|
37
|
+
membership routing remains independent of subscription readiness. Concurrent
|
|
38
|
+
Cancel requests for the same trusted context and ID share one bounded attempt;
|
|
39
|
+
a failed remote cleanup remains retryable.
|
|
27
40
|
|
|
28
41
|
## Unary requests
|
|
29
42
|
|
|
@@ -53,6 +66,8 @@ ResolveContext returns informational trusted actor and tenant facts in both mode
|
|
|
53
66
|
|
|
54
67
|
`SubscriptionGateway` and `InMemorySubscriptionBindings` compose subscription creation, activation, cancellation, and relaying at the gateway boundary. The Gateway accepts a logical `SubscriptionCoordinator`; native `SubscriptionCreator` instances remain a per-node implementation seam. This is an intentional replacement of the former public native-creator input, with no compatibility adapter because Spine TS has no deployed users. In-memory bindings are local to one process and have finite operation limits; they do not provide cross-machine propagation. `createNativeGatewayServices`, `NativeSubscriptionCreator`, and `SubscriptionUpdateRelay` adapt these public contracts to the native service layer. They do not make a deployment secure by themselves: applications choose how their listener accepts only gateway-routed traffic.
|
|
55
68
|
|
|
69
|
+
`BackendSubscriptionEnvelope` is opaque to the Gateway. A custom `SubscriptionCreator` or `DynamicUnaryClient` must validate each forwarded update's subscription ID and Topic against the actual Subscription accepted by its backend. The built-in native creator performs this validation; a custom envelope does not imply the backend reused the requested child ID.
|
|
70
|
+
|
|
56
71
|
`DurableSubscriptionBindings` from `@spine-event-engine/server/browser` retains one approved
|
|
57
72
|
`GatewayAuthenticatedSubscription` per public Subscription. The retained Topic
|
|
58
73
|
includes the trusted Actor and Tenant, so Activate and Cancel compare that pair
|
|
@@ -4,6 +4,8 @@ import type { UnaryForwarder } from "./index.js";
|
|
|
4
4
|
import type { PublicSubscriptionWire, SubscriptionCreator, SubscriptionUpdateSink } from "../subscriptions/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Represents a connected unary backend with deterministic disposal.
|
|
7
|
+
* A custom subscription client validates relayed update IDs and Topics against
|
|
8
|
+
* the actual Subscription accepted by its backend before forwarding updates.
|
|
7
9
|
*/
|
|
8
10
|
export interface DynamicUnaryClient extends UnaryForwarder, SubscriptionCreator {
|
|
9
11
|
/**
|
|
@@ -50,6 +52,28 @@ export declare class DynamicUnaryForwarder implements UnaryForwarder {
|
|
|
50
52
|
* @param options Configures discovery clients and resource bounds.
|
|
51
53
|
*/
|
|
52
54
|
constructor(options: DynamicUnaryOptions);
|
|
55
|
+
/**
|
|
56
|
+
* Builds membership operations for one connected gateway client.
|
|
57
|
+
*
|
|
58
|
+
* @param client The connected gateway client.
|
|
59
|
+
* @returns The member's forwarding and subscription operations.
|
|
60
|
+
*/
|
|
61
|
+
private static memberClient;
|
|
62
|
+
/**
|
|
63
|
+
* Checks a response-only successful child activation acknowledgement.
|
|
64
|
+
*
|
|
65
|
+
* @param update The serialized child update.
|
|
66
|
+
* @returns Whether the child is attached and ready.
|
|
67
|
+
*/
|
|
68
|
+
private static isActivationAck;
|
|
69
|
+
/**
|
|
70
|
+
* Transforms a child acknowledgement to the public logical subscription identity.
|
|
71
|
+
*
|
|
72
|
+
* @param definition The logical subscription definition.
|
|
73
|
+
* @param childAck The validated child acknowledgement.
|
|
74
|
+
* @returns The single logical acknowledgement.
|
|
75
|
+
*/
|
|
76
|
+
private static logicalActivationAck;
|
|
53
77
|
/**
|
|
54
78
|
* Updates connected clients from a complete application-node snapshot.
|
|
55
79
|
*
|
|
@@ -93,7 +117,8 @@ export declare class DynamicUnaryForwarder implements UnaryForwarder {
|
|
|
93
117
|
* @param wire Supplies the public subscription wire.
|
|
94
118
|
* @param updates Receives relayed subscription updates.
|
|
95
119
|
* @param signal Cancels update relay.
|
|
96
|
-
* @returns Completion after cancellation
|
|
120
|
+
* @returns Completion after cancellation; rejects on unexpected child failure, possibly
|
|
121
|
+
* including bounded cleanup failure.
|
|
97
122
|
*/
|
|
98
123
|
activateDefinition(wire: PublicSubscriptionWire, updates: SubscriptionUpdateSink, signal: AbortSignal): Promise<void>;
|
|
99
124
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-unary-forwarder.d.ts","sourceRoot":"","sources":["../../src/gateway/dynamic-unary-forwarder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-unary-forwarder.d.ts","sourceRoot":"","sources":["../../src/gateway/dynamic-unary-forwarder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAMjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAEV,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EAEvB,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc,EAAE,mBAAmB;IAG7E;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE7F;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;;IAQ1D;;;;OAIG;gBACS,OAAO,EAAE,mBAAmB;IAkCxC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA4B3B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAK9B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IASnC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAM/E;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB;;;;;;;OAOG;IACH,mBAAmB,CACjB,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,WAAW,EACnB,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;OAMG;IACG,mBAAmB,CACvB,OAAO,EAAE,sBAAsB,EAC/B,uBAAuB,CAAC,EAAE,MAAM,GAC/B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;;;OAQG;IACH,kBAAkB,CAChB,IAAI,EAAE,sBAAsB,EAC5B,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAI3D;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,UAAU;CAiB7E"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { clone, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
15
15
|
import { ApplicationNode } from "@spine-event-engine/deployment";
|
|
16
|
-
import { BackendMembershipKernel } from "@spine-event-engine/deployment/spi/backend-membership";
|
|
17
|
-
import { SubscriptionSchema } from "@spine-event-engine/proto/client";
|
|
16
|
+
import { BackendMembershipKernel, } from "@spine-event-engine/deployment/spi/backend-membership";
|
|
17
|
+
import { SubscriptionSchema, SubscriptionUpdateSchema } from "@spine-event-engine/proto/client";
|
|
18
18
|
/**
|
|
19
19
|
* Adapts Gateway unary operations to the deployment-owned membership kernel.
|
|
20
20
|
* Durable logical ownership remains in the Gateway's subscription bindings.
|
|
@@ -32,24 +32,14 @@ export class DynamicUnaryForwarder {
|
|
|
32
32
|
options.maxBackendEnvelopeBytes < 1))
|
|
33
33
|
throw new RangeError("maxBackendEnvelopeBytes must be a positive safe integer.");
|
|
34
34
|
this.#kernel = new BackendMembershipKernel({
|
|
35
|
-
create: async (node, signal) =>
|
|
36
|
-
const client = await options.create(node, signal);
|
|
37
|
-
return {
|
|
38
|
-
forward: (request) => client.forward(request),
|
|
39
|
-
subscribe: (definition, childSignal) => client.subscribe({ kind: "public-subscription", bytes: definition.slice() }, childSignal),
|
|
40
|
-
activate: (child, updates, childSignal) => client.activate({
|
|
41
|
-
wire: { kind: "backend-subscription-envelope", bytes: child.bytes.slice() },
|
|
42
|
-
updates,
|
|
43
|
-
}, childSignal),
|
|
44
|
-
dispose: (child, childSignal) => client.dispose({ kind: "backend-subscription-envelope", bytes: child.bytes.slice() }, childSignal),
|
|
45
|
-
close: () => client.close(),
|
|
46
|
-
};
|
|
47
|
-
},
|
|
35
|
+
create: async (node, signal) => DynamicUnaryForwarder.memberClient(await options.create(node, signal)),
|
|
48
36
|
memberKey: (node) => node.id,
|
|
49
37
|
sameMember: (left, right) => left.endpoint === right.endpoint && left.tlsServerName === right.tlsServerName,
|
|
50
38
|
definitionKey: (definition) => DynamicUnaryForwarder.definitionKey(definition),
|
|
51
39
|
childDefinition: (definition, node) => DynamicUnaryForwarder.childDefinition(definition, node),
|
|
52
40
|
childSize: (child) => child.bytes.byteLength,
|
|
41
|
+
isActivationAck: (update) => DynamicUnaryForwarder.isActivationAck(update),
|
|
42
|
+
logicalActivationAck: (definition, childAck) => DynamicUnaryForwarder.logicalActivationAck(definition, childAck),
|
|
53
43
|
...(options.maxConcurrentStarts === undefined
|
|
54
44
|
? {}
|
|
55
45
|
: { maxConcurrentStarts: options.maxConcurrentStarts }),
|
|
@@ -58,6 +48,46 @@ export class DynamicUnaryForwarder {
|
|
|
58
48
|
: { maxChildBytes: options.maxBackendEnvelopeBytes }),
|
|
59
49
|
});
|
|
60
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Builds membership operations for one connected gateway client.
|
|
53
|
+
*
|
|
54
|
+
* @param client The connected gateway client.
|
|
55
|
+
* @returns The member's forwarding and subscription operations.
|
|
56
|
+
*/
|
|
57
|
+
static memberClient(client) {
|
|
58
|
+
return {
|
|
59
|
+
forward: (request) => client.forward(request),
|
|
60
|
+
subscribe: (definition, signal) => client.subscribe({ kind: "public-subscription", bytes: definition.slice() }, signal),
|
|
61
|
+
activate: (child, updates, signal) => client.activate({
|
|
62
|
+
wire: { kind: "backend-subscription-envelope", bytes: child.bytes.slice() },
|
|
63
|
+
updates,
|
|
64
|
+
}, signal),
|
|
65
|
+
dispose: (child, signal) => client.dispose({ kind: "backend-subscription-envelope", bytes: child.bytes.slice() }, signal),
|
|
66
|
+
close: () => client.close(),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Checks a response-only successful child activation acknowledgement.
|
|
71
|
+
*
|
|
72
|
+
* @param update The serialized child update.
|
|
73
|
+
* @returns Whether the child is attached and ready.
|
|
74
|
+
*/
|
|
75
|
+
static isActivationAck(update) {
|
|
76
|
+
const decoded = fromBinary(SubscriptionUpdateSchema, update.bytes);
|
|
77
|
+
return decoded.response?.status?.status.case === "ok" && decoded.update.case === undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Transforms a child acknowledgement to the public logical subscription identity.
|
|
81
|
+
*
|
|
82
|
+
* @param definition The logical subscription definition.
|
|
83
|
+
* @param childAck The validated child acknowledgement.
|
|
84
|
+
* @returns The single logical acknowledgement.
|
|
85
|
+
*/
|
|
86
|
+
static logicalActivationAck(definition, childAck) {
|
|
87
|
+
const update = fromBinary(SubscriptionUpdateSchema, childAck.bytes);
|
|
88
|
+
update.subscription = fromBinary(SubscriptionSchema, definition);
|
|
89
|
+
return { kind: "subscription-update", bytes: toBinary(SubscriptionUpdateSchema, update) };
|
|
90
|
+
}
|
|
61
91
|
/**
|
|
62
92
|
* Updates connected clients from a complete application-node snapshot.
|
|
63
93
|
*
|
|
@@ -123,7 +153,8 @@ export class DynamicUnaryForwarder {
|
|
|
123
153
|
* @param wire Supplies the public subscription wire.
|
|
124
154
|
* @param updates Receives relayed subscription updates.
|
|
125
155
|
* @param signal Cancels update relay.
|
|
126
|
-
* @returns Completion after cancellation
|
|
156
|
+
* @returns Completion after cancellation; rejects on unexpected child failure, possibly
|
|
157
|
+
* including bounded cleanup failure.
|
|
127
158
|
*/
|
|
128
159
|
activateDefinition(wire, updates, signal) {
|
|
129
160
|
return this.#kernel.activate(wire.bytes, updates, signal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-unary-forwarder.js","sourceRoot":"","sources":["../../src/gateway/dynamic-unary-forwarder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"dynamic-unary-forwarder.js","sourceRoot":"","sources":["../../src/gateway/dynamic-unary-forwarder.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway/index.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export interface UnaryGatewayRequest {
|
|
|
35
35
|
export interface UnaryForwarder {
|
|
36
36
|
/**
|
|
37
37
|
* Routes an authorized request to its backend service.
|
|
38
|
+
*
|
|
38
39
|
* @param request Holds the canonical request forwarded to the backend.
|
|
39
40
|
* @returns Resolves to the backend response bytes.
|
|
40
41
|
*/
|
|
@@ -145,17 +146,19 @@ export type UnaryGatewayResult = {
|
|
|
145
146
|
readonly reason: UnaryGatewayRejection;
|
|
146
147
|
};
|
|
147
148
|
/**
|
|
148
|
-
* Transport-neutral
|
|
149
|
+
* Transport-neutral unary admission pipeline for Commands and Queries.
|
|
149
150
|
*/
|
|
150
151
|
export declare class UnaryGateway {
|
|
151
152
|
#private;
|
|
152
153
|
/**
|
|
153
154
|
* Creates a unary admission gateway.
|
|
155
|
+
*
|
|
154
156
|
* @param options Configures admission, authorization, context, and forwarding collaborators.
|
|
155
157
|
*/
|
|
156
158
|
constructor(options: UnaryGatewayOptions);
|
|
157
159
|
/**
|
|
158
160
|
* Handles one admitted unary request.
|
|
161
|
+
*
|
|
159
162
|
* @param request Supplies owned request bytes, credential, and transport facts.
|
|
160
163
|
* @returns Resolves to forwarded bytes, a trusted context, or a rejection.
|
|
161
164
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAEV,mBAAmB,EACnB,KAAK,EACL,eAAe,EAGf,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAG7B
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway/index.js
CHANGED
|
@@ -17,12 +17,13 @@ import { ResolveContextRequestSchema, ResolveContextResponseSchema, } from "@spi
|
|
|
17
17
|
import { QuerySchema } from "@spine-event-engine/proto/client";
|
|
18
18
|
import { IncomingRequests } from "../request/index.js";
|
|
19
19
|
/**
|
|
20
|
-
* Transport-neutral
|
|
20
|
+
* Transport-neutral unary admission pipeline for Commands and Queries.
|
|
21
21
|
*/
|
|
22
22
|
export class UnaryGateway {
|
|
23
23
|
#options;
|
|
24
24
|
/**
|
|
25
25
|
* Creates a unary admission gateway.
|
|
26
|
+
*
|
|
26
27
|
* @param options Configures admission, authorization, context, and forwarding collaborators.
|
|
27
28
|
*/
|
|
28
29
|
constructor(options) {
|
|
@@ -34,6 +35,7 @@ export class UnaryGateway {
|
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
37
|
* Handles one admitted unary request.
|
|
38
|
+
*
|
|
37
39
|
* @param request Supplies owned request bytes, credential, and transport facts.
|
|
38
40
|
* @returns Resolves to forwarded bytes, a trusted context, or a rejection.
|
|
39
41
|
*/
|
|
@@ -77,6 +79,12 @@ export class UnaryGateway {
|
|
|
77
79
|
}), request.signal),
|
|
78
80
|
};
|
|
79
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolves an authenticated actor context request.
|
|
84
|
+
*
|
|
85
|
+
* @param request The incoming context request.
|
|
86
|
+
* @returns The gateway result.
|
|
87
|
+
*/
|
|
80
88
|
async #resolveContext(request) {
|
|
81
89
|
try {
|
|
82
90
|
fromBinary(ResolveContextRequestSchema, request.value);
|
|
@@ -107,9 +115,21 @@ export class UnaryGateway {
|
|
|
107
115
|
}
|
|
108
116
|
const UnaryGatewayValues = Object.freeze({
|
|
109
117
|
publicPrincipal: Object.freeze({ id: "spine-gateway-public" }),
|
|
118
|
+
/**
|
|
119
|
+
* Creates a rejected gateway result.
|
|
120
|
+
*
|
|
121
|
+
* @param reason The rejection reason.
|
|
122
|
+
* @returns The rejected result.
|
|
123
|
+
*/
|
|
110
124
|
reject(reason) {
|
|
111
125
|
return { kind: "rejected", reason };
|
|
112
126
|
},
|
|
127
|
+
/**
|
|
128
|
+
* Returns a supported unary operation.
|
|
129
|
+
*
|
|
130
|
+
* @param request The incoming request.
|
|
131
|
+
* @returns The operation or undefined for an unsupported method.
|
|
132
|
+
*/
|
|
113
133
|
operationFor(request) {
|
|
114
134
|
if (request.service === "spine.client.CommandService" && request.method === "Post")
|
|
115
135
|
return { kind: "command", service: request.service, method: request.method };
|
|
@@ -120,6 +140,13 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
120
140
|
return { kind: "resolve-context", service: request.service, method: request.method };
|
|
121
141
|
return undefined;
|
|
122
142
|
},
|
|
143
|
+
/**
|
|
144
|
+
* Copies allowlisted transport facts for policy inspection.
|
|
145
|
+
*
|
|
146
|
+
* @param operation The selected operation.
|
|
147
|
+
* @param input The incoming transport facts.
|
|
148
|
+
* @returns A frozen transport snapshot.
|
|
149
|
+
*/
|
|
123
150
|
snapshotTransport(operation, input) {
|
|
124
151
|
return Object.freeze(Object.fromEntries(Object.entries({
|
|
125
152
|
service: operation.service,
|
|
@@ -131,6 +158,15 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
131
158
|
userAgent: input.userAgent,
|
|
132
159
|
}).filter(([, value]) => value !== undefined)));
|
|
133
160
|
},
|
|
161
|
+
/**
|
|
162
|
+
* Decodes a Command or Query for policy inspection.
|
|
163
|
+
*
|
|
164
|
+
* @param operation The selected operation.
|
|
165
|
+
* @param value The encoded request value.
|
|
166
|
+
* @param transport The safe transport facts.
|
|
167
|
+
* @param registry The optional domain schema registry.
|
|
168
|
+
* @returns The decoded request when supported.
|
|
169
|
+
*/
|
|
134
170
|
decode(operation, value, transport, registry) {
|
|
135
171
|
const input = operation.kind === "command"
|
|
136
172
|
? {
|
|
@@ -143,10 +179,24 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
143
179
|
const result = IncomingRequests.decode(input);
|
|
144
180
|
return result?.kind === "command" || result?.kind === "query" ? result : undefined;
|
|
145
181
|
},
|
|
182
|
+
/**
|
|
183
|
+
* Checks the requested actor and tenant against trusted resolution.
|
|
184
|
+
*
|
|
185
|
+
* @param requested The isolated request actor context.
|
|
186
|
+
* @param trusted The resolved actor and tenant.
|
|
187
|
+
* @returns Whether both identity fields agree.
|
|
188
|
+
*/
|
|
146
189
|
matches(requested, trusted) {
|
|
147
190
|
return (requested.actor?.value === trusted.actor.value &&
|
|
148
191
|
UnaryGatewayValues.tenantsEqual(requested.tenantId, trusted.tenant));
|
|
149
192
|
},
|
|
193
|
+
/**
|
|
194
|
+
* Compares complete tenant identifiers.
|
|
195
|
+
*
|
|
196
|
+
* @param left The requested tenant.
|
|
197
|
+
* @param right The resolved tenant.
|
|
198
|
+
* @returns Whether the identifiers are equal.
|
|
199
|
+
*/
|
|
150
200
|
tenantsEqual(left, right) {
|
|
151
201
|
if (left === undefined || right === undefined)
|
|
152
202
|
return left === right;
|
|
@@ -155,27 +205,42 @@ const UnaryGatewayValues = Object.freeze({
|
|
|
155
205
|
return (leftBytes.byteLength === rightBytes.byteLength &&
|
|
156
206
|
leftBytes.every((value, index) => value === rightBytes[index]));
|
|
157
207
|
},
|
|
208
|
+
/**
|
|
209
|
+
* Encodes a validated Command with its original context or a trusted Query context.
|
|
210
|
+
*
|
|
211
|
+
* @param source The isolated decoded request.
|
|
212
|
+
* @param trusted The resolved context for identity checks or Query forwarding.
|
|
213
|
+
* @returns The forwarded request bytes.
|
|
214
|
+
*/
|
|
158
215
|
rewrite(source, trusted) {
|
|
159
|
-
const context = create(ActorContextSchema, {
|
|
160
|
-
actor: trusted.actor,
|
|
161
|
-
timestamp: trusted.timestamp,
|
|
162
|
-
...(trusted.tenant === undefined ? {} : { tenantId: trusted.tenant }),
|
|
163
|
-
...(trusted.zoneId === undefined ? {} : { zoneId: trusted.zoneId }),
|
|
164
|
-
...(trusted.language === undefined ? {} : { language: trusted.language }),
|
|
165
|
-
});
|
|
166
216
|
if (source.kind === "command") {
|
|
167
217
|
const command = clone(CommandSchema, source.command);
|
|
168
218
|
const commandContext = command.context === undefined
|
|
169
219
|
? create(CommandContextSchema)
|
|
170
220
|
: clone(CommandContextSchema, command.context);
|
|
171
|
-
commandContext.actorContext =
|
|
221
|
+
commandContext.actorContext = clone(ActorContextSchema, source.requestedContext);
|
|
172
222
|
command.context = commandContext;
|
|
173
223
|
return toBinary(CommandSchema, command);
|
|
174
224
|
}
|
|
225
|
+
const context = create(ActorContextSchema, {
|
|
226
|
+
actor: trusted.actor,
|
|
227
|
+
timestamp: trusted.timestamp,
|
|
228
|
+
...(trusted.tenant === undefined ? {} : { tenantId: trusted.tenant }),
|
|
229
|
+
...(trusted.zoneId === undefined ? {} : { zoneId: trusted.zoneId }),
|
|
230
|
+
...(trusted.language === undefined ? {} : { language: trusted.language }),
|
|
231
|
+
});
|
|
175
232
|
const query = clone(QuerySchema, source.query);
|
|
176
233
|
query.context = context;
|
|
177
234
|
return toBinary(QuerySchema, query);
|
|
178
235
|
},
|
|
236
|
+
/**
|
|
237
|
+
* Awaits an asynchronous gateway effect or request cancellation.
|
|
238
|
+
*
|
|
239
|
+
* @typeParam T The effect result.
|
|
240
|
+
* @param effect The pending effect.
|
|
241
|
+
* @param signal The optional cancellation signal.
|
|
242
|
+
* @returns The effect result unless cancellation wins.
|
|
243
|
+
*/
|
|
179
244
|
abortable(effect, signal) {
|
|
180
245
|
if (signal === undefined)
|
|
181
246
|
return effect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,cAAc,GAGf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAa/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -262,7 +262,9 @@ export interface AuthorizationPolicy {
|
|
|
262
262
|
authorize(principal: AuthenticatedPrincipal, request: IncomingRequest): Promise<boolean>;
|
|
263
263
|
}
|
|
264
264
|
/**
|
|
265
|
-
*
|
|
265
|
+
* Trusted actor and tenant resolution after authentication and authorization.
|
|
266
|
+
* The gateway forwards a validated Command's original actor context, including its
|
|
267
|
+
* request-time timestamp and locale; Query and subscription contexts use resolved values.
|
|
266
268
|
*/
|
|
267
269
|
export interface AuthorizedRequestContext {
|
|
268
270
|
/**
|
|
@@ -274,20 +276,21 @@ export interface AuthorizedRequestContext {
|
|
|
274
276
|
*/
|
|
275
277
|
readonly tenant?: TenantId;
|
|
276
278
|
/**
|
|
277
|
-
* Records the trusted resolution time.
|
|
279
|
+
* Records the trusted resolution time used for Query and subscription contexts.
|
|
278
280
|
*/
|
|
279
281
|
readonly timestamp: Timestamp;
|
|
280
282
|
/**
|
|
281
|
-
* Identifies the actor's time zone
|
|
283
|
+
* Identifies the actor's resolved time zone for Query and subscription contexts.
|
|
282
284
|
*/
|
|
283
285
|
readonly zoneId?: ZoneId;
|
|
284
286
|
/**
|
|
285
|
-
* Identifies the actor's language
|
|
287
|
+
* Identifies the actor's resolved language for Query and subscription contexts.
|
|
286
288
|
*/
|
|
287
289
|
readonly language?: Language;
|
|
288
290
|
}
|
|
289
291
|
/**
|
|
290
|
-
* Application
|
|
292
|
+
* Application actor and tenant resolution boundary. Command actor and tenant must
|
|
293
|
+
* match this result; other validated Command context fields are preserved on forwarding.
|
|
291
294
|
*/
|
|
292
295
|
export interface ContextResolver {
|
|
293
296
|
/**
|
|
@@ -405,6 +408,11 @@ export interface CommandRequestInput {
|
|
|
405
408
|
readonly registry?: TypeRegistryLookup;
|
|
406
409
|
}
|
|
407
410
|
interface TransportFactsApi {
|
|
411
|
+
/**
|
|
412
|
+
* Builds allowlisted transport facts without credentials.
|
|
413
|
+
* @param input The incoming transport fields.
|
|
414
|
+
* @returns The safe transport context.
|
|
415
|
+
*/
|
|
408
416
|
from(input: TransportFactsInput): TransportRequestContext;
|
|
409
417
|
}
|
|
410
418
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,11 @@ export const TransportFacts = Object.freeze({
|
|
|
39
39
|
});
|
|
40
40
|
export { IncomingRequests } from "./request/index.js";
|
|
41
41
|
const TransportFactsValues = Object.freeze({
|
|
42
|
+
/**
|
|
43
|
+
* Removes absent transport fields from a safe context.
|
|
44
|
+
* @param context The allowlisted transport fields.
|
|
45
|
+
* @returns The compact transport context.
|
|
46
|
+
*/
|
|
42
47
|
compact(context) {
|
|
43
48
|
return Object.fromEntries(Object.entries(context).filter(([, value]) => value !== undefined));
|
|
44
49
|
},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,EAKN,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,EAKN,MAAM,kCAAkC,CAAC;AAsiB1C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgC,MAAM,CAAC,MAAM,CAAC;IACvE,kBAAkB;IAElB;;;;OAIG;IACH,IAAI,CAAC,KAA0B;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;aACpE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC,CACvD,CAAC;QACF,OAAO,oBAAoB,CAAC,OAAO,CAAC;YAClC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC;YAClC,aAAa,EAAE,OAAO,CAAC,kBAAkB,CAAC;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC;;;;OAIG;IACH,OAAO,CACL,OACqD;QAErD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAC7B,CAAC;IAC1C,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAoF3B,OAAO,EACL,qBAAqB,GAGtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,YAAY,EAIZ,mBAAmB,EAInB,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IAGtC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAOD;;GAEG;AACH,qBAAa,uBAAwB,YAAW,aAAa,CAAC,kBAAkB,CAAC;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"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"}
|