@message-queue-toolkit/sqs 15.1.0 → 16.0.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 +4 -2
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsConsumer.d.ts +10 -4
- package/dist/lib/sqs/AbstractSqsConsumer.js +36 -21
- package/dist/lib/sqs/AbstractSqsConsumer.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsPublisher.d.ts +6 -3
- package/dist/lib/sqs/AbstractSqsPublisher.js +18 -15
- package/dist/lib/sqs/AbstractSqsPublisher.js.map +1 -1
- package/dist/lib/sqs/AbstractSqsService.d.ts +1 -0
- package/dist/lib/sqs/AbstractSqsService.js +3 -1
- package/dist/lib/sqs/AbstractSqsService.js.map +1 -1
- package/dist/lib/types/MessageTypes.d.ts +2 -0
- package/dist/lib/utils/messageUtils.d.ts +4 -0
- package/dist/lib/utils/messageUtils.js +22 -0
- package/dist/lib/utils/messageUtils.js.map +1 -0
- package/dist/lib/utils/sqsMessageReader.d.ts +2 -2
- package/dist/lib/utils/sqsMessageReader.js +4 -1
- package/dist/lib/utils/sqsMessageReader.js.map +1 -1
- package/dist/lib/utils/sqsUtils.d.ts +12 -1
- package/dist/lib/utils/sqsUtils.js +19 -1
- package/dist/lib/utils/sqsUtils.js.map +1 -1
- package/package.json +8 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export type { ExtraSQSCreationParams, SQSDependencies, SQSCreationConfig, SQSQueueLocatorType, } from './lib/sqs/AbstractSqsService';
|
|
1
|
+
export type { ExtraSQSCreationParams, SQSDependencies, SQSCreationConfig, SQSQueueLocatorType, SQS_MESSAGE_MAX_SIZE, } from './lib/sqs/AbstractSqsService';
|
|
2
2
|
export { SqsConsumerErrorResolver } from './lib/errors/SqsConsumerErrorResolver';
|
|
3
3
|
export type { SQSConsumerDependencies, SQSConsumerOptions } from './lib/sqs/AbstractSqsConsumer';
|
|
4
4
|
export { AbstractSqsConsumer } from './lib/sqs/AbstractSqsConsumer';
|
|
5
|
-
export { AbstractSqsPublisher } from './lib/sqs/AbstractSqsPublisher';
|
|
5
|
+
export { AbstractSqsPublisher, OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE, } from './lib/sqs/AbstractSqsPublisher';
|
|
6
6
|
export type { SQSMessageOptions } from './lib/sqs/AbstractSqsPublisher';
|
|
7
7
|
export { assertQueue, deleteQueue, getQueueAttributes, getQueueUrl } from './lib/utils/sqsUtils';
|
|
8
8
|
export { deleteSqs, updateQueueAttributes } from './lib/utils/sqsInitter';
|
|
@@ -10,3 +10,5 @@ export { deserializeSQSMessage } from './lib/utils/sqsMessageDeserializer';
|
|
|
10
10
|
export { generateQueuePublishForTopicPolicy, generateWildcardSqsArn, generateWildcardSnsArn, } from './lib/utils/sqsAttributeUtils';
|
|
11
11
|
export type { CommonMessage, SQSMessage } from './lib/types/MessageTypes';
|
|
12
12
|
export { FakeConsumerErrorResolver } from './lib/fakes/FakeConsumerErrorResolver';
|
|
13
|
+
export { calculateOutgoingMessageSize } from './lib/utils/sqsUtils';
|
|
14
|
+
export { resolveOutgoingMessageAttributes } from './lib/utils/messageUtils';
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FakeConsumerErrorResolver = exports.generateWildcardSnsArn = exports.generateWildcardSqsArn = exports.generateQueuePublishForTopicPolicy = exports.deserializeSQSMessage = exports.updateQueueAttributes = exports.deleteSqs = exports.getQueueUrl = exports.getQueueAttributes = exports.deleteQueue = exports.assertQueue = exports.AbstractSqsPublisher = exports.AbstractSqsConsumer = exports.SqsConsumerErrorResolver = void 0;
|
|
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 = void 0;
|
|
4
4
|
var SqsConsumerErrorResolver_1 = require("./lib/errors/SqsConsumerErrorResolver");
|
|
5
5
|
Object.defineProperty(exports, "SqsConsumerErrorResolver", { enumerable: true, get: function () { return SqsConsumerErrorResolver_1.SqsConsumerErrorResolver; } });
|
|
6
6
|
var AbstractSqsConsumer_1 = require("./lib/sqs/AbstractSqsConsumer");
|
|
7
7
|
Object.defineProperty(exports, "AbstractSqsConsumer", { enumerable: true, get: function () { return AbstractSqsConsumer_1.AbstractSqsConsumer; } });
|
|
8
8
|
var AbstractSqsPublisher_1 = require("./lib/sqs/AbstractSqsPublisher");
|
|
9
9
|
Object.defineProperty(exports, "AbstractSqsPublisher", { enumerable: true, get: function () { return AbstractSqsPublisher_1.AbstractSqsPublisher; } });
|
|
10
|
+
Object.defineProperty(exports, "OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE", { enumerable: true, get: function () { return AbstractSqsPublisher_1.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE; } });
|
|
10
11
|
var sqsUtils_1 = require("./lib/utils/sqsUtils");
|
|
11
12
|
Object.defineProperty(exports, "assertQueue", { enumerable: true, get: function () { return sqsUtils_1.assertQueue; } });
|
|
12
13
|
Object.defineProperty(exports, "deleteQueue", { enumerable: true, get: function () { return sqsUtils_1.deleteQueue; } });
|
|
@@ -23,4 +24,8 @@ Object.defineProperty(exports, "generateWildcardSqsArn", { enumerable: true, get
|
|
|
23
24
|
Object.defineProperty(exports, "generateWildcardSnsArn", { enumerable: true, get: function () { return sqsAttributeUtils_1.generateWildcardSnsArn; } });
|
|
24
25
|
var FakeConsumerErrorResolver_1 = require("./lib/fakes/FakeConsumerErrorResolver");
|
|
25
26
|
Object.defineProperty(exports, "FakeConsumerErrorResolver", { enumerable: true, get: function () { return FakeConsumerErrorResolver_1.FakeConsumerErrorResolver; } });
|
|
27
|
+
var sqsUtils_2 = require("./lib/utils/sqsUtils");
|
|
28
|
+
Object.defineProperty(exports, "calculateOutgoingMessageSize", { enumerable: true, get: function () { return sqsUtils_2.calculateOutgoingMessageSize; } });
|
|
29
|
+
var messageUtils_1 = require("./lib/utils/messageUtils");
|
|
30
|
+
Object.defineProperty(exports, "resolveOutgoingMessageAttributes", { enumerable: true, get: function () { return messageUtils_1.resolveOutgoingMessageAttributes; } });
|
|
26
31
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAQA,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,qEAAmE;AAA1D,0HAAA,mBAAmB,OAAA;AAE5B,uEAGuC;AAFrC,4HAAA,oBAAoB,OAAA;AACpB,wIAAA,gCAAgC,OAAA;AAIlC,iDAAgG;AAAvF,uGAAA,WAAW,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAClE,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,6 +1,5 @@
|
|
|
1
1
|
import type { Either, ErrorResolver } from '@lokalise/node-core';
|
|
2
|
-
import type { QueueConsumer, QueueConsumerOptions, PreHandlingOutputs, Prehandler, BarrierResult, QueueConsumerDependencies } from '@message-queue-toolkit/core';
|
|
3
|
-
import { MessageSchemaContainer } from '@message-queue-toolkit/core';
|
|
2
|
+
import type { QueueConsumer, QueueConsumerOptions, PreHandlingOutputs, Prehandler, BarrierResult, QueueConsumerDependencies, MessageSchemaContainer } from '@message-queue-toolkit/core';
|
|
4
3
|
import type { ConsumerOptions } from 'sqs-consumer/src/types';
|
|
5
4
|
import type { SQSMessage } from '../types/MessageTypes';
|
|
6
5
|
import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService';
|
|
@@ -27,8 +26,8 @@ export declare abstract class AbstractSqsConsumer<MessagePayloadType extends obj
|
|
|
27
26
|
private maxRetryDuration;
|
|
28
27
|
protected deadLetterQueueUrl?: string;
|
|
29
28
|
protected readonly errorResolver: ErrorResolver;
|
|
30
|
-
protected readonly messageSchemaContainer: MessageSchemaContainer<MessagePayloadType>;
|
|
31
29
|
protected readonly executionContext: ExecutionContext;
|
|
30
|
+
readonly _messageSchemaContainer: MessageSchemaContainer<MessagePayloadType>;
|
|
32
31
|
protected constructor(dependencies: SQSConsumerDependencies, options: ConsumerOptionsType, executionContext: ExecutionContext);
|
|
33
32
|
init(): Promise<void>;
|
|
34
33
|
protected initDeadLetterQueue(): Promise<void>;
|
|
@@ -41,7 +40,14 @@ export declare abstract class AbstractSqsConsumer<MessagePayloadType extends obj
|
|
|
41
40
|
protected resolveSchema(message: MessagePayloadType): Either<Error, import("zod").ZodType<MessagePayloadType, import("zod").ZodTypeDef, MessagePayloadType>>;
|
|
42
41
|
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;
|
|
43
42
|
protected resolveMessageLog(message: MessagePayloadType, messageType: string): unknown;
|
|
44
|
-
protected resolveMessage(message: SQSMessage): Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError,
|
|
43
|
+
protected resolveMessage(message: SQSMessage): Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError, import("@message-queue-toolkit/core").ResolvedMessage>;
|
|
44
|
+
protected resolveMaybeOffloadedPayloadMessage(message: SQSMessage): Promise<{
|
|
45
|
+
error?: undefined;
|
|
46
|
+
result: import("@message-queue-toolkit/core").ResolvedMessage;
|
|
47
|
+
} | {
|
|
48
|
+
error: "abort";
|
|
49
|
+
result?: undefined;
|
|
50
|
+
}>;
|
|
45
51
|
private tryToExtractId;
|
|
46
52
|
private deserializeMessage;
|
|
47
53
|
private failProcessing;
|
|
@@ -4,9 +4,11 @@ exports.AbstractSqsConsumer = void 0;
|
|
|
4
4
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
5
5
|
const core_1 = require("@message-queue-toolkit/core");
|
|
6
6
|
const sqs_consumer_1 = require("sqs-consumer");
|
|
7
|
+
const messageUtils_1 = require("../utils/messageUtils");
|
|
7
8
|
const sqsInitter_1 = require("../utils/sqsInitter");
|
|
8
9
|
const sqsMessageReader_1 = require("../utils/sqsMessageReader");
|
|
9
10
|
const sqsUtils_1 = require("../utils/sqsUtils");
|
|
11
|
+
const AbstractSqsPublisher_1 = require("./AbstractSqsPublisher");
|
|
10
12
|
const AbstractSqsService_1 = require("./AbstractSqsService");
|
|
11
13
|
const ABORT_EARLY_EITHER = {
|
|
12
14
|
error: 'abort',
|
|
@@ -21,8 +23,8 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
21
23
|
maxRetryDuration;
|
|
22
24
|
deadLetterQueueUrl;
|
|
23
25
|
errorResolver;
|
|
24
|
-
messageSchemaContainer;
|
|
25
26
|
executionContext;
|
|
27
|
+
_messageSchemaContainer;
|
|
26
28
|
constructor(dependencies, options, executionContext) {
|
|
27
29
|
super(dependencies, options);
|
|
28
30
|
this.transactionObservabilityManager = dependencies.transactionObservabilityManager;
|
|
@@ -31,11 +33,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
31
33
|
this.deadLetterQueueOptions = options.deadLetterQueue;
|
|
32
34
|
this.maxRetryDuration = options.maxRetryDuration ?? DEFAULT_MAX_RETRY_DURATION;
|
|
33
35
|
this.executionContext = executionContext;
|
|
34
|
-
|
|
35
|
-
this.messageSchemaContainer = new core_1.MessageSchemaContainer({
|
|
36
|
-
messageSchemas,
|
|
37
|
-
messageTypeField: options.messageTypeField,
|
|
38
|
-
});
|
|
36
|
+
this._messageSchemaContainer = this.resolveConsumerMessageSchemaContainer(options);
|
|
39
37
|
this.handlerContainer = new core_1.HandlerContainer({
|
|
40
38
|
messageTypeField: this.messageTypeField,
|
|
41
39
|
messageHandlers: options.handlers,
|
|
@@ -73,11 +71,12 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
73
71
|
sqs: this.sqsClient,
|
|
74
72
|
queueUrl: this.queueUrl,
|
|
75
73
|
visibilityTimeout,
|
|
74
|
+
messageAttributeNames: [AbstractSqsPublisher_1.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX + '*'],
|
|
76
75
|
...this.consumerOptionsOverride,
|
|
77
76
|
handleMessage: async (message) => {
|
|
78
77
|
if (message === null)
|
|
79
78
|
return;
|
|
80
|
-
const deserializedMessage = this.deserializeMessage(message);
|
|
79
|
+
const deserializedMessage = await this.deserializeMessage(message);
|
|
81
80
|
if (deserializedMessage.error === 'abort') {
|
|
82
81
|
await this.failProcessing(message);
|
|
83
82
|
const messageId = this.tryToExtractId(message);
|
|
@@ -168,7 +167,7 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
168
167
|
return this.preHandlerBarrierInternal(handler.preHandlerBarrier, message, this.executionContext, preHandlerOutput);
|
|
169
168
|
}
|
|
170
169
|
resolveSchema(message) {
|
|
171
|
-
return this.
|
|
170
|
+
return this._messageSchemaContainer.resolveSchema(message);
|
|
172
171
|
}
|
|
173
172
|
// eslint-disable-next-line max-params
|
|
174
173
|
resolveNextFunction(preHandlers, message, index, preHandlerOutput, resolve, reject) {
|
|
@@ -181,43 +180,59 @@ class AbstractSqsConsumer extends AbstractSqsService_1.AbstractSqsService {
|
|
|
181
180
|
resolveMessage(message) {
|
|
182
181
|
return (0, sqsMessageReader_1.readSqsMessage)(message, this.errorResolver);
|
|
183
182
|
}
|
|
183
|
+
async resolveMaybeOffloadedPayloadMessage(message) {
|
|
184
|
+
const resolveMessageResult = this.resolveMessage(message);
|
|
185
|
+
if ((0, core_1.isMessageError)(resolveMessageResult.error)) {
|
|
186
|
+
this.handleError(resolveMessageResult.error);
|
|
187
|
+
return ABORT_EARLY_EITHER;
|
|
188
|
+
}
|
|
189
|
+
// Empty content for whatever reason
|
|
190
|
+
if (!resolveMessageResult.result || !resolveMessageResult.result.body) {
|
|
191
|
+
return ABORT_EARLY_EITHER;
|
|
192
|
+
}
|
|
193
|
+
if ((0, messageUtils_1.hasOffloadedPayload)(resolveMessageResult.result)) {
|
|
194
|
+
const retrieveOffloadedMessagePayloadResult = await this.retrieveOffloadedMessagePayload(resolveMessageResult.result.body);
|
|
195
|
+
if (retrieveOffloadedMessagePayloadResult.error) {
|
|
196
|
+
this.handleError(retrieveOffloadedMessagePayloadResult.error);
|
|
197
|
+
return ABORT_EARLY_EITHER;
|
|
198
|
+
}
|
|
199
|
+
resolveMessageResult.result.body = retrieveOffloadedMessagePayloadResult.result;
|
|
200
|
+
}
|
|
201
|
+
return resolveMessageResult;
|
|
202
|
+
}
|
|
184
203
|
tryToExtractId(message) {
|
|
185
204
|
const resolveMessageResult = this.resolveMessage(message);
|
|
186
205
|
if ((0, core_1.isMessageError)(resolveMessageResult.error)) {
|
|
187
206
|
this.handleError(resolveMessageResult.error);
|
|
188
207
|
return ABORT_EARLY_EITHER;
|
|
189
208
|
}
|
|
209
|
+
const resolvedMessage = resolveMessageResult.result;
|
|
190
210
|
// Empty content for whatever reason
|
|
191
|
-
if (!
|
|
211
|
+
if (!resolvedMessage || !resolvedMessage.body)
|
|
192
212
|
return ABORT_EARLY_EITHER;
|
|
193
213
|
// @ts-ignore
|
|
194
|
-
if (this.messageIdField in
|
|
214
|
+
if (this.messageIdField in resolvedMessage.body) {
|
|
195
215
|
return {
|
|
196
216
|
// @ts-ignore
|
|
197
|
-
result:
|
|
217
|
+
result: resolvedMessage.body[this.messageIdField],
|
|
198
218
|
};
|
|
199
219
|
}
|
|
200
220
|
return ABORT_EARLY_EITHER;
|
|
201
221
|
}
|
|
202
|
-
deserializeMessage(message) {
|
|
222
|
+
async deserializeMessage(message) {
|
|
203
223
|
if (message === null) {
|
|
204
224
|
return ABORT_EARLY_EITHER;
|
|
205
225
|
}
|
|
206
|
-
const resolveMessageResult = this.
|
|
207
|
-
if (
|
|
208
|
-
this.handleError(resolveMessageResult.error);
|
|
209
|
-
return ABORT_EARLY_EITHER;
|
|
210
|
-
}
|
|
211
|
-
// Empty content for whatever reason
|
|
212
|
-
if (!resolveMessageResult.result) {
|
|
226
|
+
const resolveMessageResult = await this.resolveMaybeOffloadedPayloadMessage(message);
|
|
227
|
+
if (resolveMessageResult.error) {
|
|
213
228
|
return ABORT_EARLY_EITHER;
|
|
214
229
|
}
|
|
215
|
-
const resolveSchemaResult = this.resolveSchema(resolveMessageResult.result);
|
|
230
|
+
const resolveSchemaResult = this.resolveSchema(resolveMessageResult.result.body);
|
|
216
231
|
if (resolveSchemaResult.error) {
|
|
217
232
|
this.handleError(resolveSchemaResult.error);
|
|
218
233
|
return ABORT_EARLY_EITHER;
|
|
219
234
|
}
|
|
220
|
-
const deserializationResult = (0, core_1.parseMessage)(resolveMessageResult.result, resolveSchemaResult.result, this.errorResolver);
|
|
235
|
+
const deserializationResult = (0, core_1.parseMessage)(resolveMessageResult.result.body, resolveSchemaResult.result, this.errorResolver);
|
|
221
236
|
if ((0, core_1.isMessageError)(deserializationResult.error)) {
|
|
222
237
|
this.handleError(deserializationResult.error);
|
|
223
238
|
return ABORT_EARLY_EITHER;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":";;;AAAA,oDAAmF;
|
|
1
|
+
{"version":3,"file":"AbstractSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsConsumer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import type { Either } from '@lokalise/node-core';
|
|
2
|
-
import type { AsyncPublisher, MessageInvalidFormatError, MessageValidationError,
|
|
2
|
+
import type { AsyncPublisher, BarrierResult, MessageInvalidFormatError, MessageValidationError, QueuePublisherOptions, OffloadedPayloadPointerPayload, ResolvedMessage } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { ZodSchema } from 'zod';
|
|
4
4
|
import type { SQSMessage } from '../types/MessageTypes';
|
|
5
|
+
import type { SQSCreationConfig, SQSDependencies, SQSQueueLocatorType } from './AbstractSqsService';
|
|
5
6
|
import { AbstractSqsService } from './AbstractSqsService';
|
|
6
|
-
import type { SQSDependencies, SQSQueueLocatorType, SQSCreationConfig } from './AbstractSqsService';
|
|
7
7
|
export type SQSMessageOptions = {
|
|
8
8
|
MessageGroupId?: string;
|
|
9
9
|
MessageDeduplicationId?: string;
|
|
10
10
|
};
|
|
11
|
+
export declare const PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = "payloadOffloading.";
|
|
12
|
+
export declare const OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE: string;
|
|
11
13
|
export declare abstract class AbstractSqsPublisher<MessagePayloadType extends object> extends AbstractSqsService<MessagePayloadType> implements AsyncPublisher<MessagePayloadType, SQSMessageOptions> {
|
|
12
14
|
private readonly messageSchemaContainer;
|
|
13
15
|
private initPromise?;
|
|
14
16
|
constructor(dependencies: SQSDependencies, options: QueuePublisherOptions<SQSCreationConfig, SQSQueueLocatorType, MessagePayloadType>);
|
|
15
17
|
publish(message: MessagePayloadType, options?: SQSMessageOptions): Promise<void>;
|
|
16
18
|
protected resolveNextFunction(): () => void;
|
|
17
|
-
protected resolveMessage(_message: SQSMessage): Either<MessageInvalidFormatError | MessageValidationError,
|
|
19
|
+
protected resolveMessage(_message: SQSMessage): Either<MessageInvalidFormatError | MessageValidationError, ResolvedMessage>;
|
|
18
20
|
protected processPrehandlers(): Promise<unknown>;
|
|
19
21
|
protected preHandlerBarrier<BarrierOutput>(): Promise<BarrierResult<BarrierOutput>>;
|
|
20
22
|
processMessage(): Promise<Either<'retryLater', 'success'>>;
|
|
21
23
|
protected resolveSchema(message: MessagePayloadType): Either<Error, ZodSchema<MessagePayloadType>>;
|
|
24
|
+
protected sendMessage(payload: MessagePayloadType | OffloadedPayloadPointerPayload, options: SQSMessageOptions): Promise<void>;
|
|
22
25
|
}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractSqsPublisher = void 0;
|
|
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
|
|
6
|
+
const messageUtils_1 = require("../utils/messageUtils");
|
|
7
|
+
const sqsUtils_1 = require("../utils/sqsUtils");
|
|
7
8
|
const AbstractSqsService_1 = require("./AbstractSqsService");
|
|
9
|
+
exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX = 'payloadOffloading.';
|
|
10
|
+
exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = exports.PAYLOAD_OFFLOADING_ATTRIBUTE_PREFIX + 'size';
|
|
8
11
|
class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
|
|
9
12
|
messageSchemaContainer;
|
|
10
13
|
initPromise;
|
|
11
14
|
constructor(dependencies, options) {
|
|
12
15
|
super(dependencies, options);
|
|
13
|
-
|
|
14
|
-
this.messageSchemaContainer = new core_1.MessageSchemaContainer({
|
|
15
|
-
messageSchemas,
|
|
16
|
-
messageTypeField: options.messageTypeField,
|
|
17
|
-
});
|
|
16
|
+
this.messageSchemaContainer = this.resolvePublisherMessageSchemaContainer(options);
|
|
18
17
|
}
|
|
19
18
|
async publish(message, options = {}) {
|
|
20
19
|
const messageSchemaResult = this.resolveSchema(message);
|
|
@@ -38,14 +37,8 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
|
|
|
38
37
|
this.logMessage(resolvedLogMessage);
|
|
39
38
|
}
|
|
40
39
|
message = this.updateInternalProperties(message);
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
QueueUrl: this.queueUrl,
|
|
44
|
-
MessageBody: JSON.stringify(message),
|
|
45
|
-
...options,
|
|
46
|
-
};
|
|
47
|
-
const command = new client_sqs_1.SendMessageCommand(input);
|
|
48
|
-
await this.sqsClient.send(command);
|
|
40
|
+
const maybeOffloadedPayloadMessage = await this.offloadMessagePayloadIfNeeded(message, () => (0, sqsUtils_1.calculateOutgoingMessageSize)(message));
|
|
41
|
+
await this.sendMessage(maybeOffloadedPayloadMessage, options);
|
|
49
42
|
this.handleMessageProcessed(parsedMessage, 'published');
|
|
50
43
|
}
|
|
51
44
|
catch (error) {
|
|
@@ -85,6 +78,16 @@ class AbstractSqsPublisher extends AbstractSqsService_1.AbstractSqsService {
|
|
|
85
78
|
resolveSchema(message) {
|
|
86
79
|
return this.messageSchemaContainer.resolveSchema(message);
|
|
87
80
|
}
|
|
81
|
+
async sendMessage(payload, options) {
|
|
82
|
+
const attributes = (0, messageUtils_1.resolveOutgoingMessageAttributes)(payload);
|
|
83
|
+
const command = new client_sqs_1.SendMessageCommand({
|
|
84
|
+
QueueUrl: this.queueUrl,
|
|
85
|
+
MessageBody: JSON.stringify(payload),
|
|
86
|
+
MessageAttributes: attributes,
|
|
87
|
+
...options,
|
|
88
|
+
});
|
|
89
|
+
await this.sqsClient.send(command);
|
|
90
|
+
}
|
|
88
91
|
}
|
|
89
92
|
exports.AbstractSqsPublisher = AbstractSqsPublisher;
|
|
90
93
|
//# sourceMappingURL=AbstractSqsPublisher.js.map
|
|
@@ -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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"}
|
|
@@ -2,6 +2,7 @@ import type { CreateQueueRequest, SQSClient } from '@aws-sdk/client-sqs';
|
|
|
2
2
|
import type { QueueDependencies, QueueOptions } from '@message-queue-toolkit/core';
|
|
3
3
|
import { AbstractQueueService } from '@message-queue-toolkit/core';
|
|
4
4
|
import type { SQSMessage } from '../types/MessageTypes';
|
|
5
|
+
export declare const SQS_MESSAGE_MAX_SIZE: number;
|
|
5
6
|
export type SQSDependencies = QueueDependencies & {
|
|
6
7
|
sqsClient: SQSClient;
|
|
7
8
|
};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractSqsService = void 0;
|
|
3
|
+
exports.AbstractSqsService = exports.SQS_MESSAGE_MAX_SIZE = void 0;
|
|
4
4
|
const core_1 = require("@message-queue-toolkit/core");
|
|
5
5
|
const sqsInitter_1 = require("../utils/sqsInitter");
|
|
6
|
+
// https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html
|
|
7
|
+
exports.SQS_MESSAGE_MAX_SIZE = 256 * 1024; // 256KB
|
|
6
8
|
class AbstractSqsService extends core_1.AbstractQueueService {
|
|
7
9
|
sqsClient;
|
|
8
10
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAGlE,oDAAwD;
|
|
1
|
+
{"version":3,"file":"AbstractSqsService.js","sourceRoot":"","sources":["../../../lib/sqs/AbstractSqsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAGlE,oDAAwD;AAExD,kGAAkG;AACrF,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;AAoBvD,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,8 +1,10 @@
|
|
|
1
|
+
import type { MessageAttributeValue } from '@aws-sdk/client-sqs';
|
|
1
2
|
export type SQSMessage = {
|
|
2
3
|
MessageId: string;
|
|
3
4
|
ReceiptHandle: string;
|
|
4
5
|
MD5OfBody: string;
|
|
5
6
|
Body: string;
|
|
7
|
+
MessageAttributes?: Record<string, MessageAttributeValue>;
|
|
6
8
|
};
|
|
7
9
|
export type CommonMessage = {
|
|
8
10
|
messageType: string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ResolvedMessage } from '@message-queue-toolkit/core';
|
|
2
|
+
export declare const OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = "payloadOffloading.size";
|
|
3
|
+
export declare function resolveOutgoingMessageAttributes<MessageAttributeValue>(payload: unknown): Record<string, MessageAttributeValue>;
|
|
4
|
+
export declare function hasOffloadedPayload(message: ResolvedMessage): boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasOffloadedPayload = exports.resolveOutgoingMessageAttributes = exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = void 0;
|
|
4
|
+
const core_1 = require("@message-queue-toolkit/core");
|
|
5
|
+
exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE = 'payloadOffloading.size';
|
|
6
|
+
function resolveOutgoingMessageAttributes(payload) {
|
|
7
|
+
const attributes = {};
|
|
8
|
+
if ((0, core_1.isOffloadedPayloadPointerPayload)(payload)) {
|
|
9
|
+
attributes[exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE] = {
|
|
10
|
+
DataType: 'Number',
|
|
11
|
+
// The SQS SDK does not provide properties to set numeric values, we have to convert it to string
|
|
12
|
+
StringValue: payload.offloadedPayloadSize.toString(),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return attributes;
|
|
16
|
+
}
|
|
17
|
+
exports.resolveOutgoingMessageAttributes = resolveOutgoingMessageAttributes;
|
|
18
|
+
function hasOffloadedPayload(message) {
|
|
19
|
+
return !!message.attributes && exports.OFFLOADED_PAYLOAD_SIZE_ATTRIBUTE in message.attributes;
|
|
20
|
+
}
|
|
21
|
+
exports.hasOffloadedPayload = hasOffloadedPayload;
|
|
22
|
+
//# sourceMappingURL=messageUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageUtils.js","sourceRoot":"","sources":["../../../lib/utils/messageUtils.ts"],"names":[],"mappings":";;;AACA,sDAA8E;AAEjE,QAAA,gCAAgC,GAAG,wBAAwB,CAAA;AAExE,SAAgB,gCAAgC,CAC9C,OAAgB;IAEhB,MAAM,UAAU,GAA0C,EAAE,CAAA;IAE5D,IAAI,IAAA,uCAAgC,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,UAAU,CAAC,wCAAgC,CAAC,GAAG;YAC7C,QAAQ,EAAE,QAAQ;YAClB,iGAAiG;YACjG,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;SAC5B,CAAA;IAC5B,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAdD,4EAcC;AAED,SAAgB,mBAAmB,CAAC,OAAwB;IAC1D,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,wCAAgC,IAAI,OAAO,CAAC,UAAU,CAAA;AACvF,CAAC;AAFD,kDAEC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Either, ErrorResolver } from '@lokalise/node-core';
|
|
2
|
-
import type { MessageInvalidFormatError, MessageValidationError } from '@message-queue-toolkit/core';
|
|
2
|
+
import type { MessageInvalidFormatError, MessageValidationError, ResolvedMessage } from '@message-queue-toolkit/core';
|
|
3
3
|
import type { SQSMessage } from '../types/MessageTypes';
|
|
4
|
-
export declare function readSqsMessage(message: SQSMessage, errorProcessor: ErrorResolver): Either<MessageInvalidFormatError | MessageValidationError,
|
|
4
|
+
export declare function readSqsMessage(message: SQSMessage, errorProcessor: ErrorResolver): Either<MessageInvalidFormatError | MessageValidationError, ResolvedMessage>;
|
|
@@ -4,7 +4,10 @@ exports.readSqsMessage = void 0;
|
|
|
4
4
|
function readSqsMessage(message, errorProcessor) {
|
|
5
5
|
try {
|
|
6
6
|
return {
|
|
7
|
-
result:
|
|
7
|
+
result: {
|
|
8
|
+
body: JSON.parse(message.Body),
|
|
9
|
+
attributes: message.MessageAttributes,
|
|
10
|
+
},
|
|
8
11
|
};
|
|
9
12
|
}
|
|
10
13
|
catch (exception) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsMessageReader.js","sourceRoot":"","sources":["../../../lib/utils/sqsMessageReader.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sqsMessageReader.js","sourceRoot":"","sources":["../../../lib/utils/sqsMessageReader.ts"],"names":[],"mappings":";;;AASA,SAAgB,cAAc,CAC5B,OAAmB,EACnB,cAA6B;IAE7B,IAAI,CAAC;QACH,OAAO;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC9B,UAAU,EAAE,OAAO,CAAC,iBAAiB;aACtC;SACF,CAAA;IACH,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC;SAC9C,CAAA;IACH,CAAC;AACH,CAAC;AAhBD,wCAgBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreateQueueCommandInput, SQSClient, QueueAttributeName } from '@aws-sdk/client-sqs';
|
|
1
|
+
import type { CreateQueueCommandInput, SQSClient, QueueAttributeName, SendMessageCommandInput } from '@aws-sdk/client-sqs';
|
|
2
2
|
import type { Either } from '@lokalise/node-core';
|
|
3
3
|
import type { ExtraSQSCreationParams, SQSQueueLocatorType } from '../sqs/AbstractSqsService';
|
|
4
4
|
type QueueAttributesResult = {
|
|
@@ -12,4 +12,15 @@ export declare function assertQueue(sqsClient: SQSClient, queueConfig: CreateQue
|
|
|
12
12
|
queueName: string | undefined;
|
|
13
13
|
}>;
|
|
14
14
|
export declare function deleteQueue(client: SQSClient, queueName: string, waitForConfirmation?: boolean): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Calculates the size of an outgoing SQS message.
|
|
17
|
+
*
|
|
18
|
+
* SQS imposes a 256 KB limit on the total size of a message, which includes both the message body and any metadata (attributes).
|
|
19
|
+
* This function currently computes the size based solely on the message body, as no attributes are included at this time.
|
|
20
|
+
* For future updates, if message attributes are added, their sizes should also be considered.
|
|
21
|
+
*
|
|
22
|
+
* Reference: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
|
|
23
|
+
*/
|
|
24
|
+
export declare function calculateOutgoingMessageSize(message: unknown): number;
|
|
25
|
+
export declare function calculateSqsMessageBodySize(messageBody: SendMessageCommandInput['MessageBody']): number;
|
|
15
26
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.deleteQueue = exports.assertQueue = exports.getQueueAttributes = exports.getQueueUrl = void 0;
|
|
3
|
+
exports.calculateSqsMessageBodySize = exports.calculateOutgoingMessageSize = exports.deleteQueue = exports.assertQueue = exports.getQueueAttributes = exports.getQueueUrl = void 0;
|
|
4
4
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
5
5
|
const core_1 = require("@message-queue-toolkit/core");
|
|
6
6
|
const sqsAttributeUtils_1 = require("./sqsAttributeUtils");
|
|
@@ -157,4 +157,22 @@ async function deleteQueue(client, queueName, waitForConfirmation = true) {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
exports.deleteQueue = deleteQueue;
|
|
160
|
+
/**
|
|
161
|
+
* Calculates the size of an outgoing SQS message.
|
|
162
|
+
*
|
|
163
|
+
* SQS imposes a 256 KB limit on the total size of a message, which includes both the message body and any metadata (attributes).
|
|
164
|
+
* This function currently computes the size based solely on the message body, as no attributes are included at this time.
|
|
165
|
+
* For future updates, if message attributes are added, their sizes should also be considered.
|
|
166
|
+
*
|
|
167
|
+
* Reference: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html#sqs-message-attributes
|
|
168
|
+
*/
|
|
169
|
+
function calculateOutgoingMessageSize(message) {
|
|
170
|
+
const messageBody = JSON.stringify(message);
|
|
171
|
+
return calculateSqsMessageBodySize(messageBody);
|
|
172
|
+
}
|
|
173
|
+
exports.calculateOutgoingMessageSize = calculateOutgoingMessageSize;
|
|
174
|
+
function calculateSqsMessageBodySize(messageBody) {
|
|
175
|
+
return messageBody ? Buffer.byteLength(messageBody, 'utf8') : 0;
|
|
176
|
+
}
|
|
177
|
+
exports.calculateSqsMessageBodySize = calculateSqsMessageBodySize;
|
|
160
178
|
//# sourceMappingURL=sqsUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":";;;AAAA,oDAO4B;
|
|
1
|
+
{"version":3,"file":"sqsUtils.js","sourceRoot":"","sources":["../../../lib/utils/sqsUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@message-queue-toolkit/sqs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "SQS adapter for message-queue-toolkit",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"main": "dist/index.js",
|
|
14
14
|
"types": "dist/index.d.ts",
|
|
15
15
|
"scripts": {
|
|
16
|
-
"build": "tsc",
|
|
16
|
+
"build": "del-cli dist && tsc",
|
|
17
17
|
"build:release": "del-cli dist && del-cli coverage && npm run lint && tsc --project tsconfig.release.json",
|
|
18
18
|
"test": "vitest",
|
|
19
19
|
"test:coverage": "npm test -- --coverage",
|
|
@@ -25,17 +25,19 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build:release"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@lokalise/node-core": "^
|
|
29
|
-
"sqs-consumer": "^10.
|
|
30
|
-
"zod": "^3.23.
|
|
28
|
+
"@lokalise/node-core": "^10.0.0",
|
|
29
|
+
"sqs-consumer": "^10.3.0",
|
|
30
|
+
"zod": "^3.23.8"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"@aws-sdk/client-sqs": "^3.556.0",
|
|
34
|
-
"@message-queue-toolkit/core": "^
|
|
34
|
+
"@message-queue-toolkit/core": "^14.0.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
+
"@aws-sdk/client-s3": "^3.598.0",
|
|
37
38
|
"@aws-sdk/client-sqs": "^3.569.0",
|
|
38
39
|
"@message-queue-toolkit/core": "*",
|
|
40
|
+
"@message-queue-toolkit/s3-payload-store": "*",
|
|
39
41
|
"@types/node": "^20.12.8",
|
|
40
42
|
"@typescript-eslint/eslint-plugin": "^7.1.1",
|
|
41
43
|
"@typescript-eslint/parser": "^7.1.1",
|