@aspan-corporation/ac-shared 1.0.9 → 1.0.10

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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Publishing new version
4
4
 
5
- Run following command before comitting new changes:
5
+ Run following command before pushing new changes:
6
6
 
7
7
  ```
8
8
  npm version patch
package/lib/index.js CHANGED
@@ -7,19 +7,6 @@ import {
7
7
  } from "@aws-sdk/client-s3";
8
8
  import { Upload } from "@aws-sdk/lib-storage";
9
9
  import { PassThrough } from "node:stream";
10
-
11
- // src/utils/logger.ts
12
- import { Logger } from "@aws-lambda-powertools/logger";
13
- var rootLogger = new Logger({
14
- serviceName: process.env.POWERTOOLS_SERVICE_NAME ?? process.env.AWS_LAMBDA_FUNCTION_NAME ?? "ac-shared"
15
- });
16
- var getLoggerWithScope = (scope, logger = rootLogger) => {
17
- const childLogger = logger.createChild();
18
- childLogger.appendKeys({ scope });
19
- return childLogger;
20
- };
21
-
22
- // src/services/s3.ts
23
10
  var S3Service = class {
24
11
  logger;
25
12
  client;
@@ -28,7 +15,7 @@ var S3Service = class {
28
15
  client,
29
16
  assumeRoleCommandOutput
30
17
  } = {}) {
31
- this.logger = getLoggerWithScope("ac-shared:s3", logger);
18
+ this.logger = logger;
32
19
  if (assumeRoleCommandOutput) {
33
20
  this.client = new S3Client({
34
21
  region: process.env.AWS_REGION,
@@ -113,7 +100,7 @@ var DynamoDBService = class {
113
100
  client,
114
101
  assumeRoleCommandOutput
115
102
  } = {}) {
116
- this.logger = getLoggerWithScope("ac-shared:dynamodb", logger);
103
+ this.logger = logger;
117
104
  if (assumeRoleCommandOutput) {
118
105
  this.client = new DynamoDBClient({
119
106
  region: process.env.AWS_REGION,
@@ -166,7 +153,7 @@ var SSMService = class {
166
153
  client,
167
154
  assumeRoleCommandOutput
168
155
  } = {}) {
169
- this.logger = getLoggerWithScope("ac-shared:ssm", logger);
156
+ this.logger = logger;
170
157
  if (assumeRoleCommandOutput) {
171
158
  this.client = new SSMClient({
172
159
  region: process.env.AWS_REGION,
@@ -194,11 +181,11 @@ var SSMService = class {
194
181
 
195
182
  // src/services/sqs.ts
196
183
  import {
197
- SQSClient,
198
- SendMessageCommand,
199
- ReceiveMessageCommand,
200
184
  DeleteMessageCommand,
201
- SendMessageBatchCommand
185
+ ReceiveMessageCommand,
186
+ SQSClient,
187
+ SendMessageBatchCommand,
188
+ SendMessageCommand
202
189
  } from "@aws-sdk/client-sqs";
203
190
  var SQSService = class {
204
191
  logger;
@@ -208,7 +195,7 @@ var SQSService = class {
208
195
  client,
209
196
  assumeRoleCommandOutput
210
197
  } = {}) {
211
- this.logger = getLoggerWithScope("ac-shared:sqs", logger);
198
+ this.logger = logger;
212
199
  if (assumeRoleCommandOutput) {
213
200
  this.client = new SQSClient({
214
201
  region: process.env.AWS_REGION,
@@ -250,7 +237,7 @@ var STSService = class {
250
237
  logger;
251
238
  client;
252
239
  constructor({ logger } = {}) {
253
- this.logger = getLoggerWithScope("ac-shared:sts", logger);
240
+ this.logger = logger;
254
241
  this.client = new STSClient({
255
242
  region: process.env.AWS_REGION,
256
243
  logger: this.logger
@@ -267,7 +254,7 @@ var STSService = class {
267
254
  };
268
255
 
269
256
  // src/lambda/plumbingMiddleware.ts
270
- import { Logger as Logger2 } from "@aws-lambda-powertools/logger";
257
+ import { Logger } from "@aws-lambda-powertools/logger";
271
258
  import { Metrics } from "@aws-lambda-powertools/metrics";
272
259
  import { Tracer } from "@aws-lambda-powertools/tracer";
273
260
  import assert from "node:assert";
@@ -281,7 +268,7 @@ var plumbingMiddleware = () => {
281
268
  "POWERTOOLS_SERVICE_NAME is not configured"
282
269
  );
283
270
  const metrics = new Metrics();
284
- const logger = new Logger2();
271
+ const logger = new Logger();
285
272
  const tracer = new Tracer();
286
273
  let segment;
287
274
  let subsegment;
@@ -362,7 +349,7 @@ var assertString = (value) => {
362
349
 
363
350
  // src/lambda/sharedUtils.ts
364
351
  import { Metrics as Metrics2 } from "@aws-lambda-powertools/metrics";
365
- import { Logger as Logger3 } from "@aws-lambda-powertools/logger";
352
+ import { Logger as Logger2 } from "@aws-lambda-powertools/logger";
366
353
  import { Tracer as Tracer2 } from "@aws-lambda-powertools/tracer";
367
354
  var getPersistenceStore = () => {
368
355
  return new DynamoDBPersistenceLayer({
@@ -370,6 +357,17 @@ var getPersistenceStore = () => {
370
357
  });
371
358
  };
372
359
 
360
+ // src/utils/logger.ts
361
+ import { Logger as Logger3 } from "@aws-lambda-powertools/logger";
362
+ var rootLogger = new Logger3({
363
+ serviceName: process.env.POWERTOOLS_SERVICE_NAME ?? process.env.AWS_LAMBDA_FUNCTION_NAME ?? "ac-shared"
364
+ });
365
+ var getLoggerWithScope = (scope, logger = rootLogger) => {
366
+ const childLogger = logger.createChild();
367
+ childLogger.appendKeys({ scope });
368
+ return childLogger;
369
+ };
370
+
373
371
  // src/utils/normalizeErrorMessage.ts
374
372
  var normalizeErrorMessage = (error) => {
375
373
  if (error instanceof Error) {
@@ -384,7 +382,7 @@ var normalizeErrorMessage = (error) => {
384
382
  };
385
383
  export {
386
384
  DynamoDBService,
387
- Logger3 as Logger,
385
+ Logger2 as Logger,
388
386
  Metrics2 as Metrics,
389
387
  S3Service,
390
388
  SQSService,
package/lib/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/services/s3.ts", "../src/utils/logger.ts", "../src/services/dynamoDB.ts", "../src/services/ssm.ts", "../src/services/sqs.ts", "../src/services/sts.ts", "../src/lambda/plumbingMiddleware.ts", "../src/lambda/sharedUtils.ts", "../src/utils/assertUtils.ts", "../src/utils/normalizeErrorMessage.ts"],
4
- "sourcesContent": ["import { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\n GetObjectCommand,\n GetObjectCommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n PutObjectCommandInput,\n S3Client\n} from \"@aws-sdk/client-s3\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { Upload } from \"@aws-sdk/lib-storage\";\nimport { PassThrough } from \"node:stream\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class S3Service {\n logger: Logger;\n client: S3Client;\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:s3\", logger);\n\n if (assumeRoleCommandOutput) {\n this.client = new S3Client({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new S3Client({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n createS3UploadStream(putObjectCommandInput: PutObjectCommandInput) {\n this.logger.debug(\"upload stream started\");\n\n const pass = new PassThrough();\n\n const parallelUploads3 = new Upload({\n client: this.client,\n params: {\n ...putObjectCommandInput,\n Body: pass\n }\n });\n\n parallelUploads3.done();\n\n this.logger.debug(\"upload stream finished\");\n return pass;\n }\n\n async createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput) {\n this.logger.debug(\"download stream started\");\n\n const item = await this.client.send(\n new GetObjectCommand(getObjectCommandInput)\n );\n\n this.logger.debug(\"download stream finished\");\n\n return item.Body;\n }\n\n async listObjectsV2(listObjectsV2CommandInput: ListObjectsV2CommandInput) {\n return await this.client.send(\n new ListObjectsV2Command(listObjectsV2CommandInput)\n );\n }\n\n async getObject(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<Buffer> {\n const stream = await this.createS3DownloadStream(getObjectCommandInput);\n\n return Buffer.from(await stream.transformToByteArray());\n }\n\n async headObject(headObjectCommandInput: HeadObjectCommandInput) {\n return await this.client.send(\n new HeadObjectCommand(headObjectCommandInput)\n );\n }\n\n async checkIfObjectExists(\n headObjectCommandInput: HeadObjectCommandInput\n ): Promise<boolean> {\n try {\n await this.client.send(new HeadObjectCommand(headObjectCommandInput));\n return true;\n } catch (error) {\n if (error.name === \"NotFound\") {\n return false;\n }\n throw error;\n }\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\n\nexport const rootLogger = new Logger({\n serviceName:\n process.env.POWERTOOLS_SERVICE_NAME ??\n process.env.AWS_LAMBDA_FUNCTION_NAME ??\n \"ac-shared\"\n});\n\nexport const getLoggerWithScope = (\n scope: string,\n logger: Logger = rootLogger\n) => {\n const childLogger = logger.createChild();\n childLogger.appendKeys({ scope });\n return childLogger;\n};\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n GetCommandOutput,\n PutCommand,\n PutCommandInput,\n PutCommandOutput,\n QueryCommand,\n QueryCommandInput,\n QueryCommandOutput,\n UpdateCommand,\n UpdateCommandInput,\n UpdateCommandOutput\n} from \"@aws-sdk/lib-dynamodb\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\n\nexport class DynamoDBService {\n logger: Logger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:dynamodb\", logger);\n\n if (assumeRoleCommandOutput) {\n this.client = new DynamoDBClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new DynamoDBClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n\n this.documentClient = DynamoDBDocumentClient.from(this.client);\n }\n\n async getCommand(\n getCommandInput: GetCommandInput\n ): Promise<GetCommandOutput> {\n return await this.documentClient.send(new GetCommand(getCommandInput));\n }\n\n async updateCommand(\n updateCommandInput: UpdateCommandInput\n ): Promise<UpdateCommandOutput> {\n return await this.documentClient.send(\n new UpdateCommand(updateCommandInput)\n );\n }\n\n async queryCommand(\n queryCommandInput: QueryCommandInput\n ): Promise<QueryCommandOutput> {\n return await this.documentClient.send(new QueryCommand(queryCommandInput));\n }\n\n async putCommand(\n putCommandInput: PutCommandInput\n ): Promise<PutCommandOutput> {\n return await this.documentClient.send(new PutCommand(putCommandInput));\n }\n\n async checkIfItemExists(\n checkInput: Pick<GetCommandInput, \"TableName\" | \"Key\">\n ): Promise<boolean> {\n const result = await this.getCommand(checkInput);\n\n return !!result.Item;\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\n SSMClient,\n GetParameterCommand,\n GetParameterCommandInput,\n GetParameterCommandOutput,\n PutParameterCommand,\n PutParameterCommandInput,\n PutParameterCommandOutput\n} from \"@aws-sdk/client-ssm\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class SSMService {\n logger: Logger;\n client: SSMClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:ssm\", logger);\n\n if (assumeRoleCommandOutput) {\n this.client = new SSMClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new SSMClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n async getParameter(\n params: GetParameterCommandInput\n ): Promise<GetParameterCommandOutput> {\n return await this.client.send(new GetParameterCommand(params));\n }\n\n async putParameter(\n params: PutParameterCommandInput\n ): Promise<PutParameterCommandOutput> {\n return await this.client.send(new PutParameterCommand(params));\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\n SQSClient,\n SendMessageCommand,\n SendMessageCommandInput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n ReceiveMessageCommandOutput,\n SendMessageCommandOutput,\n DeleteMessageCommandOutput,\n SendMessageBatchCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class SQSService {\n logger: Logger;\n client: SQSClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:sqs\", logger);\n\n if (assumeRoleCommandOutput) {\n this.client = new SQSClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new SQSClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n async sendMessage(\n params: SendMessageCommandInput\n ): Promise<SendMessageCommandOutput> {\n return await this.client.send(new SendMessageCommand(params));\n }\n\n async sendMessageBatch(\n params: SendMessageBatchCommandInput\n ): Promise<SendMessageBatchCommandOutput> {\n return await this.client.send(new SendMessageBatchCommand(params));\n }\n\n async receiveMessage(\n params: ReceiveMessageCommandInput\n ): Promise<ReceiveMessageCommandOutput> {\n return await this.client.send(new ReceiveMessageCommand(params));\n }\n\n async deleteMessage(\n params: DeleteMessageCommandInput\n ): Promise<DeleteMessageCommandOutput> {\n return await this.client.send(new DeleteMessageCommand(params));\n }\n}\n", "import {\n STSClient,\n GetCallerIdentityCommand,\n AssumeRoleCommandInput,\n AssumeRoleCommand\n} from \"@aws-sdk/client-sts\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class STSService {\n logger: Logger;\n client: STSClient;\n\n constructor({ logger }: { logger?: Logger } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:sts\", logger);\n\n this.client = new STSClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n\n async getCallerIdentity() {\n return await this.client.send(new GetCallerIdentityCommand({}));\n }\n\n async assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput) {\n return await this.client.send(\n new AssumeRoleCommand(assumeRoleCommandInput)\n );\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\nimport middy, { MiddlewareObj } from \"@middy/core\";\nimport assert from \"node:assert\";\n\nexport const plumbingMiddleware = (): MiddlewareObj => {\n assert(\n process.env.POWERTOOLS_METRICS_NAMESPACE,\n \"POWERTOOLS_METRICS_NAMESPACE is not configured\"\n );\n\n assert(\n process.env.POWERTOOLS_SERVICE_NAME,\n \"POWERTOOLS_SERVICE_NAME is not configured\"\n );\n\n const metrics = new Metrics();\n const logger = new Logger();\n const tracer = new Tracer();\n\n let segment: any;\n let subsegment: any;\n let handlerSegment: any;\n\n const before: middy.MiddlewareFn = async ({ context, event }) => {\n logger.appendKeys({\n awsRequestId: context.awsRequestId,\n });\n\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.before\" });\n\n localLogger.info(\"incoming\", { event });\n\n segment = tracer.getSegment();\n\n if (!segment) {\n localLogger.error(\"Failed to get segment\");\n return;\n }\n\n metrics.captureColdStartMetric();\n\n // Create subsegment for the function & set it as active\n handlerSegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);\n tracer.setSegment(handlerSegment);\n tracer.annotateColdStart();\n tracer.addServiceNameAnnotation();\n\n // Add annotation for the awsRequestId\n tracer.putAnnotation(\"awsRequestId\", context.awsRequestId);\n\n // Create another subsegment & set it as active\n subsegment = handlerSegment.addNewSubsegment(\"### MySubSegment\");\n tracer.setSegment(subsegment);\n\n context.clientContext = {\n client: context.clientContext?.client || {\n appPackageName: \"\",\n appTitle: \"\",\n appVersionCode: \"\",\n appVersionName: \"\",\n installationId: \"\",\n },\n env: context.clientContext?.env || {\n platform: \"\",\n platformVersion: \"\",\n make: \"\",\n model: \"\",\n locale: \"\",\n },\n Custom: { tracer, logger, metrics },\n };\n };\n\n const after: middy.MiddlewareFn = async (): Promise<void> => {\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.after\" });\n\n try {\n localLogger.debug(\"started closing in after\");\n subsegment.close(); // (### MySubSegment)\n handlerSegment.close(); // (## index.handler)\n\n // Set the facade segment as active again (the one created by AWS Lambda)\n tracer.setSegment(segment);\n // Publish all stored metrics\n metrics.publishStoredMetrics();\n localLogger.debug(\"finished closing in after\");\n } catch (error) {\n localLogger.error(\"error in after\", { error });\n throw error;\n }\n };\n\n return {\n before,\n after,\n };\n};\n", "import { DynamoDBPersistenceLayer } from \"@aws-lambda-powertools/idempotency/dynamodb\";\nimport { Context } from \"aws-lambda\";\nimport { assertEnvVar } from \"../utils/assertUtils.js\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\n\nexport const getPersistenceStore = () => {\n return new DynamoDBPersistenceLayer({\n tableName: assertEnvVar(\"AC_IDEMPOTENCY_TABLE_NAME\")\n });\n};\n\nexport interface ACLambdaContext extends Context {\n clientContext?: {\n Custom?: {\n metrics: Metrics;\n logger: Logger;\n tracer: Tracer;\n };\n client: {\n appPackageName: string;\n appTitle: string;\n appVersionCode: string;\n appVersionName: string;\n installationId: string;\n };\n env: {\n platform: string;\n platformVersion: string;\n make: string;\n model: string;\n locale: string;\n };\n };\n}\n\nexport { Logger, Metrics, Tracer };\n", "import assert from \"node:assert/strict\";\n\nexport const assertEnvVar = (envVar: string): string => {\n assert(process.env[envVar], `${envVar} is not set`);\n return process.env[envVar];\n};\n\nexport const assertString = (value: string | undefined): string => {\n assert(typeof value === \"string\", \"Value is not a string\");\n assert(value.length > 0, \"Value is empty\");\n return value;\n};\n", "export const normalizeErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (typeof error === \"object\" && error !== null) {\n return JSON.stringify(error);\n } else {\n return String(error);\n }\n};\n"],
5
- "mappings": ";AACA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,EAGA;AAAA,OACK;AAEP,SAAS,cAAc;AACvB,SAAS,mBAAmB;;;ACb5B,SAAS,cAAc;AAEhB,IAAM,aAAa,IAAI,OAAO;AAAA,EACnC,aACE,QAAQ,IAAI,2BACZ,QAAQ,IAAI,4BACZ;AACJ,CAAC;AAEM,IAAM,qBAAqB,CAChC,OACA,SAAiB,eACd;AACH,QAAM,cAAc,OAAO,YAAY;AACvC,cAAY,WAAW,EAAE,MAAM,CAAC;AAChC,SAAO;AACT;;;ADAO,IAAM,YAAN,MAAgB;AAAA,EACrB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS,mBAAmB,gBAAgB,MAAM;AAEvD,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,SAAS;AAAA,QACzB,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,SAAS;AAAA,QACX,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAAA,EACF;AAAA,EAEA,qBAAqB,uBAA8C;AACjE,SAAK,OAAO,MAAM,uBAAuB;AAEzC,UAAM,OAAO,IAAI,YAAY;AAE7B,UAAM,mBAAmB,IAAI,OAAO;AAAA,MAClC,QAAQ,KAAK;AAAA,MACb,QAAQ;AAAA,QACN,GAAG;AAAA,QACH,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AAED,qBAAiB,KAAK;AAEtB,SAAK,OAAO,MAAM,wBAAwB;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,uBAAuB,uBAA8C;AACzE,SAAK,OAAO,MAAM,yBAAyB;AAE3C,UAAM,OAAO,MAAM,KAAK,OAAO;AAAA,MAC7B,IAAI,iBAAiB,qBAAqB;AAAA,IAC5C;AAEA,SAAK,OAAO,MAAM,0BAA0B;AAE5C,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,cAAc,2BAAsD;AACxE,WAAO,MAAM,KAAK,OAAO;AAAA,MACvB,IAAI,qBAAqB,yBAAyB;AAAA,IACpD;AAAA,EACF;AAAA,EAEA,MAAM,UACJ,uBACiB;AACjB,UAAM,SAAS,MAAM,KAAK,uBAAuB,qBAAqB;AAEtE,WAAO,OAAO,KAAK,MAAM,OAAO,qBAAqB,CAAC;AAAA,EACxD;AAAA,EAEA,MAAM,WAAW,wBAAgD;AAC/D,WAAO,MAAM,KAAK,OAAO;AAAA,MACvB,IAAI,kBAAkB,sBAAsB;AAAA,IAC9C;AAAA,EACF;AAAA,EAEA,MAAM,oBACJ,wBACkB;AAClB,QAAI;AACF,YAAM,KAAK,OAAO,KAAK,IAAI,kBAAkB,sBAAsB,CAAC;AACpE,aAAO;AAAA,IACT,SAAS,OAAO;AACd,UAAI,MAAM,SAAS,YAAY;AAC7B,eAAO;AAAA,MACT;AACA,YAAM;AAAA,IACR;AAAA,EACF;AACF;;;AElHA,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,EAGA;AAAA,EAGA;AAAA,OAGK;AAIA,IAAM,kBAAN,MAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS,mBAAmB,sBAAsB,MAAM;AAE7D,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,eAAe;AAAA,QAC/B,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,eAAe;AAAA,QACjB,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAEA,SAAK,iBAAiB,uBAAuB,KAAK,KAAK,MAAM;AAAA,EAC/D;AAAA,EAEA,MAAM,WACJ,iBAC2B;AAC3B,WAAO,MAAM,KAAK,eAAe,KAAK,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,cACJ,oBAC8B;AAC9B,WAAO,MAAM,KAAK,eAAe;AAAA,MAC/B,IAAI,cAAc,kBAAkB;AAAA,IACtC;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,mBAC6B;AAC7B,WAAO,MAAM,KAAK,eAAe,KAAK,IAAI,aAAa,iBAAiB,CAAC;AAAA,EAC3E;AAAA,EAEA,MAAM,WACJ,iBAC2B;AAC3B,WAAO,MAAM,KAAK,eAAe,KAAK,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,kBACJ,YACkB;AAClB,UAAM,SAAS,MAAM,KAAK,WAAW,UAAU;AAE/C,WAAO,CAAC,CAAC,OAAO;AAAA,EAClB;AACF;;;AC3FA;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,OAGK;AAIA,IAAM,aAAN,MAAiB;AAAA,EACtB;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS,mBAAmB,iBAAiB,MAAM;AAExD,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,UAAU;AAAA,QAC1B,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,UAAU;AAAA,QACZ,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,QACoC;AACpC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,oBAAoB,MAAM,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,aACJ,QACoC;AACpC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,oBAAoB,MAAM,CAAC;AAAA,EAC/D;AACF;;;AC3DA;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA;AAAA,OAMK;AAIA,IAAM,aAAN,MAAiB;AAAA,EACtB;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS,mBAAmB,iBAAiB,MAAM;AAExD,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,UAAU;AAAA,QAC1B,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,UAAU;AAAA,QACZ,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAAA,EACF;AAAA,EAEA,MAAM,YACJ,QACmC;AACnC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,mBAAmB,MAAM,CAAC;AAAA,EAC9D;AAAA,EAEA,MAAM,iBACJ,QACwC;AACxC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,wBAAwB,MAAM,CAAC;AAAA,EACnE;AAAA,EAEA,MAAM,eACJ,QACsC;AACtC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,sBAAsB,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,MAAM,cACJ,QACqC;AACrC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,qBAAqB,MAAM,CAAC;AAAA,EAChE;AACF;;;AC9EA;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAIA,IAAM,aAAN,MAAiB;AAAA,EACtB;AAAA,EACA;AAAA,EAEA,YAAY,EAAE,OAAO,IAAyB,CAAC,GAAG;AAChD,SAAK,SAAS,mBAAmB,iBAAiB,MAAM;AAExD,SAAK,SAAS,IAAI,UAAU;AAAA,MAC1B,QAAQ,QAAQ,IAAI;AAAA,MACpB,QAAQ,KAAK;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBAAoB;AACxB,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,yBAAyB,CAAC,CAAC,CAAC;AAAA,EAChE;AAAA,EAEA,MAAM,WAAW,wBAAgD;AAC/D,WAAO,MAAM,KAAK,OAAO;AAAA,MACvB,IAAI,kBAAkB,sBAAsB;AAAA,IAC9C;AAAA,EACF;AACF;;;AC/BA,SAAS,UAAAA,eAAc;AACvB,SAAS,eAAe;AACxB,SAAS,cAAc;AAEvB,OAAO,YAAY;AAEZ,IAAM,qBAAqB,MAAqB;AACrD;AAAA,IACE,QAAQ,IAAI;AAAA,IACZ;AAAA,EACF;AAEA;AAAA,IACE,QAAQ,IAAI;AAAA,IACZ;AAAA,EACF;AAEA,QAAM,UAAU,IAAI,QAAQ;AAC5B,QAAM,SAAS,IAAIA,QAAO;AAC1B,QAAM,SAAS,IAAI,OAAO;AAE1B,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,QAAM,SAA6B,OAAO,EAAE,SAAS,MAAM,MAAM;AAC/D,WAAO,WAAW;AAAA,MAChB,cAAc,QAAQ;AAAA,IACxB,CAAC;AAED,UAAM,cAAc,OAAO,YAAY;AACvC,gBAAY,WAAW,EAAE,UAAU,4BAA4B,CAAC;AAEhE,gBAAY,KAAK,YAAY,EAAE,MAAM,CAAC;AAEtC,cAAU,OAAO,WAAW;AAE5B,QAAI,CAAC,SAAS;AACZ,kBAAY,MAAM,uBAAuB;AACzC;AAAA,IACF;AAEA,YAAQ,uBAAuB;AAG/B,qBAAiB,QAAQ,iBAAiB,MAAM,QAAQ,IAAI,QAAQ,EAAE;AACtE,WAAO,WAAW,cAAc;AAChC,WAAO,kBAAkB;AACzB,WAAO,yBAAyB;AAGhC,WAAO,cAAc,gBAAgB,QAAQ,YAAY;AAGzD,iBAAa,eAAe,iBAAiB,kBAAkB;AAC/D,WAAO,WAAW,UAAU;AAE5B,YAAQ,gBAAgB;AAAA,MACtB,QAAQ,QAAQ,eAAe,UAAU;AAAA,QACvC,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,MAClB;AAAA,MACA,KAAK,QAAQ,eAAe,OAAO;AAAA,QACjC,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ,EAAE,QAAQ,QAAQ,QAAQ;AAAA,IACpC;AAAA,EACF;AAEA,QAAM,QAA4B,YAA2B;AAC3D,UAAM,cAAc,OAAO,YAAY;AACvC,gBAAY,WAAW,EAAE,UAAU,2BAA2B,CAAC;AAE/D,QAAI;AACF,kBAAY,MAAM,0BAA0B;AAC5C,iBAAW,MAAM;AACjB,qBAAe,MAAM;AAGrB,aAAO,WAAW,OAAO;AAEzB,cAAQ,qBAAqB;AAC7B,kBAAY,MAAM,2BAA2B;AAAA,IAC/C,SAAS,OAAO;AACd,kBAAY,MAAM,kBAAkB,EAAE,MAAM,CAAC;AAC7C,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;ACpGA,SAAS,gCAAgC;;;ACAzC,OAAOC,aAAY;AAEZ,IAAM,eAAe,CAAC,WAA2B;AACtD,EAAAA,QAAO,QAAQ,IAAI,MAAM,GAAG,GAAG,MAAM,aAAa;AAClD,SAAO,QAAQ,IAAI,MAAM;AAC3B;AAEO,IAAM,eAAe,CAAC,UAAsC;AACjE,EAAAA,QAAO,OAAO,UAAU,UAAU,uBAAuB;AACzD,EAAAA,QAAO,MAAM,SAAS,GAAG,gBAAgB;AACzC,SAAO;AACT;;;ADRA,SAAS,WAAAC,gBAAe;AACxB,SAAS,UAAAC,eAAc;AACvB,SAAS,UAAAC,eAAc;AAEhB,IAAM,sBAAsB,MAAM;AACvC,SAAO,IAAI,yBAAyB;AAAA,IAClC,WAAW,aAAa,2BAA2B;AAAA,EACrD,CAAC;AACH;;;AEXO,IAAM,wBAAwB,CAAC,UAA2B;AAC/D,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM;AAAA,EACf,WAAW,OAAO,UAAU,UAAU;AACpC,WAAO;AAAA,EACT,WAAW,OAAO,UAAU,YAAY,UAAU,MAAM;AACtD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B,OAAO;AACL,WAAO,OAAO,KAAK;AAAA,EACrB;AACF;",
6
- "names": ["Logger", "assert", "Metrics", "Logger", "Tracer"]
3
+ "sources": ["../src/services/s3.ts", "../src/services/dynamoDB.ts", "../src/services/ssm.ts", "../src/services/sqs.ts", "../src/services/sts.ts", "../src/lambda/plumbingMiddleware.ts", "../src/lambda/sharedUtils.ts", "../src/utils/assertUtils.ts", "../src/utils/logger.ts", "../src/utils/normalizeErrorMessage.ts"],
4
+ "sourcesContent": ["import {\n GetObjectCommand,\n GetObjectCommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n PutObjectCommandInput,\n S3Client\n} from \"@aws-sdk/client-s3\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { Upload } from \"@aws-sdk/lib-storage\";\nimport { PassThrough } from \"node:stream\";\nimport { SdkLogger } from \"./types.js\";\n\nexport class S3Service {\n logger: SdkLogger;\n client: S3Client;\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: SdkLogger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new S3Client({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new S3Client({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n createS3UploadStream(putObjectCommandInput: PutObjectCommandInput) {\n this.logger.debug(\"upload stream started\");\n\n const pass = new PassThrough();\n\n const parallelUploads3 = new Upload({\n client: this.client,\n params: {\n ...putObjectCommandInput,\n Body: pass\n }\n });\n\n parallelUploads3.done();\n\n this.logger.debug(\"upload stream finished\");\n return pass;\n }\n\n async createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput) {\n this.logger.debug(\"download stream started\");\n\n const item = await this.client.send(\n new GetObjectCommand(getObjectCommandInput)\n );\n\n this.logger.debug(\"download stream finished\");\n\n return item.Body;\n }\n\n async listObjectsV2(listObjectsV2CommandInput: ListObjectsV2CommandInput) {\n return await this.client.send(\n new ListObjectsV2Command(listObjectsV2CommandInput)\n );\n }\n\n async getObject(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<Buffer> {\n const stream = await this.createS3DownloadStream(getObjectCommandInput);\n\n return Buffer.from(await stream.transformToByteArray());\n }\n\n async headObject(headObjectCommandInput: HeadObjectCommandInput) {\n return await this.client.send(\n new HeadObjectCommand(headObjectCommandInput)\n );\n }\n\n async checkIfObjectExists(\n headObjectCommandInput: HeadObjectCommandInput\n ): Promise<boolean> {\n try {\n await this.client.send(new HeadObjectCommand(headObjectCommandInput));\n return true;\n } catch (error) {\n if (error.name === \"NotFound\") {\n return false;\n }\n throw error;\n }\n }\n}\n", "import { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n GetCommandOutput,\n PutCommand,\n PutCommandInput,\n PutCommandOutput,\n QueryCommand,\n QueryCommandInput,\n QueryCommandOutput,\n UpdateCommand,\n UpdateCommandInput,\n UpdateCommandOutput\n} from \"@aws-sdk/lib-dynamodb\";\nimport { SdkLogger } from \"./types.js\";\n\nexport class DynamoDBService {\n logger: SdkLogger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: SdkLogger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new DynamoDBClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new DynamoDBClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n\n this.documentClient = DynamoDBDocumentClient.from(this.client);\n }\n\n async getCommand(\n getCommandInput: GetCommandInput\n ): Promise<GetCommandOutput> {\n return await this.documentClient.send(new GetCommand(getCommandInput));\n }\n\n async updateCommand(\n updateCommandInput: UpdateCommandInput\n ): Promise<UpdateCommandOutput> {\n return await this.documentClient.send(\n new UpdateCommand(updateCommandInput)\n );\n }\n\n async queryCommand(\n queryCommandInput: QueryCommandInput\n ): Promise<QueryCommandOutput> {\n return await this.documentClient.send(new QueryCommand(queryCommandInput));\n }\n\n async putCommand(\n putCommandInput: PutCommandInput\n ): Promise<PutCommandOutput> {\n return await this.documentClient.send(new PutCommand(putCommandInput));\n }\n\n async checkIfItemExists(\n checkInput: Pick<GetCommandInput, \"TableName\" | \"Key\">\n ): Promise<boolean> {\n const result = await this.getCommand(checkInput);\n\n return !!result.Item;\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\n SSMClient,\n GetParameterCommand,\n GetParameterCommandInput,\n GetParameterCommandOutput,\n PutParameterCommand,\n PutParameterCommandInput,\n PutParameterCommandOutput\n} from \"@aws-sdk/client-ssm\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\nimport { SdkLogger } from \"./types.js\";\n\nexport class SSMService {\n logger: SdkLogger;\n client: SSMClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: SdkLogger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new SSMClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new SSMClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n async getParameter(\n params: GetParameterCommandInput\n ): Promise<GetParameterCommandOutput> {\n return await this.client.send(new GetParameterCommand(params));\n }\n\n async putParameter(\n params: PutParameterCommandInput\n ): Promise<PutParameterCommandOutput> {\n return await this.client.send(new PutParameterCommand(params));\n }\n}\n", "import {\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n DeleteMessageCommandOutput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n ReceiveMessageCommandOutput,\n SQSClient,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n SendMessageBatchCommandOutput,\n SendMessageCommand,\n SendMessageCommandInput,\n SendMessageCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { SdkLogger } from \"./types.js\";\n\nexport class SQSService {\n logger: SdkLogger;\n client: SQSClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: SdkLogger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new SQSClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new SQSClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n async sendMessage(\n params: SendMessageCommandInput\n ): Promise<SendMessageCommandOutput> {\n return await this.client.send(new SendMessageCommand(params));\n }\n\n async sendMessageBatch(\n params: SendMessageBatchCommandInput\n ): Promise<SendMessageBatchCommandOutput> {\n return await this.client.send(new SendMessageBatchCommand(params));\n }\n\n async receiveMessage(\n params: ReceiveMessageCommandInput\n ): Promise<ReceiveMessageCommandOutput> {\n return await this.client.send(new ReceiveMessageCommand(params));\n }\n\n async deleteMessage(\n params: DeleteMessageCommandInput\n ): Promise<DeleteMessageCommandOutput> {\n return await this.client.send(new DeleteMessageCommand(params));\n }\n}\n", "import {\n STSClient,\n GetCallerIdentityCommand,\n AssumeRoleCommandInput,\n AssumeRoleCommand\n} from \"@aws-sdk/client-sts\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\nimport { SdkLogger } from \"./types.js\";\n\nexport class STSService {\n logger: SdkLogger;\n client: STSClient;\n\n constructor({ logger }: { logger?: SdkLogger } = {}) {\n this.logger = logger;\n\n this.client = new STSClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n\n async getCallerIdentity() {\n return await this.client.send(new GetCallerIdentityCommand({}));\n }\n\n async assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput) {\n return await this.client.send(\n new AssumeRoleCommand(assumeRoleCommandInput)\n );\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\nimport middy, { MiddlewareObj } from \"@middy/core\";\nimport assert from \"node:assert\";\n\nexport const plumbingMiddleware = (): MiddlewareObj => {\n assert(\n process.env.POWERTOOLS_METRICS_NAMESPACE,\n \"POWERTOOLS_METRICS_NAMESPACE is not configured\"\n );\n\n assert(\n process.env.POWERTOOLS_SERVICE_NAME,\n \"POWERTOOLS_SERVICE_NAME is not configured\"\n );\n\n const metrics = new Metrics();\n const logger = new Logger();\n const tracer = new Tracer();\n\n let segment: any;\n let subsegment: any;\n let handlerSegment: any;\n\n const before: middy.MiddlewareFn = async ({ context, event }) => {\n logger.appendKeys({\n awsRequestId: context.awsRequestId,\n });\n\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.before\" });\n\n localLogger.info(\"incoming\", { event });\n\n segment = tracer.getSegment();\n\n if (!segment) {\n localLogger.error(\"Failed to get segment\");\n return;\n }\n\n metrics.captureColdStartMetric();\n\n // Create subsegment for the function & set it as active\n handlerSegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);\n tracer.setSegment(handlerSegment);\n tracer.annotateColdStart();\n tracer.addServiceNameAnnotation();\n\n // Add annotation for the awsRequestId\n tracer.putAnnotation(\"awsRequestId\", context.awsRequestId);\n\n // Create another subsegment & set it as active\n subsegment = handlerSegment.addNewSubsegment(\"### MySubSegment\");\n tracer.setSegment(subsegment);\n\n context.clientContext = {\n client: context.clientContext?.client || {\n appPackageName: \"\",\n appTitle: \"\",\n appVersionCode: \"\",\n appVersionName: \"\",\n installationId: \"\",\n },\n env: context.clientContext?.env || {\n platform: \"\",\n platformVersion: \"\",\n make: \"\",\n model: \"\",\n locale: \"\",\n },\n Custom: { tracer, logger, metrics },\n };\n };\n\n const after: middy.MiddlewareFn = async (): Promise<void> => {\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.after\" });\n\n try {\n localLogger.debug(\"started closing in after\");\n subsegment.close(); // (### MySubSegment)\n handlerSegment.close(); // (## index.handler)\n\n // Set the facade segment as active again (the one created by AWS Lambda)\n tracer.setSegment(segment);\n // Publish all stored metrics\n metrics.publishStoredMetrics();\n localLogger.debug(\"finished closing in after\");\n } catch (error) {\n localLogger.error(\"error in after\", { error });\n throw error;\n }\n };\n\n return {\n before,\n after,\n };\n};\n", "import { DynamoDBPersistenceLayer } from \"@aws-lambda-powertools/idempotency/dynamodb\";\nimport { Context } from \"aws-lambda\";\nimport { assertEnvVar } from \"../utils/assertUtils.js\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\n\nexport const getPersistenceStore = () => {\n return new DynamoDBPersistenceLayer({\n tableName: assertEnvVar(\"AC_IDEMPOTENCY_TABLE_NAME\")\n });\n};\n\nexport interface ACLambdaContext extends Context {\n clientContext?: {\n Custom?: {\n metrics: Metrics;\n logger: Logger;\n tracer: Tracer;\n };\n client: {\n appPackageName: string;\n appTitle: string;\n appVersionCode: string;\n appVersionName: string;\n installationId: string;\n };\n env: {\n platform: string;\n platformVersion: string;\n make: string;\n model: string;\n locale: string;\n };\n };\n}\n\nexport { Logger, Metrics, Tracer };\n", "import assert from \"node:assert/strict\";\n\nexport const assertEnvVar = (envVar: string): string => {\n assert(process.env[envVar], `${envVar} is not set`);\n return process.env[envVar];\n};\n\nexport const assertString = (value: string | undefined): string => {\n assert(typeof value === \"string\", \"Value is not a string\");\n assert(value.length > 0, \"Value is empty\");\n return value;\n};\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\n\nexport const rootLogger = new Logger({\n serviceName:\n process.env.POWERTOOLS_SERVICE_NAME ??\n process.env.AWS_LAMBDA_FUNCTION_NAME ??\n \"ac-shared\"\n});\n\nexport const getLoggerWithScope = (\n scope: string,\n logger: Logger = rootLogger\n) => {\n const childLogger = logger.createChild();\n childLogger.appendKeys({ scope });\n return childLogger;\n};\n", "export const normalizeErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (typeof error === \"object\" && error !== null) {\n return JSON.stringify(error);\n } else {\n return String(error);\n }\n};\n"],
5
+ "mappings": ";AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,EAGA;AAAA,OACK;AAEP,SAAS,cAAc;AACvB,SAAS,mBAAmB;AAGrB,IAAM,YAAN,MAAgB;AAAA,EACrB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS;AAEd,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,SAAS;AAAA,QACzB,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,SAAS;AAAA,QACX,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAAA,EACF;AAAA,EAEA,qBAAqB,uBAA8C;AACjE,SAAK,OAAO,MAAM,uBAAuB;AAEzC,UAAM,OAAO,IAAI,YAAY;AAE7B,UAAM,mBAAmB,IAAI,OAAO;AAAA,MAClC,QAAQ,KAAK;AAAA,MACb,QAAQ;AAAA,QACN,GAAG;AAAA,QACH,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AAED,qBAAiB,KAAK;AAEtB,SAAK,OAAO,MAAM,wBAAwB;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,uBAAuB,uBAA8C;AACzE,SAAK,OAAO,MAAM,yBAAyB;AAE3C,UAAM,OAAO,MAAM,KAAK,OAAO;AAAA,MAC7B,IAAI,iBAAiB,qBAAqB;AAAA,IAC5C;AAEA,SAAK,OAAO,MAAM,0BAA0B;AAE5C,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,cAAc,2BAAsD;AACxE,WAAO,MAAM,KAAK,OAAO;AAAA,MACvB,IAAI,qBAAqB,yBAAyB;AAAA,IACpD;AAAA,EACF;AAAA,EAEA,MAAM,UACJ,uBACiB;AACjB,UAAM,SAAS,MAAM,KAAK,uBAAuB,qBAAqB;AAEtE,WAAO,OAAO,KAAK,MAAM,OAAO,qBAAqB,CAAC;AAAA,EACxD;AAAA,EAEA,MAAM,WAAW,wBAAgD;AAC/D,WAAO,MAAM,KAAK,OAAO;AAAA,MACvB,IAAI,kBAAkB,sBAAsB;AAAA,IAC9C;AAAA,EACF;AAAA,EAEA,MAAM,oBACJ,wBACkB;AAClB,QAAI;AACF,YAAM,KAAK,OAAO,KAAK,IAAI,kBAAkB,sBAAsB,CAAC;AACpE,aAAO;AAAA,IACT,SAAS,OAAO;AACd,UAAI,MAAM,SAAS,YAAY;AAC7B,eAAO;AAAA,MACT;AACA,YAAM;AAAA,IACR;AAAA,EACF;AACF;;;AClHA,SAAS,sBAAsB;AAE/B;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,EAGA;AAAA,EAGA;AAAA,OAGK;AAGA,IAAM,kBAAN,MAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS;AAEd,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,eAAe;AAAA,QAC/B,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,eAAe;AAAA,QACjB,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAEA,SAAK,iBAAiB,uBAAuB,KAAK,KAAK,MAAM;AAAA,EAC/D;AAAA,EAEA,MAAM,WACJ,iBAC2B;AAC3B,WAAO,MAAM,KAAK,eAAe,KAAK,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,cACJ,oBAC8B;AAC9B,WAAO,MAAM,KAAK,eAAe;AAAA,MAC/B,IAAI,cAAc,kBAAkB;AAAA,IACtC;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,mBAC6B;AAC7B,WAAO,MAAM,KAAK,eAAe,KAAK,IAAI,aAAa,iBAAiB,CAAC;AAAA,EAC3E;AAAA,EAEA,MAAM,WACJ,iBAC2B;AAC3B,WAAO,MAAM,KAAK,eAAe,KAAK,IAAI,WAAW,eAAe,CAAC;AAAA,EACvE;AAAA,EAEA,MAAM,kBACJ,YACkB;AAClB,UAAM,SAAS,MAAM,KAAK,WAAW,UAAU;AAE/C,WAAO,CAAC,CAAC,OAAO;AAAA,EAClB;AACF;;;AC1FA;AAAA,EACE;AAAA,EACA;AAAA,EAGA;AAAA,OAGK;AAKA,IAAM,aAAN,MAAiB;AAAA,EACtB;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS;AAEd,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,UAAU;AAAA,QAC1B,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,UAAU;AAAA,QACZ,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAAA,EACF;AAAA,EAEA,MAAM,aACJ,QACoC;AACpC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,oBAAoB,MAAM,CAAC;AAAA,EAC/D;AAAA,EAEA,MAAM,aACJ,QACoC;AACpC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,oBAAoB,MAAM,CAAC;AAAA,EAC/D;AACF;;;AC7DA;AAAA,EACE;AAAA,EAGA;AAAA,EAGA;AAAA,EACA;AAAA,EAGA;AAAA,OAGK;AAIA,IAAM,aAAN,MAAiB;AAAA,EACtB;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAII,CAAC,GAAG;AACN,SAAK,SAAS;AAEd,QAAI,yBAAyB;AAC3B,WAAK,SAAS,IAAI,UAAU;AAAA,QAC1B,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,QACb,aAAa;AAAA,UACX,aAAa,yBAAyB,aAAa;AAAA,UACnD,iBACE,yBAAyB,aAAa;AAAA,UACxC,cAAc,yBAAyB,aAAa;AAAA,QACtD;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,SACH,UACA,IAAI,UAAU;AAAA,QACZ,QAAQ,QAAQ,IAAI;AAAA,QACpB,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACL;AAAA,EACF;AAAA,EAEA,MAAM,YACJ,QACmC;AACnC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,mBAAmB,MAAM,CAAC;AAAA,EAC9D;AAAA,EAEA,MAAM,iBACJ,QACwC;AACxC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,wBAAwB,MAAM,CAAC;AAAA,EACnE;AAAA,EAEA,MAAM,eACJ,QACsC;AACtC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,sBAAsB,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,MAAM,cACJ,QACqC;AACrC,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,qBAAqB,MAAM,CAAC;AAAA,EAChE;AACF;;;AC7EA;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAKA,IAAM,aAAN,MAAiB;AAAA,EACtB;AAAA,EACA;AAAA,EAEA,YAAY,EAAE,OAAO,IAA4B,CAAC,GAAG;AACnD,SAAK,SAAS;AAEd,SAAK,SAAS,IAAI,UAAU;AAAA,MAC1B,QAAQ,QAAQ,IAAI;AAAA,MACpB,QAAQ,KAAK;AAAA,IACf,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,oBAAoB;AACxB,WAAO,MAAM,KAAK,OAAO,KAAK,IAAI,yBAAyB,CAAC,CAAC,CAAC;AAAA,EAChE;AAAA,EAEA,MAAM,WAAW,wBAAgD;AAC/D,WAAO,MAAM,KAAK,OAAO;AAAA,MACvB,IAAI,kBAAkB,sBAAsB;AAAA,IAC9C;AAAA,EACF;AACF;;;AChCA,SAAS,cAAc;AACvB,SAAS,eAAe;AACxB,SAAS,cAAc;AAEvB,OAAO,YAAY;AAEZ,IAAM,qBAAqB,MAAqB;AACrD;AAAA,IACE,QAAQ,IAAI;AAAA,IACZ;AAAA,EACF;AAEA;AAAA,IACE,QAAQ,IAAI;AAAA,IACZ;AAAA,EACF;AAEA,QAAM,UAAU,IAAI,QAAQ;AAC5B,QAAM,SAAS,IAAI,OAAO;AAC1B,QAAM,SAAS,IAAI,OAAO;AAE1B,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,QAAM,SAA6B,OAAO,EAAE,SAAS,MAAM,MAAM;AAC/D,WAAO,WAAW;AAAA,MAChB,cAAc,QAAQ;AAAA,IACxB,CAAC;AAED,UAAM,cAAc,OAAO,YAAY;AACvC,gBAAY,WAAW,EAAE,UAAU,4BAA4B,CAAC;AAEhE,gBAAY,KAAK,YAAY,EAAE,MAAM,CAAC;AAEtC,cAAU,OAAO,WAAW;AAE5B,QAAI,CAAC,SAAS;AACZ,kBAAY,MAAM,uBAAuB;AACzC;AAAA,IACF;AAEA,YAAQ,uBAAuB;AAG/B,qBAAiB,QAAQ,iBAAiB,MAAM,QAAQ,IAAI,QAAQ,EAAE;AACtE,WAAO,WAAW,cAAc;AAChC,WAAO,kBAAkB;AACzB,WAAO,yBAAyB;AAGhC,WAAO,cAAc,gBAAgB,QAAQ,YAAY;AAGzD,iBAAa,eAAe,iBAAiB,kBAAkB;AAC/D,WAAO,WAAW,UAAU;AAE5B,YAAQ,gBAAgB;AAAA,MACtB,QAAQ,QAAQ,eAAe,UAAU;AAAA,QACvC,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,QAChB,gBAAgB;AAAA,MAClB;AAAA,MACA,KAAK,QAAQ,eAAe,OAAO;AAAA,QACjC,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,MACV;AAAA,MACA,QAAQ,EAAE,QAAQ,QAAQ,QAAQ;AAAA,IACpC;AAAA,EACF;AAEA,QAAM,QAA4B,YAA2B;AAC3D,UAAM,cAAc,OAAO,YAAY;AACvC,gBAAY,WAAW,EAAE,UAAU,2BAA2B,CAAC;AAE/D,QAAI;AACF,kBAAY,MAAM,0BAA0B;AAC5C,iBAAW,MAAM;AACjB,qBAAe,MAAM;AAGrB,aAAO,WAAW,OAAO;AAEzB,cAAQ,qBAAqB;AAC7B,kBAAY,MAAM,2BAA2B;AAAA,IAC/C,SAAS,OAAO;AACd,kBAAY,MAAM,kBAAkB,EAAE,MAAM,CAAC;AAC7C,YAAM;AAAA,IACR;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;ACpGA,SAAS,gCAAgC;;;ACAzC,OAAOA,aAAY;AAEZ,IAAM,eAAe,CAAC,WAA2B;AACtD,EAAAA,QAAO,QAAQ,IAAI,MAAM,GAAG,GAAG,MAAM,aAAa;AAClD,SAAO,QAAQ,IAAI,MAAM;AAC3B;AAEO,IAAM,eAAe,CAAC,UAAsC;AACjE,EAAAA,QAAO,OAAO,UAAU,UAAU,uBAAuB;AACzD,EAAAA,QAAO,MAAM,SAAS,GAAG,gBAAgB;AACzC,SAAO;AACT;;;ADRA,SAAS,WAAAC,gBAAe;AACxB,SAAS,UAAAC,eAAc;AACvB,SAAS,UAAAC,eAAc;AAEhB,IAAM,sBAAsB,MAAM;AACvC,SAAO,IAAI,yBAAyB;AAAA,IAClC,WAAW,aAAa,2BAA2B;AAAA,EACrD,CAAC;AACH;;;AEXA,SAAS,UAAAC,eAAc;AAEhB,IAAM,aAAa,IAAIA,QAAO;AAAA,EACnC,aACE,QAAQ,IAAI,2BACZ,QAAQ,IAAI,4BACZ;AACJ,CAAC;AAEM,IAAM,qBAAqB,CAChC,OACA,SAAiB,eACd;AACH,QAAM,cAAc,OAAO,YAAY;AACvC,cAAY,WAAW,EAAE,MAAM,CAAC;AAChC,SAAO;AACT;;;AChBO,IAAM,wBAAwB,CAAC,UAA2B;AAC/D,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM;AAAA,EACf,WAAW,OAAO,UAAU,UAAU;AACpC,WAAO;AAAA,EACT,WAAW,OAAO,UAAU,YAAY,UAAU,MAAM;AACtD,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B,OAAO;AACL,WAAO,OAAO,KAAK;AAAA,EACrB;AACF;",
6
+ "names": ["assert", "Metrics", "Logger", "Tracer", "Logger"]
7
7
  }
@@ -1,13 +1,13 @@
1
- import { Logger } from "@aws-lambda-powertools/logger";
2
1
  import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
3
- import { DynamoDBDocumentClient, GetCommandInput, GetCommandOutput, PutCommandInput, PutCommandOutput, QueryCommandInput, QueryCommandOutput, UpdateCommandInput, UpdateCommandOutput } from "@aws-sdk/lib-dynamodb";
4
2
  import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
3
+ import { DynamoDBDocumentClient, GetCommandInput, GetCommandOutput, PutCommandInput, PutCommandOutput, QueryCommandInput, QueryCommandOutput, UpdateCommandInput, UpdateCommandOutput } from "@aws-sdk/lib-dynamodb";
4
+ import { SdkLogger } from "./types.js";
5
5
  export declare class DynamoDBService {
6
- logger: Logger;
6
+ logger: SdkLogger;
7
7
  client: DynamoDBClient;
8
8
  documentClient: DynamoDBDocumentClient;
9
9
  constructor({ logger, client, assumeRoleCommandOutput }?: {
10
- logger?: Logger;
10
+ logger?: SdkLogger;
11
11
  client?: DynamoDBClient;
12
12
  assumeRoleCommandOutput?: AssumeRoleCommandOutput;
13
13
  });
@@ -3,3 +3,4 @@ export * from "./dynamoDB.js";
3
3
  export * from "./ssm.js";
4
4
  export * from "./sqs.js";
5
5
  export * from "./sts.js";
6
+ export * from "./types.js";
@@ -1,14 +1,14 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { Logger } from "@aws-lambda-powertools/logger";
4
3
  import { GetObjectCommandInput, HeadObjectCommandInput, ListObjectsV2CommandInput, PutObjectCommandInput, S3Client } from "@aws-sdk/client-s3";
5
4
  import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
6
5
  import { PassThrough } from "node:stream";
6
+ import { SdkLogger } from "./types.js";
7
7
  export declare class S3Service {
8
- logger: Logger;
8
+ logger: SdkLogger;
9
9
  client: S3Client;
10
10
  constructor({ logger, client, assumeRoleCommandOutput }?: {
11
- logger?: Logger;
11
+ logger?: SdkLogger;
12
12
  client?: S3Client;
13
13
  assumeRoleCommandOutput?: AssumeRoleCommandOutput;
14
14
  });
@@ -1,11 +1,11 @@
1
- import { Logger } from "@aws-lambda-powertools/logger";
2
- import { SQSClient, SendMessageCommandInput, ReceiveMessageCommandInput, DeleteMessageCommandInput, SendMessageBatchCommandInput, ReceiveMessageCommandOutput, SendMessageCommandOutput, DeleteMessageCommandOutput, SendMessageBatchCommandOutput } from "@aws-sdk/client-sqs";
1
+ import { DeleteMessageCommandInput, DeleteMessageCommandOutput, ReceiveMessageCommandInput, ReceiveMessageCommandOutput, SQSClient, SendMessageBatchCommandInput, SendMessageBatchCommandOutput, SendMessageCommandInput, SendMessageCommandOutput } from "@aws-sdk/client-sqs";
3
2
  import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
3
+ import { SdkLogger } from "./types.js";
4
4
  export declare class SQSService {
5
- logger: Logger;
5
+ logger: SdkLogger;
6
6
  client: SQSClient;
7
7
  constructor({ logger, client, assumeRoleCommandOutput }?: {
8
- logger?: Logger;
8
+ logger?: SdkLogger;
9
9
  client?: SQSClient;
10
10
  assumeRoleCommandOutput?: AssumeRoleCommandOutput;
11
11
  });
@@ -1,11 +1,11 @@
1
- import { Logger } from "@aws-lambda-powertools/logger";
2
1
  import { SSMClient, GetParameterCommandInput, GetParameterCommandOutput, PutParameterCommandInput, PutParameterCommandOutput } from "@aws-sdk/client-ssm";
3
2
  import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
3
+ import { SdkLogger } from "./types.js";
4
4
  export declare class SSMService {
5
- logger: Logger;
5
+ logger: SdkLogger;
6
6
  client: SSMClient;
7
7
  constructor({ logger, client, assumeRoleCommandOutput }?: {
8
- logger?: Logger;
8
+ logger?: SdkLogger;
9
9
  client?: SSMClient;
10
10
  assumeRoleCommandOutput?: AssumeRoleCommandOutput;
11
11
  });
@@ -1,10 +1,10 @@
1
1
  import { STSClient, AssumeRoleCommandInput } from "@aws-sdk/client-sts";
2
- import { Logger } from "@aws-lambda-powertools/logger";
2
+ import { SdkLogger } from "./types.js";
3
3
  export declare class STSService {
4
- logger: Logger;
4
+ logger: SdkLogger;
5
5
  client: STSClient;
6
6
  constructor({ logger }?: {
7
- logger?: Logger;
7
+ logger?: SdkLogger;
8
8
  });
9
9
  getCallerIdentity(): Promise<import("@aws-sdk/client-sts").GetCallerIdentityCommandOutput>;
10
10
  assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput): Promise<import("@aws-sdk/client-sts").AssumeRoleCommandOutput>;
@@ -0,0 +1,6 @@
1
+ export interface SdkLogger {
2
+ info(...args: any[]): void;
3
+ debug(...args: any[]): void;
4
+ warn(...args: any[]): void;
5
+ error(...args: any[]): void;
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aspan-corporation/ac-shared",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "lib/index.js",