@message-queue-toolkit/sqs 19.0.0 → 20.1.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsConsumer.d.ts +5 -2
- package/dist/lib/sqs/AbstractSqsConsumer.js +75 -29
- package/dist/lib/sqs/AbstractSqsConsumer.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsPublisher.d.ts +3 -1
- package/dist/lib/sqs/AbstractSqsPublisher.js +18 -1
- package/dist/lib/sqs/AbstractSqsPublisher.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsService.d.ts +4 -0
- package/dist/lib/sqs/AbstractSqsService.js.map +1 -1
- package/dist/lib/types/MessageTypes.d.ts +2 -1
- package/dist/lib/utils/sqsInitter.js +3 -3
- package/dist/lib/utils/sqsInitter.js.map +1 -1
- package/dist/lib/utils/sqsUtils.d.ts +2 -1
- package/dist/lib/utils/sqsUtils.js +14 -0
- package/dist/lib/utils/sqsUtils.js.map +1 -1
- package/package.json +7 -4
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type { SQSConsumerDependencies, SQSConsumerOptions } from './lib/sqs/Abst
|
|
|
5
5
|
export { AbstractSqsConsumer } from './lib/sqs/AbstractSqsConsumer';
|
|
6
6
|
export { AbstractSqsPublisher, OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE, } from './lib/sqs/AbstractSqsPublisher';
|
|
7
7
|
export type { SQSMessageOptions } from './lib/sqs/AbstractSqsPublisher';
|
|
8
|
-
export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl } from './lib/utils/sqsUtils';
|
|
8
|
+
export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl, resolveQueueUrlFromLocatorConfig, } from './lib/utils/sqsUtils';
|
|
9
9
|
export { deleteSqs, updateQueueAttributes } from './lib/utils/sqsInitter';
|
|
10
10
|
export { deserializeSQSMessage } from './lib/utils/sqsMessageDeserializer';
|
|
11
11
|
export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from './lib/utils/sqsAttributeUtils';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveOutgoingMessageAttributes = exports.calculateOutgoingMessageSize = exports.FakeConsumerErrorResolver = exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.updateQueueAttributes = exports.deleteSqs = exports.getQueueUrl = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.AbstractSqsPublisher = exports.AbstractSqsConsumer = exports.SqsConsumerErrorResolver = exports.SQS_MESSAGE_MAX_SIZE = void 0;
|
|
3
|
+
exports.resolveOutgoingMessageAttributes = exports.calculateOutgoingMessageSize = exports.FakeConsumerErrorResolver = exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.updateQueueAttributes = exports.deleteSqs = exports.resolveQueueUrlFromLocatorConfig = exports.getQueueUrl = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.AbstractSqsPublisher = exports.AbstractSqsConsumer = exports.SqsConsumerErrorResolver = exports.SQS_MESSAGE_MAX_SIZE = void 0;
|
|
4
4
|
var AbstractSqsService_1 = require("./lib/sqs/AbstractSqsService");
|
|
5
5
|
Object.defineProperty(exports, "SQS_MESSAGE_MAX_SIZE", { enumerable: true, get: function () { return AbstractSqsService_1.SQS_MESSAGE_MAX_SIZE; } });
|
|
6
6
|
var SqsConsumerErrorResolver_1 = require("./lib/errors/SqsConsumerErrorResolver");
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "assertQueue", { enumerable: true, get: function
|
|
|
15
15
|
Object.defineProperty(exports, "deleteQueue", { enumerable: true, get: function () { return sqsUtils_1.deleteQueue; } });
|
|
16
16
|
Object.defineProperty(exports, "getQueueAttributes", { enumerable: true, get: function () { return sqsUtils_1.getQueueAttributes; } });
|
|
17
17
|
Object.defineProperty(exports, "getQueueUrl", { enumerable: true, get: function () { return sqsUtils_1.getQueueUrl; } });
|
|
18
|
+
Object.defineProperty(exports, "resolveQueueUrlFromLocatorConfig", { enumerable: true, get: function () { return sqsUtils_1.resolveQueueUrlFromLocatorConfig; } });
|
|
18
19
|
var sqsInitter_1 = require("./lib/utils/sqsInitter");
|
|
19
20
|
Object.defineProperty(exports, "deleteSqs", { enumerable: true, get: function () { return sqsInitter_1.deleteSqs; } });
|
|
20
21
|
Object.defineProperty(exports, "updateQueueAttributes", { enumerable: true, get: function () { return sqsInitter_1.updateQueueAttributes; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,mEAAmE;AAA1D,0HAAA,oBAAoB,OAAA;AAE7B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,uEAGuC;AAFrC,4HAAA,oBAAoB,OAAA;AACpB,wIAAA,gCAAgC,OAAA;AAIlC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAOA,mEAAmE;AAA1D,0HAAA,oBAAoB,OAAA;AAE7B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,uEAGuC;AAFrC,4HAAA,oBAAoB,OAAA;AACpB,wIAAA,gCAAgC,OAAA;AAIlC,iDAM6B;AAL3B,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,4HAAA,gCAAgC,OAAA;AAElC,qDAAyE;AAAhE,uGAAA,SAAS,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AACzC,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAC9B,mEAIsC;AAHpC,uIAAA,kCAAkC,OAAA;AAClC,2HAAA,sBAAsB,OAAA;AACtB,2HAAA,sBAAsB,OAAA;AAIxB,mFAAiF;AAAxE,sIAAA,yBAAyB,OAAA;AAElC,iDAAmE;AAA1D,wHAAA,4BAA4B,OAAA;AACrC,yDAA2E;AAAlE,gIAAA,gCAAgC,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Either, ErrorResolver } from '@lokalise/node-core';
|
|
2
|
-
import type
|
|
2
|
+
import { type BarrierResult, type MessageSchemaContainer, type PreHandlingOutputs, type Prehandler, type QueueConsumer, type QueueConsumerDependencies, type QueueConsumerOptions } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { ConsumerOptions } from 'sqs-consumer/src/types';
|
|
4
4
|
import type { SQSMessage } from '../types/MessageTypes';
|
|
5
5
|
import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService';
|
|
@@ -15,7 +15,7 @@ export type SQSConsumerOptions<MessagePayloadSchemas extends object, ExecutionCo
|
|
|
15
15
|
* Omitting properties which will be set internally ins this class
|
|
16
16
|
* `visibilityTimeout` is also omitted to avoid conflicts with queue config
|
|
17
17
|
*/
|
|
18
|
-
consumerOverrides?: Omit<ConsumerOptions, 'sqs' | 'queueUrl' | 'handler' | 'handleMessageBatch' | 'visibilityTimeout'>;
|
|
18
|
+
consumerOverrides?: Omit<ConsumerOptions, 'sqs' | 'queueUrl' | 'handler' | 'handleMessageBatch' | 'visibilityTimeout' | 'messageAttributeNames' | 'messageSystemAttributeNames' | 'attributeNames'>;
|
|
19
19
|
concurrentConsumersAmount?: number;
|
|
20
20
|
};
|
|
21
21
|
export declare abstract class AbstractSqsConsumer<MessagePayloadType extends object, ExecutionContext, PrehandlerOutput = undefined, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, QueueLocatorType extends object = SQSQueueLocatorType, ConsumerOptionsType extends SQSConsumerOptions<MessagePayloadType, ExecutionContext, PrehandlerOutput, CreationConfigType, QueueLocatorType> = SQSConsumerOptions<MessagePayloadType, ExecutionContext, PrehandlerOutput, CreationConfigType, QueueLocatorType>> extends AbstractSqsService<MessagePayloadType, QueueLocatorType, CreationConfigType, ConsumerOptionsType, SQSConsumerDependencies, ExecutionContext, PrehandlerOutput> implements QueueConsumer {
|
|
@@ -25,6 +25,7 @@ export declare abstract class AbstractSqsConsumer<MessagePayloadType extends obj
|
|
|
25
25
|
private readonly consumerOptionsOverride;
|
|
26
26
|
private readonly handlerContainer;
|
|
27
27
|
private readonly deadLetterQueueOptions?;
|
|
28
|
+
private readonly isDeduplicationEnabled;
|
|
28
29
|
private maxRetryDuration;
|
|
29
30
|
protected deadLetterQueueUrl?: string;
|
|
30
31
|
protected readonly errorResolver: ErrorResolver;
|
|
@@ -36,6 +37,7 @@ export declare abstract class AbstractSqsConsumer<MessagePayloadType extends obj
|
|
|
36
37
|
start(): Promise<void>;
|
|
37
38
|
close(abort?: boolean): Promise<void>;
|
|
38
39
|
private createConsumer;
|
|
40
|
+
private handleRetryLater;
|
|
39
41
|
private stopExistingConsumers;
|
|
40
42
|
private internalProcessMessage;
|
|
41
43
|
protected processMessage(message: MessagePayloadType, messageType: string, preHandlingOutputs: PreHandlingOutputs<PrehandlerOutput, any>): Promise<Either<'retryLater', 'success'>>;
|
|
@@ -45,6 +47,7 @@ export declare abstract class AbstractSqsConsumer<MessagePayloadType extends obj
|
|
|
45
47
|
protected resolveNextFunction(preHandlers: Prehandler<MessagePayloadType, ExecutionContext, unknown>[], message: MessagePayloadType, index: number, preHandlerOutput: PrehandlerOutput, resolve: (value: PrehandlerOutput | PromiseLike<PrehandlerOutput>) => void, reject: (err: Error) => void): (preHandlerResult: import("@message-queue-toolkit/core").PrehandlerResult) => void;
|
|
46
48
|
protected resolveMessageLog(message: MessagePayloadType, messageType: string): unknown;
|
|
47
49
|
protected resolveMessage(message: SQSMessage): Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError, import("@message-queue-toolkit/core").ResolvedMessage>;
|
|
50
|
+
protected isDeduplicationEnabledForMessage(message: MessagePayloadType): boolean;
|
|
48
51
|
protected resolveMaybeOffloadedPayloadMessage(message: SQSMessage): Promise<{
|
|
49
52
|
error?: never;
|
|
50
53
|
result: import("@message-queue-toolkit/core").ResolvedMessage;
|
|
@@ -21,6 +21,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
21
21
|
consumerOptionsOverride;
|
|
22
22
|
handlerContainer;
|
|
23
23
|
deadLetterQueueOptions;
|
|
24
|
+
isDeduplicationEnabled;
|
|
24
25
|
maxRetryDuration;
|
|
25
26
|
deadLetterQueueUrl;
|
|
26
27
|
errorResolver;
|
|
@@ -41,6 +42,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
41
42
|
messageTypeField: this.messageTypeField,
|
|
42
43
|
messageHandlers: options.handlers,
|
|
43
44
|
});
|
|
45
|
+
this.isDeduplicationEnabled = !!options.enableConsumerDeduplication;
|
|
44
46
|
}
|
|
45
47
|
async init() {
|
|
46
48
|
await super.init();
|
|
@@ -69,12 +71,10 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
69
71
|
await this.init();
|
|
70
72
|
this.stopExistingConsumers();
|
|
71
73
|
const visibilityTimeout = await this.getQueueVisibilityTimeout();
|
|
72
|
-
this.consumers = Array.from({ length: this.concurrentConsumersAmount }
|
|
74
|
+
this.consumers = Array.from({ length: this.concurrentConsumersAmount }, () => this.createConsumer({ visibilityTimeout }));
|
|
73
75
|
for (const consumer of this.consumers) {
|
|
74
76
|
consumer.on('error', (err) => {
|
|
75
|
-
this.handleError(err, {
|
|
76
|
-
queueName: this.queueName,
|
|
77
|
-
});
|
|
77
|
+
this.handleError(err, { queueName: this.queueName });
|
|
78
78
|
});
|
|
79
79
|
consumer.start();
|
|
80
80
|
}
|
|
@@ -90,6 +90,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
90
90
|
visibilityTimeout: options.visibilityTimeout,
|
|
91
91
|
messageAttributeNames: [`${AbstractSqsPublisher_1.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}*`],
|
|
92
92
|
...this.consumerOptionsOverride,
|
|
93
|
+
// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: <explanation>
|
|
93
94
|
handleMessage: async (message) => {
|
|
94
95
|
if (message === null)
|
|
95
96
|
return;
|
|
@@ -100,7 +101,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
100
101
|
const messageId = this.tryToExtractId(message);
|
|
101
102
|
this.handleMessageProcessed({
|
|
102
103
|
message: null,
|
|
103
|
-
processingResult: '
|
|
104
|
+
processingResult: { status: 'error', errorReason: 'invalidMessage' },
|
|
104
105
|
messageProcessingStartTimestamp,
|
|
105
106
|
queueName: this.queueName,
|
|
106
107
|
messageId: messageId.result,
|
|
@@ -108,6 +109,41 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
108
109
|
return;
|
|
109
110
|
}
|
|
110
111
|
const { parsedMessage, originalMessage } = deserializedMessage.result;
|
|
112
|
+
if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
|
|
113
|
+
(await this.isMessageDuplicated(parsedMessage, core_1.DeduplicationRequester.Consumer))) {
|
|
114
|
+
this.handleMessageProcessed({
|
|
115
|
+
message: parsedMessage,
|
|
116
|
+
processingResult: { status: 'consumed', skippedAsDuplicate: true },
|
|
117
|
+
messageProcessingStartTimestamp,
|
|
118
|
+
queueName: this.queueName,
|
|
119
|
+
messageId: this.tryToExtractId(message).result,
|
|
120
|
+
});
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const acquireLockResult = this.isDeduplicationEnabledForMessage(parsedMessage)
|
|
124
|
+
? await this.acquireLockForMessage(parsedMessage)
|
|
125
|
+
: { result: core_1.noopReleasableLock };
|
|
126
|
+
// Lock cannot be acquired as it is already being processed by another consumer.
|
|
127
|
+
// We don't want to discard message yet as we don't know if the other consumer will be able to process it successfully.
|
|
128
|
+
// We're re-queueing the message, so it can be processed later.
|
|
129
|
+
if (acquireLockResult.error) {
|
|
130
|
+
await this.handleRetryLater(message, originalMessage, parsedMessage, messageProcessingStartTimestamp);
|
|
131
|
+
return message;
|
|
132
|
+
}
|
|
133
|
+
// While the consumer was waiting for a lock to be acquired, the message might have been processed
|
|
134
|
+
// by another consumer already, hence we need to check again if the message is not marked as duplicated.
|
|
135
|
+
if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
|
|
136
|
+
(await this.isMessageDuplicated(parsedMessage, core_1.DeduplicationRequester.Consumer))) {
|
|
137
|
+
await acquireLockResult.result?.release();
|
|
138
|
+
this.handleMessageProcessed({
|
|
139
|
+
message: parsedMessage,
|
|
140
|
+
processingResult: { status: 'consumed', skippedAsDuplicate: true },
|
|
141
|
+
messageProcessingStartTimestamp,
|
|
142
|
+
queueName: this.queueName,
|
|
143
|
+
messageId: this.tryToExtractId(message).result,
|
|
144
|
+
});
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
111
147
|
// @ts-ignore
|
|
112
148
|
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
113
149
|
const messageType = parsedMessage[this.messageTypeField];
|
|
@@ -130,42 +166,25 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
130
166
|
});
|
|
131
167
|
// success
|
|
132
168
|
if (result.result) {
|
|
169
|
+
await this.deduplicateMessage(parsedMessage, core_1.DeduplicationRequester.Consumer);
|
|
170
|
+
await acquireLockResult.result?.release();
|
|
133
171
|
this.handleMessageProcessed({
|
|
134
172
|
message: originalMessage,
|
|
135
|
-
processingResult: 'consumed',
|
|
173
|
+
processingResult: { status: 'consumed' },
|
|
136
174
|
messageProcessingStartTimestamp,
|
|
137
175
|
queueName: this.queueName,
|
|
138
176
|
});
|
|
139
177
|
return message;
|
|
140
178
|
}
|
|
141
179
|
if (result.error === 'retryLater') {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
QueueUrl: this.queueUrl,
|
|
145
|
-
DelaySeconds: this.getMessageRetryDelayInSeconds(originalMessage),
|
|
146
|
-
MessageBody: JSON.stringify(this.updateInternalProperties(originalMessage)),
|
|
147
|
-
}));
|
|
148
|
-
this.handleMessageProcessed({
|
|
149
|
-
message: parsedMessage,
|
|
150
|
-
processingResult: 'retryLater',
|
|
151
|
-
messageProcessingStartTimestamp,
|
|
152
|
-
queueName: this.queueName,
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
await this.failProcessing(message);
|
|
157
|
-
this.handleMessageProcessed({
|
|
158
|
-
message: parsedMessage,
|
|
159
|
-
processingResult: 'error',
|
|
160
|
-
messageProcessingStartTimestamp,
|
|
161
|
-
queueName: this.queueName,
|
|
162
|
-
});
|
|
163
|
-
}
|
|
180
|
+
await acquireLockResult.result?.release();
|
|
181
|
+
await this.handleRetryLater(message, originalMessage, parsedMessage, messageProcessingStartTimestamp);
|
|
164
182
|
return message;
|
|
165
183
|
}
|
|
184
|
+
await acquireLockResult.result?.release();
|
|
166
185
|
this.handleMessageProcessed({
|
|
167
186
|
message: parsedMessage,
|
|
168
|
-
processingResult: 'error',
|
|
187
|
+
processingResult: { status: 'error', errorReason: 'handlerError' },
|
|
169
188
|
messageProcessingStartTimestamp,
|
|
170
189
|
queueName: this.queueName,
|
|
171
190
|
});
|
|
@@ -173,6 +192,30 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
173
192
|
},
|
|
174
193
|
});
|
|
175
194
|
}
|
|
195
|
+
async handleRetryLater(message, originalMessage, parsedMessage, messageProcessingStartTimestamp) {
|
|
196
|
+
if (this.shouldBeRetried(originalMessage, this.maxRetryDuration)) {
|
|
197
|
+
await this.sqsClient.send(new client_sqs_1.SendMessageCommand({
|
|
198
|
+
QueueUrl: this.queueUrl,
|
|
199
|
+
DelaySeconds: this.getMessageRetryDelayInSeconds(originalMessage),
|
|
200
|
+
MessageBody: JSON.stringify(this.updateInternalProperties(originalMessage)),
|
|
201
|
+
}));
|
|
202
|
+
this.handleMessageProcessed({
|
|
203
|
+
message: parsedMessage,
|
|
204
|
+
processingResult: { status: 'retryLater' },
|
|
205
|
+
messageProcessingStartTimestamp,
|
|
206
|
+
queueName: this.queueName,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
await this.failProcessing(message);
|
|
211
|
+
this.handleMessageProcessed({
|
|
212
|
+
message: parsedMessage,
|
|
213
|
+
processingResult: { status: 'error', errorReason: 'retryLaterExceeded' },
|
|
214
|
+
messageProcessingStartTimestamp,
|
|
215
|
+
queueName: this.queueName,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
176
219
|
stopExistingConsumers(abort) {
|
|
177
220
|
for (const consumer of this.consumers) {
|
|
178
221
|
consumer.stop({
|
|
@@ -219,6 +262,9 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
219
262
|
resolveMessage(message) {
|
|
220
263
|
return (0, sqsMessageReader_1.readSqsMessage)(message, this.errorResolver);
|
|
221
264
|
}
|
|
265
|
+
isDeduplicationEnabledForMessage(message) {
|
|
266
|
+
return this.isDeduplicationEnabled && super.isDeduplicationEnabledForMessage(message);
|
|
267
|
+
}
|
|
222
268
|
async resolveMaybeOffloadedPayloadMessage(message) {
|
|
223
269
|
const resolveMessageResult = this.resolveMessage(message);
|
|
224
270
|
if ((0, core_1.isMessageError)(resolveMessageResult.error)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Either } from '@lokalise/node-core';
|
|
2
|
-
import type
|
|
2
|
+
import { type AsyncPublisher, type BarrierResult, type MessageInvalidFormatError, type MessageValidationError, type OffloadedPayloadPointerPayload, type QueuePublisherOptions, type ResolvedMessage } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { ZodSchema } from 'zod';
|
|
4
4
|
import type { SQSMessage } from '../types/MessageTypes';
|
|
5
5
|
import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService';
|
|
@@ -12,6 +12,7 @@ export declare const PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = "payloadOffloading.";
|
|
|
12
12
|
export declare const OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = "payloadOffloading.size";
|
|
13
13
|
export declare abstract class AbstractSqsPublisher<MessagePayloadType extends object> extends AbstractSqsService<MessagePayloadType> implements AsyncPublisher<MessagePayloadType, SQSMessageOptions> {
|
|
14
14
|
private readonly messageSchemaContainer;
|
|
15
|
+
private readonly isDeduplicationEnabled;
|
|
15
16
|
private initPromise?;
|
|
16
17
|
constructor(dependencies: SQSDependencies, options: QueuePublisherOptions<SQSCreationConfig, SQSQueueLocatorType, MessagePayloadType>);
|
|
17
18
|
publish(message: MessagePayloadType, options?: SQSMessageOptions): Promise<void>;
|
|
@@ -20,6 +21,7 @@ export declare abstract class AbstractSqsPublisher<MessagePayloadType extends ob
|
|
|
20
21
|
protected processPrehandlers(): Promise<unknown>;
|
|
21
22
|
protected preHandlerBarrier<BarrierOutput>(): Promise<BarrierResult<BarrierOutput>>;
|
|
22
23
|
processMessage(): Promise<Either<'retryLater', 'success'>>;
|
|
24
|
+
protected isDeduplicationEnabledForMessage(message: MessagePayloadType): boolean;
|
|
23
25
|
protected resolveSchema(message: MessagePayloadType): Either<Error, ZodSchema<MessagePayloadType>>;
|
|
24
26
|
protected sendMessage(payload: MessagePayloadType | OffloadedPayloadPointerPayload, options: SQSMessageOptions): Promise<void>;
|
|
25
27
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AbstractSqsPublisher = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = void 0;
|
|
4
4
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
5
5
|
const node_core_1 = require("@lokalise/node-core");
|
|
6
|
+
const core_1 = require("@message-queue-toolkit/core");
|
|
6
7
|
const messageUtils_1 = require("../utils/messageUtils");
|
|
7
8
|
const sqsUtils_1 = require("../utils/sqsUtils");
|
|
8
9
|
const AbstractSqsService_1 = require("./AbstractSqsService");
|
|
@@ -10,10 +11,12 @@ exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = 'payloadOffloading.';
|
|
|
10
11
|
exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = `${exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX}size`;
|
|
11
12
|
class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
|
|
12
13
|
messageSchemaContainer;
|
|
14
|
+
isDeduplicationEnabled;
|
|
13
15
|
initPromise;
|
|
14
16
|
constructor(dependencies, options) {
|
|
15
17
|
super(dependencies, options);
|
|
16
18
|
this.messageSchemaContainer = this.resolvePublisherMessageSchemaContainer(options);
|
|
19
|
+
this.isDeduplicationEnabled = !!options.enablePublisherDeduplication;
|
|
17
20
|
}
|
|
18
21
|
async publish(message, options = {}) {
|
|
19
22
|
const messageSchemaResult = this.resolveSchema(message);
|
|
@@ -40,10 +43,21 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
|
|
|
40
43
|
// biome-ignore lint/style/noParameterAssign: This is expected
|
|
41
44
|
message = this.updateInternalProperties(message);
|
|
42
45
|
const maybeOffloadedPayloadMessage = await this.offloadMessagePayloadIfNeeded(message, () => (0, sqsUtils_1.calculateOutgoingMessageSize)(message));
|
|
46
|
+
if (this.isDeduplicationEnabledForMessage(parsedMessage) &&
|
|
47
|
+
(await this.deduplicateMessage(parsedMessage, core_1.DeduplicationRequester.Publisher))
|
|
48
|
+
.isDuplicated) {
|
|
49
|
+
this.handleMessageProcessed({
|
|
50
|
+
message: parsedMessage,
|
|
51
|
+
processingResult: { status: 'published', skippedAsDuplicate: true },
|
|
52
|
+
messageProcessingStartTimestamp,
|
|
53
|
+
queueName: this.queueName,
|
|
54
|
+
});
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
43
57
|
await this.sendMessage(maybeOffloadedPayloadMessage, options);
|
|
44
58
|
this.handleMessageProcessed({
|
|
45
59
|
message: parsedMessage,
|
|
46
|
-
processingResult: 'published',
|
|
60
|
+
processingResult: { status: 'published' },
|
|
47
61
|
messageProcessingStartTimestamp,
|
|
48
62
|
queueName: this.queueName,
|
|
49
63
|
});
|
|
@@ -82,6 +96,9 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
|
|
|
82
96
|
throw new Error('Not implemented for publisher');
|
|
83
97
|
}
|
|
84
98
|
/* c8 ignore stop */
|
|
99
|
+
isDeduplicationEnabledForMessage(message) {
|
|
100
|
+
return this.isDeduplicationEnabled && super.isDeduplicationEnabledForMessage(message);
|
|
101
|
+
}
|
|
85
102
|
resolveSchema(message) {
|
|
86
103
|
return this.messageSchemaContainer.resolveSchema(message);
|
|
87
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsPublisher.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsPublisher.ts"],"names":[],"mappings":";;;AACA,oDAAwD;AAExD,mDAAmD;
|
|
1
|
+
{"version":3,"file":"AbstractSqsPublisher.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsPublisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ export type SQSCreationConfig = {
|
|
|
18
18
|
} & ExtraSQSCreationParams;
|
|
19
19
|
export type SQSQueueLocatorType = {
|
|
20
20
|
queueUrl: string;
|
|
21
|
+
queueName?: never;
|
|
22
|
+
} | {
|
|
23
|
+
queueName: string;
|
|
24
|
+
queueUrl?: never;
|
|
21
25
|
};
|
|
22
26
|
export declare abstract class AbstractSqsService<MessagePayloadType extends object, QueueLocatorType extends object = SQSQueueLocatorType, CreationConfigType extends SQSCreationConfig = SQSCreationConfig, SQSOptionsType extends QueueOptions<CreationConfigType, QueueLocatorType> = QueueOptions<CreationConfigType, QueueLocatorType>, DependenciesType extends SQSDependencies = SQSDependencies, PrehandlerOutput = unknown, ExecutionContext = unknown> extends AbstractQueueService<MessagePayloadType, SQSMessage, DependenciesType, CreationConfigType, QueueLocatorType, SQSOptionsType, PrehandlerOutput, ExecutionContext> {
|
|
23
27
|
protected readonly sqsClient: SQSClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;
|
|
1
|
+
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAElE,oDAAwD;AAExD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;AA4BvD,MAAsB,kBAWpB,SAAQ,2BAST;IACoB,SAAS,CAAW;IAEvC,aAAa;IACH,SAAS,CAAQ;IAC3B,aAAa;IACH,QAAQ,CAAQ;IAC1B,aAAa;IACH,QAAQ,CAAQ;IAE1B,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,oBAAO,EACrD,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,CACpB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACvB,CAAC;IAEe,KAAK;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAtDD,gDAsDC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { MessageAttributeValue } from '@aws-sdk/client-sqs';
|
|
1
|
+
import type { MessageAttributeValue, MessageSystemAttributeName } from '@aws-sdk/client-sqs';
|
|
2
2
|
export type SQSMessage = {
|
|
3
3
|
MessageId: string;
|
|
4
4
|
ReceiptHandle: string;
|
|
5
5
|
MD5OfBody: string;
|
|
6
6
|
Body: string;
|
|
7
7
|
MessageAttributes?: Record<string, MessageAttributeValue>;
|
|
8
|
+
Attributes?: Partial<Record<MessageSystemAttributeName, string>>;
|
|
8
9
|
};
|
|
9
10
|
export type CommonMessage = {
|
|
10
11
|
messageType: string;
|
|
@@ -35,8 +35,9 @@ async function updateQueueTags(sqsClient, queueUrl, tags = {}) {
|
|
|
35
35
|
}
|
|
36
36
|
async function initSqs(sqsClient, locatorConfig, creationConfig) {
|
|
37
37
|
// reuse existing queue only
|
|
38
|
-
if (locatorConfig
|
|
39
|
-
const
|
|
38
|
+
if (locatorConfig) {
|
|
39
|
+
const queueUrl = await (0, sqsUtils_1.resolveQueueUrlFromLocatorConfig)(sqsClient, locatorConfig);
|
|
40
|
+
const checkResult = await (0, sqsUtils_1.getQueueAttributes)(sqsClient, queueUrl, ['QueueArn']);
|
|
40
41
|
if (checkResult.error === 'not_found') {
|
|
41
42
|
throw new Error(`Queue with queueUrl ${locatorConfig.queueUrl} does not exist.`);
|
|
42
43
|
}
|
|
@@ -44,7 +45,6 @@ async function initSqs(sqsClient, locatorConfig, creationConfig) {
|
|
|
44
45
|
if (!queueArn) {
|
|
45
46
|
throw new Error('Queue ARN was not set');
|
|
46
47
|
}
|
|
47
|
-
const queueUrl = locatorConfig.queueUrl;
|
|
48
48
|
const splitUrl = queueUrl.split('/');
|
|
49
49
|
const queueName = splitUrl[splitUrl.length - 1];
|
|
50
50
|
return { queueArn, queueUrl, queueName };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sqsInitter.js","sourceRoot":"","sources":["../../../lib/utils/sqsInitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { CreateQueueCommandInput, QueueAttributeName, SQSClient, SendMessageCommandInput } from '@aws-sdk/client-sqs';
|
|
2
2
|
import type { Either } from '@lokalise/node-core';
|
|
3
|
-
import type { ExtraSQSCreationParams } from '../sqs/AbstractSqsService';
|
|
3
|
+
import type { ExtraSQSCreationParams, SQSQueueLocatorType } from '../sqs/AbstractSqsService';
|
|
4
4
|
type QueueAttributesResult = {
|
|
5
5
|
attributes?: Partial<Record<QueueAttributeName, string>>;
|
|
6
6
|
};
|
|
7
7
|
export declare function getQueueUrl(sqsClient: SQSClient, queueName: string): Promise<Either<'not_found', string>>;
|
|
8
8
|
export declare function getQueueAttributes(sqsClient: SQSClient, queueUrl: string, attributeNames?: QueueAttributeName[]): Promise<Either<'not_found', QueueAttributesResult>>;
|
|
9
|
+
export declare function resolveQueueUrlFromLocatorConfig(sqsClient: SQSClient, locatorConfig: Partial<SQSQueueLocatorType>): Promise<string>;
|
|
9
10
|
export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQueueCommandInput, extraParams?: ExtraSQSCreationParams): Promise<{
|
|
10
11
|
queueUrl: string;
|
|
11
12
|
queueArn: string;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getQueueUrl = getQueueUrl;
|
|
4
4
|
exports.getQueueAttributes = getQueueAttributes;
|
|
5
|
+
exports.resolveQueueUrlFromLocatorConfig = resolveQueueUrlFromLocatorConfig;
|
|
5
6
|
exports.assertQueue = assertQueue;
|
|
6
7
|
exports.deleteQueue = deleteQueue;
|
|
7
8
|
exports.calculateOutgoingMessageSize = calculateOutgoingMessageSize;
|
|
@@ -60,6 +61,19 @@ async function getQueueAttributes(sqsClient, queueUrl, attributeNames = ['All'])
|
|
|
60
61
|
throw err;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
64
|
+
async function resolveQueueUrlFromLocatorConfig(sqsClient, locatorConfig) {
|
|
65
|
+
if (locatorConfig.queueUrl) {
|
|
66
|
+
return locatorConfig.queueUrl;
|
|
67
|
+
}
|
|
68
|
+
if (!locatorConfig.queueName) {
|
|
69
|
+
throw new Error('Invalid locatorConfig setup - queueUrl or queueName must be provided');
|
|
70
|
+
}
|
|
71
|
+
const queueUrlResult = await getQueueUrl(sqsClient, locatorConfig.queueName);
|
|
72
|
+
if (queueUrlResult.error === 'not_found') {
|
|
73
|
+
throw new Error(`Queue with queueName ${locatorConfig.queueName} does not exist.`);
|
|
74
|
+
}
|
|
75
|
+
return queueUrlResult.result;
|
|
76
|
+
}
|
|
63
77
|
async function updateExistingQueue(sqsClient, queueUrl, queueConfig, extraParams) {
|
|
64
78
|
const existingAttributes = await getQueueAttributes(sqsClient, queueUrl);
|
|
65
79
|
if (!existingAttributes.result?.attributes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;AA6BA,kCA6BC;AAED,gDA2BC;AAgDD,kCAsDC;AAED,kCAqCC;AAWD,oEAGC;AAED,kEAEC;
|
|
1
|
+
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;AA6BA,kCA6BC;AAED,gDA2BC;AAED,4EAmBC;AAgDD,kCAsDC;AAED,kCAqCC;AAWD,oEAGC;AAED,kEAEC;AA3QD,oDAO4B;AAQ5B,mDAAkD;AAClD,sDAA2E;AAI3E,2DAAwE;AACxE,6CAAqE;AAErE,MAAM,mCAAmC,GAAG,mBAAmB,CAAA;AAMxD,KAAK,UAAU,WAAW,CAC/B,SAAoB,EACpB,SAAiB;IAEjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CACjC,IAAI,+BAAkB,CAAC;YACrB,SAAS,EAAE,SAAS;SACrB,CAAC,CACH,CAAA;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO;gBACL,MAAM,EAAE,MAAM,CAAC,QAAQ;aACxB,CAAA;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,WAAW;SACnB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,yCAAyC,EAAE,CAAC;YAC3D,OAAO;gBACL,KAAK,EAAE,WAAW;aACnB,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,SAAoB,EACpB,QAAgB,EAChB,iBAAuC,CAAC,KAAK,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAI,sCAAyB,CAAC;QAC5C,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,cAAc;KAC/B,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,MAAM,EAAE;gBACN,UAAU,EAAE,QAAQ,CAAC,UAAU;aAChC;SACF,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,yCAAyC,EAAE,CAAC;YAC3D,OAAO;gBACL,aAAa;gBACb,KAAK,EAAE,WAAW;aACnB,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gCAAgC,CACpD,SAAoB,EACpB,aAA2C;IAE3C,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;IACzF,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAE5E,IAAI,cAAc,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,CAAC,SAAS,kBAAkB,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,CAAA;AAC9B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAAoB,EACpB,QAAgB,EAChB,WAAoC,EACpC,WAAoC;IAEpC,MAAM,kBAAkB,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAExE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAA;IAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,iDAAiD;IACjD,IAAI,WAAW,EAAE,wBAAwB,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAgD;YACrE,GAAG,WAAW,CAAC,UAAU;SAC1B,CAAA;QACD,IAAI,WAAW,EAAE,qCAAqC,EAAE,CAAC;YACvD,iBAAiB,CAAC,MAAM,GAAG,IAAA,sDAAkC,EAC3D,QAAQ,EACR,WAAW,CAAC,qCAAqC,CAClD,CAAA;QACH,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,IAAA,sBAAe,EAAC,iBAAiB,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAA,kCAAqB,EAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,IAAI,WAAW,EAAE,cAAc,EAAE,CAAC;QAChC,MAAM,IAAA,4BAAe,EAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,SAAoB,EACpB,WAAoC,EACpC,WAAoC;IAEpC,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,SAAU,CAAC,CAAA;IAC3E,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAA;IAE3C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IACxF,CAAC;IAED,mBAAmB;IACnB,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC,WAAW,CAAC,CAAA;IACnD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAE7B,qEAAqE;IACrE,MAAM,iBAAiB,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,SAAU,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAA;IAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,CAAC,SAAS,IAAI,EAAE,kBAAkB,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,yBAAyB,GAAG,IAAI,sCAAyB,CAAC;QAC9D,QAAQ,EAAE,iBAAiB,CAAC,MAAM;QAClC,cAAc,EAAE,CAAC,UAAU,CAAC;KAC7B,CAAC,CAAA;IACF,MAAM,uBAAuB,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,QAAQ,CAAA;IAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,WAAW,EAAE,qCAAqC,EAAE,CAAC;QACvD,MAAM,yBAAyB,GAAG,IAAI,sCAAyB,CAAC;YAC9D,QAAQ,EAAE,iBAAiB,CAAC,MAAM;YAClC,UAAU,EAAE;gBACV,MAAM,EAAE,IAAA,sDAAkC,EACxC,QAAQ,EACR,WAAW,CAAC,qCAAqC,CAClD;aACF;SACF,CAAC,CAAA;QACF,MAAM,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACjD,CAAC;IAED,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,iBAAiB,CAAC,MAAM;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,MAAiB,EACjB,SAAiB,EACjB,mBAAmB,GAAG,IAAI;IAE1B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,+BAAkB,CAAC;YAC7C,SAAS,EAAE,SAAS;SACrB,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAEnD,MAAM,OAAO,GAAG,IAAI,+BAAkB,CAAC;YACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAE1B,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,IAAA,mBAAY,EAAC,KAAK,IAAI,EAAE;gBAC5B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,IAAI,CACjC,IAAI,8BAAiB,CAAC;oBACpB,eAAe,EAAE,SAAS;iBAC3B,CAAC,CACH,CAAA;gBACD,OAAO,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAA;YACjE,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAe;QACf,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;YACrD,OAAM;QACR,CAAC;QAED,aAAa;QACb,wBAAY,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,OAAgB;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,2BAA2B,CAAC,WAAW,CAAC,CAAA;AACjD,CAAC;AAED,SAAgB,2BAA2B,CAAC,WAAmD;IAC7F,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sqs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SQS adapter for message-queue-toolkit",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@aws-sdk/client-sqs": "^3.632.0",
|
|
34
|
-
"@message-queue-toolkit/core": ">=
|
|
34
|
+
"@message-queue-toolkit/core": ">=20.0.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@aws-sdk/client-s3": "^3.670.0",
|
|
@@ -39,14 +39,17 @@
|
|
|
39
39
|
"@biomejs/biome": "1.9.4",
|
|
40
40
|
"@kibertoad/biome-config": "^1.2.1",
|
|
41
41
|
"@message-queue-toolkit/core": "*",
|
|
42
|
+
"@message-queue-toolkit/redis-message-deduplication-store": "*",
|
|
42
43
|
"@message-queue-toolkit/s3-payload-store": "*",
|
|
44
|
+
"@message-queue-toolkit/schemas": "*",
|
|
43
45
|
"@types/node": "^22.7.5",
|
|
44
|
-
"@vitest/coverage-v8": "^
|
|
46
|
+
"@vitest/coverage-v8": "^3.0.7",
|
|
45
47
|
"awilix": "^12.0.1",
|
|
46
48
|
"awilix-manager": "^6.0.0",
|
|
47
49
|
"del-cli": "^6.0.0",
|
|
50
|
+
"ioredis": "^5.3.2",
|
|
48
51
|
"typescript": "^5.7.2",
|
|
49
|
-
"vitest": "^
|
|
52
|
+
"vitest": "^3.0.7"
|
|
50
53
|
},
|
|
51
54
|
"homepage": "https://github.com/kibertoad/message-queue-toolkit",
|
|
52
55
|
"repository": {
|