@message-queue-toolkit/sns 15.2.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 CHANGED
@@ -1,4 +1,4 @@
1
- export type { SNSTopicAWSConfig, SNSTopicConfig, SNSQueueLocatorType, SNSCreationConfig, SNSDependencies, } from './lib/sns/AbstractSnsService';
1
+ export type { SNSTopicAWSConfig, SNSTopicConfig, SNSQueueLocatorType, SNSCreationConfig, SNSDependencies, SNS_MESSAGE_MAX_SIZE, } from './lib/sns/AbstractSnsService';
2
2
  export { AbstractSnsService } from './lib/sns/AbstractSnsService';
3
3
  export { SnsConsumerErrorResolver } from './lib/errors/SnsConsumerErrorResolver';
4
4
  export type { SNSMessageOptions, SNSPublisherOptions } from './lib/sns/AbstractSnsPublisher';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAQA,mEAAiE;AAAxD,wHAAA,kBAAkB,OAAA;AAE3B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,uEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAM7B,2EAAyE;AAAhE,gIAAA,sBAAsB,OAAA;AAI/B,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAE9B,iDAO6B;AAN3B,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,2HAAA,+BAA+B,OAAA;AAC/B,qHAAA,yBAAyB,OAAA;AAG3B,2DAA4D;AAAnD,iHAAA,gBAAgB,OAAA;AACzB,qDAA4D;AAAnD,qGAAA,OAAO,OAAA;AAAE,wGAAA,UAAU,OAAA;AAC5B,iEAA6D;AAApD,kHAAA,cAAc,OAAA;AACvB,mEAGsC;AAFpC,6HAAA,wBAAwB,OAAA;AACxB,oIAAA,+BAA+B,OAAA;AAGjC,8EAAmD;AACnD,wEAA6C;AAE7C,6DAA2D;AAAlD,4GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AASA,mEAAiE;AAAxD,wHAAA,kBAAkB,OAAA;AAE3B,kFAAgF;AAAvE,oIAAA,wBAAwB,OAAA;AAGjC,uEAAqE;AAA5D,4HAAA,oBAAoB,OAAA;AAM7B,2EAAyE;AAAhE,gIAAA,sBAAsB,OAAA;AAI/B,6EAA0E;AAAjE,+HAAA,qBAAqB,OAAA;AAE9B,iDAO6B;AAN3B,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,2HAAA,+BAA+B,OAAA;AAC/B,qHAAA,yBAAyB,OAAA;AAG3B,2DAA4D;AAAnD,iHAAA,gBAAgB,OAAA;AACzB,qDAA4D;AAAnD,qGAAA,OAAO,OAAA;AAAE,wGAAA,UAAU,OAAA;AAC5B,iEAA6D;AAApD,kHAAA,cAAc,OAAA;AACvB,mEAGsC;AAFpC,6HAAA,wBAAwB,OAAA;AACxB,oIAAA,+BAA+B,OAAA;AAGjC,8EAAmD;AACnD,wEAA6C;AAE7C,6DAA2D;AAAlD,4GAAA,YAAY,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { Either } from '@lokalise/node-core';
2
- import type { AsyncPublisher, BarrierResult, MessageInvalidFormatError, MessageValidationError, QueuePublisherOptions } from '@message-queue-toolkit/core';
2
+ import type { AsyncPublisher, BarrierResult, MessageInvalidFormatError, MessageValidationError, QueuePublisherOptions, OffloadedPayloadPointerPayload, ResolvedMessage } from '@message-queue-toolkit/core';
3
3
  import type { SNSCreationConfig, SNSDependencies, SNSQueueLocatorType } from './AbstractSnsService';
4
4
  import { AbstractSnsService } from './AbstractSnsService';
