@spine-event-engine/server 2.0.0-snapshot.2 → 2.0.0-snapshot.6
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 +63 -539
- package/REFERENCE.md +32 -10
- package/dist/browser/browser-server.d.ts +95 -0
- package/dist/browser/browser-server.d.ts.map +1 -0
- package/dist/{server → browser}/browser-server.js +93 -7
- package/dist/browser/browser-server.js.map +1 -0
- package/dist/browser/durable-subscription-bindings.d.ts.map +1 -0
- package/dist/browser/durable-subscription-bindings.js.map +1 -0
- package/dist/browser/index.d.ts +12 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +24 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/options.d.ts +183 -0
- package/dist/browser/options.d.ts.map +1 -0
- package/dist/browser/options.js +15 -0
- package/dist/browser/options.js.map +1 -0
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +2 -1
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/context/entity-inbox.js +1 -1
- package/dist/context/entity-inbox.js.map +1 -1
- package/dist/context/local-inbox-handoff.js +1 -1
- package/dist/context/local-inbox-handoff.js.map +1 -1
- package/dist/context/tenant-index.d.ts.map +1 -1
- package/dist/context/tenant-index.js +2 -1
- package/dist/context/tenant-index.js.map +1 -1
- package/dist/delivery/inbox-storage.js +1 -1
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
- package/dist/delivery/sharded-work-registry.js +2 -1
- package/dist/delivery/sharded-work-registry.js.map +1 -1
- package/dist/entity/entity-storage-descriptor.d.ts +1 -1
- package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
- package/dist/handler/generated-handler-registry.d.ts +0 -7
- package/dist/handler/generated-handler-registry.d.ts.map +1 -1
- package/dist/handler/generated-handler-registry.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +3 -2
- package/dist/repository/repository.js.map +1 -1
- package/dist/server/environment-attachment.d.ts.map +1 -1
- package/dist/server/environment-attachment.js +2 -1
- package/dist/server/environment-attachment.js.map +1 -1
- package/dist/server/environment-delivery-worker.d.ts.map +1 -1
- package/dist/server/environment-delivery-worker.js +2 -1
- package/dist/server/environment-delivery-worker.js.map +1 -1
- package/dist/server/node-coordinator.js +2 -2
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/server.d.ts +9 -177
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +24 -72
- package/dist/server/server.js.map +1 -1
- package/dist/services/spine-services.js +2 -1
- package/dist/services/spine-services.js.map +1 -1
- package/dist/spi/delivery.d.ts +5 -0
- package/dist/spi/delivery.d.ts.map +1 -0
- package/dist/spi/delivery.js +18 -0
- package/dist/spi/delivery.js.map +1 -0
- package/dist/spi/handler-registry.d.ts +8 -0
- package/dist/spi/handler-registry.d.ts.map +1 -0
- package/dist/spi/handler-registry.js +15 -0
- package/dist/spi/handler-registry.js.map +1 -0
- package/dist/stand/stand.d.ts.map +1 -1
- package/dist/stand/stand.js +2 -1
- package/dist/stand/stand.js.map +1 -1
- package/dist/stand/subscription-observer.js +1 -1
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/stand/subscription-registry.js +1 -1
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/testing/index.d.ts +2 -3
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2 -3
- package/dist/testing/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +34 -23
- package/dist/handler/build-time-handler-analyzer.d.ts +0 -150
- package/dist/handler/build-time-handler-analyzer.d.ts.map +0 -1
- package/dist/handler/build-time-handler-analyzer.js +0 -1101
- package/dist/handler/build-time-handler-analyzer.js.map +0 -1
- package/dist/handler/generated-registry-writer.d.ts +0 -58
- package/dist/handler/generated-registry-writer.d.ts.map +0 -1
- package/dist/handler/generated-registry-writer.js +0 -458
- package/dist/handler/generated-registry-writer.js.map +0 -1
- package/dist/handler/handler-codegen.d.ts +0 -48
- package/dist/handler/handler-codegen.d.ts.map +0 -1
- package/dist/handler/handler-codegen.js +0 -214
- package/dist/handler/handler-codegen.js.map +0 -1
- package/dist/server/browser-server.d.ts +0 -49
- package/dist/server/browser-server.d.ts.map +0 -1
- package/dist/server/browser-server.js.map +0 -1
- package/dist/server/durable-subscription-bindings.d.ts.map +0 -1
- package/dist/server/durable-subscription-bindings.js.map +0 -1
- /package/dist/{server → browser}/durable-subscription-bindings.d.ts +0 -0
- /package/dist/{server → browser}/durable-subscription-bindings.js +0 -0
package/dist/server/server.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import type { AuthorizationPolicy, Clock, ContextResolver, OpaqueSessionCookies, SessionResolver, SubscriptionBindings } from "@spine-event-engine/auth";
|
|
2
|
-
import type { TypeRegistryLookup } from "@spine-event-engine/core";
|
|
3
|
-
import type { NodeDiscovery } from "@spine-event-engine/deployment";
|
|
4
1
|
import { BoundedContext, BoundedContextBuilder } from "../context/bounded-context.js";
|
|
5
2
|
import type { StandSubscriptionRegistry } from "../stand/subscription-registry.js";
|
|
6
3
|
import { type SpineServicesOptions } from "../services/spine-services.js";
|
|
@@ -101,8 +98,7 @@ export declare class Server {
|
|
|
101
98
|
* Concurrent calls on one builder return one managed handle. Run-managed
|
|
102
99
|
* siblings share an active generation but reject while caller-managed
|
|
103
100
|
* ownership is active. The final local environment-owning run retirement
|
|
104
|
-
* permanently closes its environment
|
|
105
|
-
* signal-managed but never owns or closes that environment. A failed final
|
|
101
|
+
* permanently closes its environment. A failed final
|
|
106
102
|
* close stays retryable through `close()` or a later process signal.
|
|
107
103
|
* Caller-managed servers never close their environment.
|
|
108
104
|
*
|
|
@@ -110,6 +106,14 @@ export declare class Server {
|
|
|
110
106
|
*/
|
|
111
107
|
run(): Promise<RunningServer>;
|
|
112
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Checks whether browser composition may start a private native listener.
|
|
111
|
+
*
|
|
112
|
+
* @internal
|
|
113
|
+
*/
|
|
114
|
+
export declare const serverBuilderAccess: Readonly<{
|
|
115
|
+
isLoopback(server: Server): boolean;
|
|
116
|
+
}>;
|
|
113
117
|
/**
|
|
114
118
|
* Options for building a local Spine HTTP/2 service host.
|
|
115
119
|
*/
|
|
@@ -155,178 +159,6 @@ export interface ServerOptions {
|
|
|
155
159
|
readonly resources?: readonly {
|
|
156
160
|
close(): unknown;
|
|
157
161
|
}[];
|
|
158
|
-
/**
|
|
159
|
-
* Browser admission and listener configuration. When present, the native
|
|
160
|
-
* HTTP/2 listener remains private on loopback and this public listener
|
|
161
|
-
* becomes the returned server URL.
|
|
162
|
-
*/
|
|
163
|
-
readonly browser?: BrowserServerOptions;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Selects exactly one browser admission mode and its binding ownership.
|
|
167
|
-
*
|
|
168
|
-
* An authenticated listener supplies `sessions` and may supply named durable
|
|
169
|
-
* `bindings`. A public listener supplies `publicAccess: true`; it owns
|
|
170
|
-
* process-local bindings itself and therefore cannot accept `bindings`.
|
|
171
|
-
*/
|
|
172
|
-
export type BrowserAdmission = {
|
|
173
|
-
/**
|
|
174
|
-
* Resolves authenticated application sessions from incoming credentials.
|
|
175
|
-
*/
|
|
176
|
-
readonly sessions: SessionResolver;
|
|
177
|
-
/**
|
|
178
|
-
* Excludes non-session public admission from authenticated mode.
|
|
179
|
-
*/
|
|
180
|
-
readonly publicAccess?: never;
|
|
181
|
-
/**
|
|
182
|
-
* Supplies named subscription bindings owned by the authenticated application.
|
|
183
|
-
*/
|
|
184
|
-
readonly bindings?: SubscriptionBindings;
|
|
185
|
-
} | {
|
|
186
|
-
/**
|
|
187
|
-
* Excludes session resolution from public mode.
|
|
188
|
-
*/
|
|
189
|
-
readonly sessions?: never;
|
|
190
|
-
/**
|
|
191
|
-
* Admits requests under the framework-owned non-session public principal.
|
|
192
|
-
*/
|
|
193
|
-
readonly publicAccess: true;
|
|
194
|
-
/**
|
|
195
|
-
* Prevents callers from supplying bindings that public mode does not own.
|
|
196
|
-
*/
|
|
197
|
-
readonly bindings?: never;
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Selects one separately hosted Spine backend or a non-empty fixed node set.
|
|
201
|
-
*/
|
|
202
|
-
export type BrowserBackend = {
|
|
203
|
-
/**
|
|
204
|
-
* Supplies one canonical backend HTTP(S) origin.
|
|
205
|
-
*/
|
|
206
|
-
readonly baseUrl: string;
|
|
207
|
-
/**
|
|
208
|
-
* Excludes a multi-node backend list when one backend is supplied.
|
|
209
|
-
*/
|
|
210
|
-
readonly baseUrls?: never;
|
|
211
|
-
} | {
|
|
212
|
-
/**
|
|
213
|
-
* Excludes a single backend origin when a fixed node set is supplied.
|
|
214
|
-
*/
|
|
215
|
-
readonly baseUrl?: never;
|
|
216
|
-
/**
|
|
217
|
-
* Supplies a non-empty fixed set of canonical backend HTTP(S) origins.
|
|
218
|
-
*/
|
|
219
|
-
readonly baseUrls: readonly string[];
|
|
220
|
-
};
|
|
221
|
-
/**
|
|
222
|
-
* Common collaborators for every browser Server admission mode.
|
|
223
|
-
*
|
|
224
|
-
* Pair these with exactly one {@link BrowserAdmission} to form
|
|
225
|
-
* {@link BrowserServerOptions}.
|
|
226
|
-
*/
|
|
227
|
-
export interface BrowserServerCollaborators {
|
|
228
|
-
/**
|
|
229
|
-
* Public browser listener host. Defaults to the server host.
|
|
230
|
-
*/
|
|
231
|
-
readonly host?: string;
|
|
232
|
-
/**
|
|
233
|
-
* Public browser listener port. Defaults to the server port.
|
|
234
|
-
*/
|
|
235
|
-
readonly port?: number;
|
|
236
|
-
/**
|
|
237
|
-
* Selects one separately hosted Spine backend or a non-empty fixed node set.
|
|
238
|
-
*
|
|
239
|
-
* Each URL must be one canonical HTTP(S) origin without credentials, query,
|
|
240
|
-
* fragment, or a path beyond `/`. `baseUrl` and `baseUrls` are exclusive;
|
|
241
|
-
* fan-in is best effort, so clients re-query authoritative state after a
|
|
242
|
-
* duplicate update or generic loss notice.
|
|
243
|
-
*/
|
|
244
|
-
readonly backend?: BrowserBackend;
|
|
245
|
-
/**
|
|
246
|
-
* Supplies changing complete membership for unary routing and native streams.
|
|
247
|
-
* Supplying discovery makes this a standalone Gateway, so the server does
|
|
248
|
-
* not assemble or own local contexts, services, resources, or listener
|
|
249
|
-
* lifecycles. When both backend and discovery are supplied, discovery is the
|
|
250
|
-
* active membership source and fixed backend values are not reconciled.
|
|
251
|
-
*/
|
|
252
|
-
readonly discovery?: NodeDiscovery;
|
|
253
|
-
/**
|
|
254
|
-
* Application-owned, exact authentication endpoints exposed beside the fixed
|
|
255
|
-
* Spine RPC paths. These endpoints are not a general-purpose router.
|
|
256
|
-
*/
|
|
257
|
-
readonly authRoutes?: readonly BrowserAuthRoute[];
|
|
258
|
-
/**
|
|
259
|
-
* Limits concurrently admitted application authentication requests across
|
|
260
|
-
* this listener. Defaults to 64 and must be a positive safe integer. Excess
|
|
261
|
-
* requests receive 503 before handler invocation; capacity recovers when an
|
|
262
|
-
* admitted request settles.
|
|
263
|
-
*/
|
|
264
|
-
readonly maxActiveAuthRequests?: number;
|
|
265
|
-
/**
|
|
266
|
-
* Exact browser origins permitted to make RPC calls.
|
|
267
|
-
*/
|
|
268
|
-
readonly origins: readonly string[];
|
|
269
|
-
/**
|
|
270
|
-
* Decodes application request content for authorization and actor resolution.
|
|
271
|
-
*/
|
|
272
|
-
readonly registry?: TypeRegistryLookup;
|
|
273
|
-
/**
|
|
274
|
-
* Allows or rejects an admitted principal for each decoded request.
|
|
275
|
-
*/
|
|
276
|
-
readonly authorize: AuthorizationPolicy["authorize"];
|
|
277
|
-
/**
|
|
278
|
-
* Independently resolves trusted actor and tenant context after authorization.
|
|
279
|
-
*/
|
|
280
|
-
readonly contexts: ContextResolver;
|
|
281
|
-
/**
|
|
282
|
-
* Supplies trusted timestamps for gateway decisions.
|
|
283
|
-
*/
|
|
284
|
-
readonly clock: Clock;
|
|
285
|
-
/**
|
|
286
|
-
* Enables strict opaque-cookie extraction alongside bearer credentials.
|
|
287
|
-
*/
|
|
288
|
-
readonly cookies?: OpaqueSessionCookies;
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Browser collaborators with exactly one admission and binding-ownership mode.
|
|
292
|
-
*/
|
|
293
|
-
export type BrowserServerOptions = BrowserServerCollaborators & BrowserAdmission;
|
|
294
|
-
/**
|
|
295
|
-
* Configures one bounded application authentication request.
|
|
296
|
-
*/
|
|
297
|
-
export interface BrowserAuthRoute {
|
|
298
|
-
/**
|
|
299
|
-
* Selects the accepted HTTP method.
|
|
300
|
-
*/
|
|
301
|
-
readonly method: "GET" | "POST";
|
|
302
|
-
/**
|
|
303
|
-
* Selects the exact canonical request path.
|
|
304
|
-
*/
|
|
305
|
-
readonly path: string;
|
|
306
|
-
/**
|
|
307
|
-
* Lists exact browser origins allowed for this route.
|
|
308
|
-
*/
|
|
309
|
-
readonly origins: readonly string[];
|
|
310
|
-
/**
|
|
311
|
-
* Allows an OAuth callback without an Origin header.
|
|
312
|
-
*/
|
|
313
|
-
readonly allowMissingOrigin?: boolean;
|
|
314
|
-
/**
|
|
315
|
-
* Limits accepted request-body bytes.
|
|
316
|
-
*/
|
|
317
|
-
readonly maxRequestBytes: number;
|
|
318
|
-
/**
|
|
319
|
-
* Limits request processing time in milliseconds.
|
|
320
|
-
*/
|
|
321
|
-
readonly timeoutMs: number;
|
|
322
|
-
/**
|
|
323
|
-
* Handles one admitted authentication request.
|
|
324
|
-
*
|
|
325
|
-
* @param request Supplies the bounded Fetch request.
|
|
326
|
-
* @param signal Signals timeout, disconnect, or gateway close.
|
|
327
|
-
* @returns Returns the application response.
|
|
328
|
-
*/
|
|
329
|
-
readonly onRequest: (request: Request, signal: AbortSignal) => Response | Promise<Response>;
|
|
330
162
|
}
|
|
331
163
|
/**
|
|
332
164
|
* Running local Spine service host.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAoBA,OAAO,EACL,cAAc,EACd,qBAAqB,EAEtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAkBvC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAGhC;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC;IAEjB;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,MAAM;;IAiBjB;;;;OAIG;gBACS,OAAO,GAAE,aAAkB;IAkBvC;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAM,GAAG,MAAM;IAI9E;;;;;;;;;;OAUG;IACH,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,GAAG,IAAI;IAK1D;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE;QAAE,KAAK,IAAI,OAAO,CAAA;KAAE,GAAG,IAAI;IAKjD;;;;;;;;OAQG;IACH,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAKxD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAwC/B;;;;;;;;;;;;;OAaG;IACH,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;CAkP9B;AAkBD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC;IACzC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC,CAKC,CAAC;AAQH;;GAEG;AACH,MAAM,WAAW,aAAa;IAG5B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,qBAAqB,CAAC,EAAE,CAAC;IAExE;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAAE,KAAK,IAAI,OAAO,CAAA;KAAE,EAAE,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAG5B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;;;OAYG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;;;;OAKG;IACH,sBAAsB,CACpB,MAAM,EAAE,aAAa,GACpB,SAAS,yBAAyB,EAAE,GAAG,SAAS,CAAC;IAEpD;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,mBAShC,CAAC"}
|
package/dist/server/server.js
CHANGED
|
@@ -15,17 +15,16 @@ import * as http2 from "node:http2";
|
|
|
15
15
|
import { connectNodeAdapter } from "@connectrpc/connect-node";
|
|
16
16
|
import { BoundedContext, BoundedContextBuilder, boundedContextAccess, } from "../context/bounded-context.js";
|
|
17
17
|
import { SpineServices, spineServicesAccess, } from "../services/spine-services.js";
|
|
18
|
-
import { BrowserServer } from "./browser-server.js";
|
|
19
18
|
import { ProcessServerCoordinator } from "./process-server-coordinator.js";
|
|
20
19
|
import { CloseErrors, RetryableCloseGroup } from "./retryable-close.js";
|
|
21
20
|
import { ServerEnvironment, serverEnvironmentAccess } from "./server-environment.js";
|
|
22
|
-
import { EnvironmentType } from "./environment.js";
|
|
23
21
|
const defaultHost = "127.0.0.1";
|
|
24
22
|
const defaultPort = 0;
|
|
25
23
|
const defaultMessageMaxBytes = 4_194_304;
|
|
26
24
|
const maximumMessageMaxBytes = 0xffff_ffff;
|
|
27
25
|
const gracefulSessionDrainMs = 100;
|
|
28
26
|
const runningContexts = new WeakMap();
|
|
27
|
+
const serverHosts = new WeakMap();
|
|
29
28
|
/**
|
|
30
29
|
* Configures and starts local Spine Connect/gRPC-compatible services.
|
|
31
30
|
*
|
|
@@ -43,7 +42,6 @@ export class Server {
|
|
|
43
42
|
#resources = [];
|
|
44
43
|
#listenerLifecycles = [];
|
|
45
44
|
#services;
|
|
46
|
-
#browser;
|
|
47
45
|
#environment;
|
|
48
46
|
#starting;
|
|
49
47
|
#startingOwnership;
|
|
@@ -64,8 +62,8 @@ export class Server {
|
|
|
64
62
|
this.#contexts.push(...(options.contexts ?? []));
|
|
65
63
|
this.#resources.push(...(options.resources ?? []));
|
|
66
64
|
this.#services = options.services ?? {};
|
|
67
|
-
this.#browser = options.browser;
|
|
68
65
|
this.#environment = ServerEnvironment.instance();
|
|
66
|
+
serverHosts.set(this, this.#host);
|
|
69
67
|
}
|
|
70
68
|
/**
|
|
71
69
|
* Creates a local-only server builder for one port.
|
|
@@ -169,8 +167,7 @@ export class Server {
|
|
|
169
167
|
* Concurrent calls on one builder return one managed handle. Run-managed
|
|
170
168
|
* siblings share an active generation but reject while caller-managed
|
|
171
169
|
* ownership is active. The final local environment-owning run retirement
|
|
172
|
-
* permanently closes its environment
|
|
173
|
-
* signal-managed but never owns or closes that environment. A failed final
|
|
170
|
+
* permanently closes its environment. A failed final
|
|
174
171
|
* close stays retryable through `close()` or a later process signal.
|
|
175
172
|
* Caller-managed servers never close their environment.
|
|
176
173
|
*
|
|
@@ -180,10 +177,8 @@ export class Server {
|
|
|
180
177
|
const current = this.#run;
|
|
181
178
|
if (current !== undefined)
|
|
182
179
|
return current;
|
|
183
|
-
const environment =
|
|
184
|
-
|
|
185
|
-
: this.#environment;
|
|
186
|
-
const running = this.#start("server").then((server) => ProcessServerCoordinator.add(server, environment, environment === undefined ? undefined : serverEnvironmentAccess.loggerFor(environment), () => {
|
|
180
|
+
const environment = this.#environment;
|
|
181
|
+
const running = this.#start("server").then((server) => ProcessServerCoordinator.add(server, environment, serverEnvironmentAccess.loggerFor(environment), () => {
|
|
187
182
|
if (this.#run === running) {
|
|
188
183
|
this.#run = undefined;
|
|
189
184
|
}
|
|
@@ -197,29 +192,6 @@ export class Server {
|
|
|
197
192
|
return running;
|
|
198
193
|
}
|
|
199
194
|
async #startOnce(ownership) {
|
|
200
|
-
const browser = this.#browser;
|
|
201
|
-
const standalone = ServerValues.isStandaloneBrowser(browser);
|
|
202
|
-
if (browser?.backend !== undefined)
|
|
203
|
-
BrowserServer.backendUrls(ServerValues.browserBackendUrls(browser.backend));
|
|
204
|
-
if (standalone &&
|
|
205
|
-
(this.#contexts.length > 0 ||
|
|
206
|
-
this.#resources.length > 0 ||
|
|
207
|
-
Object.keys(this.#services).length > 0 ||
|
|
208
|
-
this.#listenerLifecycles.length > 0))
|
|
209
|
-
throw new Error("Standalone browser server cannot own local contexts, services, or resources.");
|
|
210
|
-
if (browser !== undefined)
|
|
211
|
-
BrowserServer.requireDurableBindings(browser, this.#environment.environment.type === EnvironmentType.Production);
|
|
212
|
-
if (standalone && browser !== undefined)
|
|
213
|
-
return BrowserServer.open(browser.backend === undefined
|
|
214
|
-
? undefined
|
|
215
|
-
: BrowserServer.backendUrls(ServerValues.browserBackendUrls(browser.backend)), {
|
|
216
|
-
...browser,
|
|
217
|
-
host: browser.host ?? this.#host,
|
|
218
|
-
port: browser.port ?? this.#port,
|
|
219
|
-
readMaxBytes: this.#readMaxBytes,
|
|
220
|
-
writeMaxBytes: this.#writeMaxBytes,
|
|
221
|
-
production: this.#environment.environment.type === EnvironmentType.Production,
|
|
222
|
-
});
|
|
223
195
|
const contexts = await ServerValues.buildContexts(this.#contexts, this.#environment.storageFactory);
|
|
224
196
|
const logger = serverEnvironmentAccess.loggerFor(this.#environment);
|
|
225
197
|
for (const context of contexts) {
|
|
@@ -264,9 +236,7 @@ export class Server {
|
|
|
264
236
|
spineServicesAccess.installLogger(services, logger);
|
|
265
237
|
const sessions = new Set();
|
|
266
238
|
const httpServer = ServerValues.createHttpServer(services, sessions, this.#readMaxBytes, this.#writeMaxBytes);
|
|
267
|
-
const listener = this.#
|
|
268
|
-
? { host: this.#host, port: this.#port }
|
|
269
|
-
: { host: defaultHost, port: defaultPort };
|
|
239
|
+
const listener = { host: this.#host, port: this.#port };
|
|
270
240
|
const address = await ServerValues.listen(httpServer, listener.host, listener.port).catch(async (error) => {
|
|
271
241
|
const cleanup = {
|
|
272
242
|
closeGroup: new RetryableCloseGroup(closeables, "Server start cleanup failed while closing owned contexts/resources."),
|
|
@@ -300,27 +270,7 @@ export class Server {
|
|
|
300
270
|
this.#failedStartConsumed = true;
|
|
301
271
|
throw error;
|
|
302
272
|
}
|
|
303
|
-
|
|
304
|
-
return running;
|
|
305
|
-
try {
|
|
306
|
-
return await BrowserServer.open(running, {
|
|
307
|
-
...browser,
|
|
308
|
-
host: browser.host ?? this.#host,
|
|
309
|
-
port: browser.port ?? this.#port,
|
|
310
|
-
readMaxBytes: this.#readMaxBytes,
|
|
311
|
-
writeMaxBytes: this.#writeMaxBytes,
|
|
312
|
-
production: this.#environment.environment.type === EnvironmentType.Production,
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
|
-
catch (error) {
|
|
316
|
-
try {
|
|
317
|
-
await running.close();
|
|
318
|
-
}
|
|
319
|
-
catch (closeError) {
|
|
320
|
-
throw new AggregateError([error, closeError], "Server browser startup failed and rollback failed.");
|
|
321
|
-
}
|
|
322
|
-
throw error;
|
|
323
|
-
}
|
|
273
|
+
return running;
|
|
324
274
|
}
|
|
325
275
|
async #retryFailedStartCleanup(cleanup) {
|
|
326
276
|
const errors = [];
|
|
@@ -427,6 +377,23 @@ export class Server {
|
|
|
427
377
|
}
|
|
428
378
|
}
|
|
429
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* Checks whether browser composition may start a private native listener.
|
|
382
|
+
*
|
|
383
|
+
* @internal
|
|
384
|
+
*/
|
|
385
|
+
export const serverBuilderAccess = Object.freeze({
|
|
386
|
+
isLoopback(server) {
|
|
387
|
+
const host = serverHosts.get(server);
|
|
388
|
+
return host !== undefined && isLoopbackHost(host);
|
|
389
|
+
},
|
|
390
|
+
});
|
|
391
|
+
function isLoopbackHost(host) {
|
|
392
|
+
if (host === "::1" || host === "::ffff:127.0.0.1")
|
|
393
|
+
return true;
|
|
394
|
+
const match = /^127\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/u.exec(host);
|
|
395
|
+
return match?.slice(1).every((part) => Number(part) <= 255) === true;
|
|
396
|
+
}
|
|
430
397
|
/**
|
|
431
398
|
* Provides framework-only `RunningServer` context facts.
|
|
432
399
|
*
|
|
@@ -727,21 +694,6 @@ const ServerValues = Object.freeze({
|
|
|
727
694
|
}
|
|
728
695
|
return normalized;
|
|
729
696
|
},
|
|
730
|
-
browserBackendUrls(backend) {
|
|
731
|
-
const source = backend;
|
|
732
|
-
if (typeof source.baseUrl === "string" && source.baseUrls === undefined)
|
|
733
|
-
return [source.baseUrl];
|
|
734
|
-
if (source.baseUrl === undefined && Array.isArray(source.baseUrls)) {
|
|
735
|
-
const values = source.baseUrls;
|
|
736
|
-
if (values.some((value) => typeof value !== "string"))
|
|
737
|
-
throw new Error("Server browser backend URLs must be strings.");
|
|
738
|
-
return values;
|
|
739
|
-
}
|
|
740
|
-
throw new Error("Server browser backend must configure exactly one of baseUrl or baseUrls.");
|
|
741
|
-
},
|
|
742
|
-
isStandaloneBrowser(browser) {
|
|
743
|
-
return browser?.backend !== undefined || browser?.discovery !== undefined;
|
|
744
|
-
},
|
|
745
697
|
normalizeMessageMaxBytes(value, name) {
|
|
746
698
|
if (!Number.isInteger(value) || value < 1 || value > maximumMessageMaxBytes) {
|
|
747
699
|
throw new Error(`Server ${name} must be an integer from 1 through 4294967295.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,8 @@ import { EntityStateUpdateSchema, EntityUpdatesSchema, EventUpdatesSchema, Subsc
|
|
|
26
26
|
import { SubscriptionService } from "@spine-event-engine/proto/client";
|
|
27
27
|
import { AckSchema } from "@spine-event-engine/proto";
|
|
28
28
|
import { ResponseSchema, StatusSchema, } from "@spine-event-engine/proto";
|
|
29
|
-
import { RecordMask,
|
|
29
|
+
import { RecordMask, } from "@spine-event-engine/storage";
|
|
30
|
+
import { TenantBoundary } from "@spine-event-engine/storage/provider";
|
|
30
31
|
import { boundedContextAccess } from "../context/bounded-context.js";
|
|
31
32
|
import { CommandValidationError } from "../bus/command-errors.js";
|
|
32
33
|
import { TransitionValidationError } from "../repository/command-errors.js";
|