diff --git a/dev-packages/node-integration-tests/package.json b/dev-packages/node-integration-tests/package.json
index 64d418c674fb..4bc20e276601 100644
--- a/dev-packages/node-integration-tests/package.json
+++ b/dev-packages/node-integration-tests/package.json
@@ -25,7 +25,14 @@
"dependencies": {
"@anthropic-ai/sdk": "0.63.0",
"@apollo/server": "^5.5.0",
- "@aws-sdk/client-s3": "^3.1041.0",
+ "@aws-sdk/client-dynamodb": "3.1041.0",
+ "@aws-sdk/client-kinesis": "3.1041.0",
+ "@aws-sdk/client-lambda": "3.1041.0",
+ "@aws-sdk/client-s3": "3.1041.0",
+ "@aws-sdk/client-secrets-manager": "3.1041.0",
+ "@aws-sdk/client-sfn": "3.1041.0",
+ "@aws-sdk/client-sns": "3.1041.0",
+ "@aws-sdk/client-sqs": "3.1041.0",
"@google/genai": "^1.20.0",
"@growthbook/growthbook": "^1.6.1",
"@hapi/hapi": "^21.3.10",
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/dynamodb/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/dynamodb/scenario.js
new file mode 100644
index 000000000000..c1b1e6d3b4c8
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/dynamodb/scenario.js
@@ -0,0 +1,52 @@
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { DynamoDBClient, PutItemCommand, QueryCommand } = require('@aws-sdk/client-dynamodb');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new DynamoDBClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+
+ nock(`https://dynamodb.${region}.amazonaws.com`)
+ .post('/')
+ .reply(200, JSON.stringify({}), { 'content-type': 'application/x-amz-json-1.0' });
+
+ await client.send(
+ new PutItemCommand({
+ TableName: 'my-table',
+ Item: { id: { S: 'some-id' } },
+ }),
+ );
+
+ nock(`https://dynamodb.${region}.amazonaws.com`)
+ .post('/')
+ .reply(200, JSON.stringify({ Items: [{ id: { S: 'some-id' } }], Count: 1, ScannedCount: 1 }), {
+ 'content-type': 'application/x-amz-json-1.0',
+ });
+
+ await client.send(
+ new QueryCommand({
+ TableName: 'my-table',
+ KeyConditionExpression: 'id = :id',
+ ExpressionAttributeValues: { ':id': { S: 'some-id' } },
+ }),
+ );
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/dynamodb/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/dynamodb/test.ts
new file mode 100644
index 000000000000..c3c55cb6e854
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/dynamodb/test.ts
@@ -0,0 +1,51 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - DynamoDB', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments DynamoDB operations', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'DynamoDB.PutItem',
+ op: 'db',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'sentry.op': 'db',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'PutItem',
+ 'rpc.service': 'DynamoDB',
+ 'db.system': 'dynamodb',
+ 'db.name': 'my-table',
+ 'db.operation': 'PutItem',
+ 'aws.dynamodb.table_names': ['my-table'],
+ 'otel.kind': 'CLIENT',
+ }),
+ }),
+ expect.objectContaining({
+ description: 'DynamoDB.Query',
+ op: 'db',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'rpc.method': 'Query',
+ 'db.operation': 'Query',
+ 'db.name': 'my-table',
+ 'aws.dynamodb.count': 1,
+ 'aws.dynamodb.scanned_count': 1,
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/kinesis/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/kinesis/scenario.js
new file mode 100644
index 000000000000..ec759aa94dfd
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/kinesis/scenario.js
@@ -0,0 +1,41 @@
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { KinesisClient, PutRecordCommand } = require('@aws-sdk/client-kinesis');
+// The Kinesis client defaults to an HTTP/2 request handler, which `nock` cannot intercept.
+// Force the HTTP/1 handler so the request is mocked instead of hitting real AWS.
+const { NodeHttpHandler } = require('@smithy/node-http-handler');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new KinesisClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ requestHandler: new NodeHttpHandler(),
+ });
+
+ nock(`https://kinesis.${region}.amazonaws.com`)
+ .post('/')
+ .reply(200, JSON.stringify({ SequenceNumber: '1', ShardId: 'shardId-000000000000' }), {
+ 'content-type': 'application/x-amz-json-1.1',
+ });
+
+ await client.send(
+ new PutRecordCommand({ StreamName: 'my-stream', Data: Buffer.from('data'), PartitionKey: 'partition-key' }),
+ );
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/kinesis/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/kinesis/test.ts
new file mode 100644
index 000000000000..d89aabdd07f9
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/kinesis/test.ts
@@ -0,0 +1,36 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - Kinesis', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments Kinesis operations, setting the stream name', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'Kinesis.PutRecord',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ status: 'ok',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'PutRecord',
+ 'rpc.service': 'Kinesis',
+ 'aws.kinesis.stream.name': 'my-stream',
+ 'otel.kind': 'CLIENT',
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/lambda/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/lambda/scenario.js
new file mode 100644
index 000000000000..c7a9bdff8280
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/lambda/scenario.js
@@ -0,0 +1,36 @@
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { LambdaClient, InvokeCommand } = require('@aws-sdk/client-lambda');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new LambdaClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+
+ nock(`https://lambda.${region}.amazonaws.com`)
+ .post('/2015-03-31/functions/my-function/invocations')
+ .reply(200, JSON.stringify({ result: 'ok' }), {
+ 'content-type': 'application/json',
+ 'x-amzn-requestid': 'request-id-1',
+ });
+
+ await client.send(new InvokeCommand({ FunctionName: 'my-function' }));
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/lambda/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/lambda/test.ts
new file mode 100644
index 000000000000..a0784c24dc5f
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/lambda/test.ts
@@ -0,0 +1,37 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - Lambda', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments Lambda invoke, setting faas attributes', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'my-function Invoke',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'Invoke',
+ 'rpc.service': 'Lambda',
+ 'faas.invoked_name': 'my-function',
+ 'faas.invoked_provider': 'aws',
+ 'faas.execution': 'request-id-1',
+ 'otel.kind': 'CLIENT',
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/scenario.js
index 0dc77ebbeb24..9377a1be2be0 100644
--- a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/scenario.js
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/scenario.js
@@ -4,32 +4,47 @@ const Sentry = require('@sentry/aws-serverless');
Sentry.init({
dsn: 'https://public@dsn.ingest.sentry.io/1337',
tracesSampleRate: 1.0,
- debug: true,
transport: loggingTransport,
});
const { S3 } = require('@aws-sdk/client-s3');
const nock = require('nock');
-async function run() {
- const bucketName = 'aws-test-bucket';
- const keyName = 'aws-test-object.txt';
-
- nock(`https://${bucketName}.s3.amazonaws.com`).get(`/${keyName}`).reply(200, 'contents');
- nock(`https://${bucketName}.s3.amazonaws.com`).put(`/${keyName}`).reply(200, 'contents');
+nock.disableNetConnect();
+async function run() {
await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
const region = 'us-east-1';
- const s3Client = new S3({ region });
- nock(`https://ot-demo-test.s3.${region}.amazonaws.com/`)
- .put('/aws-ot-s3-test-object.txt?x-id=PutObject')
- .reply(200, 'test');
-
- const params = {
- Bucket: 'ot-demo-test',
- Key: 'aws-ot-s3-test-object.txt',
- };
- await s3Client.putObject(params);
+ const s3Client = new S3({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+ const host = `https://ot-demo-test.s3.${region}.amazonaws.com`;
+
+ // Successful PutObject
+ nock(host).put('/aws-ot-s3-test-object.txt?x-id=PutObject').reply(200, 'test');
+ await s3Client.putObject({ Bucket: 'ot-demo-test', Key: 'aws-ot-s3-test-object.txt' });
+
+ // Successful GetObject
+ nock(host).get('/aws-ot-s3-test-object.txt?x-id=GetObject').reply(200, 'contents');
+ const getResult = await s3Client.getObject({ Bucket: 'ot-demo-test', Key: 'aws-ot-s3-test-object.txt' });
+ // Drain the body so the request fully completes
+ await getResult.Body?.transformToString();
+
+ // Failing GetObject (missing key) - should produce a span with error status
+ nock(host)
+ .get('/missing-object.txt?x-id=GetObject')
+ .reply(
+ 404,
+ 'NoSuchKeyThe specified key does not exist.',
+ { 'content-type': 'application/xml' },
+ );
+ try {
+ await s3Client.getObject({ Bucket: 'ot-demo-test', Key: 'missing-object.txt' });
+ } catch {
+ // expected
+ }
});
}
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/test.ts
index a6fdc2ce88af..7bfbbe6e4163 100644
--- a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/test.ts
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/s3/test.ts
@@ -1,36 +1,62 @@
import { afterAll, describe, expect, test } from 'vitest';
import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
-const EXPECTED_TRANSCATION = {
- transaction: 'Test Transaction',
- spans: expect.arrayContaining([
- expect.objectContaining({
- description: 'S3.PutObject',
- op: 'rpc',
- origin: 'auto.otel.aws',
- data: expect.objectContaining({
- 'sentry.origin': 'auto.otel.aws',
- 'sentry.op': 'rpc',
- 'rpc.system': 'aws-api',
- 'rpc.method': 'PutObject',
- 'rpc.service': 'S3',
- 'cloud.region': 'us-east-1',
- 'aws.s3.bucket': 'ot-demo-test',
- 'otel.kind': 'CLIENT',
- }),
- }),
- ]),
-};
-
-describe('awsIntegration', () => {
+describe('awsIntegration - S3', () => {
afterAll(() => {
cleanupChildProcesses();
});
- test('should auto-instrument aws-sdk v2 package.', async () => {
+ test('auto-instruments S3 operations and captures errors', async () => {
await createRunner(__dirname, 'scenario.js')
.ignore('event')
- .expect({ transaction: EXPECTED_TRANSCATION })
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ // Successful PutObject
+ expect.objectContaining({
+ description: 'S3.PutObject',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ status: 'ok',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'sentry.op': 'rpc',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'PutObject',
+ 'rpc.service': 'S3',
+ 'cloud.region': 'us-east-1',
+ 'aws.s3.bucket': 'ot-demo-test',
+ 'otel.kind': 'CLIENT',
+ }),
+ }),
+ // Successful GetObject
+ expect.objectContaining({
+ description: 'S3.GetObject',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ status: 'ok',
+ data: expect.objectContaining({
+ 'rpc.method': 'GetObject',
+ 'rpc.service': 'S3',
+ 'aws.s3.bucket': 'ot-demo-test',
+ }),
+ }),
+ // Failing GetObject (missing key) - span is marked as errored
+ expect.objectContaining({
+ description: 'S3.GetObject',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ status: 'internal_error',
+ data: expect.objectContaining({
+ 'rpc.method': 'GetObject',
+ 'rpc.service': 'S3',
+ 'aws.s3.bucket': 'ot-demo-test',
+ }),
+ }),
+ ]),
+ },
+ })
.start()
.completed();
});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/secretsmanager/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/secretsmanager/scenario.js
new file mode 100644
index 000000000000..2ec2eb411f14
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/secretsmanager/scenario.js
@@ -0,0 +1,36 @@
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { SecretsManagerClient, GetSecretValueCommand } = require('@aws-sdk/client-secrets-manager');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+const secretArn = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-abc';
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new SecretsManagerClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+
+ nock(`https://secretsmanager.${region}.amazonaws.com`)
+ .post('/')
+ .reply(200, JSON.stringify({ ARN: secretArn, Name: 'my-secret', SecretString: 'secret-value' }), {
+ 'content-type': 'application/x-amz-json-1.1',
+ });
+
+ await client.send(new GetSecretValueCommand({ SecretId: secretArn }));
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/secretsmanager/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/secretsmanager/test.ts
new file mode 100644
index 000000000000..c895008c144b
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/secretsmanager/test.ts
@@ -0,0 +1,35 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - SecretsManager', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments SecretsManager operations, setting the secret ARN', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'SecretsManager.GetSecretValue',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'GetSecretValue',
+ 'rpc.service': 'SecretsManager',
+ 'aws.secretsmanager.secret.arn': 'arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-abc',
+ 'otel.kind': 'CLIENT',
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sns/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sns/scenario.js
new file mode 100644
index 000000000000..01e4981ad378
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sns/scenario.js
@@ -0,0 +1,38 @@
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+const topicArn = 'arn:aws:sns:us-east-1:123456789012:my-topic';
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new SNSClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+
+ nock(`https://sns.${region}.amazonaws.com`)
+ .post('/')
+ .reply(
+ 200,
+ 'message-id-1request-id-1',
+ { 'content-type': 'text/xml' },
+ );
+
+ await client.send(new PublishCommand({ TopicArn: topicArn, Message: 'Hello from Sentry' }));
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sns/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sns/test.ts
new file mode 100644
index 000000000000..0c6a9c4bfb67
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sns/test.ts
@@ -0,0 +1,38 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - SNS', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments SNS publish, setting messaging attributes', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'my-topic send',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'Publish',
+ 'rpc.service': 'SNS',
+ 'messaging.system': 'aws.sns',
+ 'messaging.destination': 'my-topic',
+ 'messaging.destination.name': 'arn:aws:sns:us-east-1:123456789012:my-topic',
+ 'aws.sns.topic.arn': 'arn:aws:sns:us-east-1:123456789012:my-topic',
+ 'otel.kind': 'PRODUCER',
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sqs/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sqs/scenario.js
new file mode 100644
index 000000000000..ca4fd689bea4
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sqs/scenario.js
@@ -0,0 +1,51 @@
+const crypto = require('crypto');
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { SQSClient, SendMessageCommand, ReceiveMessageCommand } = require('@aws-sdk/client-sqs');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+const queueUrl = `https://sqs.${region}.amazonaws.com/123456789012/my-queue`;
+const messageBody = 'Hello from Sentry';
+const md5 = crypto.createHash('md5').update(messageBody).digest('hex');
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new SQSClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+
+ nock(`https://sqs.${region}.amazonaws.com`)
+ .post('/')
+ .reply(200, JSON.stringify({ MessageId: 'message-id-1', MD5OfMessageBody: md5 }), {
+ 'content-type': 'application/x-amz-json-1.0',
+ });
+
+ await client.send(new SendMessageCommand({ QueueUrl: queueUrl, MessageBody: messageBody }));
+
+ nock(`https://sqs.${region}.amazonaws.com`)
+ .post('/')
+ .reply(
+ 200,
+ JSON.stringify({
+ Messages: [{ MessageId: 'message-id-2', Body: messageBody, MD5OfBody: md5, ReceiptHandle: 'handle' }],
+ }),
+ { 'content-type': 'application/x-amz-json-1.0' },
+ );
+
+ await client.send(new ReceiveMessageCommand({ QueueUrl: queueUrl }));
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sqs/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sqs/test.ts
new file mode 100644
index 000000000000..f62e46f68021
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/sqs/test.ts
@@ -0,0 +1,52 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - SQS', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments SQS send and receive, setting messaging attributes', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'my-queue send',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'SendMessage',
+ 'rpc.service': 'SQS',
+ 'messaging.system': 'aws_sqs',
+ 'messaging.destination.name': 'my-queue',
+ 'url.full': 'https://sqs.us-east-1.amazonaws.com/123456789012/my-queue',
+ 'messaging.message.id': 'message-id-1',
+ 'otel.kind': 'PRODUCER',
+ }),
+ }),
+ expect.objectContaining({
+ description: 'my-queue receive',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'rpc.method': 'ReceiveMessage',
+ 'rpc.service': 'SQS',
+ 'messaging.system': 'aws_sqs',
+ 'messaging.destination.name': 'my-queue',
+ 'messaging.operation.type': 'receive',
+ 'messaging.batch.message_count': 1,
+ 'otel.kind': 'CONSUMER',
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/stepfunctions/scenario.js b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/stepfunctions/scenario.js
new file mode 100644
index 000000000000..28057990c8c5
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/stepfunctions/scenario.js
@@ -0,0 +1,36 @@
+const { loggingTransport } = require('@sentry-internal/node-integration-tests');
+const Sentry = require('@sentry/aws-serverless');
+
+Sentry.init({
+ dsn: 'https://public@dsn.ingest.sentry.io/1337',
+ tracesSampleRate: 1.0,
+ transport: loggingTransport,
+});
+
+const { SFNClient, StartExecutionCommand } = require('@aws-sdk/client-sfn');
+const nock = require('nock');
+
+nock.disableNetConnect();
+
+const region = 'us-east-1';
+const stateMachineArn = 'arn:aws:states:us-east-1:123456789012:stateMachine:my-state-machine';
+
+async function run() {
+ await Sentry.startSpan({ name: 'Test Transaction' }, async () => {
+ const client = new SFNClient({
+ region,
+ credentials: { accessKeyId: 'aws-test-key', secretAccessKey: 'aws-test-secret' },
+ maxAttempts: 1,
+ });
+
+ nock(`https://states.${region}.amazonaws.com`)
+ .post('/')
+ .reply(200, JSON.stringify({ executionArn: `${stateMachineArn}:execution-1`, startDate: 1 }), {
+ 'content-type': 'application/x-amz-json-1.0',
+ });
+
+ await client.send(new StartExecutionCommand({ stateMachineArn, input: '{}' }));
+ });
+}
+
+run();
diff --git a/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/stepfunctions/test.ts b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/stepfunctions/test.ts
new file mode 100644
index 000000000000..430fe5a00420
--- /dev/null
+++ b/dev-packages/node-integration-tests/suites/aws-serverless/aws-integration/stepfunctions/test.ts
@@ -0,0 +1,36 @@
+import { afterAll, describe, expect, test } from 'vitest';
+import { cleanupChildProcesses, createRunner } from '../../../../utils/runner';
+
+describe('awsIntegration - StepFunctions', () => {
+ afterAll(() => {
+ cleanupChildProcesses();
+ });
+
+ test('auto-instruments StepFunctions operations, setting the state machine ARN', async () => {
+ await createRunner(__dirname, 'scenario.js')
+ .ignore('event')
+ .expect({
+ transaction: {
+ transaction: 'Test Transaction',
+ spans: expect.arrayContaining([
+ expect.objectContaining({
+ description: 'SFN.StartExecution',
+ op: 'rpc',
+ origin: 'auto.otel.aws',
+ data: expect.objectContaining({
+ 'sentry.origin': 'auto.otel.aws',
+ 'rpc.system': 'aws-api',
+ 'rpc.method': 'StartExecution',
+ 'rpc.service': 'SFN',
+ 'aws.step_functions.state_machine.arn':
+ 'arn:aws:states:us-east-1:123456789012:stateMachine:my-state-machine',
+ 'otel.kind': 'CLIENT',
+ }),
+ }),
+ ]),
+ },
+ })
+ .start()
+ .completed();
+ });
+});
diff --git a/yarn.lock b/yarn.lock
index e6d958af0dd5..53fa2a7d1855 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -734,7 +734,154 @@
"@smithy/util-utf8" "^4.2.0"
tslib "^2.6.2"
-"@aws-sdk/client-s3@^3.1041.0":
+"@aws-sdk/client-dynamodb@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.1041.0.tgz#3546d3527c73c3c8ebc8b5b5424f8e1a4a90230e"
+ integrity sha512-q0dhIfdm3R9EEElaUXvoLD0EBm4KYPcJC4So/skToMPACiznNgVI2Vup4PKM716KTaDsIcF8V1EA7s33H7oWMg==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/dynamodb-codec" "^3.973.8"
+ "@aws-sdk/middleware-endpoint-discovery" "^3.972.11"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
+ "@aws-sdk/types" "^3.973.8"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
+ "@smithy/core" "^3.23.17"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
+ "@smithy/node-config-provider" "^4.3.14"
+ "@smithy/node-http-handler" "^4.6.1"
+ "@smithy/protocol-http" "^5.3.14"
+ "@smithy/smithy-client" "^4.12.13"
+ "@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
+ "@smithy/util-middleware" "^4.2.14"
+ "@smithy/util-retry" "^4.3.6"
+ "@smithy/util-utf8" "^4.2.2"
+ "@smithy/util-waiter" "^4.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-kinesis@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-3.1041.0.tgz#2cb45017df8d2f0c761ee136ab99b5db92dd689f"
+ integrity sha512-FxBNTRbsqhltzU5r5k9/Df5xK4be73+3grhy9yFIsNItIL6J4QP8u/YDoYx0S6og6nRjhLNcU2jGK0UVqX/qzw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
+ "@aws-sdk/types" "^3.973.8"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
+ "@smithy/core" "^3.23.17"
+ "@smithy/eventstream-serde-browser" "^4.2.14"
+ "@smithy/eventstream-serde-config-resolver" "^4.3.14"
+ "@smithy/eventstream-serde-node" "^4.2.14"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
+ "@smithy/node-config-provider" "^4.3.14"
+ "@smithy/node-http-handler" "^4.6.1"
+ "@smithy/protocol-http" "^5.3.14"
+ "@smithy/smithy-client" "^4.12.13"
+ "@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
+ "@smithy/util-middleware" "^4.2.14"
+ "@smithy/util-retry" "^4.3.6"
+ "@smithy/util-utf8" "^4.2.2"
+ "@smithy/util-waiter" "^4.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-lambda@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.1041.0.tgz#75396d2d18a7b969d1f388fbd88950a5fcd4bc02"
+ integrity sha512-J8zz0t+HPLwJblG4PdVlAJ93DxtMkYHHfD+lpTvmzQ6LBBfexbC+d31l8DcmUrbV2dK8dCreldjYlXSe/X6sQA==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
+ "@aws-sdk/types" "^3.973.8"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
+ "@smithy/core" "^3.23.17"
+ "@smithy/eventstream-serde-browser" "^4.2.14"
+ "@smithy/eventstream-serde-config-resolver" "^4.3.14"
+ "@smithy/eventstream-serde-node" "^4.2.14"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
+ "@smithy/node-config-provider" "^4.3.14"
+ "@smithy/node-http-handler" "^4.6.1"
+ "@smithy/protocol-http" "^5.3.14"
+ "@smithy/smithy-client" "^4.12.13"
+ "@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
+ "@smithy/util-middleware" "^4.2.14"
+ "@smithy/util-retry" "^4.3.6"
+ "@smithy/util-stream" "^4.5.25"
+ "@smithy/util-utf8" "^4.2.2"
+ "@smithy/util-waiter" "^4.3.0"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-s3@3.1041.0":
version "3.1041.0"
resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.1041.0.tgz#474b3f99a688554b51d5c65aed713605408adbc8"
integrity sha512-sQV14bIqslnBHuSlLMD+fc3pH+ajop6vnrFlJ4wM4JDqcYwVik4O+9srnZUrkesFw5y+CN0GfOQ06CAgtC4mjQ==
@@ -795,26 +942,202 @@
"@smithy/util-waiter" "^4.3.0"
tslib "^2.6.2"
-"@aws-sdk/core@^3.973.5", "@aws-sdk/core@^3.973.6", "@aws-sdk/core@^3.974.8":
- version "3.974.8"
- resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.974.8.tgz#cdd51195a31322f1e429e66919eb18da8944c081"
- integrity sha512-njR2qoG6ZuB0kvAS2FyICsFZJ6gmCcf2X/7JcD14sUvGDm26wiZ5BrA6LOiUxKFEF+IVe7kdroxyE00YlkiYsw==
+"@aws-sdk/client-secrets-manager@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.1041.0.tgz#ffadb29bfb0c33000fc312632954f92d69999e74"
+ integrity sha512-dr4AbZ5hIDyecKHWyYy0LhK3h6q/jd6QWem46wyHulJ6IBRPENlpB7iXo7KKFWkgKSweCEqjHVB5W+3WB4JiYw==
dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
"@aws-sdk/types" "^3.973.8"
- "@aws-sdk/xml-builder" "^3.972.22"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
"@smithy/core" "^3.23.17"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
"@smithy/node-config-provider" "^4.3.14"
- "@smithy/property-provider" "^4.2.14"
+ "@smithy/node-http-handler" "^4.6.1"
+ "@smithy/protocol-http" "^5.3.14"
+ "@smithy/smithy-client" "^4.12.13"
+ "@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
+ "@smithy/util-middleware" "^4.2.14"
+ "@smithy/util-retry" "^4.3.6"
+ "@smithy/util-utf8" "^4.2.2"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-sfn@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sfn/-/client-sfn-3.1041.0.tgz#ce0e66ab24bcd39cff6e410f47ebd700da8c42d3"
+ integrity sha512-13IXU/aoxY0do8SjIOlpU8FouoPclhrJEqrox3fzynk2jz4ccdPxYLQM+rSQJxpDTUdQ6HfdvOtIvaFRK8DQMA==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
+ "@aws-sdk/types" "^3.973.8"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
+ "@smithy/core" "^3.23.17"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
+ "@smithy/node-config-provider" "^4.3.14"
+ "@smithy/node-http-handler" "^4.6.1"
+ "@smithy/protocol-http" "^5.3.14"
+ "@smithy/smithy-client" "^4.12.13"
+ "@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
+ "@smithy/util-middleware" "^4.2.14"
+ "@smithy/util-retry" "^4.3.6"
+ "@smithy/util-utf8" "^4.2.2"
+ tslib "^2.6.2"
+
+"@aws-sdk/client-sns@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sns/-/client-sns-3.1041.0.tgz#6043e92c361bbdae5b2f9443c5267a7ca2cfe079"
+ integrity sha512-Fv5dOKbdCmXswAlPW1rDWQ7Ui5RqXr9iQ3NyeZ91PhHLJiJPCvqeLjQuJHfYiDZbMK7okv7Ne/t3+HcQRmJ3Jw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
+ "@aws-sdk/types" "^3.973.8"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
+ "@smithy/core" "^3.23.17"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
+ "@smithy/node-config-provider" "^4.3.14"
+ "@smithy/node-http-handler" "^4.6.1"
"@smithy/protocol-http" "^5.3.14"
- "@smithy/signature-v4" "^5.3.14"
"@smithy/smithy-client" "^4.12.13"
"@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
"@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
"@smithy/util-middleware" "^4.2.14"
"@smithy/util-retry" "^4.3.6"
"@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
+"@aws-sdk/client-sqs@3.1041.0":
+ version "3.1041.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.1041.0.tgz#47bf598f23503b58faa3a1f0df8978b0546fa2dc"
+ integrity sha512-WXKNzmt9e1mNNzdedR6/X8xJuRsM8L5qCbLFLdBEd8gh3R2JqrLXSEwXmtg07aUeT+KGTOoIn23BdfMjM6KEMw==
+ dependencies:
+ "@aws-crypto/sha256-browser" "5.2.0"
+ "@aws-crypto/sha256-js" "5.2.0"
+ "@aws-sdk/core" "^3.974.8"
+ "@aws-sdk/credential-provider-node" "^3.972.39"
+ "@aws-sdk/middleware-host-header" "^3.972.10"
+ "@aws-sdk/middleware-logger" "^3.972.10"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.11"
+ "@aws-sdk/middleware-sdk-sqs" "^3.972.22"
+ "@aws-sdk/middleware-user-agent" "^3.972.38"
+ "@aws-sdk/region-config-resolver" "^3.972.13"
+ "@aws-sdk/types" "^3.973.8"
+ "@aws-sdk/util-endpoints" "^3.996.8"
+ "@aws-sdk/util-user-agent-browser" "^3.972.10"
+ "@aws-sdk/util-user-agent-node" "^3.973.24"
+ "@smithy/config-resolver" "^4.4.17"
+ "@smithy/core" "^3.23.17"
+ "@smithy/fetch-http-handler" "^5.3.17"
+ "@smithy/hash-node" "^4.2.14"
+ "@smithy/invalid-dependency" "^4.2.14"
+ "@smithy/md5-js" "^4.2.14"
+ "@smithy/middleware-content-length" "^4.2.14"
+ "@smithy/middleware-endpoint" "^4.4.32"
+ "@smithy/middleware-retry" "^4.5.7"
+ "@smithy/middleware-serde" "^4.2.20"
+ "@smithy/middleware-stack" "^4.2.14"
+ "@smithy/node-config-provider" "^4.3.14"
+ "@smithy/node-http-handler" "^4.6.1"
+ "@smithy/protocol-http" "^5.3.14"
+ "@smithy/smithy-client" "^4.12.13"
+ "@smithy/types" "^4.14.1"
+ "@smithy/url-parser" "^4.2.14"
+ "@smithy/util-base64" "^4.3.2"
+ "@smithy/util-body-length-browser" "^4.2.2"
+ "@smithy/util-body-length-node" "^4.2.3"
+ "@smithy/util-defaults-mode-browser" "^4.3.49"
+ "@smithy/util-defaults-mode-node" "^4.2.54"
+ "@smithy/util-endpoints" "^3.4.2"
+ "@smithy/util-middleware" "^4.2.14"
+ "@smithy/util-retry" "^4.3.6"
+ "@smithy/util-utf8" "^4.2.2"
+ tslib "^2.6.2"
+
+"@aws-sdk/core@^3.973.5", "@aws-sdk/core@^3.973.6", "@aws-sdk/core@^3.974.20", "@aws-sdk/core@^3.974.8":
+ version "3.974.20"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.974.20.tgz#fc9727897662e148fad2276995298f56b587c3ab"
+ integrity sha512-7sDi2B2N3mc3nf1nz6FyEx/FCrJ1N1QnBmraHHQNabFaeAh2IaOOLml48/rHOD1bICHgTRkbBgNTvUzEr5Z35g==
+ dependencies:
+ "@aws-sdk/types" "^3.973.12"
+ "@aws-sdk/xml-builder" "^3.972.29"
+ "@aws/lambda-invoke-store" "^0.2.2"
+ "@smithy/core" "^3.24.6"
+ "@smithy/signature-v4" "^5.4.6"
+ "@smithy/types" "^4.14.3"
+ bowser "^2.11.0"
+ tslib "^2.6.2"
+
"@aws-sdk/crc64-nvme@^3.972.7":
version "3.972.7"
resolved "https://registry.yarnpkg.com/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.7.tgz#0e56fb3ccc0242ed05ffd0bc993d724ce8b3dde2"
@@ -978,6 +1301,24 @@
"@smithy/types" "^4.12.0"
tslib "^2.6.2"
+"@aws-sdk/dynamodb-codec@^3.973.8":
+ version "3.973.20"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/dynamodb-codec/-/dynamodb-codec-3.973.20.tgz#9a98587c741fa72106c5c62622d8ae63a3134cb4"
+ integrity sha512-SFfxiqVgWeIe+RsJJNAMD//2IfehT4bLpGyNJRB0MgHmOIJtdcfMnR1k7KYyaHokSoQVdncVa9O9DIGa4eqcwg==
+ dependencies:
+ "@aws-sdk/core" "^3.974.20"
+ "@smithy/core" "^3.24.6"
+ "@smithy/types" "^4.14.3"
+ tslib "^2.6.2"
+
+"@aws-sdk/endpoint-cache@^3.972.7":
+ version "3.972.7"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.972.7.tgz#aa586f465e351fb74eddf340e4f67252a9d5d80b"
+ integrity sha512-LkwS3ZOUNL5kHzmz3dDx8lE3HOhZmf2VGjbJ/tMUZJYWWl3J0RJTZM7RFz1MLt06WDVvlShcAjY/RzhYlqLL7g==
+ dependencies:
+ mnemonist "0.38.3"
+ tslib "^2.6.2"
+
"@aws-sdk/middleware-bucket-endpoint@^3.972.10":
version "3.972.10"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.10.tgz#d26aa88b441d6d1b6e9275ffdc61e0fbfb55a513"
@@ -991,6 +1332,17 @@
"@smithy/util-config-provider" "^4.2.2"
tslib "^2.6.2"
+"@aws-sdk/middleware-endpoint-discovery@^3.972.11":
+ version "3.972.18"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.972.18.tgz#226d974c1ad33c18fbc2b34ba689af26cf8a86e5"
+ integrity sha512-1vKJt/6MBB/MBMRM3qzCMdW70syJY8u2DH+dq7yCnPn7wVJmyeAzAa/sK1lIbbYh8BVLbM5FspsT4zbe885gOw==
+ dependencies:
+ "@aws-sdk/endpoint-cache" "^3.972.7"
+ "@aws-sdk/types" "^3.973.12"
+ "@smithy/core" "^3.24.6"
+ "@smithy/types" "^4.14.3"
+ tslib "^2.6.2"
+
"@aws-sdk/middleware-expect-continue@^3.972.10":
version "3.972.10"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.10.tgz#b685287951156a5d093cfdd37364894c6a8c966c"
@@ -1080,6 +1432,16 @@
"@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
+"@aws-sdk/middleware-sdk-sqs@^3.972.22":
+ version "3.972.30"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.972.30.tgz#641d2931292055f3e3a38215eb446f46ffb89310"
+ integrity sha512-PVAj7VgWK/ZxCXnkgC4B7cdJyUN99Nsr7IEduHt4A1GieuB+ZnU5bSifHwapbr17wrFkmdxfSh+aA0Lj+Ads6w==
+ dependencies:
+ "@aws-sdk/types" "^3.973.12"
+ "@smithy/core" "^3.24.6"
+ "@smithy/types" "^4.14.3"
+ tslib "^2.6.2"
+
"@aws-sdk/middleware-ssec@^3.972.10":
version "3.972.10"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.10.tgz#46b5c030c0116f51110e18042ad3cf863ab5c81c"
@@ -1228,12 +1590,12 @@
"@smithy/types" "^4.14.1"
tslib "^2.6.2"
-"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.1", "@aws-sdk/types@^3.973.8":
- version "3.973.8"
- resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.8.tgz#7352cb74a5f8bae1218eee63e714cf94302911c5"
- integrity sha512-gjlAdtHMbtR9X5iIhVUvbVcy55KnznpC6bkDUWW9z915bi0ckdUr5cjf16Kp6xq0bP5HBD2xzgbL9F9Quv5vUw==
+"@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.1", "@aws-sdk/types@^3.973.12", "@aws-sdk/types@^3.973.8":
+ version "3.973.12"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.12.tgz#a3ae50d325644e4e890030d187febbeef2d238ef"
+ integrity sha512-43ajd1NF0RMgX5k0hxCNUyEdrtFUsb2aHT2QvpktSC/2Eyb2Jr/JPVqdp0XIoaHWikZJq5tNWSLO6kB5q2eMCA==
dependencies:
- "@smithy/types" "^4.14.1"
+ "@smithy/types" "^4.14.3"
tslib "^2.6.2"
"@aws-sdk/util-arn-parser@^3.972.3":
@@ -1305,14 +1667,13 @@
"@smithy/util-config-provider" "^4.2.2"
tslib "^2.6.2"
-"@aws-sdk/xml-builder@^3.972.22":
- version "3.972.22"
- resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.22.tgz#1e44ca9fd9c3fdc3d9af9540ced024f34cfc60b2"
- integrity sha512-PMYKKtJd70IsSG0yHrdAbxBr+ZWBKLvzFZfD3/urxgf6hXVMzuU5M+3MJ5G67RpOmLBu1fAUN65SbWuKUCOlAA==
+"@aws-sdk/xml-builder@^3.972.29":
+ version "3.972.29"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.29.tgz#1fffe1dd3fbb84c034ff2f8008de8a6926a4a672"
+ integrity sha512-fk0niuGFxfi8yIJuMVM4mhwObkiQSuwZFj3tAPrLVx64Pk3BkrEIpqjzHKY4hKoEBUD6Jg/S74Zj9jy+5F3DnQ==
dependencies:
- "@nodable/entities" "2.1.0"
- "@smithy/types" "^4.14.1"
- fast-xml-parser "5.7.2"
+ "@smithy/types" "^4.14.3"
+ fast-xml-parser "5.7.3"
tslib "^2.6.2"
"@aws/lambda-invoke-store@^0.2.2":
@@ -5569,7 +5930,7 @@
resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-14.2.13.tgz#859b38aaa57ffe1351d08f9166724936c9e6b365"
integrity sha512-RQx/rGX7K/+R55x1R6Ax1JzyeHi8cW11dEXpzHWipyuSpusQLUN53F02eMB4VTakXsL3mFNWWy4bX3/LSq8/9w==
-"@nodable/entities@2.1.0", "@nodable/entities@^2.1.0":
+"@nodable/entities@^2.1.0":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@nodable/entities/-/entities-2.1.0.tgz#f543e5c6446720d4cf9e498a83019dd159973bc2"
integrity sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==
@@ -7807,20 +8168,13 @@
"@smithy/util-middleware" "^4.2.14"
tslib "^2.6.2"
-"@smithy/core@^3.22.0", "@smithy/core@^3.23.17":
- version "3.23.17"
- resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.23.17.tgz#23d02277c8d6d30a1605afd756696265e48ed67e"
- integrity sha512-x7BlLbUFL8NWCGjMF9C+1N5cVCxcPa7g6Tv9B4A2luWx3be3oU8hQ96wIwxe/s7OhIzvoJH73HAUSg5JXVlEtQ==
+"@smithy/core@^3.22.0", "@smithy/core@^3.23.17", "@smithy/core@^3.24.6", "@smithy/core@^3.24.7":
+ version "3.24.7"
+ resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.24.7.tgz#040621b1150844abf763fc77691232ea0719a006"
+ integrity sha512-KoUi4M1f3BG6kzN1FnCwL7oyFptTbyBJKjR6yhSib+JHRdUmM1o+VwsFtJ66NZCkCzVfJMWRHJNo0R0jznp0Pg==
dependencies:
- "@smithy/protocol-http" "^5.3.14"
- "@smithy/types" "^4.14.1"
- "@smithy/url-parser" "^4.2.14"
- "@smithy/util-base64" "^4.3.2"
- "@smithy/util-body-length-browser" "^4.2.2"
- "@smithy/util-middleware" "^4.2.14"
- "@smithy/util-stream" "^4.5.25"
- "@smithy/util-utf8" "^4.2.2"
- "@smithy/uuid" "^1.1.2"
+ "@aws-crypto/crc32" "5.2.0"
+ "@smithy/types" "^4.14.4"
tslib "^2.6.2"
"@smithy/credential-provider-imds@^4.2.14", "@smithy/credential-provider-imds@^4.2.8":
@@ -8075,18 +8429,13 @@
"@smithy/types" "^4.14.1"
tslib "^2.6.2"
-"@smithy/signature-v4@^5.3.14":
- version "5.3.14"
- resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.3.14.tgz#2b28c7d190301a67a520227a2343d1e7bb1c6d22"
- integrity sha512-1D9Y/nmlVjCeSivCbhZ7hgEpmHyY1h0GvpSZt3l0xcD9JjmjVC1CHOozS6+Gh+/ldMH8JuJ6cujObQqfayAVFA==
+"@smithy/signature-v4@^5.3.14", "@smithy/signature-v4@^5.4.6":
+ version "5.4.7"
+ resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.4.7.tgz#a56fc486928bb54d822f1f18f81a1e00328e78ce"
+ integrity sha512-LwQZazFayImv+IOm0S0enoLeUJwmAlhGC5O6YCcLWezyu08dF46GOxPOq35OpBIHkgd7OvNvBStIFwVNyrvoBw==
dependencies:
- "@smithy/is-array-buffer" "^4.2.2"
- "@smithy/protocol-http" "^5.3.14"
- "@smithy/types" "^4.14.1"
- "@smithy/util-hex-encoding" "^4.2.2"
- "@smithy/util-middleware" "^4.2.14"
- "@smithy/util-uri-escape" "^4.2.2"
- "@smithy/util-utf8" "^4.2.2"
+ "@smithy/core" "^3.24.7"
+ "@smithy/types" "^4.14.4"
tslib "^2.6.2"
"@smithy/smithy-client@^4.11.1", "@smithy/smithy-client@^4.12.13":
@@ -8102,10 +8451,10 @@
"@smithy/util-stream" "^4.5.25"
tslib "^2.6.2"
-"@smithy/types@^4.12.0", "@smithy/types@^4.14.1":
- version "4.14.1"
- resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.14.1.tgz#aba92b4cdb406f2a2b062e82f1e3728d809a7c23"
- integrity sha512-59b5HtSVrVR/eYNei3BUj3DCPKD/G7EtDDe7OEJE7i7FtQFugYo6MxbotS8mVJkLNVf8gYaAlEBwwtJ9HzhWSg==
+"@smithy/types@^4.12.0", "@smithy/types@^4.14.1", "@smithy/types@^4.14.3", "@smithy/types@^4.14.4":
+ version "4.14.4"
+ resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.14.4.tgz#0c83b7e011d30730ec43fa13290e61a7ca234ccc"
+ integrity sha512-B2S9+UGm1+/pHkcx3ZoLVX1a+pmSk8rqxRR+ZsNqZaJ5q9FWX9AFGQVM4qG5+OBeQUZVy99HY8HqW8gK/wgXzQ==
dependencies:
tslib "^2.6.2"
@@ -17085,20 +17434,21 @@ fast-uri@^3.0.1:
resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec"
integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==
-fast-xml-builder@^1.1.5:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.1.7.tgz#b445dfa48d5e7636a50d7ff39c7f4254552bfdff"
- integrity sha512-Yh7/7rQuMXICNr0oMYDR2yHP6oUvmQsTToFeOWj/kIDhAwQ+c4Ol/lbcwOmEM5OHYQmh6S6EQSQ1sljCKP36bQ==
+fast-xml-builder@^1.1.7:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz#abd2363145a7625d9789ad96da375fabe3cff28c"
+ integrity sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==
dependencies:
- path-expression-matcher "^1.1.3"
+ path-expression-matcher "^1.5.0"
+ xml-naming "^0.1.0"
-fast-xml-parser@5.7.2, fast-xml-parser@^5.0.7:
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.7.2.tgz#fecd0b054c6c132fc03dab994a413da781e0eb9f"
- integrity sha512-P7oW7tLbYnhOLQk/Gv7cZgzgMPP/XN03K02/Jy6Y/NHzyIAIpxuZIM/YqAkfiXFPxA2CTm7NtCijK9EDu09u2w==
+fast-xml-parser@5.7.3, fast-xml-parser@^5.0.7:
+ version "5.7.3"
+ resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.7.3.tgz#309b04b08d835defc62ab657a0bb340c0e0fbe6a"
+ integrity sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==
dependencies:
"@nodable/entities" "^2.1.0"
- fast-xml-builder "^1.1.5"
+ fast-xml-builder "^1.1.7"
path-expression-matcher "^1.5.0"
strnum "^2.2.3"
@@ -22075,6 +22425,13 @@ mlly@^1.3.0, mlly@^1.4.0, mlly@^1.5.0, mlly@^1.6.1, mlly@^1.7.1, mlly@^1.7.4, ml
pkg-types "^1.3.1"
ufo "^1.6.3"
+mnemonist@0.38.3:
+ version "0.38.3"
+ resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.3.tgz#35ec79c1c1f4357cfda2fe264659c2775ccd7d9d"
+ integrity sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==
+ dependencies:
+ obliterator "^1.6.1"
+
mocked-exports@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/mocked-exports/-/mocked-exports-0.1.1.tgz#6916efea9a9dd0f4abd6a0a72526f56a76c966ea"
@@ -23307,6 +23664,11 @@ object.values@^1.1.6, object.values@^1.2.1:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
+obliterator@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-1.6.1.tgz#dea03e8ab821f6c4d96a299e17aef6a3af994ef3"
+ integrity sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==
+
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
@@ -23992,7 +24354,7 @@ path-exists@^5.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
-path-expression-matcher@^1.1.3, path-expression-matcher@^1.5.0:
+path-expression-matcher@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz#3b98545dc88ffebb593e2d8458d0929da9275f4a"
integrity sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==
@@ -31018,6 +31380,11 @@ xml-name-validator@^4.0.0:
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
+xml-naming@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/xml-naming/-/xml-naming-0.1.0.tgz#8ab7106c5b8d23caa2fabac1cadf17136379fbd8"
+ integrity sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==
+
xmlchars@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"