local-serverless-stack 0.14.0 → 0.16.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 (81) hide show
  1. package/dist/server/engine/dispatch/filter-criteria.d.ts +6 -0
  2. package/dist/server/engine/dispatch/filter-criteria.d.ts.map +1 -0
  3. package/dist/server/engine/dispatch/filter-criteria.js +125 -0
  4. package/dist/server/engine/dispatch/filter-criteria.js.map +1 -0
  5. package/dist/server/engine/dispatch/sqs-poller.d.ts +4 -0
  6. package/dist/server/engine/dispatch/sqs-poller.d.ts.map +1 -1
  7. package/dist/server/engine/dispatch/sqs-poller.js +78 -3
  8. package/dist/server/engine/dispatch/sqs-poller.js.map +1 -1
  9. package/dist/server/engine/dispatch/stream-tailer.d.ts.map +1 -1
  10. package/dist/server/engine/dispatch/stream-tailer.js +134 -21
  11. package/dist/server/engine/dispatch/stream-tailer.js.map +1 -1
  12. package/dist/server/engine/emulators/events/pattern.d.ts +2 -0
  13. package/dist/server/engine/emulators/events/pattern.d.ts.map +1 -1
  14. package/dist/server/engine/emulators/events/pattern.js +152 -5
  15. package/dist/server/engine/emulators/events/pattern.js.map +1 -1
  16. package/dist/server/engine/emulators/lambda-ctl/index.d.ts +1 -0
  17. package/dist/server/engine/emulators/lambda-ctl/index.d.ts.map +1 -1
  18. package/dist/server/engine/emulators/lambda-ctl/index.js +28 -2
  19. package/dist/server/engine/emulators/lambda-ctl/index.js.map +1 -1
  20. package/dist/server/engine/types.d.ts +1 -0
  21. package/dist/server/engine/types.d.ts.map +1 -1
  22. package/dist/server/index.js +12 -0
  23. package/dist/server/index.js.map +1 -1
  24. package/dist/server/routes/apis.d.ts.map +1 -1
  25. package/dist/server/routes/apis.js +4 -0
  26. package/dist/server/routes/apis.js.map +1 -1
  27. package/dist/server/services/cloudformation-parser.d.ts +99 -1
  28. package/dist/server/services/cloudformation-parser.d.ts.map +1 -1
  29. package/dist/server/services/cloudformation-parser.js +290 -1
  30. package/dist/server/services/cloudformation-parser.js.map +1 -1
  31. package/dist/server/services/config-manager.d.ts +4 -0
  32. package/dist/server/services/config-manager.d.ts.map +1 -1
  33. package/dist/server/services/config-manager.js +12 -0
  34. package/dist/server/services/config-manager.js.map +1 -1
  35. package/dist/server/services/gateway-manager.d.ts.map +1 -1
  36. package/dist/server/services/gateway-manager.js +14 -2
  37. package/dist/server/services/gateway-manager.js.map +1 -1
  38. package/dist/server/services/raw-api-assembler.d.ts +17 -0
  39. package/dist/server/services/raw-api-assembler.d.ts.map +1 -0
  40. package/dist/server/services/raw-api-assembler.js +172 -0
  41. package/dist/server/services/raw-api-assembler.js.map +1 -0
  42. package/dist/server/services/resource-provisioner.d.ts +2 -0
  43. package/dist/server/services/resource-provisioner.d.ts.map +1 -1
  44. package/dist/server/services/resource-provisioner.js +75 -1
  45. package/dist/server/services/resource-provisioner.js.map +1 -1
  46. package/dist/server/services/secret-value.d.ts +35 -0
  47. package/dist/server/services/secret-value.d.ts.map +1 -0
  48. package/dist/server/services/secret-value.js +69 -0
  49. package/dist/server/services/secret-value.js.map +1 -0
  50. package/dist/server/services/seed-manager.d.ts +20 -0
  51. package/dist/server/services/seed-manager.d.ts.map +1 -1
  52. package/dist/server/services/seed-manager.js +131 -0
  53. package/dist/server/services/seed-manager.js.map +1 -1
  54. package/dist/server/services/serverless-state-parser.d.ts +4 -0
  55. package/dist/server/services/serverless-state-parser.d.ts.map +1 -1
  56. package/dist/server/services/serverless-state-parser.js.map +1 -1
  57. package/dist/server/services/service-registrar.d.ts +1 -0
  58. package/dist/server/services/service-registrar.d.ts.map +1 -1
  59. package/dist/server/services/service-registrar.js +24 -0
  60. package/dist/server/services/service-registrar.js.map +1 -1
  61. package/dist/ui/assets/{ApisPage-Dg-fuYQY.js → ApisPage-CXVLYVM6.js} +1 -1
  62. package/dist/ui/assets/{BucketDetailPage-By9deUkc.js → BucketDetailPage-BU7ytv7P.js} +1 -1
  63. package/dist/ui/assets/{BucketsPage-idHR6yXh.js → BucketsPage-6oRAkKhU.js} +1 -1
  64. package/dist/ui/assets/{DynamoPage-k8NQGeJ_.js → DynamoPage-DU29K5hT.js} +1 -1
  65. package/dist/ui/assets/{DynamoTablePage-C-LPU3I7.js → DynamoTablePage-BsVCgzws.js} +1 -1
  66. package/dist/ui/assets/{LambdaDetailPage-D8HVidB_.js → LambdaDetailPage-CgDlY1Kc.js} +1 -1
  67. package/dist/ui/assets/{LambdasPage-B19rwgUM.js → LambdasPage-CB59BQVb.js} +1 -1
  68. package/dist/ui/assets/{OpenSearchCollectionPage-Bmc8gI8s.js → OpenSearchCollectionPage-PhV7ZitS.js} +1 -1
  69. package/dist/ui/assets/{OpenSearchPage-CDFY7dS9.js → OpenSearchPage-DMq5T-jO.js} +1 -1
  70. package/dist/ui/assets/{OverviewPage-CWrXkA8s.js → OverviewPage-B7i6ZutS.js} +1 -1
  71. package/dist/ui/assets/{QueueDetailPage-CGcXlOrN.js → QueueDetailPage-CDM38X1V.js} +1 -1
  72. package/dist/ui/assets/{QueuesPage-BMU0DBMz.js → QueuesPage-6py2nlnw.js} +1 -1
  73. package/dist/ui/assets/{SecretsPage-RgJc26ab.js → SecretsPage-BlllDXAl.js} +1 -1
  74. package/dist/ui/assets/{ServiceDetailPage-BZnTIbac.js → ServiceDetailPage-ghEHM9ko.js} +1 -1
  75. package/dist/ui/assets/{ServicesPage-BJCWxYkd.js → ServicesPage-C0E9vXE2.js} +1 -1
  76. package/dist/ui/assets/index-DdoMwcQX.css +1 -0
  77. package/dist/ui/assets/index-VlhdCpKx.js +37 -0
  78. package/dist/ui/index.html +2 -2
  79. package/package.json +1 -1
  80. package/dist/ui/assets/index-DGkmrq2b.js +0 -37
  81. package/dist/ui/assets/index-DH7RTkRh.css +0 -1