5
5
  export type SNSMessageOptions = {
@@ -12,10 +12,11 @@ export declare abstract class AbstractSnsPublisher<MessagePayloadType extends ob
12
12
  private initPromise?;
13
13
  constructor(dependencies: SNSDependencies, options: SNSPublisherOptions<MessagePayloadType>);
14
14
  publish(message: MessagePayloadType, options?: SNSMessageOptions): Promise<void>;
15
- protected resolveMessage(): Either<MessageInvalidFormatError | MessageValidationError, unknown>;
15
+ protected resolveMessage(): Either<MessageInvalidFormatError | MessageValidationError, ResolvedMessage>;
16
16
  protected resolveSchema(message: MessagePayloadType): Either<Error, import("zod").ZodType<MessagePayloadType, import("zod").ZodTypeDef, MessagePayloadType>>;
17
17
  protected resolveNextFunction(): () => void;
18
18
  protected processPrehandlers(): Promise<undefined>;
19
19
  protected preHandlerBarrier<BarrierOutput>(): Promise<BarrierResult<BarrierOutput>>;
20
20
  processMessage(): Promise<Either<'retryLater', 'success'>>;
21
+ protected sendMessage(payload: MessagePayloadType | OffloadedPayloadPointerPayload, options: SNSMessageOptions): Promise<void>;
21
22
  }
@@ -3,18 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractSnsPublisher = void 0;
4
4
  const client_sns_1 = require("@aws-sdk/client-sns");
5
5
  const node_core_1 = require("@lokalise/node-core");
6
- const core_1 = require("@message-queue-toolkit/core");
6
+ const sqs_1 = require("@message-queue-toolkit/sqs");
7
+ const snsUtils_1 = require("../utils/snsUtils");
7
8
  const AbstractSnsService_1 = require("./AbstractSnsService");
8
9
  class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
9
10
  messageSchemaContainer;
10
11
  initPromise;
11
12
  constructor(dependencies, options) {
12
13
  super(dependencies, options);
13
- const messageSchemas = options.messageSchemas;
14
- this.messageSchemaContainer = new core_1.MessageSchemaContainer({
15
- messageSchemas,
16
- messageTypeField: options.messageTypeField,
17
- });
14
+ this.messageSchemaContainer = this.resolvePublisherMessageSchemaContainer(options);
18
15
  }
19
16
  async publish(message, options = {}) {
20
17
  const messageSchemaResult = this.resolveSchema(message);
@@ -38,13 +35,8 @@ class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
38
35
  this.logMessage(resolvedLogMessage);
39
36
  }
40
37
  message = this.updateInternalProperties(message);
41
- const input = {
42
- Message: JSON.stringify(message),
43
- TopicArn: this.topicArn,
44
- ...options,
45
- };
46
- const command = new client_sns_1.PublishCommand(input);
47
- await this.snsClient.send(command);
38
+ const maybeOffloadedPayloadMessage = await this.offloadMessagePayloadIfNeeded(message, () => (0, snsUtils_1.calculateOutgoingMessageSize)(message));
39
+ await this.sendMessage(maybeOffloadedPayloadMessage, options);
48
40
  this.handleMessageProcessed(parsedMessage, 'published');
49
41
  }
