@salesforce/mrt-utilities 0.2.2 → 0.3.1

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.
@@ -1,5 +1,13 @@
1
+ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
1
2
  import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
2
3
  export { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
4
+ /**
5
+ * Create the DynamoDB client used by the data store, configured for resilient reads under
6
+ * throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
7
+ *
8
+ * @returns A configured DynamoDB client
9
+ */
10
+ export declare function createDalDynamoDBClient(): DynamoDBClient;
3
11
  /**
4
12
  * A class for reading entries from the data store.
5
13
  *
@@ -14,6 +22,8 @@ export declare class DataStore {
14
22
  static _testDocumentClient: DynamoDBDocumentClient | null;
15
23
  /** @internal Test hook: inject logMRTError for unit tests */
16
24
  static _testLogMRTError: ((namespace: string, err: unknown, context?: Record<string, unknown>) => void) | null;
25
+ /** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
26
+ static _testRandom: (() => number) | null;
17
27
  private constructor();
18
28
  /**
19
29
  * Get or create a DynamoDB document client (for abstraction of attribute values).
@@ -23,6 +33,19 @@ export declare class DataStore {
23
33
  * @throws {DataStoreUnavailableError} The data store is unavailable
24
34
  */
25
35
  private getClient;
36
+ /**
37
+ * Resolve the DynamoDB partition key for a read, applying shard selection.
38
+ *
39
+ * Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
40
+ * shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
41
+ * when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
42
+ * There is no runtime fallback: writers fan out to every shard, so every shard
43
+ * a reader can pick is guaranteed to exist.
44
+ *
45
+ * @private
46
+ * @returns The `projectEnvironment` partition key value to read
47
+ */
48
+ private resolveShardPartitionKey;
26
49
  /**
27
50
  * Get or create the singleton DataStore instance.
28
51
  *
@@ -6,6 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.DataStore = exports.DataStoreUnavailableError = exports.DataStoreServiceError = exports.DataStoreNotFoundError = void 0;
9
+ exports.createDalDynamoDBClient = createDalDynamoDBClient;
9
10
  const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
10
11
  const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
11
12
  const errors_js_1 = require("./errors.js");
@@ -14,6 +15,101 @@ var errors_js_2 = require("./errors.js");
14
15
  Object.defineProperty(exports, "DataStoreNotFoundError", { enumerable: true, get: function () { return errors_js_2.DataStoreNotFoundError; } });
15
16
  Object.defineProperty(exports, "DataStoreServiceError", { enumerable: true, get: function () { return errors_js_2.DataStoreServiceError; } });
16
17
  Object.defineProperty(exports, "DataStoreUnavailableError", { enumerable: true, get: function () { return errors_js_2.DataStoreUnavailableError; } });
18
+ /**
19
+ * Retry mode for the data store DynamoDB client.
20
+ *
21
+ * `'adaptive'` adds a client-side rate limiter that backs off proactively when the table
22
+ * signals throttling, instead of retrying blindly into an already-saturated table. The
23
+ * rate limiter keeps state on the client instance, so it only helps across invocations on
24
+ * a warm container — the memoized client preserves that state.
25
+ */
26
+ const DAL_RETRY_MODE = 'adaptive';
27
+ /**
28
+ * Maximum number of attempts (initial request + retries) per data store request.
29
+ *
30
+ * Bounds retry fan-out under sustained throttling. Chosen together with
31
+ * {@link DAL_REQUEST_TIMEOUT_MS} so that `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` stays
32
+ * comfortably under the surrounding request/function timeout.
33
+ */
34
+ const DAL_MAX_ATTEMPTS = 2;
35
+ /**
36
+ * Maximum time (ms) to wait for a connection to be established per attempt.
37
+ *
38
+ * A hard per-attempt ceiling so a slow/hung connection cannot consume the whole budget.
39
+ * The client is memoized on a warm container and reuses keep-alive connections, so most
40
+ * attempts do not open a new connection; a fresh connect exceeding this is already
41
+ * abnormal.
42
+ */
43
+ const DAL_CONNECTION_TIMEOUT_MS = 300;
44
+ /**
45
+ * Maximum time (ms) to wait for a response per attempt.
46
+ *
47
+ * A hard per-attempt ceiling. A single-key DynamoDB read is typically single-digit ms, so
48
+ * this leaves a large multiple of headroom over p99 while still failing fast on a genuine
49
+ * hang. See {@link DAL_MAX_ATTEMPTS} for the timeout/attempt invariant relative to the
50
+ * surrounding function timeout — with these defaults the worst-case timeout path is
51
+ * roughly `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` (≈1s) plus adaptive-retry backoff
52
+ * between attempts.
53
+ */
54
+ const DAL_REQUEST_TIMEOUT_MS = 500;
55
+ /**
56
+ * Error names that indicate the request was throttled.
57
+ *
58
+ * Mirrors the AWS SDK's own throttling classification so the telemetry flag agrees with
59
+ * what actually drove adaptive backoff, rather than a hand-maintained subset.
60
+ */
61
+ const THROTTLING_ERROR_NAMES = new Set([
62
+ 'ThrottlingException',
63
+ 'ProvisionedThroughputExceededException',
64
+ 'RequestLimitExceeded',
65
+ 'RequestThrottled',
66
+ 'RequestThrottledException',
67
+ 'TooManyRequestsException',
68
+ 'ThrottledException',
69
+ 'Throttling',
70
+ ]);
71
+ /**
72
+ * Whether an error represents a throttling response.
73
+ *
74
+ * Checks the SDK's retryable-throttling trait and an HTTP 429 status in addition to the
75
+ * known throttling error names, so throttles surfaced only via metadata are still flagged.
76
+ */
77
+ function isThrottlingError(error) {
78
+ if (typeof error !== 'object' || error === null) {
79
+ return false;
80
+ }
81
+ const candidate = error;
82
+ if (candidate.$retryable?.throttling === true) {
83
+ return true;
84
+ }
85
+ if (candidate.$metadata?.httpStatusCode === 429) {
86
+ return true;
87
+ }
88
+ return typeof candidate.name === 'string' && THROTTLING_ERROR_NAMES.has(candidate.name);
89
+ }
90
+ /**
91
+ * Create the DynamoDB client used by the data store, configured for resilient reads under
92
+ * throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
93
+ *
94
+ * @returns A configured DynamoDB client
95
+ */
96
+ function createDalDynamoDBClient() {
97
+ return new client_dynamodb_1.DynamoDBClient({
98
+ region: process.env.AWS_REGION,
99
+ retryMode: DAL_RETRY_MODE,
100
+ maxAttempts: DAL_MAX_ATTEMPTS,
101
+ // Passing a plain object lets the SDK construct its default NodeHttpHandler with these
102
+ // bounds — no direct dependency on the handler package required. `throwOnRequestTimeout`
103
+ // is required for `requestTimeout` to actually abort a hung request: without it the
104
+ // handler only logs a warning and lets the request run on. Safe here because a DAL read
105
+ // is a simple request/response, not a long-lived stream.
106
+ requestHandler: {
107
+ connectionTimeout: DAL_CONNECTION_TIMEOUT_MS,
108
+ requestTimeout: DAL_REQUEST_TIMEOUT_MS,
109
+ throwOnRequestTimeout: true,
110
+ },
111
+ });
112
+ }
17
113
  /**
18
114
  * A class for reading entries from the data store.
19
115
  *
@@ -28,6 +124,8 @@ class DataStore {
28
124
  static _testDocumentClient = null;
29
125
  /** @internal Test hook: inject logMRTError for unit tests */
30
126
  static _testLogMRTError = null;
127
+ /** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
128
+ static _testRandom = null;
31
129
  constructor() {
32
130
  // Private constructor for singleton; use DataStore.getDataStore() instead.
33
131
  }
@@ -48,12 +146,34 @@ class DataStore {
48
146
  }
49
147
  if (!this._ddb) {
50
148
  this._tableName = `DataAccessLayer-${process.env.AWS_REGION}`;
51
- this._ddb = lib_dynamodb_1.DynamoDBDocumentClient.from(new client_dynamodb_1.DynamoDBClient({
52
- region: process.env.AWS_REGION,
53
- }));
149
+ this._ddb = lib_dynamodb_1.DynamoDBDocumentClient.from(createDalDynamoDBClient());
54
150
  }
55
151
  return this._ddb;
56
152
  }
153
+ /**
154
+ * Resolve the DynamoDB partition key for a read, applying shard selection.
155
+ *
156
+ * Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
157
+ * shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
158
+ * when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
159
+ * There is no runtime fallback: writers fan out to every shard, so every shard
160
+ * a reader can pick is guaranteed to exist.
161
+ *
162
+ * @private
163
+ * @returns The `projectEnvironment` partition key value to read
164
+ */
165
+ resolveShardPartitionKey() {
166
+ const base = `${process.env.MOBIFY_PROPERTY_ID} ${process.env.DEPLOY_TARGET}`;
167
+ const parsed = Number(process.env.MRT_NUM_SHARDS);
168
+ const numShards = Number.isInteger(parsed) && parsed > 1 ? parsed : 1;
169
+ if (numShards === 1) {
170
+ return base;
171
+ }
172
+ const random = DataStore._testRandom ?? Math.random;
173
+ const shard = Math.floor(random() * numShards);
174
+ // shard 0 is the legacy unsuffixed partition; shards 1..N-1 carry a suffix.
175
+ return shard === 0 ? base : `${base} ${shard}`;
176
+ }
57
177
  /**
58
178
  * Get or create the singleton DataStore instance.
59
179
  *
@@ -87,19 +207,22 @@ class DataStore {
87
207
  throw new errors_js_1.DataStoreUnavailableError('The data store is unavailable.');
88
208
  }
89
209
  const ddb = this.getClient();
210
+ const projectEnvironment = this.resolveShardPartitionKey();
90
211
  let response;
91
212
  try {
92
213
  response = await ddb.send(new lib_dynamodb_1.GetCommand({
93
214
  TableName: this._tableName,
94
215
  Key: {
95
- projectEnvironment: `${process.env.MOBIFY_PROPERTY_ID} ${process.env.DEPLOY_TARGET}`,
216
+ projectEnvironment,
96
217
  key,
97
218
  },
98
219
  }));
99
220
  }
100
221
  catch (error) {
222
+ const errorName = error instanceof Error ? error.name : undefined;
223
+ const throttled = isThrottlingError(error);
101
224
  const logFn = DataStore._testLogMRTError ?? utils_js_1.logMRTError;
102
- logFn('data_store', error, { key, tableName: this._tableName });
225
+ logFn('data_store', error, { key, projectEnvironment, tableName: this._tableName, errorName, throttled });
103
226
  throw new errors_js_1.DataStoreServiceError('Data store request failed.');
104
227
  }
105
228
  if (!response.Item?.value) {
@@ -1 +1 @@
1
- {"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,62 @@ const serverless_adapter_1 = require("@h4ad/serverless-adapter");
22
22
  * These headers are typically used for tracing, correlation, or other request/response matching purposes.
23
23
  */
24
24
  const REQUEST_HEADERS_TO_COPY = ['x-correlation-id'];
25
+ // Node's Brotli default is quality 11, which is optimized for offline compression
26
+ // and can consume seconds of Lambda CPU for large streamed HTML responses.
27
+ const DEFAULT_BROTLI_QUALITY = 6;
28
+ const DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES = 32 * 1024;
29
+ /**
30
+ * Resolves the Brotli compression quality from the MRT_BROTLI_COMPRESSION_QUALITY
31
+ * environment variable, falling back to DEFAULT_BROTLI_QUALITY. Values that are not
32
+ * integers within the valid Brotli quality range (0-11) are ignored.
33
+ *
34
+ * @returns The Brotli quality level to use.
35
+ */
36
+ function resolveBrotliQuality() {
37
+ const raw = process.env.MRT_BROTLI_COMPRESSION_QUALITY;
38
+ if (raw === undefined || raw.trim() === '') {
39
+ return DEFAULT_BROTLI_QUALITY;
40
+ }
41
+ const parsed = Number(raw);
42
+ if (Number.isInteger(parsed) &&
43
+ parsed >= node_zlib_1.default.constants.BROTLI_MIN_QUALITY &&
44
+ parsed <= node_zlib_1.default.constants.BROTLI_MAX_QUALITY) {
45
+ return parsed;
46
+ }
47
+ return DEFAULT_BROTLI_QUALITY;
48
+ }
49
+ /**
50
+ * Resolves the Brotli flush threshold (in bytes) from the MRT_BROTLI_FLUSH_THRESHOLD_BYTES
51
+ * environment variable, falling back to DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES.
52
+ * Values that are not positive integers are ignored.
53
+ *
54
+ * @returns The number of uncompressed bytes to buffer before forcing a Brotli flush.
55
+ */
56
+ function resolveBrotliFlushThresholdBytes() {
57
+ const raw = process.env.MRT_BROTLI_FLUSH_THRESHOLD_BYTES;
58
+ if (raw === undefined || raw.trim() === '') {
59
+ return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
60
+ }
61
+ const parsed = Number(raw);
62
+ if (Number.isInteger(parsed) && parsed > 0) {
63
+ return parsed;
64
+ }
65
+ return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
66
+ }
67
+ /**
68
+ * Resolves whether periodic Brotli flushing ("chunking") is enabled from the
69
+ * MRT_BROTLI_CHUNKING_ENABLED environment variable. Defaults to enabled; set the
70
+ * variable to "false" to disable it and let Brotli buffer output until the response ends.
71
+ *
72
+ * @returns true if periodic Brotli flushing should be performed.
73
+ */
74
+ function isBrotliChunkingEnabled() {
75
+ const raw = process.env.MRT_BROTLI_CHUNKING_ENABLED;
76
+ if (!raw) {
77
+ return true;
78
+ }
79
+ return raw.toLowerCase() !== 'false';
80
+ }
25
81
  // Check if zstd compression is available (Node.js v22.15.0+)
26
82
  let createZstdCompress;
27
83
  try {
@@ -258,8 +314,20 @@ function getBestEncoding(acceptEncoding, compressionConfig) {
258
314
  function createCompressionStream(encoding, compressionConfig) {
259
315
  const options = compressionConfig?.options || undefined;
260
316
  switch (encoding) {
261
- case 'br':
262
- return node_zlib_1.default.createBrotliCompress(options);
317
+ case 'br': {
318
+ const brotliOptions = options;
319
+ const qualityParameter = node_zlib_1.default.constants.BROTLI_PARAM_QUALITY;
320
+ if (brotliOptions?.params?.[qualityParameter] !== undefined) {
321
+ return node_zlib_1.default.createBrotliCompress(brotliOptions);
322
+ }
323
+ return node_zlib_1.default.createBrotliCompress({
324
+ ...brotliOptions,
325
+ params: {
326
+ ...brotliOptions?.params,
327
+ [qualityParameter]: resolveBrotliQuality(),
328
+ },
329
+ });
330
+ }
263
331
  case 'zstd':
264
332
  if (!createZstdCompress) {
265
333
  throw new Error('zstd compression is not available in this Node.js version (requires v22.15.0+)');
@@ -307,6 +375,9 @@ function createExpressResponse(responseStream, event, context, request, compress
307
375
  let compressionStream = null;
308
376
  let shouldCompress = false;
309
377
  let compressionInitialized = false;
378
+ let uncompressedBytesSinceBrotliFlush = 0;
379
+ const brotliFlushThresholdBytes = resolveBrotliFlushThresholdBytes();
380
+ const brotliChunkingEnabled = isBrotliChunkingEnabled();
310
381
  // Helper function to check if stream is still writable
311
382
  const isStreamOpen = () => {
312
383
  const streamToCheck = compressionStream || httpResponseStream || responseStream;
@@ -357,7 +428,15 @@ function createExpressResponse(responseStream, event, context, request, compress
357
428
  try {
358
429
  if (shouldCompress && compressionStream && compressionStream.writable) {
359
430
  // Write to compression stream, which will compress and pipe to httpResponseStream
360
- return compressionStream.write(chunk);
431
+ const accepted = compressionStream.write(chunk);
432
+ if (brotliChunkingEnabled && selectedEncoding === 'br' && typeof compressionStream.flush === 'function') {
433
+ uncompressedBytesSinceBrotliFlush += typeof chunk === 'string' ? Buffer.byteLength(chunk) : chunk.byteLength;
434
+ if (uncompressedBytesSinceBrotliFlush >= brotliFlushThresholdBytes) {
435
+ compressionStream.flush(node_zlib_1.default.constants.BROTLI_OPERATION_FLUSH);
436
+ uncompressedBytesSinceBrotliFlush = 0;
437
+ }
438
+ }
439
+ return accepted;
361
440
  }
362
441
  else if (httpResponseStream && httpResponseStream.writable) {
363
442
  // No compression, write directly to httpResponseStream
@@ -1 +1 @@
1
- {"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
+ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
1
2
  import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
2
3
  export { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
4
+ /**
5
+ * Create the DynamoDB client used by the data store, configured for resilient reads under
6
+ * throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
7
+ *
8
+ * @returns A configured DynamoDB client
9
+ */
10
+ export declare function createDalDynamoDBClient(): DynamoDBClient;
3
11
  /**
4
12
  * A class for reading entries from the data store.
5
13
  *
@@ -14,6 +22,8 @@ export declare class DataStore {
14
22
  static _testDocumentClient: DynamoDBDocumentClient | null;
15
23
  /** @internal Test hook: inject logMRTError for unit tests */
16
24
  static _testLogMRTError: ((namespace: string, err: unknown, context?: Record<string, unknown>) => void) | null;
25
+ /** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
26
+ static _testRandom: (() => number) | null;
17
27
  private constructor();
18
28
  /**
19
29
  * Get or create a DynamoDB document client (for abstraction of attribute values).
@@ -23,6 +33,19 @@ export declare class DataStore {
23
33
  * @throws {DataStoreUnavailableError} The data store is unavailable
24
34
  */
25
35
  private getClient;
36
+ /**
37
+ * Resolve the DynamoDB partition key for a read, applying shard selection.
38
+ *
39
+ * Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
40
+ * shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
41
+ * when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
42
+ * There is no runtime fallback: writers fan out to every shard, so every shard
43
+ * a reader can pick is guaranteed to exist.
44
+ *
45
+ * @private
46
+ * @returns The `projectEnvironment` partition key value to read
47
+ */
48
+ private resolveShardPartitionKey;
26
49
  /**
27
50
  * Get or create the singleton DataStore instance.
28
51
  *
@@ -8,6 +8,101 @@ import { DynamoDBDocumentClient, GetCommand } from '@aws-sdk/lib-dynamodb';
8
8
  import { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
9
9
  import { logMRTError } from '../utils/utils.js';
10
10
  export { DataStoreNotFoundError, DataStoreServiceError, DataStoreUnavailableError } from './errors.js';
11
+ /**
12
+ * Retry mode for the data store DynamoDB client.
13
+ *
14
+ * `'adaptive'` adds a client-side rate limiter that backs off proactively when the table
15
+ * signals throttling, instead of retrying blindly into an already-saturated table. The
16
+ * rate limiter keeps state on the client instance, so it only helps across invocations on
17
+ * a warm container — the memoized client preserves that state.
18
+ */
19
+ const DAL_RETRY_MODE = 'adaptive';
20
+ /**
21
+ * Maximum number of attempts (initial request + retries) per data store request.
22
+ *
23
+ * Bounds retry fan-out under sustained throttling. Chosen together with
24
+ * {@link DAL_REQUEST_TIMEOUT_MS} so that `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` stays
25
+ * comfortably under the surrounding request/function timeout.
26
+ */
27
+ const DAL_MAX_ATTEMPTS = 2;
28
+ /**
29
+ * Maximum time (ms) to wait for a connection to be established per attempt.
30
+ *
31
+ * A hard per-attempt ceiling so a slow/hung connection cannot consume the whole budget.
32
+ * The client is memoized on a warm container and reuses keep-alive connections, so most
33
+ * attempts do not open a new connection; a fresh connect exceeding this is already
34
+ * abnormal.
35
+ */
36
+ const DAL_CONNECTION_TIMEOUT_MS = 300;
37
+ /**
38
+ * Maximum time (ms) to wait for a response per attempt.
39
+ *
40
+ * A hard per-attempt ceiling. A single-key DynamoDB read is typically single-digit ms, so
41
+ * this leaves a large multiple of headroom over p99 while still failing fast on a genuine
42
+ * hang. See {@link DAL_MAX_ATTEMPTS} for the timeout/attempt invariant relative to the
43
+ * surrounding function timeout — with these defaults the worst-case timeout path is
44
+ * roughly `DAL_MAX_ATTEMPTS × DAL_REQUEST_TIMEOUT_MS` (≈1s) plus adaptive-retry backoff
45
+ * between attempts.
46
+ */
47
+ const DAL_REQUEST_TIMEOUT_MS = 500;
48
+ /**
49
+ * Error names that indicate the request was throttled.
50
+ *
51
+ * Mirrors the AWS SDK's own throttling classification so the telemetry flag agrees with
52
+ * what actually drove adaptive backoff, rather than a hand-maintained subset.
53
+ */
54
+ const THROTTLING_ERROR_NAMES = new Set([
55
+ 'ThrottlingException',
56
+ 'ProvisionedThroughputExceededException',
57
+ 'RequestLimitExceeded',
58
+ 'RequestThrottled',
59
+ 'RequestThrottledException',
60
+ 'TooManyRequestsException',
61
+ 'ThrottledException',
62
+ 'Throttling',
63
+ ]);
64
+ /**
65
+ * Whether an error represents a throttling response.
66
+ *
67
+ * Checks the SDK's retryable-throttling trait and an HTTP 429 status in addition to the
68
+ * known throttling error names, so throttles surfaced only via metadata are still flagged.
69
+ */
70
+ function isThrottlingError(error) {
71
+ if (typeof error !== 'object' || error === null) {
72
+ return false;
73
+ }
74
+ const candidate = error;
75
+ if (candidate.$retryable?.throttling === true) {
76
+ return true;
77
+ }
78
+ if (candidate.$metadata?.httpStatusCode === 429) {
79
+ return true;
80
+ }
81
+ return typeof candidate.name === 'string' && THROTTLING_ERROR_NAMES.has(candidate.name);
82
+ }
83
+ /**
84
+ * Create the DynamoDB client used by the data store, configured for resilient reads under
85
+ * throttling: adaptive retries, bounded attempts, and hard per-attempt timeouts.
86
+ *
87
+ * @returns A configured DynamoDB client
88
+ */
89
+ export function createDalDynamoDBClient() {
90
+ return new DynamoDBClient({
91
+ region: process.env.AWS_REGION,
92
+ retryMode: DAL_RETRY_MODE,
93
+ maxAttempts: DAL_MAX_ATTEMPTS,
94
+ // Passing a plain object lets the SDK construct its default NodeHttpHandler with these
95
+ // bounds — no direct dependency on the handler package required. `throwOnRequestTimeout`
96
+ // is required for `requestTimeout` to actually abort a hung request: without it the
97
+ // handler only logs a warning and lets the request run on. Safe here because a DAL read
98
+ // is a simple request/response, not a long-lived stream.
99
+ requestHandler: {
100
+ connectionTimeout: DAL_CONNECTION_TIMEOUT_MS,
101
+ requestTimeout: DAL_REQUEST_TIMEOUT_MS,
102
+ throwOnRequestTimeout: true,
103
+ },
104
+ });
105
+ }
11
106
  /**
12
107
  * A class for reading entries from the data store.
13
108
  *
@@ -22,6 +117,8 @@ export class DataStore {
22
117
  static _testDocumentClient = null;
23
118
  /** @internal Test hook: inject logMRTError for unit tests */
24
119
  static _testLogMRTError = null;
120
+ /** @internal Test hook: inject a deterministic random source (returns [0, 1)) for unit tests */
121
+ static _testRandom = null;
25
122
  constructor() {
26
123
  // Private constructor for singleton; use DataStore.getDataStore() instead.
27
124
  }
@@ -42,12 +139,34 @@ export class DataStore {
42
139
  }
43
140
  if (!this._ddb) {
44
141
  this._tableName = `DataAccessLayer-${process.env.AWS_REGION}`;
45
- this._ddb = DynamoDBDocumentClient.from(new DynamoDBClient({
46
- region: process.env.AWS_REGION,
47
- }));
142
+ this._ddb = DynamoDBDocumentClient.from(createDalDynamoDBClient());
48
143
  }
49
144
  return this._ddb;
50
145
  }
146
+ /**
147
+ * Resolve the DynamoDB partition key for a read, applying shard selection.
148
+ *
149
+ * Reads the shard count from `MRT_NUM_SHARDS` (default 1) and picks a random
150
+ * shard `i` in `[0, N)`. Shard 0 is the legacy unsuffixed partition key, so
151
+ * when `MRT_NUM_SHARDS` is unset or 1 this is identical to today's behavior.
152
+ * There is no runtime fallback: writers fan out to every shard, so every shard
153
+ * a reader can pick is guaranteed to exist.
154
+ *
155
+ * @private
156
+ * @returns The `projectEnvironment` partition key value to read
157
+ */
158
+ resolveShardPartitionKey() {
159
+ const base = `${process.env.MOBIFY_PROPERTY_ID} ${process.env.DEPLOY_TARGET}`;
160
+ const parsed = Number(process.env.MRT_NUM_SHARDS);
161
+ const numShards = Number.isInteger(parsed) && parsed > 1 ? parsed : 1;
162
+ if (numShards === 1) {
163
+ return base;
164
+ }
165
+ const random = DataStore._testRandom ?? Math.random;
166
+ const shard = Math.floor(random() * numShards);
167
+ // shard 0 is the legacy unsuffixed partition; shards 1..N-1 carry a suffix.
168
+ return shard === 0 ? base : `${base} ${shard}`;
169
+ }
51
170
  /**
52
171
  * Get or create the singleton DataStore instance.
53
172
  *
@@ -81,19 +200,22 @@ export class DataStore {
81
200
  throw new DataStoreUnavailableError('The data store is unavailable.');
82
201
  }
83
202
  const ddb = this.getClient();
203
+ const projectEnvironment = this.resolveShardPartitionKey();
84
204
  let response;
85
205
  try {
86
206
  response = await ddb.send(new GetCommand({
87
207
  TableName: this._tableName,
88
208
  Key: {
89
- projectEnvironment: `${process.env.MOBIFY_PROPERTY_ID} ${process.env.DEPLOY_TARGET}`,
209
+ projectEnvironment,
90
210
  key,
91
211
  },
92
212
  }));
93
213
  }
94
214
  catch (error) {
215
+ const errorName = error instanceof Error ? error.name : undefined;
216
+ const throttled = isThrottlingError(error);
95
217
  const logFn = DataStore._testLogMRTError ?? logMRTError;
96
- logFn('data_store', error, { key, tableName: this._tableName });
218
+ logFn('data_store', error, { key, projectEnvironment, tableName: this._tableName, errorName, throttled });
97
219
  throw new DataStoreServiceError('Data store request failed.');
98
220
  }
99
221
  if (!response.Item?.value) {
@@ -1 +1 @@
1
- {"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAC,sBAAsB,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AACrG,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAErG;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACZ,UAAU,GAAW,EAAE,CAAC;IACxB,IAAI,GAAkC,IAAI,CAAC;IAC3C,MAAM,CAAC,SAAS,GAAqB,IAAI,CAAC;IAElD,mEAAmE;IACnE,MAAM,CAAC,mBAAmB,GAAkC,IAAI,CAAC;IACjE,6DAA6D;IAC7D,MAAM,CAAC,gBAAgB,GAA0F,IAAI,CAAC;IAEtH;QACE,2EAA2E;IAC7E,CAAC;IAED;;;;;;OAMG;IACK,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAyB,CAAC,gCAAgC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,mBAAmB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC9D,OAAO,SAAS,CAAC,mBAAmB,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,GAAG,mBAAmB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC9D,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CACrC,IAAI,cAAc,CAAC;gBACjB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY;QACjB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACzB,SAAS,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,yBAAyB,CAAC,gCAAgC,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,IAAI,QAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CACvB,IAAI,UAAU,CAAC;gBACb,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,GAAG,EAAE;oBACH,kBAAkB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;oBACpF,GAAG;iBACJ;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,SAAS,CAAC,gBAAgB,IAAI,WAAW,CAAC;YACxD,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAC,CAAC,CAAC;YAC9D,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,GAAG,cAAc,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,EAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAC,CAAC;IAC3C,CAAC"}
1
+ {"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/data-store/production.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,62 @@ import { ServerlessRequest } from '@h4ad/serverless-adapter';
14
14
  * These headers are typically used for tracing, correlation, or other request/response matching purposes.
15
15
  */
16
16
  const REQUEST_HEADERS_TO_COPY = ['x-correlation-id'];
17
+ // Node's Brotli default is quality 11, which is optimized for offline compression
18
+ // and can consume seconds of Lambda CPU for large streamed HTML responses.
19
+ const DEFAULT_BROTLI_QUALITY = 6;
20
+ const DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES = 32 * 1024;
21
+ /**
22
+ * Resolves the Brotli compression quality from the MRT_BROTLI_COMPRESSION_QUALITY
23
+ * environment variable, falling back to DEFAULT_BROTLI_QUALITY. Values that are not
24
+ * integers within the valid Brotli quality range (0-11) are ignored.
25
+ *
26
+ * @returns The Brotli quality level to use.
27
+ */
28
+ function resolveBrotliQuality() {
29
+ const raw = process.env.MRT_BROTLI_COMPRESSION_QUALITY;
30
+ if (raw === undefined || raw.trim() === '') {
31
+ return DEFAULT_BROTLI_QUALITY;
32
+ }
33
+ const parsed = Number(raw);
34
+ if (Number.isInteger(parsed) &&
35
+ parsed >= zlib.constants.BROTLI_MIN_QUALITY &&
36
+ parsed <= zlib.constants.BROTLI_MAX_QUALITY) {
37
+ return parsed;
38
+ }
39
+ return DEFAULT_BROTLI_QUALITY;
40
+ }
41
+ /**
42
+ * Resolves the Brotli flush threshold (in bytes) from the MRT_BROTLI_FLUSH_THRESHOLD_BYTES
43
+ * environment variable, falling back to DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES.
44
+ * Values that are not positive integers are ignored.
45
+ *
46
+ * @returns The number of uncompressed bytes to buffer before forcing a Brotli flush.
47
+ */
48
+ function resolveBrotliFlushThresholdBytes() {
49
+ const raw = process.env.MRT_BROTLI_FLUSH_THRESHOLD_BYTES;
50
+ if (raw === undefined || raw.trim() === '') {
51
+ return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
52
+ }
53
+ const parsed = Number(raw);
54
+ if (Number.isInteger(parsed) && parsed > 0) {
55
+ return parsed;
56
+ }
57
+ return DEFAULT_BROTLI_FLUSH_THRESHOLD_BYTES;
58
+ }
59
+ /**
60
+ * Resolves whether periodic Brotli flushing ("chunking") is enabled from the
61
+ * MRT_BROTLI_CHUNKING_ENABLED environment variable. Defaults to enabled; set the
62
+ * variable to "false" to disable it and let Brotli buffer output until the response ends.
63
+ *
64
+ * @returns true if periodic Brotli flushing should be performed.
65
+ */
66
+ function isBrotliChunkingEnabled() {
67
+ const raw = process.env.MRT_BROTLI_CHUNKING_ENABLED;
68
+ if (!raw) {
69
+ return true;
70
+ }
71
+ return raw.toLowerCase() !== 'false';
72
+ }
17
73
  // Check if zstd compression is available (Node.js v22.15.0+)
18
74
  let createZstdCompress;
19
75
  try {
@@ -250,8 +306,20 @@ function getBestEncoding(acceptEncoding, compressionConfig) {
250
306
  function createCompressionStream(encoding, compressionConfig) {
251
307
  const options = compressionConfig?.options || undefined;
252
308
  switch (encoding) {
253
- case 'br':
254
- return zlib.createBrotliCompress(options);
309
+ case 'br': {
310
+ const brotliOptions = options;
311
+ const qualityParameter = zlib.constants.BROTLI_PARAM_QUALITY;
312
+ if (brotliOptions?.params?.[qualityParameter] !== undefined) {
313
+ return zlib.createBrotliCompress(brotliOptions);
314
+ }
315
+ return zlib.createBrotliCompress({
316
+ ...brotliOptions,
317
+ params: {
318
+ ...brotliOptions?.params,
319
+ [qualityParameter]: resolveBrotliQuality(),
320
+ },
321
+ });
322
+ }
255
323
  case 'zstd':
256
324
  if (!createZstdCompress) {
257
325
  throw new Error('zstd compression is not available in this Node.js version (requires v22.15.0+)');
@@ -299,6 +367,9 @@ export function createExpressResponse(responseStream, event, context, request, c
299
367
  let compressionStream = null;
300
368
  let shouldCompress = false;
301
369
  let compressionInitialized = false;
370
+ let uncompressedBytesSinceBrotliFlush = 0;
371
+ const brotliFlushThresholdBytes = resolveBrotliFlushThresholdBytes();
372
+ const brotliChunkingEnabled = isBrotliChunkingEnabled();
302
373
  // Helper function to check if stream is still writable
303
374
  const isStreamOpen = () => {
304
375
  const streamToCheck = compressionStream || httpResponseStream || responseStream;
@@ -349,7 +420,15 @@ export function createExpressResponse(responseStream, event, context, request, c
349
420
  try {
350
421
  if (shouldCompress && compressionStream && compressionStream.writable) {
351
422
  // Write to compression stream, which will compress and pipe to httpResponseStream
352
- return compressionStream.write(chunk);
423
+ const accepted = compressionStream.write(chunk);
424
+ if (brotliChunkingEnabled && selectedEncoding === 'br' && typeof compressionStream.flush === 'function') {
425
+ uncompressedBytesSinceBrotliFlush += typeof chunk === 'string' ? Buffer.byteLength(chunk) : chunk.byteLength;
426
+ if (uncompressedBytesSinceBrotliFlush >= brotliFlushThresholdBytes) {
427
+ compressionStream.flush(zlib.constants.BROTLI_OPERATION_FLUSH);
428
+ uncompressedBytesSinceBrotliFlush = 0;
429
+ }
430
+ }
431
+ return accepted;
353
432
  }
354
433
  else if (httpResponseStream && httpResponseStream.writable) {
355
434
  // No compression, write directly to httpResponseStream
@@ -1 +1 @@
1
- {"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-lambda-adapter.js","sourceRoot":"","sources":["../../../src/streaming/create-lambda-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AACpC,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,IAAI,EAAE,EAQZ,MAAM,WAAW,CAAC;AACnB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,YAAY,MAAM,cAAc,CAAC;AAIxC,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3D;;;GAGG;AACH,MAAM,uBAAuB,GAAG,CAAC,kBAAkB,CAAU,CAAC;AAE9D,kFAAkF;AAClF,2EAA2E;AAC3E,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,oCAAoC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD;;;;;;GAMG;AACH,SAAS,oBAAoB;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;IACvD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IACE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACxB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB;QAC3C,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAC3C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gCAAgC;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;IACzD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3C,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,oCAAoC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;IACpD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;AACvC,CAAC;AAED,6DAA6D;AAC7D,IAAI,kBAAyE,CAAC;AAC9E,IAAI,CAAC;IACH,gFAAgF;IAChF,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;QAClD,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IAC/C,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,qBAAqB;AACvB,CAAC;AAsDD;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAAY,EACZ,cAAwB,EACxB,oBAAuC,EAAC,OAAO,EAAE,IAAI,EAAC;IAEtD,MAAM,OAAO,GAAG,KAAK,EAAE,KAA2B,EAAE,OAAgB,EAAiB,EAAE;QACrF,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,YAAY,GAChB,cAAc,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAE1G,IAAI,YAAY,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC/D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,cAAc,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,GAChB,cAAc,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAC1G,IAAI,YAAY,IAAI,OAAO,cAAc,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC7D,cAAc,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,KAA2B,EAC3B,cAAwB,EACxB,OAAgB,EAChB,GAAY,EACZ,iBAAqC;IAErC,0DAA0D;IAC1D,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAEjH,0CAA0C;IAC1C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,6DAA6D;QAC7D,8EAA8E;QAE9E,yBAAyB;QACzB,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5C,kEAAkE;QAClE,6BAA6B;QAC7B,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE3C,yBAAyB;QACzB,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,UAAU,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAA2B,EAAU,EAAE;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,2FAA2F;IAC3F,MAAM,YAAY,GAA6B,EAAE,CAAC;IAClD,IAAI,KAAK,CAAC,+BAA+B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAClF,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAElC,0CAA0C;YAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC5C,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC,CAAC;AAEF;;;GAGG;AACH,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,KAA2B,EAAE,OAAgB;IAChF,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAC,GAAG,KAAK,CAAC;IAE9F,MAAM,aAAa,GAAG,cAAc,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,CAAC;IAEtE,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1D,MAAM,WAAW,GAAuB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3F,kEAAkE;IAClE,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACxC,oEAAoE;YACpE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,iBAAiB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,mBAAmB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,SAAS;QAC1C,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;QACpC,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,WAAW;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,sEAAsE;IACtE,gFAAgF;IAChF,MAAM,GAAG,GAAG,OAAoC,CAAC;IAEjD,uBAAuB;IACvB,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE;QAChC,KAAK,CAAuB,UAAkB;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE;QACnC,KAAK,CAAuB,UAAkB;YAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,WAA+B;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAA6B,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;AAEvF;;;;;;;GAOG;AACH,SAAS,eAAe,CACtB,cAA6C,EAC7C,iBAAqC;IAErC,qDAAqD;IACrD,IAAI,iBAAiB,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,IAAI,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAChC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAC,OAAO,EAAE,EAAC,iBAAiB,EAAE,cAAc,EAAC,EAAC,CAAC,CAAC;IAElF,2DAA2D;IAC3D,uEAAuE;IACvE,MAAM,kBAAkB,GAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/D,IAAI,kBAAkB,EAAE,CAAC;QACvB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAE7D,OAAO,YAAY,IAAI,IAAI,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,QAAgB,EAAE,iBAAqC;IACtF,MAAM,OAAO,GAAG,iBAAiB,EAAE,OAAO,IAAI,SAAS,CAAC;IACxD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,aAAa,GAAG,OAAoC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAE7D,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,IAAI,CAAC,oBAAoB,CAAC;gBAC/B,GAAG,aAAa;gBAChB,MAAM,EAAE;oBACN,GAAG,aAAa,EAAE,MAAM;oBACxB,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,EAAE;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM;YACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;YACpG,CAAC;YACD,OAAO,kBAAkB,CAAC,OAAsB,CAAC,CAAC;QACpD,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,UAAU,CAAC,OAAsB,CAAC,CAAC;QACjD,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,aAAa,CAAC,OAAsB,CAAC,CAAC;QACpD;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAAwB,EACxB,KAA2B,EAC3B,OAAgB,EAChB,OAAwB,EACxB,iBAAqC;IAErC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAChC,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,aAAa,GAAuB,SAAS,CAAC;IAClD,MAAM,OAAO,GAAkD,EAAE,CAAC;IAClE,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,kBAAkB,GAAoB,IAAI,CAAC;IAE/C,0EAA0E;IAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC;IACrE,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,UAAU,CAAC;IAC1F,IAAI,iBAAiB,GAA6B,IAAI,CAAC;IACvD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,iCAAiC,GAAG,CAAC,CAAC;IAC1C,MAAM,yBAAyB,GAAG,gCAAgC,EAAE,CAAC;IACrE,MAAM,qBAAqB,GAAG,uBAAuB,EAAE,CAAC;IAExD,uDAAuD;IACvD,MAAM,YAAY,GAAG,GAAY,EAAE;QACjC,MAAM,aAAa,GAAG,iBAAiB,IAAI,kBAAkB,IAAI,cAAc,CAAC;QAChF,OAAO,aAAa,IAAI,aAAa,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;IAC7G,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,qBAAqB,GAAG,GAAS,EAAE;QACvC,IAAI,CAAC,kBAAkB,IAAI,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,uDAAuD;YACvD,iBAAiB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YAEjF,+CAA+C;YAC/C,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBAClD,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,gDAAgD;YAChD,2FAA2F;YAC3F,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;YAExD,cAAc,GAAG,IAAI,CAAC;YACtB,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,cAAc,GAAG,KAAK,CAAC;YACvB,iBAAiB,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,UAAU,GAAG,CAAC,KAAoC,EAAW,EAAE;QACnE,8BAA8B;QAC9B,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,IAAI,cAAc,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBACtE,kFAAkF;gBAClF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,qBAAqB,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,iBAAiB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACxG,iCAAiC,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;oBAE7G,IAAI,iCAAiC,IAAI,yBAAyB,EAAE,CAAC;wBACnE,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;wBAC/D,iCAAiC,GAAG,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;iBAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBAC7D,uDAAuD;gBACvD,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,cAAkC,EAAW,EAAE;QAC3E,MAAM,OAAO,GAAG,iBAAiB,EAAE,OAAO,IAAI,IAAI,CAAC;QACnD,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,UAAU,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,CAAC;IAC9G,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAsB,EAAE;QACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF;;;;;;;;;;OAUG;IACH,MAAM,kBAAkB,GAAG,CAAC,QAAyB,EAAQ,EAAE;QAC7D,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC/D,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,uBAAuB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC;YAC/C,QAAQ,CAAC,SAAS,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;QACD,wFAAwF;QACxF,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACjC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAExC,0CAA0C;QAC1C,wDAAwD;QACxD,MAAM,QAAQ,GAAmB;YAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,UAAU;YAC7C,OAAO;SACR,CAAC;QAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpD,kBAAkB,GAAG,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAEjF,oFAAoF;QACpF,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,oFAAoF;QACpF,+EAA+E;QAC/E,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,qBAAqB,EAAE,CAAC;QAC1B,CAAC;QAED,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,cAAc,GAAG,CACrB,gBAAwE,EACzB,EAAE;QACjD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAqB,EAAoB,EAAE;QAC1E,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,2FAA2F;QAC3F,yDAAyD;QACzD,IAAI,CAAC;YACH,+EAA+E;YAC/E,MAAM,YAAY,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;YAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBAChE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,8FAA8F;YAC9F,MAAM,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,wEAAwE;YACxE,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,CAAC;gBACH,WAAW,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,yEAAyE,EAAE,YAAY,CAAC,CAAC;YACzG,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,2GAA2G;IAC3G,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;QAC7B,MAAM;KACP,CAAoB,CAAC;IAEtB,kEAAkE;IAClE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE;QAC1C,GAAG;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,KAAa;YACf,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,+DAA+D;IAC/D,yEAAyE;IACzE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE;QACxC,GAAG;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,iFAAiF;IACjF,yHAAyH;IACzH,GAAG,CAAC,SAAS,GAAG,UACd,IAAY,EACZ,YAAqE,EACrE,SAAyD;QAEzD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,SAAS,GAAG,YAAY,CAAC;YACzB,YAAY,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,gCAAgC;QAChC,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,GAAG,YAAY,CAAC;QAC/B,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEvC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,KAAK,GAAG,UAAU,KAAmC;QACvD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,uCAAuC;IACtD,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IACE,cAAc;YACd,iBAAiB;YACjB,iBAAiB,CAAC,QAAQ;YAC1B,OAAO,iBAAiB,CAAC,KAAK,KAAK,UAAU,EAC7C,CAAC;YACD,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;aAAM,IACL,kBAAkB;YAClB,kBAAkB,CAAC,QAAQ;YAC3B,0EAA0E;YAC1E,OAAO,kBAAkB,CAAC,KAAK,KAAK,UAAU,EAC9C,CAAC;YACD,0EAA0E;YAC1E,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,aAAa,GAAG,CAAC,QAAyB,EAAE,EAAE;QAClD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,SAAS,GAAG,CAAC,QAAyB,EAAQ,EAAE;QACpD,MAAM,MAAM,GAAG,CAAC,cAAc,IAAI,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,IAAI,kBAAkB,CAAC,CAAC;QAC7G,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACzB,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,uCAAuC;YACvC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,mHAAmH;IACnH,GAAG,CAAC,GAAG,GAAG,UAAU,KAAoC;QACtD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,8DAA8D;QAC9D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,oDAAoD;gBACpD,MAAM,YAAY,GAAG,iBAAiB,IAAI,kBAAkB,CAAC;gBAC7D,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;wBAC9B,SAAS,CAAC,IAAI,CAAC,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,6DAA6D;IAC7D,GAAG,CAAC,MAAM,GAAG,UAAU,IAAY,EAAE,OAAgB;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,GAAG,GAAG,UAAU,KAA6D,EAAE,KAAyB;QAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,uHAAuH;IACvH,GAAG,CAAC,MAAM,GAAG,UAAU,KAAa,EAAE,KAAwB;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,6CAA6C;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAiB,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,SAAmB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,SAAmB,EAAE,KAAK,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,YAAY,GAAG;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC5E,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4CAA4C;YAC5C,kGAAkG;YAClG,8CAA8C;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,6EAA6E;YAC7E,uFAAuF;YACvF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACzC,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,GAAG,UAAU,GAAY;QAC/B,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,GAAG,CAAC,IAAI,GAAG,UAAU,IAAqB;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,sCAAsC;QACtC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,yHAAyH;IACzH,GAAG,CAAC,QAAQ,GAAG,UAAU,GAAW;QAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,+DAA+D;IAC/D,sFAAsF;IACtF,GAAG,CAAC,KAAK,GAAG;QACV,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,4DAA4D;QAC5D,mEAAmE;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC;QACX,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAY,CAAC;IAE9C,qEAAqE;IACrE,qHAAqH;IACrH,6DAA6D;IAC7D,GAAG,CAAC,IAAI,GAAG,UAAU,WAAqB,EAAE,OAAyB;QACnE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,2CAA2C;QAC3C,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEnC,qEAAqE;QACrE,wEAAwE;QACxE,4EAA4E;QAC5E,sEAAsE;QACtE,iBAAiB;QACjB,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrD,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,gDAAgD;IAChD,uFAAuF;IACvF,GAAG,CAAC,MAAM,GAAG,UAAU,WAAsB;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtC,uEAAuE;YACvE,4BAA4B;QAC9B,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,yDAAyD;IACzD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/mrt-utilities",
3
- "version": "0.2.2",
3
+ "version": "0.3.1",
4
4
  "description": "Middleware and utilities to simulate a deployed Managed Runtime environment",
5
5
  "type": "module",
6
6
  "author": "Salesforce",
@@ -124,11 +124,11 @@
124
124
  "eslint": "^9",
125
125
  "eslint-config-prettier": "^10",
126
126
  "eslint-plugin-header": "^3.1.1",
127
- "eslint-plugin-prettier": "^5.5.4",
127
+ "eslint-plugin-prettier": "^5.5.5",
128
128
  "express": "5.1.0",
129
129
  "express4": "npm:express@4.21.2",
130
- "mocha": "^10",
131
- "prettier": "^3.6.2",
130
+ "mocha": "^11",
131
+ "prettier": "^3.8.3",
132
132
  "shx": "^0.3.3",
133
133
  "sinon": "^21.0.1",
134
134
  "tsx": "^4",