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.
Files changed (63) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/README.md +513 -52
  3. package/dist/lib/DIContext.d.ts +13 -1
  4. package/dist/lib/DIContext.js +28 -8
  5. package/dist/lib/DIContext.js.map +1 -1
  6. package/dist/lib/api-contracts/apiRouteBuilder.d.ts +47 -5
  7. package/dist/lib/api-contracts/apiRouteBuilder.js +57 -8
  8. package/dist/lib/api-contracts/apiRouteBuilder.js.map +1 -1
  9. package/dist/lib/api-contracts/apiSseConnectionRegistry.d.ts +182 -0
  10. package/dist/lib/api-contracts/apiSseConnectionRegistry.js +332 -0
  11. package/dist/lib/api-contracts/apiSseConnectionRegistry.js.map +1 -0
  12. package/dist/lib/api-contracts/index.d.ts +1 -0
  13. package/dist/lib/api-contracts/index.js +1 -0
  14. package/dist/lib/api-contracts/index.js.map +1 -1
  15. package/dist/lib/gateway/gatewayMetadata.d.ts +1 -0
  16. package/dist/lib/gateway/gatewayMetadata.js +11 -0
  17. package/dist/lib/gateway/gatewayMetadata.js.map +1 -1
  18. package/dist/lib/gateway/index.d.ts +1 -0
  19. package/dist/lib/gateway/index.js +1 -0
  20. package/dist/lib/gateway/index.js.map +1 -1
  21. package/dist/lib/gateway/manifest/buildManifest.d.ts +18 -0
  22. package/dist/lib/gateway/manifest/buildManifest.js +31 -0
  23. package/dist/lib/gateway/manifest/buildManifest.js.map +1 -1
  24. package/dist/lib/gateway/manifest/manifestSchema.d.ts +18 -0
  25. package/dist/lib/gateway/manifest/manifestSchema.js +27 -0
  26. package/dist/lib/gateway/manifest/manifestSchema.js.map +1 -1
  27. package/dist/lib/gateway/routeStreaming.d.ts +79 -0
  28. package/dist/lib/gateway/routeStreaming.js +70 -0
  29. package/dist/lib/gateway/routeStreaming.js.map +1 -0
  30. package/dist/lib/resolverFunctions.d.ts +7 -0
  31. package/dist/lib/resolverFunctions.js +13 -0
  32. package/dist/lib/resolverFunctions.js.map +1 -1
  33. package/dist/lib/routes/fastifyRouteBuilder.js +9 -2
  34. package/dist/lib/routes/fastifyRouteBuilder.js.map +1 -1
  35. package/dist/lib/sse/AbstractSSEController.d.ts +10 -0
  36. package/dist/lib/sse/AbstractSSEController.js +9 -0
  37. package/dist/lib/sse/AbstractSSEController.js.map +1 -1
  38. package/dist/lib/sse/eventIds.d.ts +138 -0
  39. package/dist/lib/sse/eventIds.js +155 -0
  40. package/dist/lib/sse/eventIds.js.map +1 -0
  41. package/dist/lib/sse/index.d.ts +3 -2
  42. package/dist/lib/sse/index.js +6 -2
  43. package/dist/lib/sse/index.js.map +1 -1
  44. package/dist/lib/sse/rooms/SSERoomEventPublisher.d.ts +121 -0
  45. package/dist/lib/sse/rooms/SSERoomEventPublisher.js +119 -0
  46. package/dist/lib/sse/rooms/SSERoomEventPublisher.js.map +1 -0
  47. package/dist/lib/sse/rooms/index.d.ts +1 -0
  48. package/dist/lib/sse/rooms/index.js +1 -0
  49. package/dist/lib/sse/rooms/index.js.map +1 -1
  50. package/dist/lib/testing/apiSseEventValidation.d.ts +1 -1
  51. package/dist/lib/testing/apiSseInjectHelpers.js +9 -10
  52. package/dist/lib/testing/apiSseInjectHelpers.js.map +1 -1
  53. package/dist/lib/testing/sseHttpClient.d.ts +10 -2
  54. package/dist/lib/testing/sseHttpClient.js +13 -6
  55. package/dist/lib/testing/sseHttpClient.js.map +1 -1
  56. package/dist/lib/testing/sseInjectClient.d.ts +1 -1
  57. package/dist/lib/testing/sseInjectClient.js +1 -1
  58. package/dist/lib/testing/sseInjectClient.js.map +1 -1
  59. package/dist/lib/testing/sseTestTypes.d.ts +1 -1
  60. package/package.json +13 -13
  61. package/dist/lib/sse/sseParser.d.ts +0 -167
  62. package/dist/lib/sse/sseParser.js +0 -225
  63. 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;AAyC3B,MAAM,UAAU,gBAAgB,CAC9B,IAAmB,EACnB,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAmB,EACnB,MAAc,EACd,IAA8B;IAE9B,MAAM,IAAI,GAAG,IAAiC,CAAA;IAC9C,+FAA+F;IAC/F,OAAO,UAAU,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QAC3D,GAAG,IAAI;QACP,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,WAAW;KACxC,CAAC,CAAA;AACJ,CAAC;AAUD,MAAM,UAAU,mBAAmB,CACjC,EAAwB,EACxB,IAA8B;IAE9B,OAAO,UAAU,CAAC,EAAE,EAAE;QACpB,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;AACJ,CAAC;AAUD,MAAM,UAAU,cAAc,CAC5B,IAAmB,EACnB,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,MAAM,EAAE,IAAI;QACZ,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;AACJ,CAAC;AAUD,MAAM,UAAU,cAAc,CAC5B,IAAmB,EACnB,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,MAAM,EAAE,IAAI;QACZ,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAmB,EACnB,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,MAAM,EAAE,KAAK;QACb,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAmB,EACnB,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,MAAM,EAAE,KAAK;QACb,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAA;AACJ,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAmB,EACnB,UAAuC,EACvC,IAA8B;IAE9B,MAAM,IAAI,GAAG,IAAiC,CAAA;IAC9C,MAAM,mBAAmB,GAAG,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,KAAK,CAAA;IACrE,MAAM,WAAW,GAAG,UAAU,EAAE,KAAK,IAAI,KAAK,CAAA;IAE9C,OAAO,UAAU;IACf,+FAA+F;IAC/F,CAAC,MAAW,EAAE,EAAE;QACd,MAAM,SAAS,GAAwB;YACrC,GAAG,CAAC,mBAAmB,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;YACzD,GAAG,CAAC,WAAW,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;SACnE,CAAA;QACD,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpF,CAAC,EACD;QACE,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,qBAAqB;QACnC,oBAAoB,EAAE,CAAC,EAAE,0CAA0C;QACnE,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CACF,CAAA;AACH,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAmB,EACnB,eAAiD,EACjD,IAA8B;IAE9B,MAAM,mBAAmB,GAAG,eAAe,EAAE,SAAS,CAAC,UAAU,IAAI,KAAK,CAAA;IAC1E,MAAM,WAAW,GAAG,eAAe,EAAE,KAAK,IAAI,KAAK,CAAA;IAEnD,OAAO,UAAU;IACf,+FAA+F;IAC/F,CAAC,MAAW,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,IAAiC,CAAA;QAC9C,MAAM,SAAS,GAAwB;YACrC,GAAG,CAAC,mBAAmB,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;YACzD,GAAG,CAAC,WAAW,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;SACnE,CAAA;QACD,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpF,CAAC,EACD;QACE,MAAM,EAAE,KAAK;QACb,oBAAoB,EAAE,IAAI;QAC1B,YAAY,EAAE,qBAAqB;QACnC,oBAAoB,EAAE,CAAC,EAAE,sCAAsC;QAC/D,GAAG,IAAI;QACP,QAAQ,EAAE,WAAW;KACtB,CACF,CAAA;AACH,CAAC;AAOD,MAAM,UAAU,0BAA0B,CACxC,IAAmB,EACnB,SAA4C,EAC5C,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,iDAAiD;QACjD,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,OAAO;QACrB,oBAAoB,EAAE,EAAE;QAExB,OAAO,EAAE,6BAA6B,CACpC,SAAS,CAAC,SAAS,CAAC,4BAA4B,EAChD,SAAS,CAAC,SAAS,CACpB;QACD,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,KAAK;QACb,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC;AAOD,MAAM,UAAU,wBAAwB,CACtC,IAAmB,EACnB,aAA6C,EAC7C,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,kDAAkD;QAClD,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK;QAEb,OAAO,EAAE,2BAA2B,CAClC,aAAa,CAAC,SAAS,CAAC,yBAAyB,EACjD,aAAa,CAAC,SAAS,CACxB;QACD,QAAQ,EAAE,WAAW;QACrB,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAmB,EACnB,gBAAgD,EAChD,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,SAAS,EAAE,OAAO;QAClB,iBAAiB,EAAE,EAAE,EAAE,wCAAwC;QAC/D,YAAY,EAAE,MAAM;QACpB,oBAAoB,EAAE,EAAE;QACxB,MAAM,EAAE,KAAK;QAEb,OAAO,EAAE,2BAA2B,CAClC,gBAAgB,CAAC,SAAS,CAAC,yBAAyB,EACpD,gBAAgB,CAAC,SAAS,CAC3B;QACD,QAAQ,EAAE,WAAW;QACrB,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC;AAOD,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,aAAiC,EACjC,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,kDAAkD;QAClD,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,SAAS;QACvB,MAAM,EAAE,KAAK;QAEb,OAAO,EAAE,oBAAoB,CAC3B,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAC3C,aAAa,CAAC,OAAO,CACtB;QACD,QAAQ,EAAE,WAAW;QACrB,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC;AAiBD,MAAM,UAAU,eAAe,CAC7B,IAAmB,EACnB,YAAmC,EACnC,IAA8B;IAE9B,OAAO,OAAO,CAAC,IAAiC,EAAE;QAChD,kDAAkD;QAClD,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,EAAE;QACxB,MAAM,EAAE,IAAI;QAEZ,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,EAAE,YAAY,CAAC,SAAS,CAAC;QAC3F,QAAQ,EAAE,WAAW;QACrB,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC;AAYD,MAAM,UAAU,iCAAiC,CAC/C,EAAwB,EACxB,SAAqC,EACrC,IAA8B;IAE9B,OAAO,UAAU,CAAC,EAAE,EAAE;QACpB,kDAAkD;QAClD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACzE,YAAY,EAAE,SAAS;QACvB,iBAAiB,EAAE,EAAE;QACrB,oBAAoB,EAAE,EAAE;QACxB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACtD,QAAQ,EAAE,WAAW;QACrB,GAAG,IAAI;KACR,CAAC,CAAA;AACJ,CAAC"}
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
- return routeOptions;
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":"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"}
@@ -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":"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"}
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;