fauxqs 0.2.0 → 0.4.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 (34) hide show
  1. package/README.md +2 -1
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +4 -0
  4. package/dist/app.js.map +1 -1
  5. package/dist/sns/actions/createTopic.d.ts.map +1 -1
  6. package/dist/sns/actions/createTopic.js +14 -0
  7. package/dist/sns/actions/createTopic.js.map +1 -1
  8. package/dist/sns/actions/listSubscriptions.js +6 -6
  9. package/dist/sns/actions/publish.d.ts.map +1 -1
  10. package/dist/sns/actions/publish.js +58 -3
  11. package/dist/sns/actions/publish.js.map +1 -1
  12. package/dist/sqs/actions/createQueue.d.ts.map +1 -1
  13. package/dist/sqs/actions/createQueue.js +22 -0
  14. package/dist/sqs/actions/createQueue.js.map +1 -1
  15. package/dist/sqs/actions/receiveMessage.d.ts.map +1 -1
  16. package/dist/sqs/actions/receiveMessage.js +27 -2
  17. package/dist/sqs/actions/receiveMessage.js.map +1 -1
  18. package/dist/sqs/actions/sendMessage.d.ts.map +1 -1
  19. package/dist/sqs/actions/sendMessage.js +53 -0
  20. package/dist/sqs/actions/sendMessage.js.map +1 -1
  21. package/dist/sqs/actions/sendMessageBatch.d.ts.map +1 -1
  22. package/dist/sqs/actions/sendMessageBatch.js +83 -11
  23. package/dist/sqs/actions/sendMessageBatch.js.map +1 -1
  24. package/dist/sqs/actions/setQueueAttributes.d.ts.map +1 -1
  25. package/dist/sqs/actions/setQueueAttributes.js +4 -0
  26. package/dist/sqs/actions/setQueueAttributes.js.map +1 -1
  27. package/dist/sqs/sqsStore.d.ts +21 -1
  28. package/dist/sqs/sqsStore.d.ts.map +1 -1
  29. package/dist/sqs/sqsStore.js +239 -3
  30. package/dist/sqs/sqsStore.js.map +1 -1
  31. package/dist/sqs/sqsTypes.d.ts.map +1 -1
  32. package/dist/sqs/sqsTypes.js +6 -0
  33. package/dist/sqs/sqsTypes.js.map +1 -1
  34. package/package.json +2 -2
package/README.md CHANGED
@@ -157,6 +157,7 @@ const server = await startFauxqs({ defaultRegion: "eu-west-1" });
157
157
  - **Message size validation** — rejects messages exceeding 1 MiB (1,048,576 bytes)
158
158
  - **Unicode character validation** — rejects messages with characters outside the AWS-allowed set
159
159
  - **KMS attributes** — `KmsMasterKeyId` and `KmsDataKeyReusePeriodSeconds` are accepted and stored (no actual encryption)
160
+ - **FIFO queues** — `.fifo` suffix enforcement, `MessageGroupId` ordering, per-group locking (one inflight message per group), `MessageDeduplicationId`, content-based deduplication, sequence numbers, and FIFO-aware DLQ support
160
161
  - **Queue tags**
161
162
 
162
163
  ## SNS Features
@@ -166,6 +167,7 @@ const server = await startFauxqs({ defaultRegion: "eu-west-1" });
166
167
  - **Raw message delivery** — configurable per subscription
167
168
  - **Message size validation** — rejects messages exceeding 256 KB (262,144 bytes)
168
169
  - **Topic and subscription tags**
170
+ - **FIFO topics** — `.fifo` suffix enforcement, `MessageGroupId` and `MessageDeduplicationId` passthrough to SQS subscriptions, content-based deduplication
169
171
  - **Batch publish**
170
172
 
171
173
  ## Conventions
@@ -180,7 +182,6 @@ const server = await startFauxqs({ defaultRegion: "eu-west-1" });
180
182
 
181
183
  fauxqs is designed for development and testing. It does not support:
182
184
 
183
- - FIFO queues and topics
184
185
  - Non-SQS SNS delivery protocols (HTTP/S, Lambda, email, SMS)
185
186
  - Persistence across restarts
186
187
  - Authentication or authorization
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAoC9B,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;EA0G7F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBxB"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAoC9B,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;EA+G7F;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gIAAgI;IAChI,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBxB"}
package/dist/app.js CHANGED
@@ -37,6 +37,7 @@ export function buildApp(options) {
37
37
  const app = Fastify({
38
38
  logger: options?.logger ?? true,
39
39
  bodyLimit: 2 * 1_048_576, // 2 MiB — allow our handlers to validate message size
40
+ forceCloseConnections: true,
40
41
  });
41
42
  const sqsStore = new SqsStore();
42
43
  if (options?.host) {
@@ -107,6 +108,9 @@ export function buildApp(options) {
107
108
  done(err);
108
109
  }
109
110
  });
111
+ app.addHook("preClose", () => {
112
+ sqsStore.shutdown();
113
+ });
110
114
  app.get("/health", async () => {
111
115
  return { status: "ok" };
112
116
  });
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTopic.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CA+DtF"}
1
+ {"version":3,"file":"createTopic.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAkFtF"}
@@ -53,6 +53,20 @@ export function createTopic(params, snsStore) {
53
53
  }
54
54
  }
55
55
  }
56
+ // FIFO topic validation
57
+ const isFifoName = name.endsWith(".fifo");
58
+ const isFifoAttr = resolvedAttributes.FifoTopic === "true";
59
+ if (isFifoName && !isFifoAttr) {
60
+ resolvedAttributes.FifoTopic = "true";
61
+ }
62
+ else if (isFifoAttr && !isFifoName) {
63
+ throw new SnsError("InvalidParameter", "Invalid parameter: Topic name must end with .fifo suffix for FIFO topics.");
64
+ }
65
+ if (resolvedAttributes.FifoTopic === "true") {
66
+ if (resolvedAttributes.ContentBasedDeduplication === undefined) {
67
+ resolvedAttributes.ContentBasedDeduplication = "false";
68
+ }
69
+ }
56
70
  const topic = snsStore.createTopic(name, Object.keys(resolvedAttributes).length > 0 ? resolvedAttributes : undefined, Object.keys(resolvedTags).length > 0 ? resolvedTags : undefined);
57
71
  return snsSuccessResponse("CreateTopic", `<TopicArn>${topic.arn}</TopicArn>`);