50
42
  catch (error) {
@@ -82,6 +74,16 @@ class AbstractSnsPublisher extends AbstractSnsService_1.AbstractSnsService {
82
74
  processMessage() {
83
75
  throw new Error('Not implemented for publisher');
84
76
  }
77
+ async sendMessage(payload, options) {
78
+ const attributes = (0, sqs_1.resolveOutgoingMessageAttributes)(payload);
79
+ const command = new client_sns_1.PublishCommand({
80
+ Message: JSON.stringify(payload),
81
+ MessageAttributes: attributes,
82
+ TopicArn: this.topicArn,
83
+ ...options,
84
+ });
85
+ await this.snsClient.send(command);
86
+ }
85
87
  }
86
88
  exports.AbstractSnsPublisher = AbstractSnsPublisher;
87
89
  //# sourceMappingURL=AbstractSnsPublisher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractSnsPublisher.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsPublisher.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { SNSClient, CreateTopicCommandInput, Tag } from '@aws-sdk/client-sn
2
2
  import type { QueueDependencies, QueueOptions } from '@message-queue-toolkit/core';
3
3
  import { AbstractQueueService } from '@message-queue-toolkit/core';
4
4
  import type { SNS_MESSAGE_BODY_TYPE } from '../types/MessageTypes';
5
+ export declare const SNS_MESSAGE_MAX_SIZE: number;
5
6
  export type SNSDependencies = QueueDependencies & {
6
7
  snsClient: SNSClient;
7
8
  };
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractSnsService = void 0;
3
+ exports.AbstractSnsService = exports.SNS_MESSAGE_MAX_SIZE = void 0;
4
4
  const core_1 = require("@message-queue-toolkit/core");
5
5
  const snsInitter_1 = require("../utils/snsInitter");
6
+ // https://docs.aws.amazon.com/general/latest/gr/sns.html
7
+ exports.SNS_MESSAGE_MAX_SIZE = 256 * 1024; // 256KB
6
8
  class AbstractSnsService extends core_1.AbstractQueueService {
7
9
  snsClient;
8
10
  // @ts-ignore
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsService.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAGlE,oDAAwD;AAsCxD,MAAsB,kBAKpB,SAAQ,2BAOT;IACoB,SAAS,CAAW;IACvC,aAAa;IACH,QAAQ,CAAQ;IAE1B,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,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;QAED,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;QACnC,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;AArCD,gDAqCC"}
1
+ {"version":3,"file":"AbstractSnsService.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsService.ts"],"names":[],"mappings":";;;AAEA,sDAAkE;AAGlE,oDAAwD;AAExD,yDAAyD;AAC5C,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAA,CAAC,QAAQ;AAsCvD,MAAsB,kBAKpB,SAAQ,2BAOT;IACoB,SAAS,CAAW;IACvC,aAAa;IACH,QAAQ,CAAQ;IAE1B,YAAY,YAA8B,EAAE,OAAuB;QACjE,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAE5B,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;QAED,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzF,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;QACnC,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;AArCD,gDAqCC"}
@@ -20,6 +20,6 @@ export declare abstract class AbstractSnsSqsConsumer<MessagePayloadSchemas exten
20
20
  protected subscriptionArn: string;
21
21
  protected constructor(dependencies: SNSSQSConsumerDependencies, options: SNSSQSConsumerOptions<MessagePayloadSchemas, ExecutionContext, PrehandlerOutput>, executionContext: ExecutionContext);
22
22
  init(): Promise<void>;
23
- protected resolveMessage(message: SQSMessage): import("@lokalise/node-core").Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError, unknown>;
23
+ protected resolveMessage(message: SQSMessage): import("@lokalise/node-core").Either<import("@message-queue-toolkit/core").MessageInvalidFormatError | import("@message-queue-toolkit/core").MessageValidationError, import("@message-queue-toolkit/core").ResolvedMessage>;
24
24
  protected resolveSchema(messagePayload: MessagePayloadSchemas): import("@lokalise/node-core").Either<Error, import("zod").ZodType<MessagePayloadSchemas, import("zod").ZodTypeDef, MessagePayloadSchemas>>;
25
25
  }
@@ -41,7 +41,7 @@ class AbstractSnsSqsConsumer extends sqs_1.AbstractSqsConsumer {
41
41
  return super.resolveMessage(message);
42
42
  }
43
43
  resolveSchema(messagePayload) {
44
- return this.messageSchemaContainer.resolveSchema(messagePayload);
44
+ return this._messageSchemaContainer.resolveSchema(messagePayload);
45
45
  }
46
46
  }
47
47
  exports.AbstractSnsSqsConsumer = AbstractSnsSqsConsumer;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSnsSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumer.ts"],"names":[],"mappings":";;;AAQA,oDAA2E;AAE3E,oDAA8D;AAC9D,gEAA0D;AA8B1D,MAAsB,sBAIpB,SAAQ,yBAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IAErC,aAAa;IACH,QAAQ,CAAQ;IAC1B,aAAa;IACH,eAAe,CAAQ;IAEjC,YACE,YAAwC,EACxC,OAAyF,EACzF,gBAAkC;QAElC,KAAK,CACH,YAAY,EACZ;YACE,GAAG,OAAO;SACX,EACD,gBAAgB,CACjB,CAAA;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1E,MAAM,IAAA,yBAAY,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAU,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;QAEvD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAClC,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,MAAM,MAAM,GAAG,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,qDAAqD;QACrD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAClE,CAAC;CACF;AAhFD,wDAgFC"}
