velocious 1.0.569 → 1.0.571

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 (50) hide show
  1. package/README.md +56 -2
  2. package/build/configuration-types.js +17 -0
  3. package/build/configuration.js +70 -0
  4. package/build/database/drivers/base.js +82 -44
  5. package/build/database/operation-connection.js +11 -0
  6. package/build/database/operation.js +10 -0
  7. package/build/http-server/client/index.js +77 -4
  8. package/build/http-server/client/response-compression.js +224 -0
  9. package/build/http-server/client/response.js +57 -0
  10. package/build/http-server/websocket-events-host.js +91 -48
  11. package/build/src/configuration-types.d.ts +55 -0
  12. package/build/src/configuration-types.d.ts.map +1 -1
  13. package/build/src/configuration-types.js +16 -1
  14. package/build/src/configuration.d.ts +6 -0
  15. package/build/src/configuration.d.ts.map +1 -1
  16. package/build/src/configuration.js +61 -1
  17. package/build/src/database/drivers/base.d.ts +30 -3
  18. package/build/src/database/drivers/base.d.ts.map +1 -1
  19. package/build/src/database/drivers/base.js +78 -42
  20. package/build/src/database/operation-connection.d.ts +6 -0
  21. package/build/src/database/operation-connection.d.ts.map +1 -1
  22. package/build/src/database/operation-connection.js +10 -1
  23. package/build/src/database/operation.d.ts +8 -0
  24. package/build/src/database/operation.d.ts.map +1 -1
  25. package/build/src/database/operation.js +10 -1
  26. package/build/src/http-server/client/index.d.ts +17 -1
  27. package/build/src/http-server/client/index.d.ts.map +1 -1
  28. package/build/src/http-server/client/index.js +74 -5
  29. package/build/src/http-server/client/response-compression.d.ts +71 -0
  30. package/build/src/http-server/client/response-compression.d.ts.map +1 -0
  31. package/build/src/http-server/client/response-compression.js +197 -0
  32. package/build/src/http-server/client/response.d.ts +27 -0
  33. package/build/src/http-server/client/response.d.ts.map +1 -1
  34. package/build/src/http-server/client/response.js +49 -1
  35. package/build/src/http-server/websocket-events-host.d.ts +28 -11
  36. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  37. package/build/src/http-server/websocket-events-host.js +84 -46
  38. package/build/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +4 -3
  40. package/scripts/docker-run.sh +20 -0
  41. package/scripts/verify-docker-dev-environment.js +579 -0
  42. package/src/configuration-types.js +17 -0
  43. package/src/configuration.js +70 -0
  44. package/src/database/drivers/base.js +82 -44
  45. package/src/database/operation-connection.js +11 -0
  46. package/src/database/operation.js +10 -0
  47. package/src/http-server/client/index.js +77 -4
  48. package/src/http-server/client/response-compression.js +224 -0
  49. package/src/http-server/client/response.js +57 -0
  50. package/src/http-server/websocket-events-host.js +91 -48