@@ -0,0 +1,6 @@
1
+ import type { DeliveredMessage } from '../emulators/sqs/index.js';
2
+ export declare function compileFilterCriteria(filterCriteria: unknown): (record: Record<string, unknown>) => boolean;
3
+ export declare function validateFilterCriteria(filterCriteria: unknown): void;
4
+ export declare function buildStreamFilterView(wireRecord: Record<string, unknown>): Record<string, unknown>;
5
+ export declare function buildSqsFilterView(message: DeliveredMessage): Record<string, unknown>;
6
+ //# sourceMappingURL=filter-criteria.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-criteria.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/filter-criteria.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAyBlE,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,OAAO,GACtB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAc9C;AAMD,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CA4BpE;AAKD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElG;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBrF"}
@@ -0,0 +1,125 @@
1
+ // Pure compiler + view builders for Lambda event source mapping FilterCriteria
2
+ // (PRD RF4/RF5 content filtering). FilterCriteria = { Filters: [{ Pattern }] }
3
+ // where each Pattern is a JSON-ENCODED string holding one EventBridge-style
4
+ // content-filter object. Filters are OR'd (a record passes if it matches ANY
5
+ // pattern); sibling keys inside one pattern are AND'd. Matching delegates to
6
+ // the shared ESM matcher in emulators/events/pattern.ts. When FilterCriteria is
7
+ // absent, has no Filters, or Filters === [], the predicate is always-true so
8
+ // every record is delivered (the pre-filtering default).
9
+ import { matchEsmPattern, validateEsmPattern } from '../emulators/events/pattern.js';
10
+ // AWS default account limit is 5 filter patterns per ESM.
11
+ const MAX_FILTERS = 5;
12
+ function isPlainObject(value) {
13
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
14
+ }
15
+ // Returns the raw Pattern strings from a FilterCriteria value, or [] when there
16
+ // is nothing to filter on (undefined criteria / missing / empty Filters).
17
+ function patternStrings(filterCriteria) {
18
+ if (!isPlainObject(filterCriteria))
19
+ return [];
20
+ const filters = filterCriteria.Filters;
21
+ if (!Array.isArray(filters) || filters.length === 0)
22
+ return [];
23
+ const patterns = [];
24
+ for (const filter of filters) {
25
+ if (isPlainObject(filter) && typeof filter.Pattern === 'string')
26
+ patterns.push(filter.Pattern);
27
+ }
28
+ return patterns;
29
+ }
30
+ // Compiles FilterCriteria into a predicate that is TRUE when the record matches
31
+ // ANY pattern. Parses each Pattern once at compile time. An undefined / empty
32
+ // FilterCriteria compiles to an always-true predicate (no filtering).
33
+ export function compileFilterCriteria(filterCriteria) {
34
+ const raw = patternStrings(filterCriteria);
35
+ if (raw.length === 0)
36
+ return () => true;
37
+ const patterns = [];
38
+ for (const str of raw) {
39
+ try {
40
+ const parsed = JSON.parse(str);
41
+ if (isPlainObject(parsed))
42
+ patterns.push(parsed);
43
+ }
44
+ catch {
45
+ // Unparseable patterns are rejected at write time by validateFilterCriteria;
46
+ // a stray one here is simply dropped from the OR set.
47
+ }
48
+ }
49
+ return record => patterns.some(pattern => matchEsmPattern(pattern, record));
50
+ }
51
+ // Control-plane validation. Throws a plain Error (callers wrap it into
52
+ // InvalidArgumentException) when FilterCriteria is structurally invalid: a
53
+ // non-object Filters, more than MAX_FILTERS entries, a non-object filter, a
54
+ // non-JSON / non-object Pattern, or an unsupported operator.
55
+ export function validateFilterCriteria(filterCriteria) {
56
+ if (filterCriteria === undefined || filterCriteria === null)
57
+ return;
58
+ if (!isPlainObject(filterCriteria)) {
59
+ throw new Error('FilterCriteria must be an object.');
60
+ }
61
+ const filters = filterCriteria.Filters;
62
+ if (filters === undefined)
63
+ return;
64
+ if (!Array.isArray(filters)) {
65
+ throw new Error('FilterCriteria.Filters must be an array.');
66
+ }
67
+ if (filters.length > MAX_FILTERS) {
68
+ throw new Error(`FilterCriteria supports at most ${MAX_FILTERS} filters.`);
69
+ }
70
+ for (const filter of filters) {
71
+ if (!isPlainObject(filter) || typeof filter.Pattern !== 'string') {
72
+ throw new Error('Each FilterCriteria filter must be an object with a string Pattern.');
73
+ }
74
+ let parsed;
75
+ try {
76
+ parsed = JSON.parse(filter.Pattern);
77
+ }
78
+ catch {
79
+ throw new Error('FilterCriteria Pattern must be valid JSON.');
80
+ }
81
+ if (!isPlainObject(parsed)) {
82
+ throw new Error('FilterCriteria Pattern must be a JSON object.');
83
+ }
84
+ validateEsmPattern(parsed);
85
+ }
86
+ }
87
+ // Stream records are matched against the raw wire record exactly as readStream
88
+ // returns it (top-level eventName + dynamodb.Keys/NewImage/OldImage in typed
89
+ // attribute-value form), so the filter view is the identity.
90
+ export function buildStreamFilterView(wireRecord) {
91
+ return wireRecord;
92
+ }
93
+ // SQS records are matched against the Lambda SQS record shape. BODY-AS-JSON
94
+ // rule: if message.body parses to a plain object/array use the parsed value
95
+ // (nested content filters); otherwise use the raw body string (scalar/prefix/
96
+ // anything-but on the string). The delivered event still carries the raw body.
97
+ export function buildSqsFilterView(message) {
98
+ let body = message.body;
99
+ try {
100
+ const parsed = JSON.parse(message.body);
101
+ if (parsed !== null && typeof parsed === 'object')
102
+ body = parsed;
103
+ }
104
+ catch {
105
+ // Not JSON — keep the raw string body.
106
+ }
107
+ const messageAttributes = {};
108
+ for (const [name, value] of Object.entries(message.messageAttributes)) {
109
+ messageAttributes[name] = {
110
+ ...(value.StringValue !== undefined ? { stringValue: value.StringValue } : {}),
111
+ ...(value.BinaryValue !== undefined ? { binaryValue: value.BinaryValue } : {}),
112
+ dataType: value.DataType,
113
+ };
114
+ }
115
+ return {
116
+ messageId: message.messageId,
117
+ receiptHandle: message.receiptHandle,
118
+ body,
119
+ md5OfBody: message.md5OfBody,
120
+ attributes: message.attributes,
121
+ messageAttributes,
122
+ eventSource: 'aws:sqs',
123
+ };
124
+ }
125
+ //# sourceMappingURL=filter-criteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-criteria.js","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/filter-criteria.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export interface SqsPollerDeps {
14
14
  export declare function buildSqsLambdaEvent(batch: DeliveredMessage[], eventSourceArn: string, region: string): {
15
15
  Records: Record<string, unknown>[];
16
16
  };