1
+ {"version":3,"file":"AbstractSnsSqsConsumer.js","sourceRoot":"","sources":["../../../lib/sns/AbstractSnsSqsConsumer.ts"],"names":[],"mappings":";;;AAQA,oDAA2E;AAE3E,oDAA8D;AAC9D,gEAA0D;AA8B1D,MAAsB,sBAIpB,SAAQ,yBAOT;IACkB,kBAAkB,CAAyB;IAC3C,SAAS,CAAW;IAErC,aAAa;IACH,QAAQ,CAAQ;IAC1B,aAAa;IACH,eAAe,CAAQ;IAEjC,YACE,YAAwC,EACxC,OAAyF,EACzF,gBAAkC;QAElC,KAAK,CACH,YAAY,EACZ;YACE,GAAG,OAAO;SACX,EACD,gBAAgB,CACjB,CAAA;QAED,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;QACpD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1E,MAAM,IAAA,yBAAY,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,IAAI,CAAC,kBAAkB,CACxB,CAAA;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,IAAA,eAAS,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAU,EACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,kBAAkB,EACvB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACxB,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAA;QAEvD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;IAClC,CAAC;IAEkB,cAAc,CAAC,OAAmB;QACnD,MAAM,MAAM,GAAG,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,qDAAqD;QACrD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IAEkB,aAAa,CAAC,cAAqC;QACpE,OAAO,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACnE,CAAC;CACF;AAhFD,wDAgFC"}
@@ -1,14 +1,12 @@
1
- import type { CommonEventDefinition, EventRegistry, MessagePublishType, MessageSchemaType, MetadataFiller, PublisherBaseEventType } from '@message-queue-toolkit/core';
1
+ import type { EventRegistry, MessagePublishType, MessageSchemaType, MetadataFiller, PublisherBaseEventType } from '@message-queue-toolkit/core';
2
2
  import { AbstractPublisherManager } from '@message-queue-toolkit/core';
3
3
  import type { MessageMetadataType } from '@message-queue-toolkit/core/lib/messages/baseMessageSchemas';
4
+ import type { SnsAwareEventDefinition } from '@message-queue-toolkit/schemas';
4
5
  import type z from 'zod';
5
6
  import type { AbstractSnsPublisher, SNSMessageOptions, SNSPublisherOptions } from './AbstractSnsPublisher';
6
7
  import type { SNSCreationConfig, SNSDependencies, SNSQueueLocatorType } from './AbstractSnsService';
7
8
  import type { SnsPublisherFactory } from './CommonSnsPublisherFactory';
8
- export type SnsAwareEventDefinition = {
9
- schemaVersion?: string;
10
- snsTopic?: string;
11
- } & CommonEventDefinition;
9
+ export type { SnsAwareEventDefinition };
12
10
  export type SnsPublisherManagerDependencies<SupportedEvents extends SnsAwareEventDefinition[]> = {
13
11
  eventRegistry: EventRegistry<SupportedEvents>;
14
12
  } & SNSDependencies;
