@rapidrest/service-core 2.3.0 → 2.4.0

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 CHANGED
@@ -1,94 +1,123 @@
1
- # RapidREST: service-core
2
-
3
- [![CI](https://github.com/rapidrest/service-core/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/rapidrest/service-core/actions/workflows/build.yml)
4
- [![Coverage Status](https://coveralls.io/repos/github/rapidrest/service-core/badge.svg?branch=main)](https://coveralls.io/github/rapidrest/service-core?branch=main)
5
- [![npm version](https://img.shields.io/npm/v/@rapidrest/service-core)](https://www.npmjs.com/package/@rapidrest/service-core)
6
-
7
- A library for implementing REST API services and backend applications using a decorator-driven, aspect oriented programming (AOP), architecture. It
8
- combines a high-performance HTTP engine, built on [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js/) or [Bun](https://bun.sh/), with
9
- integrated database abstraction with native MongoDB and SQL (via (TypeORM)[https://typeorm.io/]) support, sessions, JWT-based authenticaiton, Roles Based Access Control, and more.
10
-
11
- For complete documentation please visit [RapidREST.dev](https://rapidrest.dev).
12
-
13
- ## Features
14
-
15
- **API & Routing**
16
-
17
- - Decorator-driven, aspect-oriented routing — declare REST and WebSocket endpoints on plain
18
- classes, with parameter injection, before/after hooks, and request validation
19
- - Scaffolded CRUD — a full REST API (list, get, create, update, delete, filtering, pagination)
20
- for a data model from a single decorated class
21
- - Automatic OpenAPI 3 spec generation from the same route and model decorators
22
- - Runs on [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js/) or native
23
- [Bun](https://bun.sh/)
24
-
25
- **Data & Persistence**
26
-
27
- - Unified data access layer over native MongoDB and SQL (via [TypeORM](https://typeorm.io/))
28
- - Multi-connection ACID transactions via `@Transactional` decorator, with automatic
29
- fallback for backends that don't support them
30
- - Soft-delete and optimistic-locked versioning built into the base entity model, with restore
31
- support
32
- - Declarative Redis-backed caching
33
-
34
- **Auth & Security**
35
-
36
- - Built-in JWT authentication, plus a pluggable middleware for other schemes (OAuth/OIDC,
37
- WebAuthn passkeys, TOTP, etc.)
38
- - Roles Based Access Control layered with per-record Access Control Lists for fine-grained,
39
- row-level authorization
40
- - Server-side session management (in-memory or Redis-backed)
41
- - Attempt-count rate limiting (`RateLimiter`) for brute-force/abuse defense, layered per-identifier
42
- and per-source-IP (reverse-proxy aware), Redis-backed and atomic across instances
43
- - CSRF (double-submit cookie) protection (`RouteUtils.checkCsrf()`), applied automatically to every
44
- cookie-authenticated, state-changing request — never a bearer-token/API-key/query-token caller
45
-
46
- **Real-time & Background Work**
47
-
48
- - Real-time push over WebSocket — channel-based pub/sub (Redis-backed) with per-subscription
49
- access control
50
- - Scheduled, cron-style background services with lifecycle management
51
- - An application-wide event system for decoupled, in-process pub/sub
52
-
53
- **Operations**
54
-
55
- - Prometheus metrics out of the box
56
- - Ready-made admin routes: health/status, live log streaming over WebSocket, static asset serving
57
-
58
- ## Installation
59
-
60
- ### NPM
61
-
62
- ```
63
- npm i @rapidrest/service-core
64
- ```
65
-
66
- ### Yarn
67
-
68
- ```
69
- yarn add @rapidrest/service-core
70
- ```
71
-
72
- ## Requirements
73
-
74
- This package targets Node.js `>=24.0.0` and is published as an ESM-only package.
75
-
76
- It declares `@rapidrest/core` as required peer dependencies. The remaining peer
77
- dependencies are optional and only need to be installed if you use the corresponding feature:
78
-
79
- | Peer dependency | Required for |
80
- | ------------------ | ----------------------------------------- |
81
- | `@rapidrest/core` | Always |
82
- | `lodash-es` | Always |
83
- | `mongodb` | MongoDB datasources |
84
- | `openapi3-ts` | Always |
85
- | `prom-client` | Always |
86
- | `redis` | Caching, sessions, WebSocket/Push support |
87
- | `reflect-metadata` | Always |
88
- | `typeorm` | SQL datasources |
89
- | `uWebSockets.js` | Node.js runtime |
90
- | `winston` | Always |
91
-
92
- ## License
93
-
94
- MPL v2.0 — see [LICENSE](./LICENSE).
1
+ # RapidREST: service-core
2
+
3
+ [![CI](https://github.com/rapidrest/service-core/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/rapidrest/service-core/actions/workflows/build.yml)
4
+ [![Coverage Status](https://coveralls.io/repos/github/rapidrest/service-core/badge.svg?branch=main)](https://coveralls.io/github/rapidrest/service-core?branch=main)
5
+ [![npm version](https://img.shields.io/npm/v/@rapidrest/service-core)](https://www.npmjs.com/package/@rapidrest/service-core)
6
+
7
+ A library for implementing REST API services and backend applications using a decorator-driven, aspect oriented programming (AOP), architecture. It
8
+ combines a high-performance HTTP engine, built on [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js/) or [Bun](https://bun.sh/), with
9
+ integrated database abstraction with native MongoDB and SQL (via (TypeORM)[https://typeorm.io/]) support, sessions, JWT-based authenticaiton, Roles Based Access Control, and more.
10
+
11
+ For complete documentation please visit [RapidREST.dev](https://rapidrest.dev).
12
+
13
+ ## Features
14
+
15
+ **API & Routing**
16
+
17
+ - Decorator-driven, aspect-oriented routing — declare REST and WebSocket endpoints on plain
18
+ classes, with parameter injection, before/after hooks, and request validation
19
+ - Scaffolded CRUD — a full REST API (list, get, create, update, delete, filtering, pagination)
20
+ for a data model from a single decorated class
21
+ - Automatic OpenAPI 3 spec generation from the same route and model decorators
22
+ - Runs on [uWebSockets.js](https://github.com/uNetworking/uWebSockets.js/) or native
23
+ [Bun](https://bun.sh/)
24
+
25
+ **Data & Persistence**
26
+
27
+ - Unified data access layer over native MongoDB and SQL (via [TypeORM](https://typeorm.io/))
28
+ - Multi-connection ACID transactions via `@Transactional` decorator, with automatic
29
+ fallback for backends that don't support them
30
+ - Soft-delete and optimistic-locked versioning built into the base entity model, with restore
31
+ support
32
+ - Declarative Redis-backed caching
33
+
34
+ **Auth & Security**
35
+
36
+ - Built-in JWT authentication, plus a pluggable middleware for other schemes (OAuth/OIDC,
37
+ WebAuthn passkeys, TOTP, etc.)
38
+ - Roles Based Access Control layered with per-record Access Control Lists for fine-grained,
39
+ row-level authorization
40
+ - Server-side session management (in-memory or Redis-backed)
41
+ - Attempt-count rate limiting (`RateLimiter`) for brute-force/abuse defense, layered per-identifier
42
+ and per-source-IP (reverse-proxy aware), Redis-backed and atomic across instances
43
+ - CSRF (double-submit cookie) protection (`RouteUtils.checkCsrf()`), applied automatically to every
44
+ cookie-authenticated, state-changing request — never a bearer-token/API-key/query-token caller
45
+
46
+ **Real-time & Background Work**
47
+
48
+ - Real-time push over WebSocket — channel-based pub/sub (Redis-backed) with per-subscription
49
+ access control
50
+ - Scheduled, cron-style background services with lifecycle management
51
+ - An application-wide event system for decoupled, in-process pub/sub
52
+
53
+ **Operations**
54
+
55
+ - Prometheus metrics out of the box
56
+ - Ready-made admin routes: health/status, live log streaming over WebSocket, static asset serving
57
+
58
+ ## WebSocket routes
59
+
60
+ Declare a WebSocket endpoint with `@WebSocket(path?, options?)`. It takes the same argument decorators as an HTTP
61
+ route (`@Param()`, `@Query()`, `@User()`, `@Socket`, ...) and the same `@Auth`, `@RequiresRole`, `@RateLimit`
62
+ decorators, and runs on both uWebSockets.js and Bun:
63
+
64
+ ```ts
65
+ @Route("/relay")
66
+ class RelayRoute {
67
+ @WebSocket("/:id", { maxPayloadLength: 1024 * 1024, maxBackpressure: 8 * 1024 * 1024 })
68
+ public relay(@Param("id") id: string, @Socket socket: any): void {
69
+ socket.on("message", (data: Buffer) => socket.send(data));
70
+ }
71
+ }
72
+ ```
73
+
74
+ The options are all optional. A route without them (or a field left out) keeps the defaults, which are uWebSockets.js'
75
+ own:
76
+
77
+ | Option | Unit | Default | Allowed | What happens past the limit |
78
+ | ------------------ | ------- | ------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
79
+ | `maxPayloadLength` | bytes | 16 KiB | 1 to 16 MiB | A larger incoming message is refused and the connection is closed (uWebSockets.js drops it without a close frame, so clients see code 1006; the Bun router closes with 1009). |
80
+ | `maxBackpressure` | bytes | 64 KiB | 1 to 64 MiB | Once this much is queued for a slow client, further `send()` calls are dropped instead of buffered. Each connection may hold this much memory. |
81
+ | `idleTimeout` | seconds | 120 | `0` (off), or 8 to 960 | A connection that receives nothing for this long is closed. |
82
+
83
+ Values are checked when the route is registered: anything that is not an integer in range, or an unknown option name,
84
+ throws an Error that names the route. On the Bun router, `idleTimeout` and `maxBackpressure` are server-wide (the
85
+ largest value any route set) while `maxPayloadLength` is enforced per route.
86
+
87
+ ## Installation
88
+
89
+ ### NPM
90
+
91
+ ```
92
+ npm i @rapidrest/service-core
93
+ ```
94
+
95
+ ### Yarn
96
+
97
+ ```
98
+ yarn add @rapidrest/service-core
99
+ ```
100
+
101
+ ## Requirements
102
+
103
+ This package targets Node.js `>=24.0.0` and is published as an ESM-only package.
104
+
105
+ It declares `@rapidrest/core` as required peer dependencies. The remaining peer
106
+ dependencies are optional and only need to be installed if you use the corresponding feature:
107
+
108
+ | Peer dependency | Required for |
109
+ | ------------------ | ----------------------------------------- |
110
+ | `@rapidrest/core` | Always |
111
+ | `lodash-es` | Always |
112
+ | `mongodb` | MongoDB datasources |
113
+ | `openapi3-ts` | Always |
114
+ | `prom-client` | Always |
115
+ | `redis` | Caching, sessions, WebSocket/Push support |
116
+ | `reflect-metadata` | Always |
117
+ | `typeorm` | SQL datasources |
118
+ | `uWebSockets.js` | Node.js runtime |
119
+ | `winston` | Always |
120
+
121
+ ## License
122
+
123
+ MPL v2.0 — see [LICENSE](./LICENSE).
@@ -483,12 +483,30 @@ export function Validate(func) {
483
483
  Reflect.defineMetadata("rrst:route", route, target, propertyKey);
484
484
  };
485
485
  }
486
+ /** The largest `maxPayloadLength` a `@WebSocket()` route may configure: 16 MiB, in bytes. */
487
+ export const MAX_WEBSOCKET_PAYLOAD_LENGTH = 16 * 1024 * 1024;
488
+ /** The largest `maxBackpressure` a `@WebSocket()` route may configure: 64 MiB, in bytes. */
489
+ export const MAX_WEBSOCKET_BACKPRESSURE = 64 * 1024 * 1024;
490
+ /** The largest `idleTimeout` a `@WebSocket()` route may configure: 960 seconds, the most uWebSockets.js accepts. */
491
+ export const MAX_WEBSOCKET_IDLE_TIMEOUT = 960;
486
492
  /**
487
493
  * Indicates that the decorated function handles incoming `WebSocket` upgrade requests at the given sub-path.
488
494
  *
489
495
  * @param path The sub-path that the route will handle requests for.
496
+ * @param options Optional WebSocket limits for this route (message size, send backpressure, idle timeout). See
497
+ * `WebSocketRouteOptions`. Omit it to keep the defaults.
490
498
  */
491
- export function WebSocket(path) {
492
- return Method("ws", path);
499
+ export function WebSocket(path, options) {
500
+ const method = Method("ws", path);
501
+ return function (target, propertyKey, descriptor) {
502
+ method(target, propertyKey, descriptor);
503
+ // Always assigned, even when `options` is omitted: `getRouteMetadata()` starts from the overridden ancestor
504
+ // method's metadata, and re-declaring `@WebSocket()` without options on a subclass means "the defaults", not
505
+ // "whatever the base class set". The options are copied so that a later mutation of the caller's object can't
506
+ // change a route that has already been declared.
507
+ const route = getRouteMetadata(target, propertyKey);
508
+ route.wsOptions = options ? { ...options } : undefined;
509
+ Reflect.defineMetadata("rrst:route", route, target, propertyKey);
510
+ };
493
511
  }
494
512
  //# sourceMappingURL=RouteDecorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteDecorators.js","sourceRoot":"","sources":["../../../src/decorators/RouteDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouteDecorators.js","sourceRoot":"","sources":["../../../src/decorators/RouteDecorators.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,28 @@ function remoteAddressOf(uwsRes) {
26
26
  const raw = Buffer.from(uwsRes.getRemoteAddressAsText()).toString();
27
27
  return NetUtils.normalizeIP(raw) ?? raw;
28
28
  }
29
+ /**
30
+ * Copies a route's `:param` values from the uWS request onto `req.params`, keyed by `paramNames` (see
31
+ * `extractParamNames()`). Shared by the HTTP handlers and the WebSocket `upgrade` callback. Must be called
32
+ * synchronously (`uwsReq` is stack-allocated and only valid before the first `await`).
33
+ *
34
+ * uWS never decodes route segments itself (unlike the query-string parsing in Adapters.ts), so a
35
+ * caller-encoded value (e.g. `encodeURIComponent()`-ing an email-address-derived uid before
36
+ * building the URL, this library's own established convention) would otherwise arrive here still
37
+ * percent-encoded and fail every downstream uid lookup. Falls back to the raw value on malformed
38
+ * percent-encoding (e.g. a bare "%"), matching Adapters.ts's identical query-string fallback.
39
+ */
40
+ function capturePathParams(uwsReq, paramNames, req) {
41
+ for (let i = 0; i < paramNames.length; i++) {
42
+ const raw = uwsReq.getParameter(i) || "";
43
+ try {
44
+ req.params[paramNames[i]] = decodeURIComponent(raw);
45
+ }
46
+ catch {
47
+ req.params[paramNames[i]] = raw;
48
+ }
49
+ }
50
+ }
29
51
  /**
30
52
  * Wraps a uWS route handler to convert uWS request/response objects into `HttpRequest`/`HttpResponse`
31
53
  * adapters, reads the body, and runs the full middleware chain (pre-route global + route-specific + post-route global).
@@ -57,20 +79,7 @@ function makeUWSHandler(globalMiddleware, routeHandlers, options) {
57
79
  const res = new UWSResponse(uwsRes);
58
80
  res.isHead = isHead;
59
81
  // Capture path params synchronously (uwsReq is stack-allocated, only valid before first await).
60
- // uWS never decodes route segments itself (unlike the query-string parsing in Adapters.ts), so a
61
- // caller-encoded value (e.g. `encodeURIComponent()`-ing an email-address-derived uid before
62
- // building the URL, this library's own established convention) would otherwise arrive here still
63
- // percent-encoded and fail every downstream uid lookup. Falls back to the raw value on malformed
64
- // percent-encoding (e.g. a bare "%"), matching Adapters.ts's identical query-string fallback.
65
- for (let i = 0; i < paramNames.length; i++) {
66
- const raw = uwsReq.getParameter(i) || "";
67
- try {
68
- req.params[paramNames[i]] = decodeURIComponent(raw);
69
- }
70
- catch {
71
- req.params[paramNames[i]] = raw;
72
- }
73
- }
82
+ capturePathParams(uwsReq, paramNames, req);
74
83
  if (streamingBody) {
75
84
  // Opted out of buffering (see HttpRouteOptions.streamingBody / @StreamingBody()) — expose
76
85
  // the raw body as a stream instead. This must happen synchronously, in the same tick as
@@ -274,14 +283,26 @@ export class HttpRouter {
274
283
  * Both `path` and `path + "/"` are registered to avoid trailing-slash mismatch.
275
284
  */
276
285
  ws(routePath, handlers, wsOptions, upgradeAuth) {
286
+ // An option a route leaves `undefined` keeps its default: a plain object spread would let an explicit
287
+ // `undefined` overwrite the default and hand uWS `undefined` instead. Any other uWS behavior option in
288
+ // `wsOptions` is passed through untouched.
289
+ const options = { ...wsOptions };
290
+ for (const key of Object.keys(DEFAULT_WS_OPTIONS)) {
291
+ options[key] = wsOptions?.[key] ?? DEFAULT_WS_OPTIONS[key];
292
+ }
293
+ const paramNames = extractParamNames(routePath);
294
+ // One behavior object, shared by the plain and the trailing-slash registration below, so both get the same
295
+ // options.
277
296
  const behavior = {
278
297
  // Explicit defaults, identical to the ones BunRouter applies, so a route behaves the same on both runtimes.
279
- ...DEFAULT_WS_OPTIONS,
280
- ...wsOptions,
298
+ ...options,
281
299
  upgrade: (uwsRes, uwsReq, context) => {
282
300
  // Capture all request data synchronously — uWS HttpRequest is stack-allocated
283
301
  const req = new UWSRequest(uwsReq, remoteAddressOf(uwsRes));
284
302
  req.routePattern = routePath;
303
+ // `:param` segments must be read here: `open` runs after the request object is gone, and the HTTP
304
+ // handlers' capture (see makeUWSHandler) never runs for an upgrade.
305
+ capturePathParams(uwsReq, paramNames, req);
285
306
  const secWebSocketKey = uwsReq.getHeader("sec-websocket-key");
286
307
  const secWebSocketProtocol = uwsReq.getHeader("sec-websocket-protocol");
287
308
  const secWebSocketExtensions = uwsReq.getHeader("sec-websocket-extensions");
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../src/http/uWS/Router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../../src/http/uWS/Router.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,EACH,kBAAkB,GAQrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAsB,MAAM,uBAAuB,CAAC;AAC5H,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGpE;;uGAEuG;AACvG,SAAS,aAAa,CAAC,QAAgB;IACnC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;+FAC+F;AAC/F,SAAS,eAAe,CAAC,MAAwB;IAC7C,MAAM,GAAG,GAAW,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5E,OAAO,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAC5C,CAAC;AAOD;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,MAAuB,EAAE,UAAoB,EAAE,GAAe;IACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACL,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACpC,CAAC;IACL,CAAC;AACL,CAAC;AAiBD;;;;;;;GAOG;AACH,SAAS,cAAc,CACnB,gBAAkC,EAClC,aAA+B,EAC/B,OAA0B;IAE1B,MAAM,EACF,SAAS,EACT,UAAU,EACV,YAAY,EACZ,MAAM,GAAG,KAAK,EACd,WAAW,GAAG,qBAAqB,EACnC,QAAQ,EACR,aAAa,GAAG,KAAK,GACxB,GAAG,OAAO,CAAC;IACZ,wFAAwF;IACxF,gFAAgF;IAChF,IAAI,WAAW,GAA4B,IAAI,CAAC;IAEhD,OAAO,KAAK,EAAE,MAAwB,EAAE,MAAuB,EAAE,EAAE;QAC/D,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACL,CAAC,CAAC;IAEF,KAAK,UAAU,MAAM,CAAC,MAAwB,EAAE,MAAuB;QACnE,+CAA+C;QAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAE9C,uEAAuE;QACvE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAClD,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QAEpB,gGAAgG;QAChG,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAE3C,IAAI,aAAa,EAAE,CAAC;YAChB,0FAA0F;YAC1F,wFAAwF;YACxF,0FAA0F;YAC1F,0FAA0F;YAC1F,2FAA2F;YAC3F,oFAAoF;YACpF,oCAAoC;YACpC,GAAG,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7C,kFAAkF;YAClF,sFAAsF;YACtF,oFAAoF;YACpF,sFAAsF;YACtF,uBAAuB;YACvB,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,0FAA0F;YAC1F,0FAA0F;YAC1F,6DAA6D;YAC7D,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACL,qDAAqD;YACzD,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;YACX,CAAC;QACL,CAAC;QAED,4EAA4E;QAC5E,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,WAAW,GAAG;gBACV,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBACvC,GAAG,aAAa;gBAChB,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC;aACvC,CAAC;QACN,CAAC;QACD,MAAM,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEtC,8CAA8C;QAC9C,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,UAAU;IA6BnB,YAAY,MAAwB,EAAE,cAAsB,qBAAqB;QA3BhE,qBAAgB,GAAqB,EAAE,CAAC;QACjD,iBAAY,GAAgC,IAAI,CAAC;QACzD;;;WAGG;QACK,kBAAa,GAAW,CAAC,CAAC,CAAC;QACnC,8FAA8F;QACvF,eAAU,GAAW,CAAC,CAAC;QAC9B;;;;WAIG;QACc,sBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC5D;;;;;WAKG;QACc,yBAAoB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAG/D,iDAAiD;QAChC,aAAQ,GAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAGtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,2DAA2D;IAC3D,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,uEAAuE;IAChE,GAAG,CAAC,GAAG,QAA0B;QACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,oBAAoB;QACxB,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,oHAAoH;IAC5G,WAAW,CACf,QAA0B,EAC1B,SAAiB,EACjB,YAAgC,EAChC,SAAkB,KAAK,EACvB,eAAiC,EAAE;QAEnC,OAAO,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE;YACnD,SAAS;YACT,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,YAAY;YACZ,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,YAAY,CAAC,aAAa;SAC5C,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,iDAAiD;IACjD,4EAA4E;IAErE,GAAG,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,GAAG,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QACxF,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QAC3F,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,IAAI,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,2FAA2F;QAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO,CAAC,SAAiB,EAAE,GAAG,iBAA2D;QAC5F,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,8FAA8F;QAC9F,gGAAgG;QAChG,IAAI,UAAU,KAAK,IAAI;YAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;yDAKqD;IAC9C,uBAAuB,CAAC,IAAY;QACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;OAWG;IACI,EAAE,CACL,SAAiB,EACjB,QAA0B,EAC1B,SAAkE,EAClE,WAA2B;QAE3B,sGAAsG;QACtG,uGAAuG;QACvG,2CAA2C;QAC3C,MAAM,OAAO,GAAwC,EAAE,GAAI,SAAiD,EAAE,CAAC;QAC/G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAA2C,EAAE,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,GAAI,SAA0C,EAAE,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,UAAU,GAAa,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1D,2GAA2G;QAC3G,WAAW;QACX,MAAM,QAAQ,GAA+B;YACzC,4GAA4G;YAC5G,GAAG,OAAO;YAEV,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gBACjC,8EAA8E;gBAC9E,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5D,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC7B,kGAAkG;gBAClG,oEAAoE;gBACpE,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAC9D,MAAM,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;gBACxE,MAAM,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;gBAE5E,IAAI,WAAW,EAAE,CAAC;oBACd,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;oBACpC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBACpB,sDAAsD;wBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;4BACb,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;4BACvC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;4BACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;wBACzE,CAAC,CAAC,CAAC;wBACH,OAAO;oBACX,CAAC;oBACD,uEAAuE;oBACvE,iFAAiF;oBACjF,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;wBAClB,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;wBAC3B,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;wBACtB,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;wBACzC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;oBACzC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,OAAO,CAAC,CAAC;YACpG,CAAC;YAED,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBACf,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAiD,CAAC;gBACjF,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACtC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAErB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAgB,CAAC;gBACtC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrB,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEtB,qFAAqF;gBACrF,yFAAyF;gBACzF,oFAAoF;gBACpF,wFAAwF;gBACxF,MAAM,OAAO,GAAiB,kBAAkB,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;oBACjE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,OAAO,IAAI,uBAAuB,CAAC,CAAC;gBACnF,CAAC,CAAC,CAAC;gBAEH,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBAEvC,wDAAwD;gBACxD,qEAAqE;gBACrE,oEAAoE;gBACpE,mEAAmE;gBACnE,iEAAiE;gBACjE,0CAA0C;gBAC1C,EAAE;gBACF,sFAAsF;gBACtF,wFAAwF;gBACxF,2FAA2F;gBAC3F,0FAA0F;gBAC1F,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACD,EAAE,CAAC,GAAG,EAAE,CAAC;oBACb,CAAC;oBAAC,MAAM,CAAC;wBACL,8CAA8C;oBAClD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;gBAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAiC,CAAC;gBACjE,uGAAuG;gBACvG,qGAAqG;gBACrG,gGAAgG;gBAChG,6DAA6D;gBAC7D,QAAQ,CAAC,IAAI,EAAE,IAAI,CACf,SAAS,EACT,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAC1E,QAAQ,CACX,CAAC;YACN,CAAC;YAED,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;gBACzB,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAiC,CAAC;gBACjE,QAAQ,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpF,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,CAAC;SACJ,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACpC,8DAA8D;QAC9D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,GAAG,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,IAAY,EAAE,IAAY;QACpC,kGAAkG;QAClG,6FAA6F;QAC7F,4FAA4F;QAC5F,+FAA+F;QAC/F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAE9D,yFAAyF;QACzF,4FAA4F;QAC5F,6FAA6F;QAC7F,0FAA0F;QAC1F,+FAA+F;QAC/F,oFAAoF;QACpF,uBAAuB;QACvB,MAAM,eAAe,GAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAkB,EAAE,EAAE;YACvE,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAW,CAAC;QAChH,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,EAAE,CAAC;YAC5E,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,+FAA+F;gBAC/F,oGAAoG;gBACpG,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACtC,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;oBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oFAAoF;IAC7E,KAAK;QACR,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,YAAoB,KAAK;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,QAAQ,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACL,iBAAiB;QACrB,CAAC;IACL,CAAC;CAKJ"}
@@ -19,6 +19,7 @@ import { ACLAction, ACLUtils } from "../security/index.js";
19
19
  import _ from "lodash-es";
20
20
  import { AuthMiddleware } from "../auth/AuthMiddleware.js";
21
21
  import { RateLimiter } from "../RateLimiter.js";
22
+ import { MAX_WEBSOCKET_BACKPRESSURE, MAX_WEBSOCKET_IDLE_TIMEOUT, MAX_WEBSOCKET_PAYLOAD_LENGTH, } from "../decorators/RouteDecorators.js";
22
23
  import { NetUtils } from "../NetUtils.js";
23
24
  import { verifyCsrfRequest, ensureCsrfCookie } from "../http/csrf/csrf.js";
24
25
  const { Config, Inject, Logger } = ObjectDecorators;
@@ -96,6 +97,56 @@ export class RouteUtils {
96
97
  }
97
98
  };
98
99
  }
100
+ /**
101
+ * Validates the options of a `@WebSocket()` route and returns the object to pass to `app.ws()` as its
102
+ * `wsOptions`, or `undefined` when the route has no options (so it gets the router's defaults, exactly as a route
103
+ * that never had this feature). A field that is `undefined` is left out and keeps its default.
104
+ *
105
+ * Every value must be a finite integer: `maxPayloadLength` from 1 to 16 MiB, `maxBackpressure` from 1 to 64 MiB,
106
+ * and `idleTimeout` `0` (disabled) or from 8 to 960 seconds (uWebSockets.js refuses `1` to `7` and anything over
107
+ * 960 by aborting while the route is being registered, so those are rejected here with a readable error instead).
108
+ * An option name that is not one of the three is rejected too, since it would otherwise be silently ignored.
109
+ *
110
+ * @param options The options declared on the route, if any.
111
+ * @param routeName A description of the route (e.g. `WS /relay/:id`), used in the error message.
112
+ * @throws Error naming the route when an option is invalid.
113
+ */
114
+ static resolveWebSocketOptions(options, routeName) {
115
+ if (options === undefined || options === null) {
116
+ return undefined;
117
+ }
118
+ if (typeof options !== "object" || Array.isArray(options)) {
119
+ throw new Error(`Invalid WebSocket options for ${routeName}: expected an object.`);
120
+ }
121
+ const limits = {
122
+ maxPayloadLength: { min: 1, max: MAX_WEBSOCKET_PAYLOAD_LENGTH },
123
+ maxBackpressure: { min: 1, max: MAX_WEBSOCKET_BACKPRESSURE },
124
+ idleTimeout: { min: 8, max: MAX_WEBSOCKET_IDLE_TIMEOUT, zero: true },
125
+ };
126
+ const resolved = {};
127
+ for (const key of Object.keys(options)) {
128
+ if (!Object.prototype.hasOwnProperty.call(limits, key)) {
129
+ throw new Error(`Invalid WebSocket options for ${routeName}: unknown option "${key}" (expected ` +
130
+ `${Object.keys(limits).join(", ")}).`);
131
+ }
132
+ }
133
+ for (const key of Object.keys(limits)) {
134
+ const value = options[key];
135
+ if (value === undefined) {
136
+ continue;
137
+ }
138
+ const { min, max, zero } = limits[key];
139
+ const range = zero ? `0 (disabled) or an integer from ${min} to ${max}` : `an integer from ${min} to ${max}`;
140
+ if (typeof value !== "number" || !Number.isInteger(value)) {
141
+ throw new Error(`Invalid WebSocket option ${key} for ${routeName}: ${String(value)} is not ${range}.`);
142
+ }
143
+ if (!(zero && value === 0) && (value < min || value > max)) {
144
+ throw new Error(`Invalid WebSocket option ${key} for ${routeName}: ${value} is not ${range}.`);
145
+ }
146
+ resolved[key] = value;
147
+ }
148
+ return resolved;
149
+ }
99
150
  /**
100
151
  * Returns a canonical form of a request path for use in rate limit identifiers. The router percent-decodes
101
152
  * `:param` values, so `/clients/%61bc` and `/clients/abc` reach the same handler. Keying on the raw path would
@@ -501,8 +552,12 @@ export class RouteUtils {
501
552
  this.sanitizeWsError(),
502
553
  ]
503
554
  : [...middleware, this.sanitizeWsError()];
555
+ // The route's own `@WebSocket(path, options)` limits, validated here so a bad value fails
556
+ // registration with an error naming the route. `undefined` (no options declared) leaves
557
+ // the router's defaults exactly as they always were.
558
+ const wsOptions = RouteUtils.resolveWebSocketOptions(metadata.wsOptions, `WS ${path} (${route.constructor.name}.${key})`);
504
559
  // Register with the HttpRouter's ws() method; trailing slash handled internally
505
- app.ws(path, wsMiddleware, undefined, upgradeAuth);
560
+ app.ws(path, wsMiddleware, wsOptions, upgradeAuth);
506
561
  // Update our OpenAPI spec — WebSocket upgrade is a GET request
507
562
  this.apiSpec.addRoute(key, path, "get", metadata, docs, route, true);
508
563
  this.logger.info("Registered Route: WS " + path);
@@ -1 +1 @@
1
- {"version":3,"file":"RouteUtils.js","sourceRoot":"","sources":["../../../src/routes/RouteUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouteUtils.js","sourceRoot":"","sources":["../../../src/routes/RouteUtils.ts"],"names":[],"mappings":"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"}
@@ -239,10 +239,55 @@ export declare function User(target: any, propertyKey: string, index: number): v
239
239
  * @param func The validation function to execute that will verify the request payload.
240
240
  */
241
241
  export declare function Validate(func: Function | string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
242
+ /** The largest `maxPayloadLength` a `@WebSocket()` route may configure: 16 MiB, in bytes. */
243
+ export declare const MAX_WEBSOCKET_PAYLOAD_LENGTH: number;
244
+ /** The largest `maxBackpressure` a `@WebSocket()` route may configure: 64 MiB, in bytes. */
245
+ export declare const MAX_WEBSOCKET_BACKPRESSURE: number;
246
+ /** The largest `idleTimeout` a `@WebSocket()` route may configure: 960 seconds, the most uWebSockets.js accepts. */
247
+ export declare const MAX_WEBSOCKET_IDLE_TIMEOUT: number;
248
+ /**
249
+ * Per-route WebSocket limits for `@WebSocket()`. Every field is optional; a field left out (or `undefined`) keeps the
250
+ * framework default (`DEFAULT_WS_OPTIONS` in `http/types.ts`, the same as uWebSockets.js' own), so a route without
251
+ * options behaves exactly as it always has. The values are checked when the route is registered (see
252
+ * `RouteUtils.resolveWebSocketOptions()`), and an invalid one throws an Error that names the route.
253
+ */
254
+ export interface WebSocketRouteOptions {
255
+ /**
256
+ * The largest single message the route accepts from a client, in bytes. Integer from `1` to
257
+ * `MAX_WEBSOCKET_PAYLOAD_LENGTH` (16 MiB). Default `16384` (16 KiB).
258
+ *
259
+ * A client message larger than this is not delivered to the route. uWebSockets.js drops the connection at once
260
+ * without sending a close frame, so the client sees an abnormal closure (code 1006 in browsers and `ws`); the Bun
261
+ * router closes the socket with code 1009 instead. The limit is per message, so a payload a client splits into
262
+ * several messages is not bound by it as a whole.
263
+ */
264
+ maxPayloadLength?: number;
265
+ /**
266
+ * How many bytes the route may have queued to send to a slow client before further sends are dropped, in bytes.
267
+ * Integer from `1` to `MAX_WEBSOCKET_BACKPRESSURE` (64 MiB). Default `65536` (64 KiB).
268
+ *
269
+ * When a client reads more slowly than the route sends, the unsent bytes are buffered per connection. Once the
270
+ * buffer is over this limit, uWebSockets.js drops further messages (`send()` reports them as dropped) instead of
271
+ * queuing them. Raise it for a route that streams large frames (e.g. video); each connection may then hold that
272
+ * much memory. On the Bun router this is server-wide, using the largest value any WebSocket route set.
273
+ */
274
+ maxBackpressure?: number;
275
+ /**
276
+ * How many seconds the connection may go without receiving any data before the server closes it. `0` disables the
277
+ * timeout; otherwise an integer from `8` to `MAX_WEBSOCKET_IDLE_TIMEOUT` (960), which is what uWebSockets.js
278
+ * accepts (it refuses `1` to `7`, and its resolution is about 4 seconds). Default `120`.
279
+ *
280
+ * A client that stays connected but silent (no message, and no reply to the server's ping) is closed after this
281
+ * long. On the Bun router this is server-wide (the largest value any route set, and `0` wins).
282
+ */
283
+ idleTimeout?: number;
284
+ }
242
285
  /**
243
286
  * Indicates that the decorated function handles incoming `WebSocket` upgrade requests at the given sub-path.
244
287
  *
245
288
  * @param path The sub-path that the route will handle requests for.
289
+ * @param options Optional WebSocket limits for this route (message size, send backpressure, idle timeout). See
290
+ * `WebSocketRouteOptions`. Omit it to keep the defaults.
246
291
  */
247
- export declare function WebSocket(path?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
292
+ export declare function WebSocket(path?: string, options?: WebSocketRouteOptions): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
248
293
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { HttpRequest, RequestHandler } from "../http/types.js";
2
2
  import { RateLimiter } from "../RateLimiter.js";
3
- import { RateLimitOptions } from "../decorators/RouteDecorators.js";
3
+ import { RateLimitOptions, WebSocketRouteOptions } from "../decorators/RouteDecorators.js";
4
4
  /**
5
5
  * Provides a set of utilities for converting Route classes to HTTP middleware.
6
6
  *
@@ -29,6 +29,21 @@ export declare class RouteUtils {
29
29
  * exposed to this class of forgery and is left untouched here.
30
30
  */
31
31
  checkCsrf(): RequestHandler;
32
+ /**
33
+ * Validates the options of a `@WebSocket()` route and returns the object to pass to `app.ws()` as its
34
+ * `wsOptions`, or `undefined` when the route has no options (so it gets the router's defaults, exactly as a route
35
+ * that never had this feature). A field that is `undefined` is left out and keeps its default.
36
+ *
37
+ * Every value must be a finite integer: `maxPayloadLength` from 1 to 16 MiB, `maxBackpressure` from 1 to 64 MiB,
38
+ * and `idleTimeout` `0` (disabled) or from 8 to 960 seconds (uWebSockets.js refuses `1` to `7` and anything over
39
+ * 960 by aborting while the route is being registered, so those are rejected here with a readable error instead).
40
+ * An option name that is not one of the three is rejected too, since it would otherwise be silently ignored.
41
+ *
42
+ * @param options The options declared on the route, if any.
43
+ * @param routeName A description of the route (e.g. `WS /relay/:id`), used in the error message.
44
+ * @throws Error naming the route when an option is invalid.
45
+ */
46
+ static resolveWebSocketOptions(options: WebSocketRouteOptions | undefined, routeName: string): WebSocketRouteOptions | undefined;
32
47
  /**
33
48
  * Returns a canonical form of a request path for use in rate limit identifiers. The router percent-decodes
34
49
  * `:param` values, so `/clients/%61bc` and `/clients/abc` reach the same handler. Keying on the raw path would
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rapidrest/service-core",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Provides all core functionality for RapidREST based backend services.",
5
5
  "repository": "https://github.com/rapidrest/service-core.git",
6
6
  "author": "RapidREST <rapidrests@gmail.com>",
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "@rapidrest/cli": "^1.0.1",
62
- "@rapidrest/core": "^5.2.2",
62
+ "@rapidrest/core": "^6.0.0",
63
63
  "@simplewebauthn/server": "^14.0.1",
64
64
  "@swc/core": "^1.16.2",
65
65
  "@types/better-sqlite3": "^9.6.0",