58
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createTopic.js","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createTopic.js","sourceRoot":"","sources":["../../../src/sns/actions/createTopic.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,12 @@ export function listSubscriptionsByTopic(params, snsStore) {
10
10
  }
11
11
  function formatSubscriptionList(action, subscriptions) {
12
12
  const membersXml = subscriptions
13
- .map((s) => `<member>
14
- <SubscriptionArn>${escapeXml(s.arn)}</SubscriptionArn>
15
- <TopicArn>${escapeXml(s.topicArn)}</TopicArn>
16
- <Protocol>${escapeXml(s.protocol)}</Protocol>
17
- <Endpoint>${escapeXml(s.endpoint)}</Endpoint>
18
- <Owner>000000000000</Owner>
13
+ .map((s) => `<member>
14
+ <SubscriptionArn>${escapeXml(s.arn)}</SubscriptionArn>
15
+ <TopicArn>${escapeXml(s.topicArn)}</TopicArn>
16
+ <Protocol>${escapeXml(s.protocol)}</Protocol>
17
+ <Endpoint>${escapeXml(s.endpoint)}</Endpoint>
18
+ <Owner>000000000000</Owner>
19
19
  </member>`)
20
20
  .join("\n ");
21
21
  return snsSuccessResponse(action, `<Subscriptions>${membersXml}</Subscriptions>`);
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAsFR;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAmER"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMtD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA+HR;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA2GR"}
@@ -24,6 +24,25 @@ export function publish(params, snsStore, sqsStore) {
24
24
  const subject = params.Subject;
25
25
  // Parse message attributes
26
26
  const messageAttributes = parseMessageAttributes(params);
27
+ // FIFO topic handling
28
+ const isFifoTopic = topic.attributes.FifoTopic === "true";
29
+ let messageGroupId;
30
+ let messageDeduplicationId;
31
+ if (isFifoTopic) {
32
+ messageGroupId = params.MessageGroupId;
33
+ if (!messageGroupId) {
34
+ throw new SnsError("InvalidParameter", "Invalid parameter: The MessageGroupId parameter is required for FIFO topics.");
35
+ }
36
+ messageDeduplicationId = params.MessageDeduplicationId;
37
+ if (!messageDeduplicationId) {
38
+ if (topic.attributes.ContentBasedDeduplication === "true") {
39
+ messageDeduplicationId = SqsStoreClass.contentBasedDeduplicationId(message);
40
+ }
41
+ else {
42
+ throw new SnsError("InvalidParameter", "Invalid parameter: The topic should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.");
43
+ }
44
+ }
45
+ }
27
46
  // Fan out to subscriptions
28
47
  for (const subArn of topic.subscriptionArns) {
29
48
  const sub = snsStore.getSubscription(subArn);
@@ -76,7 +95,14 @@ export function publish(params, snsStore, sqsStore) {
76
95
  MessageAttributes: formatEnvelopeAttributes(messageAttributes),
77
96
  });
78
97
  }
79
- const sqsMsg = SqsStoreClass.createMessage(sqsBody, sqsAttributes);
98
+ const sqsMsg = SqsStoreClass.createMessage(sqsBody, sqsAttributes, undefined, messageGroupId, messageDeduplicationId);
99
+ if (queue.isFifo() && messageDeduplicationId) {
100
+ const dedupResult = queue.checkDeduplication(messageDeduplicationId);
101
+ if (dedupResult.isDuplicate)
102
+ continue;
103
+ sqsMsg.sequenceNumber = queue.nextSequenceNumber();
104
+ queue.recordDeduplication(messageDeduplicationId, sqsMsg.messageId);
105
+ }
80
106
  queue.enqueue(sqsMsg);
81
107
  }
82
108
  return snsSuccessResponse("Publish", `<MessageId>${messageId}</MessageId>`);
@@ -92,6 +118,7 @@ export function publishBatch(params, snsStore, sqsStore) {
92
118
  }
93
119
  // Parse batch entries from flattened form params
94
120
  const entries = parseBatchEntries(params);
121
+ const isFifoTopic = topic.attributes.FifoTopic === "true";
95
122
  const successfulXml = [];
96
123
  const failedXml = [];
97
124
  for (const entry of entries) {
@@ -99,6 +126,25 @@ export function publishBatch(params, snsStore, sqsStore) {
99
126
  failedXml.push(`<member><Id>${entry.id}</Id><Code>InvalidParameter</Code><Message>Message too long</Message><SenderFault>true</SenderFault></member>`);
100
127
  continue;
101
128
  }
129
+ let messageGroupId;
130
+ let messageDeduplicationId;
131
+ if (isFifoTopic) {
132
+ messageGroupId = entry.messageGroupId;
133
+ if (!messageGroupId) {
134
+ failedXml.push(`<member><Id>${entry.id}</Id><Code>InvalidParameter</Code><Message>The MessageGroupId parameter is required for FIFO topics.</Message><SenderFault>true</SenderFault></member>`);
135
+ continue;
136
+ }
137
+ messageDeduplicationId = entry.messageDeduplicationId;
138
+ if (!messageDeduplicationId) {
139
+ if (topic.attributes.ContentBasedDeduplication === "true") {
140
+ messageDeduplicationId = SqsStoreClass.contentBasedDeduplicationId(entry.message);
141
+ }
142
+ else {
143
+ failedXml.push(`<member><Id>${entry.id}</Id><Code>InvalidParameter</Code><Message>The topic should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.</Message><SenderFault>true</SenderFault></member>`);
144
+ continue;
145
+ }
146
+ }
147
+ }
102
148
  const messageId = randomUUID();
103
149
  // Fan out each entry
104
150
  for (const subArn of topic.subscriptionArns) {
@@ -127,7 +173,14 @@ export function publishBatch(params, snsStore, sqsStore) {
127
173
  UnsubscribeURL: `https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=${sub.arn}`,
128
174
  });
129
175
  }
130
- const sqsMsg = SqsStoreClass.createMessage(sqsBody);
176
+ const sqsMsg = SqsStoreClass.createMessage(sqsBody, {}, undefined, messageGroupId, messageDeduplicationId);
177
+ if (queue.isFifo() && messageDeduplicationId) {
178
+ const dedupResult = queue.checkDeduplication(messageDeduplicationId);
179
+ if (dedupResult.isDuplicate)
180
+ continue;
181
+ sqsMsg.sequenceNumber = queue.nextSequenceNumber();
182
+ queue.recordDeduplication(messageDeduplicationId, sqsMsg.messageId);
183
+ }
131
184
  queue.enqueue(sqsMsg);
132
185
  }
133
186
  successfulXml.push(`<member><Id>${entry.id}</Id><MessageId>${messageId}</MessageId></member>`);
@@ -172,8 +225,10 @@ function parseBatchEntries(params) {
172
225
  const id = params[`${prefix}.Id`];
173
226
  const message = params[`${prefix}.Message`];
174
227
  const subject = params[`${prefix}.Subject`];
228
+ const messageGroupId = params[`${prefix}.MessageGroupId`];
229
+ const messageDeduplicationId = params[`${prefix}.MessageDeduplicationId`];
175
230
  if (id && message) {
176
- entries.push({ id, message, subject });
231
+ entries.push({ id, message, subject, messageGroupId, messageDeduplicationId });
177
232
  }
178
233
  }
179
234
  return entries;
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/sns/actions/publish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createQueue.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CAkCT"}
1
+ {"version":3,"file":"createQueue.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CA6DT"}
@@ -9,6 +9,28 @@ export function createQueue(body, store, request) {
9
9
  }
10
10
  const attributes = body.Attributes ?? {};
11
11
  const tags = body.tags ?? {};
12
+ // FIFO validation
13
+ const isFifoName = queueName.endsWith(".fifo");
14
+ const isFifoAttr = attributes.FifoQueue === "true";
15
+ if (isFifoName && !isFifoAttr) {
16
+ // Auto-set FifoQueue when name ends with .fifo
17
+ attributes.FifoQueue = "true";
18
+ }
19
+ else if (isFifoAttr && !isFifoName) {
20
+ throw new SqsError("InvalidParameterValue", "The name of a FIFO queue can only include alphanumeric characters, hyphens, or underscores, must end with .fifo suffix.");
21
+ }
22
+ // Set FIFO defaults
23
+ if (attributes.FifoQueue === "true") {
24
+ if (attributes.ContentBasedDeduplication === undefined) {
25
+ attributes.ContentBasedDeduplication = "false";
26
+ }
27
+ if (attributes.DeduplicationScope === undefined) {
28
+ attributes.DeduplicationScope = "queue";
29
+ }
30
+ if (attributes.FifoThroughputLimit === undefined) {
31
+ attributes.FifoThroughputLimit = "perQueue";
32
+ }
33
+ }
12
34
  // Check for existing queue with same name
13
35
  const existing = store.getQueueByName(queueName);
14
36
  if (existing) {
@@ -1 +1 @@
1
- {"version":3,"file":"createQueue.js","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,WAAW,CACzB,IAA6B,EAC7B,KAAe,EACf,OAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAA+B,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqC,IAAI,EAAE,CAAC;IACrE,MAAM,IAAI,GAAI,IAAI,CAAC,IAA+B,IAAI,EAAE,CAAC;IAEzD,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,4DAA4D;QAC5D,+BAA+B;QAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,iFAAiF,GAAG,EAAE,CACvF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,cAAc,CAAC;IAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/F,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"createQueue.js","sourceRoot":"","sources":["../../../src/sqs/actions/createQueue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"receiveMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CA2ClB"}
1
+ {"version":3,"file":"receiveMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,QAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CAoDlB"}
@@ -19,8 +19,18 @@ export async function receiveMessage(body, store) {
19
19
  if (waitedMsgs.length > 0) {
20
20
  // Process the waited messages through the normal dequeue path
21
21
  // Put them back temporarily and dequeue properly
22
- for (const msg of waitedMsgs) {
23
- queue.messages.unshift(msg);
22
+ if (queue.isFifo()) {
23
+ for (const msg of waitedMsgs) {
24
+ const groupId = msg.messageGroupId ?? "__default";
25
+ const group = queue.fifoMessages.get(groupId) ?? [];
26
+ group.unshift(msg);
27
+ queue.fifoMessages.set(groupId, group);
28
+ }
29
+ }
30
+ else {
31
+ for (const msg of waitedMsgs) {
32
+ queue.messages.unshift(msg);
33
+ }
24
34
  }
25
35
  messages = queue.dequeue(maxNumberOfMessages, visibilityTimeout, dlqResolver);
26
36
  }
@@ -51,6 +61,21 @@ function addSystemAttributes(messages, queue, systemAttributeNames) {
51
61
  if (wantsAll || systemAttributeNames.includes("ApproximateFirstReceiveTimestamp")) {
52
62
  attrs.ApproximateFirstReceiveTimestamp = String(entry.message.approximateFirstReceiveTimestamp ?? "");
53
63
  }
64
+ if (wantsAll || systemAttributeNames.includes("MessageGroupId")) {
65
+ if (entry.message.messageGroupId) {
66
+ attrs.MessageGroupId = entry.message.messageGroupId;
67
+ }
68
+ }
69
+ if (wantsAll || systemAttributeNames.includes("MessageDeduplicationId")) {
70
+ if (entry.message.messageDeduplicationId) {
71
+ attrs.MessageDeduplicationId = entry.message.messageDeduplicationId;
72
+ }
73
+ }
74
+ if (wantsAll || systemAttributeNames.includes("SequenceNumber")) {
75
+ if (entry.message.sequenceNumber) {
76
+ attrs.SequenceNumber = entry.message.sequenceNumber;
77
+ }
78
+ }
54
79
  if (Object.keys(attrs).length > 0) {
55
80
  msg.Attributes = attrs;
56
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"receiveMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receiveMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/receiveMessage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAsDnF"}
1
+ {"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CA0DnF"}
@@ -21,6 +21,9 @@ export function sendMessage(body, store) {
21
21
  throw new SqsError("InvalidParameterValue", `One or more parameters are invalid. Reason: Message must be shorter than ${SQS_MAX_MESSAGE_SIZE_BYTES} bytes.`);
22
22
  }
23
23
  const messageAttributes = body.MessageAttributes ?? {};
24
+ if (queue.isFifo()) {
25
+ return sendFifoMessage(body, queue, messageBody, messageAttributes);
26
+ }
24
27
  // DelaySeconds: per-message override or queue default
25
28
  const delaySeconds = body.DelaySeconds ?? parseInt(queue.attributes.DelaySeconds);
26
29
  const msg = SqsStoreClass.createMessage(messageBody, messageAttributes, delaySeconds > 0 ? delaySeconds : undefined);
@@ -34,4 +37,54 @@ export function sendMessage(body, store) {
34
37
  }
35
38
  return result;
36
39
  }
40
+ function sendFifoMessage(body, queue, messageBody, messageAttributes) {
41
+ const messageGroupId = body.MessageGroupId;
42
+ if (!messageGroupId) {
43
+ throw new SqsError("MissingParameter", "The request must contain the parameter MessageGroupId.");
44
+ }
45
+ // Per-message DelaySeconds is not supported on FIFO queues
46
+ if (body.DelaySeconds !== undefined && body.DelaySeconds !== 0) {
47
+ throw new SqsError("InvalidParameterValue", "Value 0 for parameter DelaySeconds is invalid. Reason: The request include parameter that is not valid for this queue type.");
48
+ }
49
+ let messageDeduplicationId = body.MessageDeduplicationId;
50
+ const contentBasedDedup = queue.attributes.ContentBasedDeduplication === "true";
51
+ if (!messageDeduplicationId) {
52
+ if (contentBasedDedup) {
53
+ messageDeduplicationId = SqsStoreClass.contentBasedDeduplicationId(messageBody);
54
+ }
55
+ else {
56
+ throw new SqsError("InvalidParameterValue", "The queue should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.");
57
+ }
58
+ }
59
+ // Check deduplication
60
+ const dedupResult = queue.checkDeduplication(messageDeduplicationId);
61
+ if (dedupResult.isDuplicate) {
62
+ // Return the original message ID without re-enqueue
63
+ const result = {
64
+ MessageId: dedupResult.originalMessageId,
65
+ MD5OfMessageBody: SqsStoreClass.createMessage(messageBody).md5OfBody,
66
+ };
67
+ const md5OfAttrs = SqsStoreClass.createMessage(messageBody, messageAttributes).md5OfMessageAttributes;
68
+ if (md5OfAttrs) {
69
+ result.MD5OfMessageAttributes = md5OfAttrs;
70
+ }
71
+ result.SequenceNumber = queue.nextSequenceNumber();
72
+ return result;
73
+ }
74
+ // Queue-level delay applies to FIFO queues
75
+ const queueDelay = parseInt(queue.attributes.DelaySeconds);
76
+ const msg = SqsStoreClass.createMessage(messageBody, messageAttributes, queueDelay > 0 ? queueDelay : undefined, messageGroupId, messageDeduplicationId);
77
+ msg.sequenceNumber = queue.nextSequenceNumber();
78
+ queue.recordDeduplication(messageDeduplicationId, msg.messageId);
79
+ queue.enqueue(msg);
80
+ const result = {
81
+ MessageId: msg.messageId,
82
+ MD5OfMessageBody: msg.md5OfBody,
83
+ SequenceNumber: msg.sequenceNumber,
84
+ };
85
+ if (msg.md5OfMessageAttributes) {
86
+ result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
87
+ }
88
+ return result;
89
+ }
37
90
  //# sourceMappingURL=sendMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sendMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEvF,MAAM,UAAU,WAAW,CAAC,IAA6B,EAAE,KAAe;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAiC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qDAAqD,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,QAAQ,CAChB,wBAAwB,EACxB,+GAA+G,CAChH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,0BAA0B,EAAE,CAAC;QACxE,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,4EAA4E,0BAA0B,SAAS,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAI,IAAI,CAAC,iBAA2D,IAAI,EAAE,CAAC;IAElG,sDAAsD;IACtD,MAAM,YAAY,GACf,IAAI,CAAC,YAAmC,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAEvF,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CACrC,WAAW,EACX,iBAAiB,EACjB,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEnB,MAAM,MAAM,GAA4B;QACtC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,gBAAgB,EAAE,GAAG,CAAC,SAAS;KAChC,CAAC;IAEF,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC/B,MAAM,CAAC,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"sendMessage.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sendMessageBatch.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAY/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CA6FxF"}
1
+ {"version":3,"file":"sendMessageBatch.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAc/C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAuLxF"}
@@ -25,6 +25,8 @@ export function sendMessageBatch(body, store) {
25
25
  }
26
26
  ids.add(entry.Id);
27
27
  }
28
+ const isFifo = queue.isFifo();
29
+ const contentBasedDedup = queue.attributes.ContentBasedDeduplication === "true";
28
30
  const successful = [];
29
31
  const failed = [];
30
32
  for (const entry of entries) {
@@ -46,18 +48,88 @@ export function sendMessageBatch(body, store) {
46
48
  });
47
49
  continue;
48
50
  }
49
- const delaySeconds = entry.DelaySeconds ?? parseInt(queue.attributes.DelaySeconds);
50
- const msg = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}, delaySeconds > 0 ? delaySeconds : undefined);
51
- queue.enqueue(msg);
52
- const result = {
53
- Id: entry.Id,
54
- MessageId: msg.messageId,
55
- MD5OfMessageBody: msg.md5OfBody,
56
- };
57
- if (msg.md5OfMessageAttributes) {
58
- result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
51
+ if (isFifo) {
52
+ // FIFO validations
53
+ if (!entry.MessageGroupId) {
54
+ failed.push({
55
+ Id: entry.Id,
56
+ SenderFault: true,
57
+ Code: "MissingParameter",
58
+ Message: "The request must contain the parameter MessageGroupId.",
59
+ });
60
+ continue;
61
+ }
62
+ if (entry.DelaySeconds !== undefined && entry.DelaySeconds !== 0) {
63
+ failed.push({
64
+ Id: entry.Id,
65
+ SenderFault: true,
66
+ Code: "InvalidParameterValue",
67
+ Message: "DelaySeconds is not supported on FIFO queues.",
68
+ });
69
+ continue;
70
+ }
71
+ let dedupId = entry.MessageDeduplicationId;
72
+ if (!dedupId) {
73
+ if (contentBasedDedup) {
74
+ dedupId = SqsStoreClass.contentBasedDeduplicationId(entry.MessageBody);
75
+ }
76
+ else {
77
+ failed.push({
78
+ Id: entry.Id,
79
+ SenderFault: true,
80
+ Code: "InvalidParameterValue",
81
+ Message: "The queue should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly.",
82
+ });
83
+ continue;
84
+ }
85
+ }
86
+ // Check deduplication
87
+ const dedupResult = queue.checkDeduplication(dedupId);
88
+ if (dedupResult.isDuplicate) {
89
+ const result = {
90
+ Id: entry.Id,
91
+ MessageId: dedupResult.originalMessageId,
92
+ MD5OfMessageBody: SqsStoreClass.createMessage(entry.MessageBody).md5OfBody,
93
+ SequenceNumber: queue.nextSequenceNumber(),
94
+ };
95
+ const md5OfAttrs = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}).md5OfMessageAttributes;
96
+ if (md5OfAttrs) {
97
+ result.MD5OfMessageAttributes = md5OfAttrs;
98
+ }
99
+ successful.push(result);
100
+ continue;
101
+ }
102
+ const queueDelay = parseInt(queue.attributes.DelaySeconds);
103
+ const msg = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}, queueDelay > 0 ? queueDelay : undefined, entry.MessageGroupId, dedupId);
104
+ msg.sequenceNumber = queue.nextSequenceNumber();
105
+ queue.recordDeduplication(dedupId, msg.messageId);
106
+ queue.enqueue(msg);
107
+ const result = {
108
+ Id: entry.Id,
109
+ MessageId: msg.messageId,
110
+ MD5OfMessageBody: msg.md5OfBody,
111
+ SequenceNumber: msg.sequenceNumber,
112
+ };
113
+ if (msg.md5OfMessageAttributes) {
114
+ result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
115
+ }
116
+ successful.push(result);
117
+ }
118
+ else {
119
+ // Standard queue
120
+ const delaySeconds = entry.DelaySeconds ?? parseInt(queue.attributes.DelaySeconds);
121
+ const msg = SqsStoreClass.createMessage(entry.MessageBody, entry.MessageAttributes ?? {}, delaySeconds > 0 ? delaySeconds : undefined);
122
+ queue.enqueue(msg);
123
+ const result = {
124
+ Id: entry.Id,
125
+ MessageId: msg.messageId,
126
+ MD5OfMessageBody: msg.md5OfBody,
127
+ };
128
+ if (msg.md5OfMessageAttributes) {
129
+ result.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
130
+ }
131
+ successful.push(result);
59
132
  }
60
- successful.push(result);
61
133
  }
62
134
  return { Successful: successful, Failed: failed };
63
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sendMessageBatch.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AASvF,MAAM,UAAU,gBAAgB,CAAC,IAA6B,EAAE,KAAe;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,OAAO,GAAI,IAAI,CAAC,OAAwB,IAAI,EAAE,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAE,gDAAgD,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,QAAQ,CAChB,8BAA8B,EAC9B,+CAA+C,CAChD,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAChB,0BAA0B,EAC1B,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,UAAU,GAKX,EAAE,CAAC;IACR,MAAM,MAAM,GAKP,EAAE,CAAC;IAER,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EACL,+GAA+G;aAClH,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,0BAA0B,EAAE,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,4EAA4E,0BAA0B,SAAS;aACzH,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEnF,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CACrC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,iBAAiB,IAAI,EAAE,EAC7B,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnB,MAAM,MAAM,GAAgC;YAC1C,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,gBAAgB,EAAE,GAAG,CAAC,SAAS;SAChC,CAAC;QAEF,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAC/B,MAAM,CAAC,sBAAsB,GAAG,GAAG,CAAC,sBAAsB,CAAC;QAC7D,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"sendMessageBatch.js","sourceRoot":"","sources":["../../../src/sqs/actions/sendMessageBatch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setQueueAttributes.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAqB1F"}
1
+ {"version":3,"file":"setQueueAttributes.d.ts","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CA6B1F"}
@@ -15,6 +15,10 @@ export function setQueueAttributes(body, store) {
15
15
  throw new SqsError("InvalidAttributeName", `Unknown attribute: ${key}`);
16
16
  }
17
17
  }
18
+ // FifoQueue cannot be changed after creation
19
+ if (attributes.FifoQueue !== undefined && attributes.FifoQueue !== queue.attributes.FifoQueue) {
20
+ throw new SqsError("InvalidAttributeValue", "Invalid value for the parameter FifoQueue. You cannot change the FifoQueue attribute of an existing queue.");
21
+ }
18
22
  queue.setAttributes(attributes);
19
23
  return {};
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setQueueAttributes.js","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,kBAAkB,CAAC,IAA6B,EAAE,KAAe;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqC,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"setQueueAttributes.js","sourceRoot":"","sources":["../../../src/sqs/actions/setQueueAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,UAAU,kBAAkB,CAAC,IAA6B,EAAE,KAAe;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAA8B,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,UAAU,GAAI,IAAI,CAAC,UAAqC,IAAI,EAAE,CAAC;IAErE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,QAAQ,CAChB,uBAAuB,EACvB,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -15,18 +15,36 @@ export declare class SqsQueue {
15
15
  maxMessages: number;
16
16
  timer: ReturnType<typeof setTimeout>;
17
17
  }>;
18
+ fifoMessages: Map<string, SqsMessage[]>;
19
+ fifoDelayed: Map<string, SqsMessage[]>;
20
+ deduplicationCache: Map<string, {
21
+ messageId: string;
22
+ timestamp: number;
23
+ }>;
24
+ sequenceCounter: number;
18
25
  constructor(name: string, url: string, arn: string, attributes?: Record<string, string>, tags?: Record<string, string>);
26
+ isFifo(): boolean;
19
27
  getAllAttributes(requested: string[]): Record<string, string>;
20
28
  getAttribute(name: string): string | undefined;
21
29
  setAttributes(attrs: Record<string, string>): void;
22
30
  enqueue(msg: SqsMessage): void;
23
31
  dequeue(maxCount: number, visibilityTimeoutOverride?: number, dlqResolver?: (arn: string) => SqsQueue | undefined): ReceivedMessage[];
32
+ private dequeueFifo;
24
33
  deleteMessage(receiptHandle: string): boolean;
25
34
  changeVisibility(receiptHandle: string, timeoutSeconds: number): void;
26
35
  processTimers(): void;
27
36
  waitForMessages(maxMessages: number, waitTimeSeconds: number): Promise<SqsMessage[]>;
28
37
  purge(): void;
38
+ cancelWaiters(): void;
39
+ checkDeduplication(dedupId: string): {
40
+ isDuplicate: boolean;
41
+ originalMessageId?: string;
42
+ };
43
+ recordDeduplication(dedupId: string, messageId: string): void;
44
+ nextSequenceNumber(): string;
45
+ private hasFifoMessages;
29
46
  private notifyWaiters;
47
+ private pullFifoMessagesForWaiter;
30
48
  }
31
49
  export declare class SqsStore {
32
50
  private queues;
@@ -40,6 +58,8 @@ export declare class SqsStore {
40
58
  listQueues(prefix?: string, maxResults?: number): SqsQueue[];
41
59
  getQueueByArn(arn: string): SqsQueue | undefined;
42
60
  processAllTimers(): void;
43
- static createMessage(body: string, messageAttributes?: Record<string, MessageAttributeValue>, delaySeconds?: number): SqsMessage;
61
+ shutdown(): void;
62
+ static createMessage(body: string, messageAttributes?: Record<string, MessageAttributeValue>, delaySeconds?: number, messageGroupId?: string, messageDeduplicationId?: string): SqsMessage;
63
+ static contentBasedDeduplicationId(body: string): string;
44
64
  }
45
65
  //# sourceMappingURL=sqsStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqsStore.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqsStore.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { randomUUID } from "node:crypto";
1
+ import { randomUUID, createHash } from "node:crypto";
2
2
  import { md5, md5OfMessageAttributes } from "../common/md5.js";
3
3
  import { DEFAULT_QUEUE_ATTRIBUTES, ALL_ATTRIBUTE_NAMES } from "./sqsTypes.js";
4
+ const DEDUP_WINDOW_MS = 5 * 60 * 1000; // 5 minutes
4
5
  export class SqsQueue {
5
6
  name;
6
7
  url;
@@ -13,6 +14,11 @@ export class SqsQueue {
13
14
  inflightMessages = new Map();
14
15
  delayedMessages = [];
15
16
  pollWaiters = [];
17
+ // FIFO-specific fields
18
+ fifoMessages = new Map();
19
+ fifoDelayed = new Map();
20
+ deduplicationCache = new Map();
21
+ sequenceCounter = 0;
16
22
  constructor(name, url, arn, attributes, tags) {
17
23
  this.name = name;
18
24
  this.url = url;
@@ -23,6 +29,9 @@ export class SqsQueue {
23
29
  this.attributes = { ...DEFAULT_QUEUE_ATTRIBUTES, ...attributes };
24
30
  this.tags = new Map(tags ? Object.entries(tags) : []);
25
31
  }
32
+ isFifo() {
33
+ return this.attributes.FifoQueue === "true";
34
+ }
26
35
  getAllAttributes(requested) {
27
36
  const names = requested.includes("All") ? ALL_ATTRIBUTE_NAMES : requested;
28
37
  const result = {};
@@ -39,10 +48,24 @@ export class SqsQueue {
39
48
  case "QueueArn":
40
49
  return this.arn;
41
50
  case "ApproximateNumberOfMessages":
51
+ if (this.isFifo()) {
52
+ let total = 0;
53
+ for (const msgs of this.fifoMessages.values()) {
54
+ total += msgs.length;
55
+ }
56
+ return String(total);
57
+ }
42
58
  return String(this.messages.length);
43
59
  case "ApproximateNumberOfMessagesNotVisible":
44
60
  return String(this.inflightMessages.size);
45
61
  case "ApproximateNumberOfMessagesDelayed":
62
+ if (this.isFifo()) {
63
+ let total = 0;
64
+ for (const msgs of this.fifoDelayed.values()) {
65
+ total += msgs.length;
66
+ }
67
+ return String(total);
68
+ }
46
69
  return String(this.delayedMessages.length);
47
70
  case "CreatedTimestamp":
48
71
  return String(this.createdTimestamp);
@@ -57,6 +80,21 @@ export class SqsQueue {
57
80
  this.lastModifiedTimestamp = Math.floor(Date.now() / 1000);
58
81
  }
59
82
  enqueue(msg) {
83
+ if (this.isFifo()) {
84
+ const groupId = msg.messageGroupId ?? "__default";
85
+ if (msg.delayUntil && msg.delayUntil > Date.now()) {
86
+ const group = this.fifoDelayed.get(groupId) ?? [];
87
+ group.push(msg);
88
+ this.fifoDelayed.set(groupId, group);
89
+ }
90
+ else {
91
+ const group = this.fifoMessages.get(groupId) ?? [];
92
+ group.push(msg);
93
+ this.fifoMessages.set(groupId, group);
94
+ this.notifyWaiters();
95
+ }
96
+ return;
97
+ }
60
98
  if (msg.delayUntil && msg.delayUntil > Date.now()) {
61
99
  this.delayedMessages.push(msg);
62
100
  }
@@ -66,6 +104,9 @@ export class SqsQueue {
66
104
  }
67
105
  }
68
106
  dequeue(maxCount, visibilityTimeoutOverride, dlqResolver) {
107
+ if (this.isFifo()) {
108
+ return this.dequeueFifo(maxCount, visibilityTimeoutOverride, dlqResolver);
109
+ }
69
110
  this.processTimers();
70
111
  const visibilityTimeout = visibilityTimeoutOverride ?? parseInt(this.attributes.VisibilityTimeout);
71
112
  // Parse RedrivePolicy for DLQ
@@ -124,6 +165,84 @@ export class SqsQueue {
124
165
  }
125
166
  return result;
126
167
  }
168
+ dequeueFifo(maxCount, visibilityTimeoutOverride, dlqResolver) {
169
+ this.processTimers();
170
+ const visibilityTimeout = visibilityTimeoutOverride ?? parseInt(this.attributes.VisibilityTimeout);
171
+ // Parse RedrivePolicy for DLQ
172
+ let maxReceiveCount = Infinity;
173
+ let dlqArn;
174
+ if (this.attributes.RedrivePolicy) {
175
+ try {
176
+ const policy = JSON.parse(this.attributes.RedrivePolicy);
177
+ maxReceiveCount = policy.maxReceiveCount ?? Infinity;
178
+ dlqArn = policy.deadLetterTargetArn;
179
+ }
180
+ catch {
181
+ // Invalid policy, ignore
182
+ }
183
+ }
184
+ // Collect set of groups that have inflight messages
185
+ const lockedGroups = new Set();
186
+ for (const entry of this.inflightMessages.values()) {
187
+ if (entry.message.messageGroupId) {
188
+ lockedGroups.add(entry.message.messageGroupId);
189
+ }
190
+ }
191
+ const result = [];
192
+ const count = Math.min(maxCount, 10);
193
+ for (const [groupId, groupMsgs] of this.fifoMessages) {
194
+ if (result.length >= count)
195
+ break;
196
+ if (lockedGroups.has(groupId))
197
+ continue;
198
+ if (groupMsgs.length === 0)
199
+ continue;
200
+ // Take messages from this group in order (up to remaining count)
201
+ while (result.length < count && groupMsgs.length > 0) {
202
+ const msg = groupMsgs.shift();
203
+ msg.approximateReceiveCount++;
204
+ if (!msg.approximateFirstReceiveTimestamp) {
205
+ msg.approximateFirstReceiveTimestamp = Date.now();
206
+ }
207
+ // DLQ check
208
+ if (dlqArn && dlqResolver && msg.approximateReceiveCount > maxReceiveCount) {
209
+ const dlq = dlqResolver(dlqArn);
210
+ if (dlq) {
211
+ dlq.enqueue(msg);
212
+ continue;
213
+ }
214
+ }
215
+ const receiptHandle = randomUUID();
216
+ const visibilityDeadline = Date.now() + visibilityTimeout * 1000;
217
+ this.inflightMessages.set(receiptHandle, {
218
+ message: msg,
219
+ receiptHandle,
220
+ visibilityDeadline,
221
+ });
222
+ const received = {
223
+ MessageId: msg.messageId,
224
+ ReceiptHandle: receiptHandle,
225
+ MD5OfBody: msg.md5OfBody,
226
+ Body: msg.body,
227
+ };
228
+ if (msg.md5OfMessageAttributes) {
229
+ received.MD5OfMessageAttributes = msg.md5OfMessageAttributes;
230
+ }
231
+ if (Object.keys(msg.messageAttributes).length > 0) {
232
+ received.MessageAttributes = msg.messageAttributes;
233
+ }
234
+ result.push(received);
235
+ // Once a message from this group is inflight, the group is locked
236
+ lockedGroups.add(groupId);
237
+ break;
238
+ }
239
+ // Clean up empty groups
240
+ if (groupMsgs.length === 0) {
241
+ this.fifoMessages.delete(groupId);
242
+ }
243
+ }
244
+ return result;
245
+ }
127
246
  deleteMessage(receiptHandle) {
128
247
  return this.inflightMessages.delete(receiptHandle);
129
248
  }
@@ -134,7 +253,15 @@ export class SqsQueue {
134
253
  }
135
254
  if (timeoutSeconds === 0) {
136
255
  this.inflightMessages.delete(receiptHandle);
137
- this.messages.push(entry.message);
256
+ if (this.isFifo() && entry.message.messageGroupId) {
257
+ const groupId = entry.message.messageGroupId;
258
+ const group = this.fifoMessages.get(groupId) ?? [];
259
+ group.unshift(entry.message);
260
+ this.fifoMessages.set(groupId, group);
261
+ }
262
+ else {
263
+ this.messages.push(entry.message);
264
+ }
138
265
  this.notifyWaiters();
139
266
  }
140
267
  else {
@@ -143,6 +270,42 @@ export class SqsQueue {
143
270
  }
144
271
  processTimers() {
145
272
  const now = Date.now();
273
+ if (this.isFifo()) {
274
+ // Move expired inflight messages back to front of their group
275
+ for (const [handle, entry] of this.inflightMessages) {
276
+ if (entry.visibilityDeadline <= now) {
277
+ this.inflightMessages.delete(handle);
278
+ const groupId = entry.message.messageGroupId ?? "__default";
279
+ const group = this.fifoMessages.get(groupId) ?? [];
280
+ group.unshift(entry.message);
281
+ this.fifoMessages.set(groupId, group);
282
+ }
283
+ }
284
+ // Move delayed FIFO messages that are now ready
285
+ for (const [groupId, delayedMsgs] of this.fifoDelayed) {
286
+ const stillDelayed = [];
287
+ for (const msg of delayedMsgs) {
288
+ if (msg.delayUntil && msg.delayUntil > now) {
289
+ stillDelayed.push(msg);
290
+ }
291
+ else {
292
+ const group = this.fifoMessages.get(groupId) ?? [];
293
+ group.push(msg);
294
+ this.fifoMessages.set(groupId, group);
295
+ }
296
+ }
297
+ if (stillDelayed.length === 0) {
298
+ this.fifoDelayed.delete(groupId);
299
+ }
300
+ else {
301
+ this.fifoDelayed.set(groupId, stillDelayed);
302
+ }
303
+ }
304
+ if (this.hasFifoMessages()) {
305
+ this.notifyWaiters();
306
+ }
307
+ return;
308
+ }
146
309
  // Move expired inflight messages back to available
147
310
  for (const [handle, entry] of this.inflightMessages) {
148
311
  if (entry.visibilityDeadline <= now) {
@@ -180,9 +343,56 @@ export class SqsQueue {
180
343
  purge() {
181
344
  this.messages = [];
182
345
  this.delayedMessages = [];
346
+ this.fifoMessages.clear();
347
+ this.fifoDelayed.clear();
183
348
  // Inflight messages are NOT purged (matches AWS behavior)
184
349
  }
350
+ cancelWaiters() {
351
+ for (const waiter of this.pollWaiters) {
352
+ clearTimeout(waiter.timer);
353
+ waiter.resolve([]);
354
+ }
355
+ this.pollWaiters = [];
356
+ }
357
+ checkDeduplication(dedupId) {
358
+ const now = Date.now();
359
+ // Lazy cleanup of expired entries
360
+ for (const [key, entry] of this.deduplicationCache) {
361
+ if (now - entry.timestamp > DEDUP_WINDOW_MS) {
362
+ this.deduplicationCache.delete(key);
363
+ }
364
+ }
365
+ const existing = this.deduplicationCache.get(dedupId);
366
+ if (existing && now - existing.timestamp <= DEDUP_WINDOW_MS) {
367
+ return { isDuplicate: true, originalMessageId: existing.messageId };
368
+ }
369
+ return { isDuplicate: false };
370
+ }
371
+ recordDeduplication(dedupId, messageId) {
372
+ this.deduplicationCache.set(dedupId, { messageId, timestamp: Date.now() });
373
+ }
374
+ nextSequenceNumber() {
375
+ this.sequenceCounter++;
376
+ return String(this.sequenceCounter).padStart(20, "0");
377
+ }
378
+ hasFifoMessages() {
379
+ for (const msgs of this.fifoMessages.values()) {
380
+ if (msgs.length > 0)
381
+ return true;
382
+ }
383
+ return false;
384
+ }
185
385
  notifyWaiters() {
386
+ if (this.isFifo()) {
387
+ while (this.pollWaiters.length > 0 && this.hasFifoMessages()) {
388
+ const waiter = this.pollWaiters.shift();
389
+ clearTimeout(waiter.timer);
390
+ // For FIFO long polling, we pull from the first available unlocked group
391
+ const msgs = this.pullFifoMessagesForWaiter(waiter.maxMessages);
392
+ waiter.resolve(msgs);
393
+ }
394
+ return;
395
+ }
186
396
  while (this.pollWaiters.length > 0 && this.messages.length > 0) {
187
397
  const waiter = this.pollWaiters.shift();
188
398
  clearTimeout(waiter.timer);
@@ -191,6 +401,22 @@ export class SqsQueue {
191
401
  waiter.resolve(msgs);
192
402
  }
193
403
  }
404
+ pullFifoMessagesForWaiter(maxMessages) {
405
+ const result = [];
406
+ for (const [groupId, groupMsgs] of this.fifoMessages) {
407
+ if (result.length >= maxMessages)
408
+ break;
409
+ if (groupMsgs.length === 0)
410
+ continue;
411
+ const msg = groupMsgs.shift();
412
+ result.push(msg);
413
+ if (groupMsgs.length === 0) {
414
+ this.fifoMessages.delete(groupId);
415
+ }
416
+ break; // one group at a time for FIFO
417
+ }
418
+ return result;
419
+ }
194
420
  }
195
421
  export class SqsStore {
196
422
  queues = new Map();
@@ -239,7 +465,12 @@ export class SqsStore {
239
465
  queue.processTimers();
240
466
  }
241
467
  }
242
- static createMessage(body, messageAttributes = {}, delaySeconds) {
468
+ shutdown() {
469
+ for (const queue of this.queues.values()) {
470
+ queue.cancelWaiters();
471
+ }
472
+ }
473
+ static createMessage(body, messageAttributes = {}, delaySeconds, messageGroupId, messageDeduplicationId) {
243
474
  const now = Date.now();
244
475
  return {
245
476
  messageId: randomUUID(),
@@ -250,7 +481,12 @@ export class SqsStore {
250
481
  sentTimestamp: now,
251
482
  approximateReceiveCount: 0,
252
483
  delayUntil: delaySeconds ? now + delaySeconds * 1000 : undefined,
484
+ messageGroupId,
485
+ messageDeduplicationId,
253
486
  };
254
487
  }
488
+ static contentBasedDeduplicationId(body) {
489
+ return createHash("sha256").update(body).digest("hex");
490
+ }
255
491
  }
256
492
  //# sourceMappingURL=sqsStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqsStore.js","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqsStore.js","sourceRoot":"","sources":["../../src/sqs/sqsStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqsTypes.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAU9B,CAAC;AAIH,eAAO,MAAM,yBAAyB,QAA4C,CAAC;AAGnF,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAGpD,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD,eAAO,MAAM,mBAAmB,UAgB/B,CAAC"}
1
+ {"version":3,"file":"sqsTypes.d.ts","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAC3D;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAY9B,CAAC;AAIH,eAAO,MAAM,yBAAyB,QAA4C,CAAC;AAGnF,eAAO,MAAM,0BAA0B,UAAY,CAAC;AAGpD,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAElD,eAAO,MAAM,mBAAmB,UAoB/B,CAAC"}
@@ -15,6 +15,8 @@ export const SETTABLE_ATTRIBUTES = new Set([
15
15
  "Policy",
16
16
  "KmsMasterKeyId",
17
17
  "KmsDataKeyReusePeriodSeconds",
18
+ "FifoQueue",
19
+ "ContentBasedDeduplication",
18
20
  ]);
19
21
  // AWS SQS allowed unicode characters: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD
20
22
  // eslint-disable-next-line no-control-regex
@@ -39,5 +41,9 @@ export const ALL_ATTRIBUTE_NAMES = [
39
41
  "Policy",
40
42
  "KmsMasterKeyId",
41
43
  "KmsDataKeyReusePeriodSeconds",
44
+ "FifoQueue",
45
+ "ContentBasedDeduplication",
46
+ "DeduplicationScope",
47
+ "FifoThroughputLimit",
42
48
  ];
43
49
  //# sourceMappingURL=sqsTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqsTypes.js","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,QAAQ;IAChC,6BAA6B,EAAE,GAAG;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;CAC/B,CAAC,CAAC;AAEH,0FAA0F;AAC1F,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,oDAAoD;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,6BAA6B;IAC7B,uCAAuC;IACvC,oCAAoC;IACpC,kBAAkB;IAClB,uBAAuB;IACvB,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;CAC/B,CAAC"}
1
+ {"version":3,"file":"sqsTypes.js","sourceRoot":"","sources":["../../src/sqs/sqsTypes.ts"],"names":[],"mappings":"AAqCA,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,GAAG;IACjB,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,QAAQ;IAChC,6BAA6B,EAAE,GAAG;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;IAC9B,WAAW;IACX,2BAA2B;CAC5B,CAAC,CAAC;AAEH,0FAA0F;AAC1F,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,yCAAyC,CAAC;AAEnF,oDAAoD;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD,mDAAmD;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,mBAAmB;IACnB,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,+BAA+B;IAC/B,6BAA6B;IAC7B,uCAAuC;IACvC,oCAAoC;IACpC,kBAAkB;IAClB,uBAAuB;IACvB,eAAe;IACf,QAAQ;IACR,gBAAgB;IAChB,8BAA8B;IAC9B,WAAW;IACX,2BAA2B;IAC3B,oBAAoB;IACpB,qBAAqB;CACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fauxqs",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "SNS/SQS emulator",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -9,7 +9,7 @@
9
9
  "dev": "node --watch src/server.ts",
10
10
  "test": "vitest run",
11
11
  "test:coverage": "vitest run --coverage",
12
- "lint": "oxlint && oxfmt src",
12
+ "lint": "oxlint && oxfmt src && tsc --noEmit",
13
13
  "lint:fix": "oxlint --fix && oxfmt --write src",
14
14
  "prepublishOnly": "npm run build"
15
15
  },