@@ -1 +1 @@
1
- {"version":3,"file":"SnsPublisherManager.js","sourceRoot":"","sources":["../../../lib/sns/SnsPublisherManager.ts"],"names":[],"mappings":";;;AAQA,sDAAsE;AAWtE,2EAAuE;AA6BvE,MAAa,mBAIX,SAAQ,+BAeT;IACC,YACE,YAAwE,EACxE,OAIC;QAED,KAAK,CAAC;YACJ,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,UAAU;YAClD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,qBAAqB,EAAE;gBACrB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,aAAa,EAAE,YAAY,CAAC,aAAa;aAC1C;YACD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI,qDAAyB,EAAE;SAC9E,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CACL,KAAiE,EACjE,OAA8D,EAC9D,sBAA8C,EAC9C,cAAkC;QAElC,4EAA4E;QAC5E,kCAAkC;QAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAA;IAC9E,CAAC;IAEkB,qBAAqB,CACtC,WAAuE;QAEvE,OAAO;YACL,GAAG,IAAI,CAAC,mBAAmB;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;aAClB;SACF,CAAA;IACH,CAAC;IAEkB,kBAAkB,CACnC,KAA8B;QAE9B,OAAO,KAAK,CAAC,QAAQ,CAAA;IACvB,CAAC;CACF;AAtED,kDAsEC"}
1
+ {"version":3,"file":"SnsPublisherManager.js","sourceRoot":"","sources":["../../../lib/sns/SnsPublisherManager.ts"],"names":[],"mappings":";;;AAOA,sDAAsE;AAYtE,2EAAuE;AA0BvE,MAAa,mBAIX,SAAQ,+BAeT;IACC,YACE,YAAwE,EACxE,OAIC;QAED,KAAK,CAAC;YACJ,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY,CAAC,aAAa;YACzC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,UAAU;YAClD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,qBAAqB,EAAE;gBACrB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,aAAa,EAAE,YAAY,CAAC,aAAa;aAC1C;YACD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,IAAI,qDAAyB,EAAE;SAC9E,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CACL,KAAiE,EACjE,OAA8D,EAC9D,sBAA8C,EAC9C,cAAkC;QAElC,4EAA4E;QAC5E,kCAAkC;QAClC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,cAAc,CAAC,CAAA;IAC9E,CAAC;IAEkB,qBAAqB,CACtC,WAAuE;QAEvE,OAAO;YACL,GAAG,IAAI,CAAC,mBAAmB;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,WAAW;aAClB;SACF,CAAA;IACH,CAAC;IAEkB,kBAAkB,CACnC,KAA8B;QAE9B,OAAO,KAAK,CAAC,QAAQ,CAAA;IACvB,CAAC;CACF;AAtED,kDAsEC"}
@@ -7,6 +7,16 @@ export declare const SNS_MESSAGE_BODY_SCHEMA: z.ZodObject<{
7
7
  MessageId: z.ZodString;
8
8
  TopicArn: z.ZodString;
9
9
  Message: z.ZodString;
10
+ MessageAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
11
+ Type: z.ZodString;
12
+ Value: z.ZodUnknown;
13
+ }, "strip", z.ZodTypeAny, {
14
+ Type: string;
15
+ Value?: unknown;
16
+ }, {
17
+ Type: string;
18
+ Value?: unknown;
19
+ }>>>;
10
20
  Timestamp: z.ZodString;
11
21
  SignatureVersion: z.ZodString;
12
22
  Signature: z.ZodString;