17
+ export declare function partitionBatchFailures(batch: DeliveredMessage[], payload: unknown): {
18
+ deleteHandles: string[];
19
+ anyRemaining: boolean;
20
+ };
17
21
  export declare class SqsPollerSet {
18
22
  private readonly deps;
19
23
  private readonly loops;
@@ -1 +1 @@
1
- {"version":3,"file":"sqs-poller.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/sqs-poller.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAkC,kBAAkB,EAA0B,MAAM,aAAa,CAAC;AAC7H,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEhH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,QAAQ,CAAC;IAEjB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAOD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,CAsCxC;AAwJD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,IAAI,EAAE,aAAa;IAI/B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB1B,OAAO,IAAI,IAAI;IAKf,SAAS,IAAI,MAAM;CAGpB"}
1
+ {"version":3,"file":"sqs-poller.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/sqs-poller.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAkC,kBAAkB,EAA0B,MAAM,aAAa,CAAC;AAC7H,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEhH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,aAAa,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,QAAQ,CAAC;IAEjB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAOD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;CAAE,CAsCxC;AAYD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,gBAAgB,EAAE,EACzB,OAAO,EAAE,OAAO,GACf;IAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CA0BpD;AAmLD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;gBAE7C,IAAI,EAAE,aAAa;IAI/B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB1B,OAAO,IAAI,IAAI;IAKf,SAAS,IAAI,MAAM;CAGpB"}
@@ -7,6 +7,7 @@
7
7
  // only 'RuntimeUnavailable' (worker restarting) retries the same batch with a
8
8
  // capped backoff.
9
9
  import { queueNameFromArn } from '../emulators/sqs/index.js';
10
+ import { buildSqsFilterView, compileFilterCriteria } from './filter-criteria.js';
10
11
  const DEFAULT_RUNTIME_RETRY_BACKOFF_MS = [1000, 2000, 4000];
11
12
  const SAFETY_TICK_MS = 1000;
12
13
  // The Lambda SQS event for one delivered batch. Message attributes use the
@@ -51,6 +52,49 @@ export function buildSqsLambdaEvent(batch, eventSourceArn, region) {
51
52
  }),
