opinionated-machine 10.5.0 → 11.2.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/CHANGELOG.md +154 -0
- package/README.md +513 -52
- package/dist/lib/DIContext.d.ts +13 -1
- package/dist/lib/DIContext.js +28 -8
- package/dist/lib/DIContext.js.map +1 -1
- package/dist/lib/api-contracts/apiRouteBuilder.d.ts +47 -5
- package/dist/lib/api-contracts/apiRouteBuilder.js +57 -8
- package/dist/lib/api-contracts/apiRouteBuilder.js.map +1 -1
- package/dist/lib/api-contracts/apiSseConnectionRegistry.d.ts +182 -0
- package/dist/lib/api-contracts/apiSseConnectionRegistry.js +332 -0
- package/dist/lib/api-contracts/apiSseConnectionRegistry.js.map +1 -0
- package/dist/lib/api-contracts/index.d.ts +1 -0
- package/dist/lib/api-contracts/index.js +1 -0
- package/dist/lib/api-contracts/index.js.map +1 -1
- package/dist/lib/gateway/gatewayMetadata.d.ts +1 -0
- package/dist/lib/gateway/gatewayMetadata.js +11 -0
- package/dist/lib/gateway/gatewayMetadata.js.map +1 -1
- package/dist/lib/gateway/index.d.ts +1 -0
- package/dist/lib/gateway/index.js +1 -0
- package/dist/lib/gateway/index.js.map +1 -1
- package/dist/lib/gateway/manifest/buildManifest.d.ts +18 -0
- package/dist/lib/gateway/manifest/buildManifest.js +31 -0
- package/dist/lib/gateway/manifest/buildManifest.js.map +1 -1
- package/dist/lib/gateway/manifest/manifestSchema.d.ts +18 -0
- package/dist/lib/gateway/manifest/manifestSchema.js +27 -0
- package/dist/lib/gateway/manifest/manifestSchema.js.map +1 -1
- package/dist/lib/gateway/routeStreaming.d.ts +79 -0
- package/dist/lib/gateway/routeStreaming.js +70 -0
- package/dist/lib/gateway/routeStreaming.js.map +1 -0
- package/dist/lib/resolverFunctions.d.ts +7 -0
- package/dist/lib/resolverFunctions.js +13 -0
- package/dist/lib/resolverFunctions.js.map +1 -1
- package/dist/lib/routes/fastifyRouteBuilder.js +9 -2
- package/dist/lib/routes/fastifyRouteBuilder.js.map +1 -1
- package/dist/lib/sse/AbstractSSEController.d.ts +10 -0
- package/dist/lib/sse/AbstractSSEController.js +9 -0
- package/dist/lib/sse/AbstractSSEController.js.map +1 -1
- package/dist/lib/sse/eventIds.d.ts +138 -0
- package/dist/lib/sse/eventIds.js +155 -0
- package/dist/lib/sse/eventIds.js.map +1 -0
- package/dist/lib/sse/index.d.ts +3 -2
- package/dist/lib/sse/index.js +6 -2
- package/dist/lib/sse/index.js.map +1 -1
- package/dist/lib/sse/rooms/SSERoomEventPublisher.d.ts +121 -0
- package/dist/lib/sse/rooms/SSERoomEventPublisher.js +119 -0
- package/dist/lib/sse/rooms/SSERoomEventPublisher.js.map +1 -0
- package/dist/lib/sse/rooms/index.d.ts +1 -0
- package/dist/lib/sse/rooms/index.js +1 -0
- package/dist/lib/sse/rooms/index.js.map +1 -1
- package/dist/lib/testing/apiSseEventValidation.d.ts +1 -1
- package/dist/lib/testing/apiSseInjectHelpers.js +9 -10
- package/dist/lib/testing/apiSseInjectHelpers.js.map +1 -1
- package/dist/lib/testing/sseHttpClient.d.ts +10 -2
- package/dist/lib/testing/sseHttpClient.js +13 -6
- package/dist/lib/testing/sseHttpClient.js.map +1 -1
- package/dist/lib/testing/sseInjectClient.d.ts +1 -1
- package/dist/lib/testing/sseInjectClient.js +1 -1
- package/dist/lib/testing/sseInjectClient.js.map +1 -1
- package/dist/lib/testing/sseTestTypes.d.ts +1 -1
- package/package.json +13 -13
- package/dist/lib/sse/sseParser.d.ts +0 -167
- package/dist/lib/sse/sseParser.js +0 -225
- package/dist/lib/sse/sseParser.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifestSchema.js","sourceRoot":"","sources":["../../../../lib/gateway/manifest/manifestSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,sFAAsF;IACtF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,gBAAgB;IACxB,6CAA6C;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC,mDAAmD;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,kHAAkH;IAClH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,+EAA+E;IAC/E,QAAQ,EAAE,qBAAqB;CAChC,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CAC5C,CAAC;KACD,MAAM,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"manifestSchema.js","sourceRoot":"","sources":["../../../../lib/gateway/manifest/manifestSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,sFAAsF;IACtF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,gBAAgB;IACxB,6CAA6C;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC,mDAAmD;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,kHAAkH;IAClH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB;;;;;;;;;;;;;;OAcG;IACH,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C;;;;;;;;;OASG;IACH,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,+EAA+E;IAC/E,QAAQ,EAAE,qBAAqB;CAChC,CAAC;KACD,MAAM,EAAE,CAAA;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CAC5C,CAAC;KACD,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming marker for Fastify routes, mirroring the gateway-metadata symbol
|
|
3
|
+
* pattern: stamped as a non-enumerable `Symbol.for` property by the route
|
|
4
|
+
* builders, read back by the gateway manifest builder.
|
|
5
|
+
*
|
|
6
|
+
* Gateway config generators need to tell streaming routes (SSE and dual-mode)
|
|
7
|
+
* apart from ones that answer in a single response, because a streaming route
|
|
8
|
+
* must not inherit timeouts sized for request-response traffic (Envoy's 15 s
|
|
9
|
+
* route timeout and 5 min stream idle timeout both kill an SSE stream).
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Symbol used to attach the streaming mode to a Fastify route object.
|
|
13
|
+
* `Symbol.for` ensures every module resolving the same key gets the same
|
|
14
|
+
* symbol, even across realms or duplicate package copies.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ROUTE_STREAMING_SYMBOL: unique symbol;
|
|
17
|
+
/**
|
|
18
|
+
* How a route responds **on the success path**:
|
|
19
|
+
*
|
|
20
|
+
* - `'sse'`: every successful response is a `text/event-stream`.
|
|
21
|
+
* - `'dual'`: Accept-negotiated, so a successful response is either a stream or
|
|
22
|
+
* a non-SSE body.
|
|
23
|
+
*
|
|
24
|
+
* Failures are not covered by either value. A 4xx or 5xx is an ordinary JSON
|
|
25
|
+
* response on both kinds of route, including the early-return
|
|
26
|
+
* `sse.respond(404, ...)` path that answers before the stream starts. So a
|
|
27
|
+
* generator can size timeouts and buffering from this marker, but must not
|
|
28
|
+
* assume the content type of a response that failed.
|
|
29
|
+
*
|
|
30
|
+
* Named to match `ContractResponseMode` in `@lokalise/api-contracts`.
|
|
31
|
+
*/
|
|
32
|
+
export type RouteStreamingMode = 'sse' | 'dual';
|
|
33
|
+
/**
|
|
34
|
+
* Which branch a dual-mode route serves when the client does not ask for one
|
|
35
|
+
* specifically (no `Accept` header, or `Accept: *\/*`). Mirrors the
|
|
36
|
+
* `defaultMode` route option that `determineMode()` falls back to.
|
|
37
|
+
*
|
|
38
|
+
* A gateway that splits a dual route into two must know this, or it applies
|
|
39
|
+
* request-shaped timeouts to a response that is actually a stream.
|
|
40
|
+
*
|
|
41
|
+
* `'non-sse'` rather than `'json'`, matching `ContractResponseMode` in
|
|
42
|
+
* `@lokalise/api-contracts`: the branch that does not stream events is a JSON
|
|
43
|
+
* body on most routes, but it can equally be a blob (a generated PDF, an
|
|
44
|
+
* export), and nothing here depends on which.
|
|
45
|
+
*/
|
|
46
|
+
export type RouteStreamingDefaultMode = 'non-sse' | 'sse';
|
|
47
|
+
/**
|
|
48
|
+
* Symbol carrying the dual-mode fallback branch, stamped alongside
|
|
49
|
+
* {@link ROUTE_STREAMING_SYMBOL}.
|
|
50
|
+
*/
|
|
51
|
+
export declare const ROUTE_STREAMING_DEFAULT_MODE_SYMBOL: unique symbol;
|
|
52
|
+
/**
|
|
53
|
+
* Stamp the streaming mode onto a route via the non-enumerable
|
|
54
|
+
* `ROUTE_STREAMING_SYMBOL` property. Fastify never sees it; the gateway
|
|
55
|
+
* manifest builder reads it back. Returns the same route reference.
|
|
56
|
+
*
|
|
57
|
+
* For `'dual'` routes pass `defaultMode` as well, so the manifest can tell a
|
|
58
|
+
* generator which branch an unspecific `Accept` header lands on.
|
|
59
|
+
*
|
|
60
|
+
* Generic in `Route` because it hands the same object back and the caller keeps
|
|
61
|
+
* its type. Spreading a stamped route drops the marker: the property is
|
|
62
|
+
* non-enumerable by design, so stamp last.
|
|
63
|
+
*/
|
|
64
|
+
export declare function attachRouteStreamingMode<Route extends object>(route: Route, mode: RouteStreamingMode, defaultMode?: RouteStreamingDefaultMode): Route;
|
|
65
|
+
/**
|
|
66
|
+
* Read the streaming mode previously stamped on a route, or `undefined` for a
|
|
67
|
+
* route that carries no marker.
|
|
68
|
+
*
|
|
69
|
+
* Takes `object` rather than a type parameter: the value lives in a symbol
|
|
70
|
+
* property, so nothing about the route's own shape is read or returned, and a
|
|
71
|
+
* generic here would infer a type it then throws away. The manifest builder
|
|
72
|
+
* calls this with routes it knows only as objects.
|
|
73
|
+
*/
|
|
74
|
+
export declare function readRouteStreamingMode(route: object): RouteStreamingMode | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Read the dual-mode fallback branch previously stamped on a route, or
|
|
77
|
+
* `undefined` when the route did not declare one.
|
|
78
|
+
*/
|
|
79
|
+
export declare function readRouteStreamingDefaultMode(route: object): RouteStreamingDefaultMode | undefined;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming marker for Fastify routes, mirroring the gateway-metadata symbol
|
|
3
|
+
* pattern: stamped as a non-enumerable `Symbol.for` property by the route
|
|
4
|
+
* builders, read back by the gateway manifest builder.
|
|
5
|
+
*
|
|
6
|
+
* Gateway config generators need to tell streaming routes (SSE and dual-mode)
|
|
7
|
+
* apart from ones that answer in a single response, because a streaming route
|
|
8
|
+
* must not inherit timeouts sized for request-response traffic (Envoy's 15 s
|
|
9
|
+
* route timeout and 5 min stream idle timeout both kill an SSE stream).
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Symbol used to attach the streaming mode to a Fastify route object.
|
|
13
|
+
* `Symbol.for` ensures every module resolving the same key gets the same
|
|
14
|
+
* symbol, even across realms or duplicate package copies.
|
|
15
|
+
*/
|
|
16
|
+
export const ROUTE_STREAMING_SYMBOL = Symbol.for('opinionated-machine.route.streaming');
|
|
17
|
+
/**
|
|
18
|
+
* Symbol carrying the dual-mode fallback branch, stamped alongside
|
|
19
|
+
* {@link ROUTE_STREAMING_SYMBOL}.
|
|
20
|
+
*/
|
|
21
|
+
export const ROUTE_STREAMING_DEFAULT_MODE_SYMBOL = Symbol.for('opinionated-machine.route.streaming.defaultMode');
|
|
22
|
+
/**
|
|
23
|
+
* Stamp the streaming mode onto a route via the non-enumerable
|
|
24
|
+
* `ROUTE_STREAMING_SYMBOL` property. Fastify never sees it; the gateway
|
|
25
|
+
* manifest builder reads it back. Returns the same route reference.
|
|
26
|
+
*
|
|
27
|
+
* For `'dual'` routes pass `defaultMode` as well, so the manifest can tell a
|
|
28
|
+
* generator which branch an unspecific `Accept` header lands on.
|
|
29
|
+
*
|
|
30
|
+
* Generic in `Route` because it hands the same object back and the caller keeps
|
|
31
|
+
* its type. Spreading a stamped route drops the marker: the property is
|
|
32
|
+
* non-enumerable by design, so stamp last.
|
|
33
|
+
*/
|
|
34
|
+
export function attachRouteStreamingMode(route, mode, defaultMode) {
|
|
35
|
+
Object.defineProperty(route, ROUTE_STREAMING_SYMBOL, {
|
|
36
|
+
value: mode,
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: true,
|
|
39
|
+
writable: true,
|
|
40
|
+
});
|
|
41
|
+
if (defaultMode !== undefined) {
|
|
42
|
+
Object.defineProperty(route, ROUTE_STREAMING_DEFAULT_MODE_SYMBOL, {
|
|
43
|
+
value: defaultMode,
|
|
44
|
+
enumerable: false,
|
|
45
|
+
configurable: true,
|
|
46
|
+
writable: true,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return route;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Read the streaming mode previously stamped on a route, or `undefined` for a
|
|
53
|
+
* route that carries no marker.
|
|
54
|
+
*
|
|
55
|
+
* Takes `object` rather than a type parameter: the value lives in a symbol
|
|
56
|
+
* property, so nothing about the route's own shape is read or returned, and a
|
|
57
|
+
* generic here would infer a type it then throws away. The manifest builder
|
|
58
|
+
* calls this with routes it knows only as objects.
|
|
59
|
+
*/
|
|
60
|
+
export function readRouteStreamingMode(route) {
|
|
61
|
+
return route[ROUTE_STREAMING_SYMBOL];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Read the dual-mode fallback branch previously stamped on a route, or
|
|
65
|
+
* `undefined` when the route did not declare one.
|
|
66
|
+
*/
|
|
67
|
+
export function readRouteStreamingDefaultMode(route) {
|
|
68
|
+
return route[ROUTE_STREAMING_DEFAULT_MODE_SYMBOL];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=routeStreaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routeStreaming.js","sourceRoot":"","sources":["../../../lib/gateway/routeStreaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAA;AAkCvF;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC,GAAG,CAC3D,iDAAiD,CAClD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAY,EACZ,IAAwB,EACxB,WAAuC;IAEvC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,EAAE;QACnD,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;IACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,mCAAmC,EAAE;YAChE,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAQ,KAAwD,CAAC,sBAAsB,CAAC,CAAA;AAC1F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAa;IAEb,OAAQ,KAA+D,CACrE,mCAAmC,CACpC,CAAA;AACH,CAAC"}
|
|
@@ -29,6 +29,9 @@ export type PublicResolver<T> = BuildResolver<T> & DisposableResolver<T> & {
|
|
|
29
29
|
export interface EnqueuedJobQueueManager {
|
|
30
30
|
start(enabled?: string[] | boolean): Promise<void>;
|
|
31
31
|
}
|
|
32
|
+
export interface DisposableDomainEventEmitter {
|
|
33
|
+
dispose(): Promise<void>;
|
|
34
|
+
}
|
|
32
35
|
export declare function asSingletonClass<T = object>(Type: ClassValue<T>, opts: BuildResolverOptions<T> & {
|
|
33
36
|
public: true;
|
|
34
37
|
}): PublicResolver<T>;
|
|
@@ -144,6 +147,10 @@ export type PeriodicJobOptions = {
|
|
|
144
147
|
diOptions: DependencyInjectionOptions;
|
|
145
148
|
};
|
|
146
149
|
export declare function asPeriodicJobClass<T = object>(Type: ClassValue<T>, workerOptions: PeriodicJobOptions, opts?: BuildResolverOptions<T>): BuildResolver<T> & DisposableResolver<T>;
|
|
150
|
+
export declare function asDomainEventEmitterFunction<T extends DisposableDomainEventEmitter>(fn: FunctionReturning<T>, opts: BuildResolverOptions<T> & {
|
|
151
|
+
public: false;
|
|
152
|
+
}): BuildResolver<T> & DisposableResolver<T>;
|
|
153
|
+
export declare function asDomainEventEmitterFunction<T extends DisposableDomainEventEmitter>(fn: FunctionReturning<T>, opts?: BuildResolverOptions<T>): PublicResolver<T>;
|
|
147
154
|
export type JobQueueModuleOptions = {
|
|
148
155
|
queueName?: string;
|
|
149
156
|
diOptions: DependencyInjectionOptions;
|
|
@@ -202,6 +202,19 @@ export function asPeriodicJobClass(Type, workerOptions, opts) {
|
|
|
202
202
|
...opts,
|
|
203
203
|
});
|
|
204
204
|
}
|
|
205
|
+
export function asDomainEventEmitterFunction(fn, opts) {
|
|
206
|
+
return asFunction(fn, {
|
|
207
|
+
// this follows message-queue-toolkit conventions
|
|
208
|
+
asyncDispose: 'dispose',
|
|
209
|
+
// Disposing the emitter stops it accepting events, so it comes after everything that can still
|
|
210
|
+
// emit - queue consumers (10) and job workers (15) - and before the queue manager (20) and the
|
|
211
|
+
// clients closed by container.dispose(), which its draining handlers still need.
|
|
212
|
+
asyncDisposePriority: 17,
|
|
213
|
+
public: true,
|
|
214
|
+
lifetime: 'SINGLETON',
|
|
215
|
+
...opts,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
205
218
|
export function asJobQueueClass(Type, queueOptions, opts) {
|
|
206
219
|
return asClass(Type, {
|
|
207
220
|
// these follow background-jobs-common conventions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolverFunctions.js","sourceRoot":"","sources":["../../lib/resolverFunctions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"resolverFunctions.js","sourceRoot":"","sources":["../../lib/resolverFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InternalError } from '@lokalise/node-core';
|
|
2
2
|
import { ZodObject } from 'zod';
|
|
3
3
|
import { isErrorLike } from "../errorUtils.js";
|
|
4
|
+
import { attachRouteStreamingMode } from "../gateway/routeStreaming.js";
|
|
4
5
|
import { createSSEContext, determineMode, extractPathTemplate, handleSSEError, hasHttpStatusCode, } from "./fastifyRouteUtils.js";
|
|
5
6
|
import { buildSseResponseSchemas } from "./sseResponseSchema.js";
|
|
6
7
|
// Re-export for convenience
|
|
@@ -347,7 +348,13 @@ function buildDualModeRouteInternal(controller, config) {
|
|
|
347
348
|
if (options?.preHandler) {
|
|
348
349
|
routeOptions.preHandler = options.preHandler;
|
|
349
350
|
}
|
|
350
|
-
|
|
351
|
+
// Carry the fallback branch into the manifest: a gateway splitting this
|
|
352
|
+
// route needs to know where a request with no (or a wildcard) Accept header
|
|
353
|
+
// goes, or it applies request-shaped timeouts to an SSE response.
|
|
354
|
+
// The manifest speaks the api-contracts vocabulary (`sse` / `non-sse`), which
|
|
355
|
+
// is wider than this route's own negotiation: the branch that does not stream
|
|
356
|
+
// is JSON here, but a gateway only needs to know that it is not a stream.
|
|
357
|
+
return attachRouteStreamingMode(routeOptions, 'dual', defaultMode === 'sse' ? 'sse' : 'non-sse');
|
|
351
358
|
}
|
|
352
359
|
/**
|
|
353
360
|
* Build a Fastify route configuration for an SSE endpoint.
|
|
@@ -437,7 +444,7 @@ function buildSSERouteInternal(controller, config) {
|
|
|
437
444
|
if (options?.preHandler) {
|
|
438
445
|
routeOptions.preHandler = options.preHandler;
|
|
439
446
|
}
|
|
440
|
-
return routeOptions;
|
|
447
|
+
return attachRouteStreamingMode(routeOptions, 'sse');
|
|
441
448
|
}
|
|
442
449
|
/**
|
|
443
450
|
* Build a Fastify route configuration for SSE or dual-mode endpoints.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastifyRouteBuilder.js","sourceRoot":"","sources":["../../../lib/routes/fastifyRouteBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fastifyRouteBuilder.js","sourceRoot":"","sources":["../../../lib/routes/fastifyRouteBuilder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAUvE,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,4BAA4B;AAC5B,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAe9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,sBAAsB,GAAiB,QAAQ,CAAA;AAErD;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CACrB,OAAyE;IAEzE,MAAM,SAAS,GAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,sBAAsB,EAAE,CAAA;IAEnF,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAC3C,CAAC;IAED,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACrC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACzC,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,wBAAwB,CAC/B,QAAuC,EACvC,QAAiB;IAEjB,MAAM,MAAM,GAAG,QAAQ,CAAC,yBAAyB,CAAA;IACjD,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EAAE,uBAAuB;YAChC,SAAS,EAAE,4BAA4B;YACvC,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;SACnD,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAS,4BAA4B,CACnC,2BAAsF,EACtF,UAAkB,EAClB,QAAiB;IAEjB,IAAI,CAAC,2BAA2B;QAAE,OAAM;IAExC,sFAAsF;IACtF,MAAM,MAAM,GAAI,2BAAwE,CACtF,MAAM,CAAC,UAAU,CAAC,CACnB,CAAA;IACD,IAAI,CAAC,MAAM;QAAE,OAAM;IAEnB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EAAE,uBAAuB;YAChC,SAAS,EAAE,4BAA4B;YACvC,OAAO,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;SAC/D,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAC9B,qBAA+C,EAC/C,KAAmB;IAEnB,IAAI,CAAC,qBAAqB;QAAE,OAAM;IAClC,IAAI,CAAC,CAAC,OAAO,IAAI,qBAAqB,CAAC;QAAE,OAAM;IAE/C,iGAAiG;IACjG,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC3B,qBAA4D,CAAC,KAAK,CACpE,CAAA;IACD,MAAM,iBAAiB,GAA4B,EAAE,CAAA;IACrD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;IACjE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EAAE,uBAAuB;YAChC,SAAS,EAAE,oCAAoC;YAC/C,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;SACnD,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,QAAkB,EAClB,QAA4D;AAC5D,4FAA4F;AAC5F,OAAY,EACZ,KAAmB;IAEnB,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,MAAO,QAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAE7D,2FAA2F;IAC3F,0EAA0E;IAC1E,wFAAwF;IACxF,0EAA0E;IAC1E,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,oEAAoE;YACzE,GAAG,EAAE,wBAAwB;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,GAAG;YACpC,KAAK,EAAE,OAAO,CAAC,EAAE;SAClB,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,CAAA;IAE1C,0CAA0C;IAC1C,qDAAqD;IACrD,gEAAgE;IAChE,IAAI,CAAC;QACH,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YAC1C,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACN,4BAA4B,CAAC,QAAQ,CAAC,+BAA+B,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC9F,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iDAAiD;QACjD,sFAAsF;QACtF,yEAAyE;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,MAAM,GAAG,CAAA;IACX,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAE9B,uBAAuB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;IAE7D,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CACpC,YAAyD,EACzD,UAEmE,EACnE,YAAgC,EAChC,gBAA+B,EAC/B,KAAmB,EACnB,IAA2C,EAC3C,2BAA2E;IAE3E,gFAAgF;IAChF,IAAI,YAAY,EAAE,CAAC;QACjB,6EAA6E;QAC7E,4BAA4B,CAAC,2BAA2B,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA;QAE/F,8DAA8D;QAC9D,+EAA+E;QAC/E,0EAA0E;QAC1E,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QACnC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QACvC,8EAA8E;QAC9E,4EAA4E;QAC5E,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9E,OAAM;IACR,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,oEAAoE;QACpE,IAAI,YAAY,EAAE,CAAC;YACjB,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,oDAAoD;QACpD,MAAM,gBAAgB,CAAA;IACxB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,UAAqF,EACrF,QAAkB,EAClB,QAA4D;AAC5D,4FAA4F;AAC5F,OAAY,EACZ,KAAmB,EACnB,OAA0D;IAE1D,MAAM,aAAa,GAAG,gBAAgB,CACpC,UAAU,EACV,OAAO,EACP,KAAK,EACL,QAAQ,CAAC,sBAAsB,EAC/B,OAAO,EACP,eAAe,CAChB,CAAA;IAED,IAAI,CAAC;QACH,6GAA6G;QAC7G,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,UAAiB,CAAC,CAAA;QAE5D,wCAAwC;QACxC,4DAA4D;QAC5D,gFAAgF;QAChF,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,0DAA0D;gBACxD,0EAA0E,CAC7E,CAAA;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,uBAAuB,CAC3B,aAAa,CAAC,eAAe,EAAE,EAC/B,UAAU,EACV,aAAa,CAAC,eAAe,EAAE,EAC/B,aAAa,CAAC,gBAAgB,EAC9B,KAAK,EACL,aAAa,CAAC,OAAO,EAAE,EACvB,QAAQ,CAAC,+BAA+B,CACzC,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gFAAgF;QAChF,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAA;YACpD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAC9F,CAAC;YACD,gFAAgF;YAChF,MAAM,GAAG,CAAA;QACX,CAAC;QAED,8DAA8D;QAC9D,oEAAoE;QACpE,kEAAkE;QAClE,6EAA6E;QAC7E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAA;QACxE,oEAAoE;QACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAA;QACpE,MAAM,UAAU,GAAG,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAA;QACxE,0FAA0F;QAC1F,0FAA0F;QAC1F,yEAAyE;QACzE,KAAK;aACF,IAAI,CAAC,UAAU,CAAC;aAChB,IAAI,CAAC,kBAAkB,CAAC;aACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACrE,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,0BAA0B,CACjC,UAAqF,EACrF,MAA8C;IAE9C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAC9C,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,MAAM,CAAA;IAElD,kDAAkD;IAClD,+FAA+F;IAC/F,IAAI,CAAC,CAAC,QAAQ,CAAC,uBAAuB,YAAY,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EAAE,6EAA6E,QAAQ,CAAC,uBAAuB,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE;YACzJ,SAAS,EAAE,uBAAuB;SACnC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;IAExF,wFAAwF;IACxF,sFAAsF;IACtF,wFAAwF;IACxF,yFAAyF;IACzF,0FAA0F;IAC1F,yFAAyF;IACzF,2FAA2F;IAC3F,yEAAyE;IACzE,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EACL,mBAAmB,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,GAAG,+BAA+B;gBACtF,8EAA8E;gBAC9E,8EAA8E;gBAC9E,2CAA2C;YAC7C,SAAS,EAAE,wBAAwB;YACnC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;SAC3E,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAA0B;QACpC,MAAM,EAAE,QAAQ,CAAC,uBAAuB;QACxC,WAAW,EAAE,QAAQ,CAAC,kBAAkB;QACxC,OAAO,EAAE,QAAQ,CAAC,mBAAmB;QACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACtC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACvE,4EAA4E;QAC5E,qFAAqF;QACrF,4EAA4E;QAC5E,QAAQ,EAAE,uBAAuB,CAC/B,QAAQ,CAAC,sBAAsB,EAC/B,QAAQ,CAAC,+BAA+B,EACxC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAClF;KACF,CAAA;IAED,MAAM,YAAY,GAAiB;QACjC,GAAG,CAAC,OAAO,EAAE,6BAA6B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG;QACH,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,oEAAoE;QAClG,MAAM;QACN,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,wCAAwC;YACxC,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAE/D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,OAAO,MAAM,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YACjE,CAAC;YAED,OAAO,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QACrF,CAAC;KACF,CAAA;IAED,0CAA0C;IAC1C,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,YAAY,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAC9C,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,kEAAkE;IAClE,8EAA8E;IAC9E,8EAA8E;IAC9E,0EAA0E;IAC1E,OAAO,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAClG,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,qBAAqB,CAC5B,UAA2E,EAC3E,MAAyC;IAEzC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAE9C,+FAA+F;IAC/F,IAAI,CAAC,CAAC,QAAQ,CAAC,uBAAuB,YAAY,SAAS,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EAAE,6EAA6E,QAAQ,CAAC,uBAAuB,EAAE,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE;YACzJ,SAAS,EAAE,uBAAuB;SACnC,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAAA;IAExF,MAAM,MAAM,GAA0B;QACpC,MAAM,EAAE,QAAQ,CAAC,uBAAuB;QACxC,WAAW,EAAE,QAAQ,CAAC,kBAAkB;QACxC,OAAO,EAAE,QAAQ,CAAC,mBAAmB;QACrC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACtC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACvE,QAAQ,EAAE,uBAAuB,CAC/B,QAAQ,CAAC,sBAAsB,EAC/B,QAAQ,CAAC,+BAA+B,CACzC;KACF,CAAA;IAED,MAAM,YAAY,GAAiB;QACjC,GAAG,CAAC,OAAO,EAAE,6BAA6B,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG;QACH,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,oEAAoE;QAClG,MAAM;QACN,qJAAqJ;QACrJ,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,iDAAiD;YACjD,MAAM,aAAa,GAAG,gBAAgB,CACpC,UAAU,EACV,OAAO,EACP,KAAK,EACL,QAAQ,CAAC,sBAAsB,EAC/B,OAAO,EACP,KAAK,CACN,CAAA;YAED,kDAAkD;YAClD,gFAAgF;YAChF,IAAI,CAAC;gBACH,oHAAoH;gBACpH,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAc,EAAE,aAAa,CAAC,UAAiB,CAAC,CAAA;gBAEnE,wCAAwC;gBACxC,4DAA4D;gBAC5D,gFAAgF;gBAChF,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC/D,MAAM,IAAI,KAAK,CACb,0DAA0D;wBACxD,0EAA0E,CAC7E,CAAA;gBACH,CAAC;gBAED,qBAAqB;gBACrB,MAAM,uBAAuB,CAC3B,aAAa,CAAC,eAAe,EAAE,EAC/B,UAAU,EACV,aAAa,CAAC,eAAe,EAAE,EAC/B,aAAa,CAAC,gBAAgB,EAC9B,KAAK,EACL,aAAa,CAAC,OAAO,EAAE,EACvB,QAAQ,CAAC,+BAA+B,CACzC,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,gFAAgF;gBAChF,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC9B,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAA;oBACpD,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,cAAc,CAClB,aAAa,CAAC,QAAQ,EACtB,UAAU,EACV,YAAY,EACZ,GAAG,EACH,OAAO,EAAE,MAAM,CAChB,CAAA;oBACH,CAAC;oBACD,gFAAgF;oBAChF,MAAM,GAAG,CAAA;gBACX,CAAC;gBAED,8DAA8D;gBAC9D,oEAAoE;gBACpE,kEAAkE;gBAClE,6EAA6E;gBAC7E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAA;gBACxE,oEAAoE;gBACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAA;gBACpE,MAAM,UAAU,GAAG,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAA;gBACxE,qFAAqF;gBACrF,sFAAsF;gBACtF,kFAAkF;gBAClF,KAAK;qBACF,IAAI,CAAC,UAAU,CAAC;qBAChB,IAAI,CAAC,kBAAkB,CAAC;qBACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;YACrE,CAAC;QACH,CAAC;KACF,CAAA;IAED,0CAA0C;IAC1C,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,YAAY,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IAC9C,CAAC;IAED,OAAO,wBAAwB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;AACtD,CAAC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAEmE,EACnE,OAE6C;IAE7C,IAAI,OAAO,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,OAA8D,CAAA;QACtF,OAAO,0BAA0B,CAC/B,UAAuF,EACvF;YACE,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,QAAQ,EAAE,eAAe,CAAC,QAAQ;YAClC,OAAO,EAAE,eAAe,CAAC,OAAO;SACjC,CACF,CAAA;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,OAAoD,CAAA;QACvE,OAAO,qBAAqB,CAC1B,UAA6E,EAC7E;YACE,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;SAC5B,CACF,CAAA;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,cAAc,GAAG,OAAsE,CAAA;IAC7F,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,IAAI,WAAW,CAAA;IACxD,MAAM,eAAe,GACnB,OAAO,cAAc,CAAC,QAAQ,EAAE,YAAY,KAAK,UAAU;QACzD,CAAC,CAAC,uBAAuB,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG;QACpE,CAAC,CAAC,iBAAiB,CAAA;IACvB,MAAM,IAAI,KAAK,CACb,0DAA0D,WAAW,SAAS,eAAe,IAAI;QAC/F,2GAA2G;QAC3G,uFAAuF;QACvF,sDAAsD,CACzD,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AllContractEventNames, AnySSEContractDefinition, ExtractEventSchema } from '@lokalise/api-contracts';
|
|
2
2
|
import type { z } from 'zod';
|
|
3
|
+
import type { GatewayMetadataValue } from '../gateway/gatewayMetadata.ts';
|
|
3
4
|
import type { BuildFastifySSERoutesReturnType, SSESession } from '../routes/fastifyRouteTypes.ts';
|
|
4
5
|
import type { SSERoomBroadcaster } from './rooms/SSERoomBroadcaster.ts';
|
|
5
6
|
import type { SSERoomManager } from './rooms/SSERoomManager.ts';
|
|
@@ -46,6 +47,15 @@ export type { AllContractEventNames, AllContractEvents, ExtractEventSchema, SSEC
|
|
|
46
47
|
* ```
|
|
47
48
|
*/
|
|
48
49
|
export declare abstract class AbstractSSEController<APIContracts extends Record<string, AnySSEContractDefinition>> {
|
|
50
|
+
/**
|
|
51
|
+
* Optional controller-level defaults for gateway metadata.
|
|
52
|
+
*
|
|
53
|
+
* Only consulted when the controller is included in a gateway manifest via
|
|
54
|
+
* `buildGatewayManifest({ includeStreamingControllers: true })`. Merged
|
|
55
|
+
* underneath per-route metadata; see `AbstractController.gatewayDefaults`
|
|
56
|
+
* for full semantics.
|
|
57
|
+
*/
|
|
58
|
+
readonly gatewayDefaults?: GatewayMetadataValue;
|
|
49
59
|
/** Map of connection ID to connection object */
|
|
50
60
|
protected connections: Map<string, SSESession>;
|
|
51
61
|
/** Private storage for connection spy */
|
|
@@ -38,6 +38,15 @@ export { SSESessionSpy } from "./SSESessionSpy.js";
|
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
export class AbstractSSEController {
|
|
41
|
+
/**
|
|
42
|
+
* Optional controller-level defaults for gateway metadata.
|
|
43
|
+
*
|
|
44
|
+
* Only consulted when the controller is included in a gateway manifest via
|
|
45
|
+
* `buildGatewayManifest({ includeStreamingControllers: true })`. Merged
|
|
46
|
+
* underneath per-route metadata; see `AbstractController.gatewayDefaults`
|
|
47
|
+
* for full semantics.
|
|
48
|
+
*/
|
|
49
|
+
gatewayDefaults;
|
|
41
50
|
/** Map of connection ID to connection object */
|
|
42
51
|
connections = new Map();
|
|
43
52
|
/** Private storage for connection spy */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSSEController.js","sourceRoot":"","sources":["../../../lib/sse/AbstractSSEController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAOxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractSSEController.js","sourceRoot":"","sources":["../../../lib/sse/AbstractSSEController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monotonic event-id helpers for SSE streams.
|
|
3
|
+
*
|
|
4
|
+
* The polling-fallback pattern (and `Last-Event-ID` reconnection/replay in
|
|
5
|
+
* general) needs event ids a client can ORDER, not just deduplicate: the
|
|
6
|
+
* client keeps a high-watermark and drops anything at or below it. Random
|
|
7
|
+
* UUIDs (the `broadcastToRoom` default) are unique but unordered; use a
|
|
8
|
+
* sequence from {@link createEventIdSequence} instead and pass its ids
|
|
9
|
+
* explicitly:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const seq = createEventIdSequence()
|
|
13
|
+
* await broadcaster.broadcastToRoom(room, statusEvent, data, { id: seq.next() })
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Keep one sequence per ordering scope (per room, per resource, per stream) —
|
|
17
|
+
* ids from different scopes are not comparable. Stamp the same underlying
|
|
18
|
+
* version into the sync (poll) response body so the client can order
|
|
19
|
+
* snapshots against events.
|
|
20
|
+
*
|
|
21
|
+
* ## Choosing an id source
|
|
22
|
+
*
|
|
23
|
+
* Prefer a **domain version** (`job.version`, a revision column, an updated-at
|
|
24
|
+
* revision counter) over a generated sequence whenever the resource has one.
|
|
25
|
+
* A domain version is per-scope and writer-independent: any pod that writes the
|
|
26
|
+
* resource reads the same version, and the same number is already what the
|
|
27
|
+
* snapshot body has to carry for the client's version gate. Use
|
|
28
|
+
* {@link createEventIdSequence} when the resource has no version of its own.
|
|
29
|
+
*
|
|
30
|
+
* ## Hazard: per-process sequences are single-writer only
|
|
31
|
+
*
|
|
32
|
+
* {@link createEventIdSequence} is in-memory and per-process. Its epoch
|
|
33
|
+
* defaults to the process start time, and the client's default extractor
|
|
34
|
+
* orders by epoch first. That is safe only when a single writer owns the
|
|
35
|
+
* ordering scope.
|
|
36
|
+
*
|
|
37
|
+
* If two pods of the same service broadcast into the same room, each with its
|
|
38
|
+
* own per-process sequence, their epochs differ. The events interleave, the
|
|
39
|
+
* client's high-watermark lands on the newer epoch, and every subsequent event
|
|
40
|
+
* from the older-epoch pod compares as stale and is **silently dropped**. The
|
|
41
|
+
* failure only appears under horizontal scale, so it reaches production.
|
|
42
|
+
*
|
|
43
|
+
* For a multi-writer scope use one of:
|
|
44
|
+
*
|
|
45
|
+
* - a domain version (see above), or
|
|
46
|
+
* - a shared counter, e.g. `createRedisEventIdSequence()` from
|
|
47
|
+
* `@opinionated-machine/sse-rooms-redis`, which backs the counter with
|
|
48
|
+
* Redis `INCR` and shares one epoch across pods, or
|
|
49
|
+
* - a fixed `epoch` plus a `start` handed out from shared storage, so every
|
|
50
|
+
* writer contributes to a single ordered run.
|
|
51
|
+
*/
|
|
52
|
+
/**
|
|
53
|
+
* A monotonic id generator: ids are lexicographically AND numerically
|
|
54
|
+
* increasing within the sequence's epoch.
|
|
55
|
+
*/
|
|
56
|
+
export type EventIdSequence = {
|
|
57
|
+
/** Produce the next id (`"<epoch>-<zero-padded counter>"`). */
|
|
58
|
+
next(): string;
|
|
59
|
+
/** The most recently produced id, or `undefined` before the first next(). */
|
|
60
|
+
readonly current: string | undefined;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Largest counter value that still fits in {@link COUNTER_PAD} digits. Beyond
|
|
64
|
+
* this the id grows a digit and stops sorting after its predecessor, so
|
|
65
|
+
* {@link createEventIdSequence} refuses to produce it.
|
|
66
|
+
*/
|
|
67
|
+
export declare const MAX_EVENT_ID_COUNTER = 999999999999;
|
|
68
|
+
export type CreateEventIdSequenceOptions = {
|
|
69
|
+
/**
|
|
70
|
+
* Epoch label prefixed to every id. Ids are only ordered *within* an epoch;
|
|
71
|
+
* clients seeing an epoch change should resynchronize via a snapshot poll
|
|
72
|
+
* rather than compare counters. Defaults to the creation timestamp in ms —
|
|
73
|
+
* a process restart naturally starts a new (larger) epoch.
|
|
74
|
+
*
|
|
75
|
+
* Must be a string of digits, and a later epoch must be numerically larger
|
|
76
|
+
* than the one before it (see {@link NUMERIC_EPOCH_PATTERN} for why a
|
|
77
|
+
* free-form label is refused). Pass an explicit shared epoch when several
|
|
78
|
+
* writers feed one ordering scope.
|
|
79
|
+
*/
|
|
80
|
+
epoch?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Starting counter value. Defaults to 0 (first id ends in ...000001).
|
|
83
|
+
*
|
|
84
|
+
* Must be an integer in `[0, MAX_EVENT_ID_COUNTER - 1]`, so that at least one
|
|
85
|
+
* id can still be produced without overflowing the fixed id width.
|
|
86
|
+
*/
|
|
87
|
+
start?: number;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Create a monotonic event-id sequence.
|
|
91
|
+
*
|
|
92
|
+
* Ids look like `"1754838000000-000000000042"`. Within one epoch they order
|
|
93
|
+
* lexicographically (fixed-width zero-padded counter).
|
|
94
|
+
*
|
|
95
|
+
* Sequences are in-memory and per-process, which makes them safe only for a
|
|
96
|
+
* single-writer ordering scope. See the module docs for the multi-writer
|
|
97
|
+
* hazard and the alternatives (domain versions, or a Redis-backed sequence).
|
|
98
|
+
*
|
|
99
|
+
* @throws TypeError if `epoch` is not a string of digits, or if `start` is not
|
|
100
|
+
* an integer in `[0, MAX_EVENT_ID_COUNTER - 1]`.
|
|
101
|
+
*/
|
|
102
|
+
export declare function createEventIdSequence(options?: CreateEventIdSequenceOptions): EventIdSequence;
|
|
103
|
+
/**
|
|
104
|
+
* Compare two event ids produced by {@link createEventIdSequence}.
|
|
105
|
+
*
|
|
106
|
+
* Returns `-1` / `0` / `1` when both ids belong to the same epoch, and
|
|
107
|
+
* `undefined` when they don't (or when either id doesn't match the expected
|
|
108
|
+
* format). An `undefined` result means the ids are not ordered relative to
|
|
109
|
+
* each other — clients should treat that as "resynchronize via a snapshot
|
|
110
|
+
* poll" rather than guess.
|
|
111
|
+
*/
|
|
112
|
+
export declare function compareEventIds(a: string, b: string): -1 | 0 | 1 | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* The async counterpart of {@link EventIdSequence}, for sequences whose counter
|
|
115
|
+
* lives in shared storage (e.g. `createRedisEventIdSequence()` from
|
|
116
|
+
* `@opinionated-machine/sse-rooms-redis`).
|
|
117
|
+
*
|
|
118
|
+
* Ids have the same `"<epoch>-<zero-padded counter>"` shape, so
|
|
119
|
+
* {@link compareEventIds} orders them too.
|
|
120
|
+
*/
|
|
121
|
+
export type AsyncEventIdSequence = {
|
|
122
|
+
/** Produce the next id (`"<epoch>-<zero-padded counter>"`). */
|
|
123
|
+
next(): Promise<string>;
|
|
124
|
+
/** The most recently produced id, or `undefined` before the first next(). */
|
|
125
|
+
readonly current: string | undefined;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Format a counter value as an event id in the shape
|
|
129
|
+
* {@link createEventIdSequence} produces, so ids from a shared counter compare
|
|
130
|
+
* against ids from an in-process sequence with the same epoch.
|
|
131
|
+
*
|
|
132
|
+
* @throws TypeError if `epoch` is not a string of digits.
|
|
133
|
+
* `createEventIdSequence()` refuses the same input: an id whose epoch is
|
|
134
|
+
* empty (`"-000000000001"`) or free-form is one {@link compareEventIds}
|
|
135
|
+
* cannot parse, so nothing downstream can order it.
|
|
136
|
+
* @throws RangeError if the counter does not fit the fixed id width.
|
|
137
|
+
*/
|
|
138
|
+
export declare function formatEventId(epoch: string, counter: number | bigint): string;
|