@@ -0,0 +1,224 @@
1
+ // @ts-check
2
+
3
+ import zlib from "node:zlib"
4
+ import {promisify} from "node:util"
5
+
6
+ const brotliCompressAsync = promisify(zlib.brotliCompress)
7
+ const gzipAsync = promisify(zlib.gzip)
8
+
9
+ /**
10
+ * Exact media types (beyond the text/*, *+json, and *+xml families) that are worth compressing.
11
+ * Everything else — unknown binary types and commonly pre-compressed media such as images,
12
+ * video, and archives — is left untouched by the conservative allowlist.
13
+ * @type {Set<string>} */
14
+ const COMPRESSIBLE_EXACT_MEDIA_TYPES = new Set([
15
+ "application/ecmascript",
16
+ "application/javascript",
17
+ "application/json",
18
+ "application/x-javascript",
19
+ "application/xml",
20
+ "image/svg+xml"
21
+ ])
22
+
23
+ /**
24
+ * RFC 9110 §12.4.2 qvalue grammar: `0` or `1` with at most three fractional
25
+ * digits, and only zeros after `1`.
26
+ * @type {RegExp} */
27
+ const QVALUE_PATTERN = /^(?:0(?:\.\d{1,3})?|1(?:\.0{1,3})?)$/u
28
+
29
+ /**
30
+ * Runs parse accept encoding.
31
+ * @param {string} headerValue - Accept-Encoding header value.
32
+ * @returns {Map<string, number>} - Lowercased coding to q-value (0-1).
33
+ */
34
+ export function parseAcceptEncoding(headerValue) {
35
+ /** @type {Map<string, number>} */
36
+ const codings = new Map()
37
+
38
+ for (const part of headerValue.split(",")) {
39
+ const [codingToken, ...parameters] = part.split(";")
40
+ const coding = codingToken?.trim().toLowerCase()
41
+
42
+ if (!coding) continue
43
+
44
+ let q = 1
45
+
46
+ for (const parameter of parameters) {
47
+ const [name, value] = parameter.split("=")
48
+
49
+ if (name?.trim().toLowerCase() != "q") continue
50
+
51
+ const qvalue = value?.trim() || ""
52
+
53
+ // A malformed q-value (e.g. `.5`, `01`, `1.001`, more than three fractional
54
+ // digits, or empty) is treated as "not acceptable" (q=0), per RFC 9110 §12.4.2.
55
+ q = QVALUE_PATTERN.test(qvalue) ? Number(qvalue) : 0
56
+ }
57
+
58
+ codings.set(coding, q)
59
+ }
60
+
61
+ return codings
62
+ }
63
+
64
+ /**
65
+ * Negotiates the content coding for a response from the Accept-Encoding header.
66
+ * Identity participates in the same quality comparison as the supported codings:
67
+ * a higher-q identity selects identity, and equal-q ties break in server order
68
+ * br, gzip, identity. Identity defaults to acceptable unless explicitly refused
69
+ * with `identity;q=0` or a `*;q=0` wildcard without a more specific identity
70
+ * entry, and an explicit coding entry beats the wildcard.
71
+ * @param {string | null | undefined} acceptEncoding - Accept-Encoding header value.
72
+ * @returns {{encoding: "br" | "gzip" | "identity", identityAcceptable: boolean} | {notAcceptable: true}} - Negotiated coding, or that no acceptable representation exists.
73
+ */
74
+ export function negotiateContentEncoding(acceptEncoding) {
75
+ if (acceptEncoding === undefined || acceptEncoding === null || acceptEncoding.trim() === "") {
76
+ return {encoding: "identity", identityAcceptable: true}
77
+ }
78
+
79
+ const codings = parseAcceptEncoding(acceptEncoding)
80
+ const wildcardQ = codings.get("*")
81
+ const identityQ = codings.get("identity") ?? wildcardQ ?? 1
82
+
83
+ // Declared in server preference order; the stable sort keeps this order for ties.
84
+ /** @type {Array<{coding: "br" | "gzip" | "identity", q: number}>} */
85
+ const candidates = [
86
+ {coding: "br", q: codings.get("br") ?? wildcardQ ?? 0},
87
+ {coding: "gzip", q: codings.get("gzip") ?? wildcardQ ?? 0},
88
+ {coding: "identity", q: identityQ}
89
+ ]
90
+ const selected = candidates
91
+ .filter((candidate) => candidate.q > 0)
92
+ .sort((a, b) => b.q - a.q)[0]
93
+
94
+ if (!selected) return {notAcceptable: true}
95
+
96
+ return {encoding: selected.coding, identityAcceptable: identityQ > 0}
97
+ }
98
+
99
+ /**
100
+ * Runs is compressible content type.
101
+ * @param {string} contentType - Content-Type header value.
102
+ * @returns {boolean} - Whether the media type is on the compressible allowlist.
103
+ */
104
+ export function isCompressibleContentType(contentType) {
105
+ const mediaType = contentType.split(";")[0]?.trim().toLowerCase()
106
+
107
+ if (!mediaType) return false
108
+
109
+ // Server-sent events are long-lived streams; buffering them for compression
110
+ // would break delivery, so they are excluded before the textual allowlist.
111
+ if (mediaType == "text/event-stream") return false
112
+ if (mediaType.startsWith("text/")) return true
113
+ if (mediaType.endsWith("+json") || mediaType.endsWith("+xml")) return true
114
+
115
+ return COMPRESSIBLE_EXACT_MEDIA_TYPES.has(mediaType)
116
+ }
117
+
118
+ /**
119
+ * Merges Accept-Encoding into the response Vary header case-insensitively and
120
+ * without duplicates. An existing `Vary: *` already covers every request header
121
+ * and is preserved as-is.
122
+ * @param {import("./response.js").default} response - Response instance.
123
+ * @returns {void} - No return value.
124
+ */
125
+ export function addAcceptEncodingToVary(response) {
126
+ for (const headerKey in response.headers) {
127
+ if (headerKey.toLowerCase() != "vary") continue
128
+
129
+ const values = response.headers[headerKey]
130
+ const tokens = values.flatMap((value) => value.split(",").map((token) => token.trim().toLowerCase()))
131
+
132
+ if (tokens.includes("*") || tokens.includes("accept-encoding")) return
133
+
134
+ if (values.length > 0) {
135
+ values[0] = `${values[0]}, Accept-Encoding`
136
+ }
137
+
138
+ return
139
+ }
140
+
141
+ response.setHeader("Vary", "Accept-Encoding")
142
+ }
143
+
144
+ /**
145
+ * Negotiates and applies compression to a buffered response body immediately before
146
+ * framing. Only string/Uint8Array responses reach this point; sendFile responses and
147
+ * bodyless statuses are excluded by the caller. Transformation is skipped for
148
+ * Cache-Control no-transform, non-allowlisted or pre-compressed media types,
149
+ * server-sent events, partial (206) responses, requests with a Range header,
150
+ * credentialed requests (Authorization/Cookie headers), responses carrying
151
+ * credentials or validators (Set-Cookie/ETag/Digest/Content-Digest/Content-Range
152
+ * headers), and per-response opt-outs; a skipped
153
+ * transformation is still sent as identity when the client accepts identity, and
154
+ * answered "not-acceptable" when it does not. Responses that already carry an
155
+ * application-supplied Content-Encoding are passed through unchanged and never
156
+ * negotiate. When the client forbids every representation (identity and all
157
+ * supported codings), the outcome is "not-acceptable".
158
+ * @param {object} args - Options object.
159
+ * @param {Buffer} args.bodyBuffer - Buffered response body bytes (UTF-8 encoded for string bodies).
160
+ * @param {import("../../configuration-types.js").NormalizedHttpCompressionConfiguration} args.compression - Normalized compression configuration.
161
+ * @param {import("./request.js").default | import("./websocket-request.js").default} args.request - Request object.
162
+ * @param {import("./response.js").default} args.response - Response instance.
163
+ * @returns {Promise<{outcome: "identity"} | {outcome: "compressed", body: Buffer} | {outcome: "not-acceptable"}>} - Compression outcome.
164
+ */
165
+ export async function applyResponseCompression({bodyBuffer, compression, request, response}) {
166
+ if (!compression.enabled) return {outcome: "identity"}
167
+
168
+ // Application-supplied encodings stay application-owned: they are passed through
169
+ // unchanged and never take part in negotiation failure handling.
170
+ if (response.getHeader("Content-Encoding").length > 0) return {outcome: "identity"}
171
+
172
+ const negotiated = negotiateContentEncoding(request.header("accept-encoding"))
173
+
174
+ if ("notAcceptable" in negotiated) return {outcome: "not-acceptable"}
175
+
176
+ const cacheControlTokens = response.getHeader("Cache-Control")
177
+ .flatMap((value) => value.split(","))
178
+ .map((token) => token.trim().toLowerCase())
179
+ const contentType = response.getHeader("Content-Type")[0]
180
+
181
+ // Automatic security exclusions: credentialed requests (Authorization/Cookie) and
182
+ // responses carrying credentials (Set-Cookie) or representation validators
183
+ // (ETag/Digest/Content-Digest) are never transformed — compression could leak
184
+ // secret-bearing content through a compression oracle, and validators stay
185
+ // application-owned rather than being recomputed for encoded variants.
186
+ const transformable = !response.isCompressionDisabled() &&
187
+ response.getStatusCode() !== 206 &&
188
+ !request.header("range") &&
189
+ !request.header("authorization") &&
190
+ !request.header("cookie") &&
191
+ response.getHeader("Content-Range").length === 0 &&
192
+ response.getHeader("Set-Cookie").length === 0 &&
193
+ response.getHeader("ETag").length === 0 &&
194
+ response.getHeader("Digest").length === 0 &&
195
+ response.getHeader("Content-Digest").length === 0 &&
196
+ !cacheControlTokens.includes("no-transform") &&
197
+ contentType !== undefined &&
198
+ isCompressibleContentType(contentType)
199
+
200
+ if (!transformable) {
201
+ // A skipped transformation may still go out as identity when the client accepts
202
+ // identity; when identity is forbidden, no acceptable representation can be sent.
203
+ return negotiated.identityAcceptable ? {outcome: "identity"} : {outcome: "not-acceptable"}
204
+ }
205
+
206
+ // The representation now depends on the request's Accept-Encoding, even when this
207
+ // particular response ends up identity (missing header, higher-q identity, below threshold).
208
+ addAcceptEncodingToVary(response)
209
+
210
+ if (negotiated.encoding == "identity") return {outcome: "identity"}
211
+
212
+ // Below the threshold the smaller identity representation is sent instead — but only
213
+ // when identity is acceptable; a client that forbids identity must never be forced
214
+ // onto an unacceptable representation by the size check.
215
+ if (bodyBuffer.length < compression.threshold && negotiated.identityAcceptable) return {outcome: "identity"}
216
+
217
+ const body = negotiated.encoding == "br"
218
+ ? await brotliCompressAsync(bodyBuffer, {params: {[zlib.constants.BROTLI_PARAM_QUALITY]: compression.brotliQuality}})
219
+ : await gzipAsync(bodyBuffer, {level: compression.gzipLevel})
220
+
221
+ response.setHeader("Content-Encoding", negotiated.encoding)
222
+
223
+ return {body, outcome: "compressed"}
224
+ }
@@ -98,6 +98,11 @@ export default class VelociousHttpServerClientResponse {
98
98
  * @type {Record<string, string[]>} */
99
99
  headers = {}
100
100
 
101
+ /**
102
+ * Whether compression has been disabled for this specific response.
103
+ * @type {boolean} */
104
+ compressionDisabled = false
105
+
101
106
  /**
102
107
  * Runs constructor.
103
108
  * @param {object} args - Options object.
@@ -133,6 +138,58 @@ export default class VelociousHttpServerClientResponse {
133
138
  this.headers[key] = [value]
134
139
  }
135
140
 
141
+ /**
142
+ * Returns every value set for a header, matched case-insensitively.
143
+ * @param {string} key - Header name.
144
+ * @returns {string[]} - Header values in insertion order.
145
+ */
146
+ getHeader(key) {
147
+ const lowerCaseKey = key.toLowerCase()
148
+
149
+ /** @type {string[]} */
150
+ const values = []
151
+
152
+ for (const headerKey in this.headers) {
153
+ if (headerKey.toLowerCase() == lowerCaseKey) {
154
+ values.push(...this.headers[headerKey])
155
+ }
156
+ }
157
+
158
+ return values
159
+ }
160
+
161
+ /**
162
+ * Removes every value set for a header, matched case-insensitively.
163
+ * @param {string} key - Header name.
164
+ * @returns {void} - No return value.
165
+ */
166
+ removeHeader(key) {
167
+ const lowerCaseKey = key.toLowerCase()
168
+
169
+ for (const headerKey in this.headers) {
170
+ if (headerKey.toLowerCase() == lowerCaseKey) {
171
+ delete this.headers[headerKey]
172
+ }
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Disables HTTP response compression for this specific response, even when the
178
+ * server is configured to compress buffered responses.
179
+ * @returns {void} - No return value.
180
+ */
181
+ disableCompression() {
182
+ this.compressionDisabled = true
183
+ }
184
+
185
+ /**
186
+ * Runs is compression disabled.
187
+ * @returns {boolean} - Whether compression has been disabled for this response.
188
+ */
189
+ isCompressionDisabled() {
190
+ return this.compressionDisabled
191
+ }
192
+
136
193
  /**
137
194
  * Runs get body.
138
195
  * @returns {string | Uint8Array | null} - The body.
@@ -12,19 +12,32 @@ export class VelociousHttpServerWebsocketEventsHost {
12
12
  * Broadcast handlers grouped by the configuration that owns them.
13
13
  * @type {Map<import("../configuration.js").default, Set<import("./worker-handler/index.js").default>>} */
14
14
  this.broadcastHandlersByConfiguration = new Map()
15
- this.publishQueue = Promise.resolve()
15
+ /**
16
+ * Ordered publish tails keyed by channel. Each channel persists and
17
+ * dispatches behind its own tail so a slow channel cannot head-of-line
18
+ * block unrelated channels. A rejected tail stays in the map so the
19
+ * channel remains poisoned and observable.
20
+ * @type {Map<string, Promise<void>>} */
21
+ this.publishQueuesByChannel = new Map()
16
22
  }
17
23
 
18
24
  /**
19
- * Returns a promise that resolves when all pending publish/broadcast
20
- * operations have completed (including event-log persistence). Useful
21
- * when a request handler needs to guarantee its broadcast is persisted
22
- * before responding — without this, the HTTP response can return before
23
- * the async event-log write finishes.
25
+ * Returns a promise that settles when every channel tail pending at call
26
+ * time has settled (including event-log persistence). Useful when a
27
+ * request handler needs to guarantee its broadcast is persisted before
28
+ * responding — without this, the HTTP response can return before the
29
+ * async event-log write finishes. This is a snapshot barrier: work
30
+ * enqueued after the snapshot is not awaited, and the first rejection in
31
+ * snapshot order is rethrown after every snapshotted tail has settled.
24
32
  * @returns {Promise<void>}
25
33
  */
26
34
  async awaitPendingBroadcasts() {
27
- await this.publishQueue
35
+ const snapshot = [...this.publishQueuesByChannel.values()]
36
+ const results = await Promise.allSettled(snapshot)
37
+
38
+ for (const result of results) {
39
+ if (result.status === "rejected") throw result.reason
40
+ }
28
41
  }
29
42
 
30
43
  /**
@@ -66,18 +79,22 @@ export class VelociousHttpServerWebsocketEventsHost {
66
79
  const channel = publishArgs.channel
67
80
  const payload = publishArgs.payload
68
81
 
69
- this._queuePublish(async () => {
70
- const persistedEvent = await this._persistEventIfNeeded({channel, payload})
71
-
72
- for (const handler of this.handlers) {
73
- handler.dispatchWebsocketEvent({
74
- channel,
75
- createdAt: persistedEvent?.createdAt,
76
- eventId: persistedEvent?.id,
77
- payload
78
- })
79
- }
80
- }, "Failed to publish websocket event")
82
+ this._queuePublish({
83
+ callback: async () => {
84
+ const persistedEvent = await this._persistEventIfNeeded({channel, payload})
85
+
86
+ for (const handler of this.handlers) {
87
+ handler.dispatchWebsocketEvent({
88
+ channel,
89
+ createdAt: persistedEvent?.createdAt,
90
+ eventId: persistedEvent?.id,
91
+ payload
92
+ })
93
+ }
94
+ },
95
+ channel,
96
+ errorMessage: "Failed to publish websocket event"
97
+ })
81
98
  }
82
99
 
83
100
  /**
@@ -92,43 +109,54 @@ export class VelociousHttpServerWebsocketEventsHost {
92
109
  * @returns {void}
93
110
  */
94
111
  broadcastV2({body, broadcastParams, channel, configuration}) {
95
- // Chain onto publishQueue so persistence completes before
96
- // the next broadcast — without this, a subscriber that connects
97
- // immediately after a broadcast could miss the just-persisted
98
- // event when replaying from lastEventId on a slow DB.
99
- this._queuePublish(async () => {
100
- const persistedEvent = await this._persistV2EventIfNeeded({body, channel, configuration})
101
- const dispatchedTargets = new Set()
102
-
103
- for (const handler of this.broadcastHandlersByConfiguration.get(configuration) || []) {
104
- const dispatchKey = handler.websocketV2BroadcastDispatchKey()
105
-
106
- if (dispatchedTargets.has(dispatchKey)) continue
107
-
108
- dispatchedTargets.add(dispatchKey)
109
- handler.dispatchWebsocketV2Broadcast({
110
- body,
111
- broadcastParams,
112
- channel,
113
- eventId: persistedEvent?.id,
114
- createdAt: persistedEvent?.createdAt
115
- })
116
- }
117
- }, "Failed to persist/broadcast V2 event", configuration)
112
+ // Chain onto the channel's own publish tail so persistence completes
113
+ // before the next broadcast on that same channel — without this, a
114
+ // subscriber that connects immediately after a broadcast could miss the
115
+ // just-persisted event when replaying from lastEventId on a slow DB.
116
+ // Other channels chain onto their own tails and are not delayed.
117
+ this._queuePublish({
118
+ callback: async () => {
119
+ const persistedEvent = await this._persistV2EventIfNeeded({body, channel, configuration})
120
+ const dispatchedTargets = new Set()
121
+
122
+ for (const handler of this.broadcastHandlersByConfiguration.get(configuration) || []) {
123
+ const dispatchKey = handler.websocketV2BroadcastDispatchKey()
124
+
125
+ if (dispatchedTargets.has(dispatchKey)) continue
126
+
127
+ dispatchedTargets.add(dispatchKey)
128
+ handler.dispatchWebsocketV2Broadcast({
129
+ body,
130
+ broadcastParams,
131
+ channel,
132
+ eventId: persistedEvent?.id,
133
+ createdAt: persistedEvent?.createdAt
134
+ })
135
+ }
136
+ },
137
+ channel,
138
+ errorMessage: "Failed to persist/broadcast V2 event",
139
+ originatingConfiguration: configuration
140
+ })
118
141
  }
119
142
 
120
143
  /**
121
- * Runs queue publish.
122
- * @param {() => Promise<void>} callback - Publish work to run in order.
123
- * @param {string} errorMessage - Message logged when publish work fails.
124
- * @param {import("../configuration.js").default} [originatingConfiguration] - Configuration whose context owns the work.
144
+ * Queues publish work behind the channel's own ordered tail so only work
145
+ * for the same channel serializes — a slow or failed channel never
146
+ * head-of-line blocks unrelated channels.
147
+ * @param {object} args - Options object.
148
+ * @param {() => Promise<void>} args.callback - Publish work to run in channel order.
149
+ * @param {string} args.channel - Channel whose ordered tail the work chains onto.
150
+ * @param {string} args.errorMessage - Message logged when publish work fails.
151
+ * @param {import("../configuration.js").default} [args.originatingConfiguration] - Configuration whose context owns the work.
125
152
  * @returns {void}
126
153
  */
127
- _queuePublish(callback, errorMessage, originatingConfiguration) {
154
+ _queuePublish({callback, channel, errorMessage, originatingConfiguration}) {
128
155
  const handler = this.handlers.values().next().value
129
156
  const configuration = originatingConfiguration || handler?.configuration
157
+ const previousTail = this.publishQueuesByChannel.get(channel) || Promise.resolve()
130
158
 
131
- this.publishQueue = this.publishQueue
159
+ const tail = previousTail
132
160
  .then(async () => {
133
161
  if (configuration) {
134
162
  return await configuration.withoutCurrentConnectionContexts(callback)
@@ -140,6 +168,21 @@ export class VelociousHttpServerWebsocketEventsHost {
140
168
  console.error(errorMessage, error)
141
169
  throw error
142
170
  })
171
+
172
+ this.publishQueuesByChannel.set(channel, tail)
173
+
174
+ // Remove the tail once it settles successfully, but only when it is
175
+ // still the newest tail — an older settled tail must never delete a
176
+ // newer one. A rejected tail stays in the map so the channel remains
177
+ // poisoned and observable through awaitPendingBroadcasts.
178
+ tail.then(
179
+ () => {
180
+ if (this.publishQueuesByChannel.get(channel) === tail) {
181
+ this.publishQueuesByChannel.delete(channel)
182
+ }
183
+ },
184
+ () => undefined
185
+ )
143
186
  }
144
187
 
145
188
  /**
@@ -227,8 +227,23 @@
227
227
  * @property {string} [peerType] - Optional human-readable label for this peer (e.g. "server", "background-jobs-worker").
228
228
  * @property {number} [unreachableReportMs] - Grace window (ms) a beacon connect/disconnect blip must persist before it is reported as a framework-error. Transient outages that recover within this window (e.g. a deploy restarting the broker) are not reported. Defaults to 30000.
229
229
  */
230
+ /**
231
+ * @typedef {object} HttpCompressionConfiguration
232
+ * @property {boolean} [enabled] - Whether buffered response compression is enabled. Defaults to true; set false to disable globally.
233
+ * @property {number} [threshold] - Minimum buffered body size in bytes before compression is applied. Defaults to 1024.
234
+ * @property {number} [brotliQuality] - Brotli encoder quality (0-11). Defaults to 4.
235
+ * @property {number} [gzipLevel] - Gzip compression level (0-9). Defaults to 6.
236
+ */
237
+ /**
238
+ * @typedef {object} NormalizedHttpCompressionConfiguration
239
+ * @property {boolean} enabled - Whether buffered HTTP response compression is enabled.
240
+ * @property {number} threshold - Minimum buffered body size in bytes before compression is applied.
241
+ * @property {number} brotliQuality - Brotli encoder quality (0-11).
242
+ * @property {number} gzipLevel - Gzip compression level (0-9).
243
+ */
230
244
  /**
231
245
  * @typedef {object} HttpServerConfiguration
246
+ * @property {boolean | HttpCompressionConfiguration} [compression] - Buffered response compression. Enabled with documented defaults when absent; false or {enabled: false} disables it globally.
232
247
  * @property {string} [host] - Hostname to bind the HTTP server to.
233
248
  * @property {boolean} [inProcess] - Run HTTP handlers in the main thread instead of worker threads.
234
249
  * @property {number} [maxWorkers] - Backward-compatible alias for workers.
@@ -1153,7 +1168,47 @@ export type BeaconConfiguration = {
1153
1168
  */
1154
1169
  unreachableReportMs?: number | undefined;
1155
1170
  };
1171
+ export type HttpCompressionConfiguration = {
1172
+ /**
1173
+ * - Whether buffered response compression is enabled. Defaults to true; set false to disable globally.
1174
+ */
1175
+ enabled?: boolean | undefined;
1176
+ /**
1177
+ * - Minimum buffered body size in bytes before compression is applied. Defaults to 1024.
1178
+ */
1179
+ threshold?: number | undefined;
1180
+ /**
1181
+ * - Brotli encoder quality (0-11). Defaults to 4.
1182
+ */
1183
+ brotliQuality?: number | undefined;
1184
+ /**
1185
+ * - Gzip compression level (0-9). Defaults to 6.
1186
+ */
1187
+ gzipLevel?: number | undefined;
1188
+ };
1189
+ export type NormalizedHttpCompressionConfiguration = {
1190
+ /**
1191
+ * - Whether buffered HTTP response compression is enabled.
1192
+ */
1193
+ enabled: boolean;
1194
+ /**
1195
+ * - Minimum buffered body size in bytes before compression is applied.
1196
+ */
1197
+ threshold: number;
1198
+ /**
1199
+ * - Brotli encoder quality (0-11).
1200
+ */
1201
+ brotliQuality: number;
1202
+ /**
1203
+ * - Gzip compression level (0-9).
1204
+ */
1205
+ gzipLevel: number;
1206
+ };
1156
1207
  export type HttpServerConfiguration = {
1208
+ /**
1209
+ * - Buffered response compression. Enabled with documented defaults when absent; false or {enabled: false} disables it globally.
1210
+ */
1211
+ compression?: boolean | HttpCompressionConfiguration | undefined;
1157
1212
  /**
1158
1213
  * - Hostname to bind the HTTP server to.
1159
1214
  */
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration-types.d.ts","sourceRoot":"","sources":["../../src/configuration-types.js"],"names":[],"mappings":"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"}