52
53
  };
53
54
  }
55
+ function isPlainObject(value) {
56
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
57
+ }
58
+ // ReportBatchItemFailures partitioning for an SQS batch (matched by messageId).
59
+ // Returns the receiptHandles to delete and whether any message stays in flight.
60
+ // - null/{}/{batchItemFailures:[]} → delete the whole batch.
61
+ // - malformed / unknown / empty id / every message listed → delete NOTHING
62
+ // (whole batch redelivers via the visibility timeout).
63
+ // - partial subset → delete the messages NOT listed.
64
+ export function partitionBatchFailures(batch, payload) {
65
+ const deleteAll = { deleteHandles: batch.map(message => message.receiptHandle), anyRemaining: false };
66
+ const deleteNone = { deleteHandles: [], anyRemaining: true };
67
+ if (payload === null || payload === undefined)
68
+ return deleteAll;
69
+ if (!isPlainObject(payload))
70
+ return deleteNone;
71
+ const bif = payload.batchItemFailures;
72
+ if (bif === null || bif === undefined)
73
+ return deleteAll;
74
+ if (!Array.isArray(bif))
75
+ return deleteNone;
76
+ if (bif.length === 0)
77
+ return deleteAll;
78
+ const failed = new Set();
79
+ for (const entry of bif) {
80
+ if (!isPlainObject(entry))
81
+ return deleteNone;
82
+ const id = entry.itemIdentifier;
83
+ if (typeof id !== 'string' || id.length === 0)
84
+ return deleteNone;
85
+ failed.add(id);
86
+ }
87
+ const batchIds = new Set(batch.map(message => message.messageId));
88
+ for (const id of failed) {
89
+ if (!batchIds.has(id))
90
+ return deleteNone; // an id outside the batch = whole-batch failure
91
+ }
92
+ const remaining = batch.filter(message => failed.has(message.messageId));
93
+ if (remaining.length === batch.length)
94
+ return deleteNone; // every message listed = whole-batch failure
95
+ const deleteHandles = batch.filter(message => !failed.has(message.messageId)).map(message => message.receiptHandle);
96
+ return { deleteHandles, anyRemaining: remaining.length > 0 };
97
+ }
54
98
  class DeliveryLoop {
55
99
  region;
56
100
  queueName;
@@ -64,12 +108,14 @@ class DeliveryLoop {
64
108
  awaitingRedelivery = false;
65
109
  tick = null;
66
110
  windowWaiter = null;
111
+ filter;
67
112
  busListener;
68
113
  constructor(deps, esm, region) {
69
114
  this.deps = deps;
70
115
  this.esm = esm;
71
116
  this.region = region;
72
117
  this.queueName = queueNameFromArn(esm.eventSourceArn);
118
+ this.filter = compileFilterCriteria(esm.filterCriteria);
73
119
  this.busListener = payload => {
74
120
  if (payload.region === this.region && payload.queueName === this.queueName)
75
121
  this.wake();
@@ -82,6 +128,8 @@ class DeliveryLoop {
82
128
  }
83
129
  update(esm) {
84
130
  this.esm = esm;
131
+ // FilterCriteria can change on update — recompile the predicate.
132
+ this.filter = compileFilterCriteria(esm.filterCriteria);
85
133
  this.wake();
86
134
  }
87
135
  stop() {
@@ -142,15 +190,42 @@ class DeliveryLoop {
142
190
  }
143
191
  if (this.stopped)
144
192
  return true; // in-flight messages redeliver via visibility
193
+ // FilterCriteria: drop non-matching messages BEFORE invoking. AWS
194
+ // auto-deletes them (the receive made them invisible), so they must not
195
+ // redeliver, count as a failure, or reach the OnFailure destination.
196
+ const matching = [];
197
+ const nonMatching = [];
198
+ for (const message of batch) {
199
+ (this.filter(buildSqsFilterView(message)) ? matching : nonMatching).push(message);
200
+ }
201
+ if (nonMatching.length > 0) {
202
+ this.deps.sqs.deleteDelivered(this.region, this.queueName, nonMatching.map(message => message.receiptHandle));
203
+ }
204
+ if (matching.length === 0) {
205
+ // The whole window was filtered out: progress, but nothing to invoke.
206
+ this.awaitingRedelivery = false;
207
+ return true;
208
+ }
145
209
  this.armTick();
146
- const event = buildSqsLambdaEvent(batch, this.esm.eventSourceArn, this.region);
210
+ const event = buildSqsLambdaEvent(matching, this.esm.eventSourceArn, this.region);
211
+ const reportPartial = this.esm.functionResponseTypes?.includes('ReportBatchItemFailures') ?? false;
147
212
  const backoffs = this.deps.runtimeRetryBackoffMs ?? DEFAULT_RUNTIME_RETRY_BACKOFF_MS;
148
213
  let attempt = 0;
149
214
  for (;;) {
150
215
  const result = await this.deps.invoke(this.esm.functionName, event);
151
216
  if (result.ok) {
152
- this.deps.sqs.deleteDelivered(this.region, this.queueName, batch.map(message => message.receiptHandle));
153
- this.awaitingRedelivery = false;
217
+ // ReportBatchItemFailures: delete only the messages NOT reported as
218
+ // failed; leave the rest in flight for the visibility timeout to
219
+ // redeliver. Without it, a successful invoke deletes the whole batch.
220
+ if (reportPartial) {
221
+ const { deleteHandles, anyRemaining } = partitionBatchFailures(matching, result.payload);
222
+ this.deps.sqs.deleteDelivered(this.region, this.queueName, deleteHandles);
223
+ this.awaitingRedelivery = anyRemaining;
224
+ }
225
+ else {
226
+ this.deps.sqs.deleteDelivered(this.region, this.queueName, matching.map(message => message.receiptHandle));
227
+ this.awaitingRedelivery = false;
228
+ }
154
229
  return true;
155
230
  }
156
231
  if (result.errorType === 'RuntimeUnavailable' && attempt < backoffs.length && !this.stopped) {
@@ -1 +1 @@
1
- {"version":3,"file":"sqs-poller.js","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/sqs-poller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqs-poller.js","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/sqs-poller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream-tailer.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/stream-tailer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,QAAQ,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA8KD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;gBAE/C,IAAI,EAAE,gBAAgB;IAIlC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB1B,OAAO,IAAI,IAAI;IAKf,WAAW,IAAI,MAAM;CAGtB"}
1
+ {"version":3,"file":"stream-tailer.d.ts","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/stream-tailer.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,MAAM,EAAE,QAAQ,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA0RD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;gBAE/C,IAAI,EAAE,gBAAgB;IAIlC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB1B,OAAO,IAAI,IAAI;IAKf,WAAW,IAAI,MAAM;CAGtB"}
@@ -1,13 +1,19 @@
1
1
  // DynamoDB Streams → Lambda tailers (PRD RF5.3). One serial tailer per
2
2
  // ENABLED ESM on a table stream ARN; wakes on the engine bus
3
3
  // 'dynamo:stream-appended' event — no polling. Failure semantics follow AWS:
4
- // the same batch retries up to min(maximumRetryAttempts, 5) times, then (when
5
- // configured) the OnFailure SQS destination receives the DDBStreamBatchInfo
6
- // envelope and the tailer advances past the poisoned batch.
4
+ // maximumRetryAttempts omitted or -1 means "retry until the record ages out of
5
+ // the stream" (locally, until the batch's oldest record rotates past the
6
+ // 1000-record ring's trim horizon never capped at 5); a positive N retries
7
+ // at most N times (N+1 invocations). On genuine exhaustion (RetryAttemptsExhausted)
8
+ // or record-age expiry (RecordAgeExpired) the OnFailure SQS destination, when
9
+ // configured, receives the DDBStreamBatchInfo envelope and the tailer advances
10
+ // past the batch. FilterCriteria drops non-matching records before batching
11
+ // (still advancing the cursor); ReportBatchItemFailures honors a handler's
12
+ // partial-batch response, checkpointing before the earliest still-failing record.
7
13
  import { randomUUID } from 'crypto';
8
14
  import { queueNameFromArn } from '../emulators/sqs/index.js';
15
+ import { buildStreamFilterView, compileFilterCriteria } from './filter-criteria.js';
9
16
  const DEFAULT_RETRY_BACKOFF_MS = 200;
10
- const MAX_RETRY_ATTEMPTS = 5;
11
17
  // The stream ring keeps at most 1000 records, so one read sees them all.
12
18
  const LATEST_PROBE_LIMIT = 1000;
13
19
  const STREAM_ARN_TABLE = /:table\/([^/]+)\/stream\//;
@@ -20,12 +26,14 @@ class StreamTailer {
20
26
  stopped = false;
21
27
  delivering = false;
22
28
  pending = false;
29
+ filter;
23
30
  busListener;
24
31
  constructor(deps, esm, region, tableName) {
25
32
  this.deps = deps;
26
33
  this.esm = esm;
27
34
  this.region = region;
28
35
  this.tableName = tableName;
36
+ this.filter = compileFilterCriteria(esm.filterCriteria);
29
37
  // LATEST starts after whatever the ring holds right now; TRIM_HORIZON
30
38
  // (and an omitted position) starts at the oldest retained record.
31
39
  if (esm.startingPosition === 'LATEST') {
@@ -42,6 +50,8 @@ class StreamTailer {
42
50
  }
43
51
  update(esm) {
44
52
  this.esm = esm;
53
+ // FilterCriteria can change on update — recompile the predicate.
54
+ this.filter = compileFilterCriteria(esm.filterCriteria);
45
55
  this.wake();
46
56
  }
47
57
  stop() {
@@ -70,38 +80,141 @@ class StreamTailer {
70
80
  const { records, lastSeq } = this.deps.dynamo.readStream(this.region, this.tableName, this.afterSeq, this.esm.batchSize);
71
81
  if (records.length === 0 || lastSeq === undefined)
72
82
  break;
73
- await this.deliverBatch(records);
83
+ // FilterCriteria drops non-matching records BEFORE batching. The raw
84
+ // window is still consumed (batchSize reads raw records) and the cursor
85
+ // advances past filtered records so they never reappear.
86
+ const wire = records;
87
+ const matching = wire.filter(record => this.filter(buildStreamFilterView(record)));
88
+ // A window that is 100% filtered advances the cursor with no invoke.
89
+ const advance = matching.length === 0 ? true : await this.deliverBatch(matching);
74
90
  if (this.stopped)
75
91
  break;
76
- // Advance in every outcome: success, or retries exhausted (with the
77
- // OnFailure envelope already sent) a poisoned batch never wedges.
92
+ // deliverBatch returns false only when the ESM was disabled/stopped
93
+ // mid-retry: leave the cursor so the batch is reconsidered on re-enable.
94
+ if (!advance)
95
+ break;
96
+ // Advance in every advancing outcome: success, partial-batch commit,
97
+ // retries exhausted or record-age expiry (OnFailure already sent), or a
98
+ // fully-filtered window — a poisoned batch never wedges.
78
99
  this.afterSeq = lastSeq;
79
100
  }
80
101
  } while (this.pending && !this.stopped && this.esm.enabled);
81
102
  this.delivering = false;
82
103
  }
104
+ // Delivers one batch, honoring maximumRetryAttempts (-1/omitted = retry until
105
+ // record-age expiry; positive N = N retries) and, when the ESM declares
106
+ // ReportBatchItemFailures, the handler's partial-batch response. Returns true
107
+ // to advance the cursor past the batch, false to leave it (disabled/stopped
108
+ // mid-retry) so the batch is reconsidered when the ESM is re-enabled.
83
109
  async deliverBatch(records) {
84
- const event = { Records: records };
85
- const maxRetries = Math.min(this.esm.maximumRetryAttempts ?? MAX_RETRY_ATTEMPTS, MAX_RETRY_ATTEMPTS);
110
+ const reportPartial = this.esm.functionResponseTypes?.includes('ReportBatchItemFailures') ?? false;
111
+ const configured = this.esm.maximumRetryAttempts;
112
+ const infinite = configured === undefined || configured < 0;
113
+ const maxRetries = infinite ? Number.POSITIVE_INFINITY : configured;
114
+ // The still-failing suffix; shrinks as ReportBatchItemFailures checkpoints
115
+ // past committed records. The attempt budget is NOT reset when it shrinks.
116
+ let suffix = records;
86
117
  let lastErrorType;
87
- for (let attempt = 0; attempt <= maxRetries; attempt++) {
118
+ let condition = 'RetryAttemptsExhausted';
119
+ let invokeCount = 0;
120
+ for (let attempt = 0;; attempt++) {
121
+ if (this.stopped || !this.esm.enabled)
122
+ return false;
88
123
  if (attempt > 0)
89
124
  await sleep(this.deps.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS);
90
- if (this.stopped)
91
- return;
92
- const result = await this.deps.invoke(this.esm.functionName, event);
93
- if (result.ok)
94
- return;
95
- lastErrorType = result.errorType;
125
+ if (this.stopped || !this.esm.enabled)
126
+ return false;
127
+ const result = await this.deps.invoke(this.esm.functionName, { Records: suffix });
128
+ invokeCount++;
129
+ if (result.ok) {
130
+ if (!reportPartial)
131
+ return true; // whole batch committed
132
+ const parsed = this.parseBatchItemFailures(result.payload, suffix);
133
+ if (parsed.kind === 'success')
134
+ return true; // whole (remaining) batch committed
135
+ if (parsed.kind === 'partial')
136
+ suffix = parsed.failingSuffix; // checkpoint past the prefix
137
+ // partial or malformed → the suffix failed; fall through to retry it.
138
+ lastErrorType = 'Unhandled';
139
+ }
140
+ else {
141
+ // A failed invoke (result.ok === false) retries the whole current suffix.
142
+ lastErrorType = result.errorType;
143
+ }
144
+ if (infinite) {
145
+ // -1/omitted retries until the still-failing suffix ages out of the ring.
146
+ if (this.batchAgedOut(suffix)) {
147
+ condition = 'RecordAgeExpired';
148
+ break;
149
+ }
150
+ }
151
+ else if (attempt >= maxRetries) {
152
+ condition = 'RetryAttemptsExhausted';
153
+ break;
154
+ }
96
155
  }
97
- console.warn(`[engine-stream-tailer] ${this.tableName}: batch of ${records.length} record(s) failed after ` +
98
- `${maxRetries + 1} attempt(s) (${lastErrorType ?? 'Error'}) — advancing past it`);
156
+ console.warn(`[engine-stream-tailer] ${this.tableName}: batch of ${suffix.length} record(s) failed after ` +
157
+ `${invokeCount} attempt(s) (${lastErrorType ?? 'Error'}, ${condition}) — advancing past it`);
99
158
  if (this.esm.onFailureDestinationArn) {
100
- await this.sendOnFailure(records, maxRetries + 1, lastErrorType);
159
+ await this.sendOnFailure(suffix, invokeCount, lastErrorType, condition);
160
+ }
161
+ return true;
162
+ }
163
+ // Parses a ReportBatchItemFailures response against the current suffix.
164
+ // success = null/undefined payload, absent batchItemFailures, or [] (commit).
165
+ // malformed = batchItemFailures not an array, a bad/empty itemIdentifier, or an
166
+ // itemIdentifier that is not a SequenceNumber in the current suffix
167
+ // (retry the whole current suffix, like a thrown handler).
168
+ // partial = the contiguous suffix from the EARLIEST reported failure through
169
+ // the end (records are ascending, so slicing from the first matched
170
+ // index includes any unlisted records after the earliest failure).
171
+ parseBatchItemFailures(payload, suffix) {
172
+ if (payload === null || payload === undefined)
173
+ return { kind: 'success' };
174
+ if (typeof payload !== 'object' || Array.isArray(payload))
175
+ return { kind: 'malformed' };
176
+ const bif = payload.batchItemFailures;
177
+ if (bif === null || bif === undefined)
178
+ return { kind: 'success' };
179
+ if (!Array.isArray(bif))
180
+ return { kind: 'malformed' };
181
+ if (bif.length === 0)
182
+ return { kind: 'success' };
183
+ const failing = new Set();
184
+ for (const entry of bif) {
185
+ if (typeof entry !== 'object' || entry === null || Array.isArray(entry))
186
+ return { kind: 'malformed' };
187
+ const id = entry.itemIdentifier;
188
+ if (typeof id !== 'string' || id.length === 0)
189
+ return { kind: 'malformed' };
190
+ failing.add(id);
101
191
  }
192
+ const suffixSeqs = new Set(suffix.map(record => record.dynamodb?.SequenceNumber).filter((seq) => seq !== undefined));
193
+ for (const id of failing) {
194
+ if (!suffixSeqs.has(id))
195
+ return { kind: 'malformed' };
196
+ }
197
+ const firstIndex = suffix.findIndex(record => {
198
+ const seq = record.dynamodb?.SequenceNumber;
199
+ return seq !== undefined && failing.has(seq);
200
+ });
201
+ return { kind: 'partial', failingSuffix: suffix.slice(firstIndex) };
202
+ }
203
+ // True once the batch's earliest record has been evicted from the ring (its
204
+ // SequenceNumber no longer precedes the oldest retained record after the
205
+ // pre-batch cursor) — the local stand-in for AWS's record-age expiry.
206
+ batchAgedOut(records) {
207
+ const firstSeq = records[0]?.dynamodb?.SequenceNumber;
208
+ if (firstSeq === undefined)
209
+ return true;
210
+ const head = this.deps.dynamo.readStream(this.region, this.tableName, this.afterSeq, 1);
211
+ const headSeq = head.records[0]?.dynamodb?.SequenceNumber;
212
+ if (headSeq === undefined)
213
+ return true; // nothing left in the ring after the cursor
214
+ return headSeq > firstSeq;
102
215
  }
103
216
  // AWS's OnFailure destination envelope for stream batches.
104
- async sendOnFailure(records, invokeCount, errorType) {
217
+ async sendOnFailure(records, invokeCount, errorType, condition) {
105
218
  const destinationArn = this.esm.onFailureDestinationArn;
106
219
  const first = records[0];
107
220
  const last = records[records.length - 1];
@@ -110,7 +223,7 @@ class StreamTailer {
110
223
  requestContext: {
111
224
  requestId: randomUUID(),
112
225
  functionArn: `arn:aws:lambda:${this.region}:${account}:function:${this.esm.functionName}`,
113
- condition: 'RetryAttemptsExhausted',
226
+ condition,
114
227
  approximateInvokeCount: invokeCount,
115
228
  },
116
229
  responseContext: {
@@ -1 +1 @@
1
- {"version":3,"file":"stream-tailer.js","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/stream-tailer.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,6DAA6D;AAC7D,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,4DAA4D;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AASpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAc7D,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAWrD,MAAM,YAAY;IACP,MAAM,CAAS;IACf,SAAS,CAAS;IAEnB,GAAG,CAAiC;IAC3B,IAAI,CAAmB;IAChC,QAAQ,CAAqB;IAC7B,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,GAAG,KAAK,CAAC;IACnB,OAAO,GAAG,KAAK,CAAC;IACP,WAAW,CAA+C;IAE3E,YAAY,IAAsB,EAAE,GAAmC,EAAE,MAAc,EAAE,SAAiB;QACxG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,sEAAsE;QACtE,kEAAkE;QAClE,IAAI,GAAG,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC;QACnG,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,EAAE;YAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1F,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAmC;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,SAAS,WAAW,EAAE,GAAG,CAAC,CAAC;YAClF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,GAAG,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,SAAS,CAAC;gBACR,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,MAAM;gBAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CACtD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,GAAG,CAAC,SAAS,CACnB,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM;gBACzD,MAAM,IAAI,CAAC,YAAY,CAAC,OAA6B,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACxB,oEAAoE;gBACpE,oEAAoE;gBACpE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC1B,CAAC;QACH,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAC5D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,OAA2B;QACpD,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,IAAI,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrG,IAAI,aAAiC,CAAC;QACtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC;gBAAE,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAAC,CAAC;YACnF,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,EAAE;gBAAE,OAAO;YACtB,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,CACV,0BAA0B,IAAI,CAAC,SAAS,cAAc,OAAO,CAAC,MAAM,0BAA0B;YAC5F,GAAG,UAAU,GAAG,CAAC,gBAAgB,aAAa,IAAI,OAAO,uBAAuB,CACnF,CAAC;QACF,IAAI,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,2DAA2D;IACnD,KAAK,CAAC,aAAa,CAAC,OAA2B,EAAE,WAAmB,EAAE,SAA6B;QACzG,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAiC,CAAC;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QACzC,MAAM,QAAQ,GAAG;YACf,cAAc,EAAE;gBACd,SAAS,EAAE,UAAU,EAAE;gBACvB,WAAW,EAAE,kBAAkB,IAAI,CAAC,MAAM,IAAI,OAAO,aAAa,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;gBACzF,SAAS,EAAE,wBAAwB;gBACnC,sBAAsB,EAAE,WAAW;aACpC;YACD,eAAe,EAAE;gBACf,UAAU,EAAE,GAAG;gBACf,aAAa,EAAE,SAAS,IAAI,WAAW;aACxC;YACD,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,kBAAkB,EAAE;gBAClB,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,KAAK,CAAC,QAAQ,EAAE,cAAc;gBACnD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc;gBAChD,+BAA+B,EAAE,UAAU,CAAC,KAAK,CAAC;gBAClD,8BAA8B,EAAE,UAAU,CAAC,IAAI,CAAC;gBAChD,SAAS,EAAE,OAAO,CAAC,MAAM;gBACzB,SAAS,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc;aAC3D;SACF,CAAC;QAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAe;YACnC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,UAAU,EAAE;SACxB,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CACxB,aAAa,EACb;gBACE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,OAAO,IAAI,SAAS,EAAE;gBAC/D,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;aACtC,EACD,gBAAgB,CACjB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,gDAAgD,cAAc,iCAAiC,EAC/F,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IACT,IAAI,CAAmB;IACvB,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE3D,YAAY,IAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,CAAC,GAAG,CAAC,OAAO;gBAAE,SAAS;YAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnC,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,SAAS,UAAU,CAAC,MAAwB;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC7D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"stream-tailer.js","sourceRoot":"","sources":["../../../../src/server/engine/dispatch/stream-tailer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  export declare function matches(pattern: unknown, event: Record<string, unknown>): boolean;
2
+ export declare function matchEsmPattern(pattern: unknown, event: Record<string, unknown>): boolean;
2
3
  export declare function validatePattern(pattern: unknown): string[];
4
+ export declare function validateEsmPattern(pattern: unknown): void;
3
5
  //# sourceMappingURL=pattern.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/events/pattern.ts"],"names":[],"mappings":"AAcA,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGjF;AAsDD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAO1D"}
1
+ {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../../../../src/server/engine/emulators/events/pattern.ts"],"names":[],"mappings":"AAsBA,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGjF;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGzF;AAsHD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAO1D;AA+CD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAKzD"}