@@ -22,6 +32,10 @@ export declare const SNS_MESSAGE_BODY_SCHEMA: z.ZodObject<{
22
32
  Signature: string;
23
33
  SigningCertURL: string;
24
34
  UnsubscribeURL: string;
35
+ MessageAttributes?: Record<string, {
36
+ Type: string;
37
+ Value?: unknown;
38
+ }> | undefined;
25
39
  }, {
26
40
  Type: string;
27
41
  MessageId: string;
@@ -32,5 +46,9 @@ export declare const SNS_MESSAGE_BODY_SCHEMA: z.ZodObject<{
32
46
  Signature: string;
33
47
  SigningCertURL: string;
34
48
  UnsubscribeURL: string;
49
+ MessageAttributes?: Record<string, {
50
+ Type: string;
51
+ Value?: unknown;
52
+ }> | undefined;
35
53
  }>;
36
54
  export type SNS_MESSAGE_BODY_TYPE = z.infer<typeof SNS_MESSAGE_BODY_SCHEMA>;
@@ -8,6 +8,12 @@ exports.SNS_MESSAGE_BODY_SCHEMA = zod_1.default.object({
8
8
  MessageId: zod_1.default.string(),
9
9
  TopicArn: zod_1.default.string(),
10
10
  Message: zod_1.default.string(),
11
+ MessageAttributes: zod_1.default
12
+ .record(zod_1.default.string(), zod_1.default.object({
13
+ Type: zod_1.default.string(),
14
+ Value: zod_1.default.unknown(),
15
+ }))
16
+ .optional(),
11
17
  Timestamp: zod_1.default.string(),
12
18
  SignatureVersion: zod_1.default.string(),
13
19
  Signature: zod_1.default.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"MessageTypes.js","sourceRoot":"","sources":["../../../lib/types/MessageTypes.ts"],"names":[],"mappings":";;;;AAAA,sDAAmB;AAMN,QAAA,uBAAuB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,gBAAgB,EAAE,aAAC,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;IAC1B,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAA"}
1
+ {"version":3,"file":"MessageTypes.js","sourceRoot":"","sources":["../../../lib/types/MessageTypes.ts"],"names":[],"mappings":";;;;AAAA,sDAAmB;AAMN,QAAA,uBAAuB,GAAG,aAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,aAAC;SACjB,MAAM,CACL,aAAC,CAAC,MAAM,EAAE,EACV,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;QAChB,KAAK,EAAE,aAAC,CAAC,OAAO,EAAE;KACnB,CAAC,CACH;SACA,QAAQ,EAAE;IACb,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,gBAAgB,EAAE,aAAC,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;IAC1B,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAA"}
@@ -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 '@message-queue-toolkit/sqs';
4
- export declare function readSnsMessage(message: SQSMessage, errorProcessor: ErrorResolver): Either<MessageInvalidFormatError | MessageValidationError, unknown>;
4
+ export declare function readSnsMessage(message: SQSMessage, errorProcessor: ErrorResolver): Either<MessageInvalidFormatError | MessageValidationError, ResolvedMessage>;
@@ -6,7 +6,10 @@ function readSnsMessage(message, errorProcessor) {
6
6
  const snsMessage = JSON.parse(message.Body);
7
7
  const messagePayload = JSON.parse(snsMessage.Message);
8
8
  return {
9
- result: messagePayload,
9
+ result: {
10
+ body: messagePayload,
11
+ attributes: snsMessage.MessageAttributes,
12
+ },
10
13
  };
11
14
  }
12
15
  catch (exception) {
@@ -1 +1 @@
1
- {"version":3,"file":"snsMessageReader.js","sourceRoot":"","sources":["../../../lib/utils/snsMessageReader.ts"],"names":[],"mappings":";;;AAMA,SAAgB,cAAc,CAC5B,OAAmB,EACnB,cAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,UAAU,GAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAErD,OAAO;YACL,MAAM,EAAE,cAAc;SACvB,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
+ {"version":3,"file":"snsMessageReader.js","sourceRoot":"","sources":["../../../lib/utils/snsMessageReader.ts"],"names":[],"mappings":";;;AAUA,SAAgB,cAAc,CAC5B,OAAmB,EACnB,cAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,UAAU,GAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAErD,OAAO;YACL,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,UAAU,CAAC,iBAAiB;aACzC;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;AAnBD,wCAmBC"}
@@ -10,4 +10,16 @@ export declare function assertTopic(snsClient: SNSClient, topicOptions: CreateTo
10
10
  export declare function deleteTopic(client: SNSClient, topicName: string): Promise<void>;
11
11
  export declare function deleteSubscription(client: SNSClient, subscriptionArn: string): Promise<void>;
12
12
  export declare function findSubscriptionByTopicAndQueue(snsClient: SNSClient, topicArn: string, queueArn: string): Promise<import("@aws-sdk/client-sns").Subscription | undefined>;
13
+ /**
14
+ * Calculates the size of an outgoing SNS message.
15
+ *
16
+ * SNS imposes a 256 KB limit on the total size of a message, which includes both the message body and any metadata (attributes).
17
+ * This function currently computes the size based solely on the message body, as no attributes are included at this time.
18
+ * For future updates, if message attributes are added, their sizes should also be considered.
19
+ *
20
+ * Reference: https://docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html
21
+ *
22
+ * A wrapper around the equivalent function in the SQS package.
23
+ */
24
+ export declare const calculateOutgoingMessageSize: (message: unknown) => number;
13
25
  export {};
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findSubscriptionByTopicAndQueue = exports.deleteSubscription = exports.deleteTopic = exports.assertTopic = exports.getSubscriptionAttributes = exports.getTopicAttributes = void 0;
3
+ exports.calculateOutgoingMessageSize = exports.findSubscriptionByTopicAndQueue = exports.deleteSubscription = exports.deleteTopic = exports.assertTopic = exports.getSubscriptionAttributes = exports.getTopicAttributes = void 0;
4
4
  const client_sns_1 = require("@aws-sdk/client-sns");
5
+ const sqs_1 = require("@message-queue-toolkit/sqs");
5
6
  const snsAttributeUtils_1 = require("./snsAttributeUtils");
6
7
  async function getTopicAttributes(snsClient, topicArn) {
7
8
  const command = new client_sns_1.GetTopicAttributesCommand({
@@ -110,4 +111,17 @@ async function findSubscriptionByTopicAndQueue(snsClient, topicArn, queueArn) {
110
111
  });
111
112
  }
112
113
  exports.findSubscriptionByTopicAndQueue = findSubscriptionByTopicAndQueue;
114
+ /**
115
+ * Calculates the size of an outgoing SNS message.
116
+ *
117
+ * SNS imposes a 256 KB limit on the total size of a message, which includes both the message body and any metadata (attributes).
118
+ * This function currently computes the size based solely on the message body, as no attributes are included at this time.
119
+ * For future updates, if message attributes are added, their sizes should also be considered.
120
+ *
121
+ * Reference: https://docs.aws.amazon.com/sns/latest/dg/sns-message-attributes.html
122
+ *
123
+ * A wrapper around the equivalent function in the SQS package.
124
+ */
125
+ const calculateOutgoingMessageSize = (message) => (0, sqs_1.calculateOutgoingMessageSize)(message);
126
+ exports.calculateOutgoingMessageSize = calculateOutgoingMessageSize;
113
127
  //# sourceMappingURL=snsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snsUtils.js","sourceRoot":"","sources":["../../../lib/utils/snsUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snsUtils.js","sourceRoot":"","sources":["../../../lib/utils/snsUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@message-queue-toolkit/sns",
3
- "version": "15.2.0",
3
+ "version": "16.0.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "SNS adapter for message-queue-toolkit",
@@ -25,20 +25,23 @@
25
25
  "prepublishOnly": "npm run build:release"
26
26
  },
27
27
  "dependencies": {
28
- "@lokalise/node-core": "^9.17.0",
29
- "sqs-consumer": "^10.2.0",
28
+ "@lokalise/node-core": "^10.0.0",
29
+ "sqs-consumer": "^10.3.0",
30
30
  "zod": "^3.23.8"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "@aws-sdk/client-sns": "^3.556.0",
34
34
  "@aws-sdk/client-sqs": "^3.556.0",
35
- "@message-queue-toolkit/core": "^13.4.0",
36
- "@message-queue-toolkit/sqs": "^15.1.0"
35
+ "@message-queue-toolkit/core": "^14.0.0",
36
+ "@message-queue-toolkit/schemas": "^1.2.0",
37
+ "@message-queue-toolkit/sqs": "^16.0.0"
37
38
  },
38
39
  "devDependencies": {
40
+ "@aws-sdk/client-s3": "^3.598.0",
39
41
  "@aws-sdk/client-sns": "^3.569.0",
40
42
  "@aws-sdk/client-sqs": "^3.569.0",
41
43
  "@message-queue-toolkit/core": "*",
44
+ "@message-queue-toolkit/s3-payload-store": "*",
42
45
  "@message-queue-toolkit/sqs": "*",
43
46
  "@types/node": "^20.12.8",
44
47
  "@typescript-eslint/eslint-plugin": "^7.7.1",