From 8d160cefb0921046607b092e4a8f676c4986c349 Mon Sep 17 00:00:00 2001 From: Dominik Schwank Date: Mon, 18 Nov 2024 21:08:39 +0000 Subject: [PATCH 1/3] fix: use overwrite to make metadata files work During a delete the metadata file is updated. As the overwrite property was not set, the metadata couldn't be updated and caused issues. --- test/test.trash.ts | 20 ++++++++++++++++---- test/test.ts | 9 ++++++--- ts/classes.bucket.ts | 14 ++++++++------ ts/classes.file.ts | 18 +++++++++--------- 4 files changed, 39 insertions(+), 22 deletions(-) diff --git a/test/test.trash.ts b/test/test.trash.ts index 0bc5e15..3787487 100644 --- a/test/test.trash.ts +++ b/test/test.trash.ts @@ -21,8 +21,20 @@ tap.test('should create a valid smartbucket', async () => { expect(myBucket.name).toEqual('testzone'); }); -tap.test('', async () => { - -}) +tap.test('should put a file into the trash', async () => { + const path = 'hithere/socool.txt'; + const file = await myBucket.fastPut({ + path, + contents: 'hi there!', + }); + expect(await file.getMetaData().then((meta) => meta.metadataFile.getJsonData())).toEqual({}); + await file.delete({ mode: 'trash' }); + expect(await file.getMetaData().then((meta) => meta.metadataFile.getJsonData())).toEqual({ + custom_recycle: { + deletedAt: 123, + originalPath: 'hithere/socool.txt', + }, + }); +}); -export default tap.start(); \ No newline at end of file +export default tap.start(); diff --git a/test/test.ts b/test/test.ts index f43abd2..7bb9854 100644 --- a/test/test.ts +++ b/test/test.ts @@ -41,9 +41,12 @@ tap.test('should get data in bucket', async () => { const fileString = await myBucket.fastGet({ path: 'hithere/socool.txt', }); - const fileStringStream = await myBucket.fastGetStream({ - path: 'hithere/socool.txt', - }, 'nodestream'); + const fileStringStream = await myBucket.fastGetStream( + { + path: 'hithere/socool.txt', + }, + 'nodestream' + ); console.log(fileString); }); diff --git a/ts/classes.bucket.ts b/ts/classes.bucket.ts index 67b355a..0096bb2 100644 --- a/ts/classes.bucket.ts +++ b/ts/classes.bucket.ts @@ -331,7 +331,9 @@ export class Bucket { }): Promise { try { const destinationBucket = optionsArg.targetBucket || this; - const exists = await destinationBucket.fastExists({ path: optionsArg.destinationPath }); + const exists = await destinationBucket.fastExists({ + path: optionsArg.destinationPath, + }); if (exists && !optionsArg.overwrite) { console.error( @@ -424,8 +426,8 @@ export class Bucket { Prefix: checkPath, Delimiter: '/', }); - const response = await this.smartbucketRef.s3Client.send(command); - return response.CommonPrefixes.length > 0; + const { CommonPrefixes } = await this.smartbucketRef.s3Client.send(command); + return !!CommonPrefixes && CommonPrefixes.length > 0; } public async isFile(pathDescriptor: interfaces.IPathDecriptor): Promise { @@ -435,8 +437,8 @@ export class Bucket { Prefix: checkPath, Delimiter: '/', }); - const response = await this.smartbucketRef.s3Client.send(command); - return response.Contents.length > 0; + const { Contents } = await this.smartbucketRef.s3Client.send(command); + return !!Contents && Contents.length > 0; } public async getMagicBytes(optionsArg: { path: string; length: number }): Promise { @@ -449,7 +451,7 @@ export class Bucket { const response = await this.smartbucketRef.s3Client.send(command); const chunks = []; const stream = response.Body as any; // SdkStreamMixin includes readable stream - + for await (const chunk of stream) { chunks.push(chunk); } diff --git a/ts/classes.file.ts b/ts/classes.file.ts index 37aa8b7..0eafd61 100644 --- a/ts/classes.file.ts +++ b/ts/classes.file.ts @@ -92,16 +92,13 @@ export class File { /** * deletes this file */ - public async delete(optionsArg?: { - mode: 'trash' | 'permanent'; - }) { - + public async delete(optionsArg?: { mode: 'trash' | 'permanent' }) { optionsArg = { - ... { + ...{ mode: 'permanent', }, ...optionsArg, - } + }; if (optionsArg.mode === 'permanent') { await this.parentDirectoryRef.bucketRef.fastRemove({ @@ -126,7 +123,7 @@ export class File { path: await trash.getTrashKeyByOriginalBasePath(this.getBasePath()), }); } - + await this.parentDirectoryRef.listFiles(); } @@ -169,16 +166,19 @@ export class File { await this.parentDirectoryRef.bucketRef.fastPutStream({ path: this.getBasePath(), readableStream: optionsArg.contents, + overwrite: true, }); } else if (Buffer.isBuffer(optionsArg.contents)) { await this.parentDirectoryRef.bucketRef.fastPut({ path: this.getBasePath(), contents: optionsArg.contents, + overwrite: true, }); } else if (typeof optionsArg.contents === 'string') { await this.parentDirectoryRef.bucketRef.fastPut({ path: this.getBasePath(), contents: Buffer.from(optionsArg.contents, optionsArg.encoding), + overwrite: true, }); } } @@ -238,7 +238,7 @@ export class File { public async getMagicBytes(optionsArg: { length: number }): Promise { return this.parentDirectoryRef.bucketRef.getMagicBytes({ path: this.getBasePath(), - length: optionsArg.length - }) + length: optionsArg.length, + }); } } -- 2.34.1 From 34082c38a754d448b9d79a85ecf947c05c1cda1a Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Sun, 24 Nov 2024 02:25:08 +0100 Subject: [PATCH 2/3] feat(bucket): Enhanced SmartBucket with trash management and metadata handling --- changelog.md | 9 + package.json | 8 +- pnpm-lock.yaml | 1542 +++++++++++++++---------------------- test/helpers/prepare.ts | 0 test/test.metadata.ts | 7 + test/test.trash.ts | 43 +- test/test.ts | 19 +- ts/00_commitinfo_data.ts | 2 +- ts/classes.bucket.ts | 54 +- ts/classes.directory.ts | 75 +- ts/classes.file.ts | 43 +- ts/classes.metadata.ts | 10 +- ts/classes.smartbucket.ts | 12 +- ts/classes.trash.ts | 2 +- 14 files changed, 847 insertions(+), 979 deletions(-) create mode 100644 test/helpers/prepare.ts create mode 100644 test/test.metadata.ts diff --git a/changelog.md b/changelog.md index ac9b203..c1c0bc6 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,14 @@ # Changelog +## 2024-11-24 - 3.2.0 - feat(bucket) +Enhanced SmartBucket with trash management and metadata handling + +- Added functionality to move files to a trash directory. +- Introduced methods to handle file metadata more robustly. +- Implemented a method to clean all contents from a bucket. +- Enhanced directory retrieval to handle non-existent directories with options. +- Improved handling of file paths and metadata within the storage system. + ## 2024-11-18 - 3.1.0 - feat(file) Added functionality to retrieve magic bytes from files and detect file types using magic bytes. diff --git a/package.json b/package.json index 318739c..0f8a1ac 100644 --- a/package.json +++ b/package.json @@ -15,16 +15,16 @@ "@git.zone/tsbuild": "^2.1.84", "@git.zone/tsrun": "^1.2.49", "@git.zone/tstest": "^1.0.90", - "@push.rocks/qenv": "^6.0.5", - "@push.rocks/tapbundle": "^5.3.0" + "@push.rocks/qenv": "^6.1.0", + "@push.rocks/tapbundle": "^5.5.3" }, "dependencies": { - "@aws-sdk/client-s3": "^3.693.0", + "@aws-sdk/client-s3": "^3.699.0", "@push.rocks/smartmime": "^2.0.4", "@push.rocks/smartpath": "^5.0.18", "@push.rocks/smartpromise": "^4.0.4", "@push.rocks/smartrx": "^3.0.7", - "@push.rocks/smartstream": "^3.2.4", + "@push.rocks/smartstream": "^3.2.5", "@push.rocks/smartstring": "^4.0.15", "@push.rocks/smartunique": "^3.0.9", "@tsclass/tsclass": "^4.1.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8bd630..e67b373 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@aws-sdk/client-s3': - specifier: ^3.693.0 - version: 3.693.0 + specifier: ^3.699.0 + version: 3.699.0 '@push.rocks/smartmime': specifier: ^2.0.4 version: 2.0.4 @@ -24,8 +24,8 @@ importers: specifier: ^3.0.7 version: 3.0.7 '@push.rocks/smartstream': - specifier: ^3.2.4 - version: 3.2.4 + specifier: ^3.2.5 + version: 3.2.5 '@push.rocks/smartstring': specifier: ^4.0.15 version: 4.0.15 @@ -44,13 +44,13 @@ importers: version: 1.3.3 '@git.zone/tstest': specifier: ^1.0.90 - version: 1.0.90(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + version: 1.0.90(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) '@push.rocks/qenv': - specifier: ^6.0.5 - version: 6.0.5 + specifier: ^6.1.0 + version: 6.1.0 '@push.rocks/tapbundle': - specifier: ^5.3.0 - version: 5.5.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + specifier: ^5.5.3 + version: 5.5.3(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) packages: @@ -92,234 +92,147 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-cognito-identity@3.687.0': - resolution: {integrity: sha512-jcQTioloSed+Jc3snjrgpWejkOm8t3Zt+jWrApw3ejN8qBtpFCH43M7q/CSDVZ9RS1IjX+KRWoBFnrDOnbuw0Q==} + '@aws-sdk/client-cognito-identity@3.699.0': + resolution: {integrity: sha512-9tFt+we6AIvj/f1+nrLHuCWcQmyfux5gcBSOy9d9+zIG56YxGEX7S9TaZnybogpVV8A0BYWml36WvIHS9QjIpA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-s3@3.693.0': - resolution: {integrity: sha512-vgGI2e0Q6pzyhqfrSysi+sk/i+Nl+lMon67oqj/57RcCw9daL1/inpS+ADuwHpiPWkrg+U0bOXnmHjkLeTslJg==} + '@aws-sdk/client-s3@3.699.0': + resolution: {integrity: sha512-x3wV9e6d0esA6Yyg3xWJucMYd/O8JVrNCJnGm/sz3lMYOQGefpVZKZZsHcnzQcTEVAQMF/T5/cdfdvPzIx/esA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso-oidc@3.687.0': - resolution: {integrity: sha512-Rdd8kLeTeh+L5ZuG4WQnWgYgdv7NorytKdZsGjiag1D8Wv3PcJvPqqWdgnI0Og717BSXVoaTYaN34FyqFYSx6Q==} + '@aws-sdk/client-sso-oidc@3.699.0': + resolution: {integrity: sha512-u8a1GorY5D1l+4FQAf4XBUC1T10/t7neuwT21r0ymrtMFSK2a9QqVHKMoLkvavAwyhJnARSBM9/UQC797PFOFw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.687.0 + '@aws-sdk/client-sts': ^3.699.0 - '@aws-sdk/client-sso-oidc@3.693.0': - resolution: {integrity: sha512-UEDbYlYtK/e86OOMyFR4zEPyenIxDzO2DRdz3fwVW7RzZ94wfmSwBh/8skzPTuY1G7sI064cjHW0b0QG01Sdtg==} + '@aws-sdk/client-sso@3.696.0': + resolution: {integrity: sha512-q5TTkd08JS0DOkHfUL853tuArf7NrPeqoS5UOvqJho8ibV9Ak/a/HO4kNvy9Nj3cib/toHYHsQIEtecUPSUUrQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-sts@3.699.0': + resolution: {integrity: sha512-++lsn4x2YXsZPIzFVwv3fSUVM55ZT0WRFmPeNilYIhZClxHLmVAWKH4I55cY9ry60/aTKYjzOXkWwyBKGsGvQg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/core@3.696.0': + resolution: {integrity: sha512-3c9III1k03DgvRZWg8vhVmfIXPG6hAciN9MzQTzqGngzWAELZF/WONRTRQuDFixVtarQatmLHYVw/atGeA2Byw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-cognito-identity@3.699.0': + resolution: {integrity: sha512-iuaTnudaBfEET+o444sDwf71Awe6UiZfH+ipUPmswAi2jZDwdFF1nxMKDEKL8/LV5WpXsdKSfwgS0RQeupURew==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-env@3.696.0': + resolution: {integrity: sha512-T9iMFnJL7YTlESLpVFT3fg1Lkb1lD+oiaIC8KMpepb01gDUBIpj9+Y+pA/cgRWW0yRxmkDXNazAE2qQTVFGJzA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-http@3.696.0': + resolution: {integrity: sha512-GV6EbvPi2eq1+WgY/o2RFA3P7HGmnkIzCNmhwtALFlqMroLYWKE7PSeHw66Uh1dFQeVESn0/+hiUNhu1mB0emA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-ini@3.699.0': + resolution: {integrity: sha512-dXmCqjJnKmG37Q+nLjPVu22mNkrGHY8hYoOt3Jo9R2zr5MYV7s/NHsCHr+7E+BZ+tfZYLRPeB1wkpTeHiEcdRw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.693.0 + '@aws-sdk/client-sts': ^3.699.0 - '@aws-sdk/client-sso@3.687.0': - resolution: {integrity: sha512-dfj0y9fQyX4kFill/ZG0BqBTLQILKlL7+O5M4F9xlsh2WNuV2St6WtcOg14Y1j5UODPJiJs//pO+mD1lihT5Kw==} + '@aws-sdk/credential-provider-node@3.699.0': + resolution: {integrity: sha512-MmEmNDo1bBtTgRmdNfdQksXu4uXe66s0p1hi1YPrn1h59Q605eq/xiWbGL6/3KdkViH6eGUuABeV2ODld86ylg==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso@3.693.0': - resolution: {integrity: sha512-QEynrBC26x6TG9ZMzApR/kZ3lmt4lEIs2D+cHuDxt6fDGzahBUsQFBwJqhizzsM97JJI5YvmJhmihoYjdSSaXA==} + '@aws-sdk/credential-provider-process@3.696.0': + resolution: {integrity: sha512-mL1RcFDe9sfmyU5K1nuFkO8UiJXXxLX4JO1gVaDIOvPqwStpUAwi3A1BoeZhWZZNQsiKI810RnYGo0E0WB/hUA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.687.0': - resolution: {integrity: sha512-SQjDH8O4XCTtouuCVYggB0cCCrIaTzUZIkgJUpOsIEJBLlTbNOb/BZqUShAQw2o9vxr2rCeOGjAQOYPysW/Pmg==} + '@aws-sdk/credential-provider-sso@3.699.0': + resolution: {integrity: sha512-Ekp2cZG4pl9D8+uKWm4qO1xcm8/MeiI8f+dnlZm8aQzizeC+aXYy9GyoclSf6daK8KfRPiRfM7ZHBBL5dAfdMA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.693.0': - resolution: {integrity: sha512-4S2y7VEtvdnjJX4JPl4kDQlslxXEZFnC50/UXVUYSt/AMc5A/GgspFNA5FVz4E3Gwpfobbf23hR2NBF8AGvYoQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/core@3.686.0': - resolution: {integrity: sha512-Xt3DV4DnAT3v2WURwzTxWQK34Ew+iiLzoUoguvLaZrVMFOqMMrwVjP+sizqIaHp1j7rGmFcN5I8saXnsDLuQLA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/core@3.693.0': - resolution: {integrity: sha512-v6Z/kWmLFqRLDPEwl9hJGhtTgIFHjZugSfF1Yqffdxf4n1AWgtHS7qSegakuMyN5pP4K2tvUD8qHJ+gGe2Bw2A==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-cognito-identity@3.687.0': - resolution: {integrity: sha512-hJq9ytoj2q/Jonc7mox/b0HT+j4NeMRuU184DkXRJbvIvwwB+oMt12221kThLezMhwIYfXEteZ7GEId7Hn8Y8g==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-env@3.686.0': - resolution: {integrity: sha512-osD7lPO8OREkgxPiTWmA1i6XEmOth1uW9HWWj/+A2YGCj1G/t2sHu931w4Qj9NWHYZtbTTXQYVRg+TErALV7nQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-env@3.693.0': - resolution: {integrity: sha512-hMUZaRSF7+iBKZfBHNLihFs9zvpM1CB8MBOTnTp5NGCVkRYF3SB2LH+Kcippe0ats4qCyB1eEoyQX99rERp2iQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-http@3.686.0': - resolution: {integrity: sha512-xyGAD/f3vR/wssUiZrNFWQWXZvI4zRm2wpHhoHA1cC2fbRMNFYtFn365yw6dU7l00ZLcdFB1H119AYIUZS7xbw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-http@3.693.0': - resolution: {integrity: sha512-sL8MvwNJU7ZpD7/d2VVb3by1GknIJUxzTIgYtVkDVA/ojo+KRQSSHxcj0EWWXF5DTSh2Tm+LrEug3y1ZyKHsDA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-ini@3.687.0': - resolution: {integrity: sha512-6d5ZJeZch+ZosJccksN0PuXv7OSnYEmanGCnbhUqmUSz9uaVX6knZZfHCZJRgNcfSqg9QC0zsFA/51W5HCUqSQ==} + '@aws-sdk/credential-provider-web-identity@3.696.0': + resolution: {integrity: sha512-XJ/CVlWChM0VCoc259vWguFUjJDn/QwDqHwbx+K9cg3v6yrqXfK5ai+p/6lx0nQpnk4JzPVeYYxWRpaTsGC9rg==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.687.0 + '@aws-sdk/client-sts': ^3.696.0 - '@aws-sdk/credential-provider-ini@3.693.0': - resolution: {integrity: sha512-kvaa4mXhCCOuW7UQnBhYqYfgWmwy7WSBSDClutwSLPZvgrhYj2l16SD2lN4IfYdxARYMJJ1lFYp3/jJG/9Yk4Q==} + '@aws-sdk/credential-providers@3.699.0': + resolution: {integrity: sha512-jBjOntl9zN9Nvb0jmbMGRbiTzemDz64ij7W6BDavxBJRZpRoNeN0QCz6RolkCyXnyUJjo5mF2unY2wnv00A+LQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-bucket-endpoint@3.696.0': + resolution: {integrity: sha512-V07jishKHUS5heRNGFpCWCSTjRJyQLynS/ncUeE8ZYtG66StOOQWftTwDfFOSoXlIqrXgb4oT9atryzXq7Z4LQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-expect-continue@3.696.0': + resolution: {integrity: sha512-vpVukqY3U2pb+ULeX0shs6L0aadNep6kKzjme/MyulPjtUDJpD3AekHsXRrCCGLmOqSKqRgQn5zhV9pQhHsb6Q==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-flexible-checksums@3.697.0': + resolution: {integrity: sha512-K/y43P+NuHu5+21/29BoJSltcPekvcCU8i74KlGGHbW2Z105e5QVZlFjxivcPOjOA3gdC0W4SoFSIWam5RBhzw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-host-header@3.696.0': + resolution: {integrity: sha512-zELJp9Ta2zkX7ELggMN9qMCgekqZhFC5V2rOr4hJDEb/Tte7gpfKSObAnw/3AYiVqt36sjHKfdkoTsuwGdEoDg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-location-constraint@3.696.0': + resolution: {integrity: sha512-FgH12OB0q+DtTrP2aiDBddDKwL4BPOrm7w3VV9BJrSdkqQCNBPz8S1lb0y5eVH4tBG+2j7gKPlOv1wde4jF/iw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-logger@3.696.0': + resolution: {integrity: sha512-KhkHt+8AjCxcR/5Zp3++YPJPpFQzxpr+jmONiT/Jw2yqnSngZ0Yspm5wGoRx2hS1HJbyZNuaOWEGuJoxLeBKfA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.696.0': + resolution: {integrity: sha512-si/maV3Z0hH7qa99f9ru2xpS5HlfSVcasRlNUXKSDm611i7jFMWwGNLUOXFAOLhXotPX5G3Z6BLwL34oDeBMug==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-sdk-s3@3.696.0': + resolution: {integrity: sha512-M7fEiAiN7DBMHflzOFzh1I2MNSlLpbiH2ubs87bdRc2wZsDPSbs4l3v6h3WLhxoQK0bq6vcfroudrLBgvCuX3Q==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-ssec@3.696.0': + resolution: {integrity: sha512-w/d6O7AOZ7Pg3w2d3BxnX5RmGNWb5X4RNxF19rJqcgu/xqxxE/QwZTNd5a7eTsqLXAUIfbbR8hh0czVfC1pJLA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-user-agent@3.696.0': + resolution: {integrity: sha512-Lvyj8CTyxrHI6GHd2YVZKIRI5Fmnugt3cpJo0VrKKEgK5zMySwEZ1n4dqPK6czYRWKd5+WnYHYAuU+Wdk6Jsjw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/region-config-resolver@3.696.0': + resolution: {integrity: sha512-7EuH142lBXjI8yH6dVS/CZeiK/WZsmb/8zP6bQbVYpMrppSTgB3MzZZdxVZGzL5r8zPQOU10wLC4kIMy0qdBVQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/signature-v4-multi-region@3.696.0': + resolution: {integrity: sha512-ijPkoLjXuPtgxAYlDoYls8UaG/VKigROn9ebbvPL/orEY5umedd3iZTcS9T+uAf4Ur3GELLxMQiERZpfDKaz3g==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/token-providers@3.699.0': + resolution: {integrity: sha512-kuiEW9DWs7fNos/SM+y58HCPhcIzm1nEZLhe2/7/6+TvAYLuEWURYsbK48gzsxXlaJ2k/jGY3nIsA7RptbMOwA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.693.0 + '@aws-sdk/client-sso-oidc': ^3.699.0 - '@aws-sdk/credential-provider-node@3.687.0': - resolution: {integrity: sha512-Pqld8Nx11NYaBUrVk3bYiGGpLCxkz8iTONlpQWoVWFhSOzlO7zloNOaYbD2XgFjjqhjlKzE91drs/f41uGeCTA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-node@3.693.0': - resolution: {integrity: sha512-42WMsBjTNnjYxYuM3qD/Nq+8b7UdMopUq5OduMDxoM3mFTV6PXMMnfI4Z1TNnR4tYRvPXAnuNltF6xmjKbSJRA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-process@3.686.0': - resolution: {integrity: sha512-sXqaAgyzMOc+dm4CnzAR5Q6S9OWVHyZjLfW6IQkmGjqeQXmZl24c4E82+w64C+CTkJrFLzH1VNOYp1Hy5gE6Qw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-process@3.693.0': - resolution: {integrity: sha512-cvxQkrTWHHjeHrPlj7EWXPnFSq8x7vMx+Zn1oTsMpCY445N9KuzjfJTkmNGwU2GT6rSZI9/0MM02aQvl5bBBTQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-sso@3.687.0': - resolution: {integrity: sha512-N1YCoE7DovIRF2ReyRrA4PZzF0WNi4ObPwdQQkVxhvSm7PwjbWxrfq7rpYB+6YB1Uq3QPzgVwUFONE36rdpxUQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-sso@3.693.0': - resolution: {integrity: sha512-479UlJxY+BFjj3pJFYUNC0DCMrykuG7wBAXfsvZqQxKUa83DnH5Q1ID/N2hZLkxjGd4ZW0AC3lTOMxFelGzzpQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/credential-provider-web-identity@3.686.0': - resolution: {integrity: sha512-40UqCpPxyHCXDP7CGd9JIOZDgDZf+u1OyLaGBpjQJlz1HYuEsIWnnbTe29Yg3Ah/Zc3g4NBWcUdlGVotlnpnDg==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.686.0 - - '@aws-sdk/credential-provider-web-identity@3.693.0': - resolution: {integrity: sha512-8LB210Pr6VeCiSb2hIra+sAH4KUBLyGaN50axHtIgufVK8jbKIctTZcVY5TO9Se+1107TsruzeXS7VeqVdJfFA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.693.0 - - '@aws-sdk/credential-providers@3.687.0': - resolution: {integrity: sha512-3aKlmKaOplpanOycmoigbTrQsqtxpzhpfquCey51aHf9GYp2yYyYF1YOgkXpE3qm3w6eiEN1asjJ2gqoECUuPA==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-bucket-endpoint@3.693.0': - resolution: {integrity: sha512-cPIa+lxMYiFRHtxKfNIVSFGO6LSgZCk42pu3d7KGwD6hu6vXRD5B2/DD3rPcEH1zgl2j0Kx1oGAV7SRXKHSFag==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-expect-continue@3.693.0': - resolution: {integrity: sha512-MuK/gsJWpHz6Tv0CqTCS+QNOxLa2RfPh1biVCu/uO3l7kA0TjQ/C+tfgKvLXeH103tuDrOVINK+bt2ENmI3SWg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-flexible-checksums@3.693.0': - resolution: {integrity: sha512-xkS6zjuE11ob93H9t65kHzphXcUMnN2SmIm2wycUPg+hi8Q6DJA6U2p//6oXkrr9oHy1QvwtllRd7SAd63sFKQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-host-header@3.686.0': - resolution: {integrity: sha512-+Yc6rO02z+yhFbHmRZGvEw1vmzf/ifS9a4aBjJGeVVU+ZxaUvnk+IUZWrj4YQopUQ+bSujmMUzJLXSkbDq7yuw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-host-header@3.693.0': - resolution: {integrity: sha512-BCki6sAZ5jYwIN/t3ElCiwerHad69ipHwPsDCxJQyeiOnJ8HG+lEpnVIfrnI8A0fLQNSF3Gtx6ahfBpKiv1Oug==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-location-constraint@3.693.0': - resolution: {integrity: sha512-eDAExTZ9uNIP7vs2JCVCOuWJauGueisBSn+Ovt7UvvuEUp6KOIJqn8oFxWmyUQu2GvbG4OcaTLgbqD95YHTB0Q==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-logger@3.686.0': - resolution: {integrity: sha512-cX43ODfA2+SPdX7VRxu6gXk4t4bdVJ9pkktbfnkE5t27OlwNfvSGGhnHrQL8xTOFeyQ+3T+oowf26gf1OI+vIg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-logger@3.693.0': - resolution: {integrity: sha512-dXnXDPr+wIiJ1TLADACI1g9pkSB21KkMIko2u4CJ2JCBoxi5IqeTnVoa6YcC8GdFNVRl+PorZ3Zqfmf1EOTC6w==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-recursion-detection@3.686.0': - resolution: {integrity: sha512-jF9hQ162xLgp9zZ/3w5RUNhmwVnXDBlABEUX8jCgzaFpaa742qR/KKtjjZQ6jMbQnP+8fOCSXFAVNMU+s6v81w==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-recursion-detection@3.693.0': - resolution: {integrity: sha512-0LDmM+VxXp0u3rG0xQRWD/q6Ubi7G8I44tBPahevD5CaiDZTkmNTrVUf0VEJgVe0iCKBppACMBDkLB0/ETqkFw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-sdk-s3@3.693.0': - resolution: {integrity: sha512-5A++RBjJ3guyq5pbYs+Oq5hMlA8CK2OWaHx09cxVfhHWl/RoaY8DXrft4gnhoUEBrrubyMw7r9j7RIMLvS58kg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-ssec@3.693.0': - resolution: {integrity: sha512-Ro5vzI7SRgEeuoMk3fKqFjGv6mG4c7VsSCDwnkiasmafQFBTPvUIpgmu2FXMHqW/OthvoiOzpSrlJ9Bwlx2f8A==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-user-agent@3.687.0': - resolution: {integrity: sha512-nUgsKiEinyA50CaDXojAkOasAU3Apdg7Qox6IjNUC4ZjgOu7QWsCDB5N28AYMUt06cNYeYQdfMX1aEzG85a1Mg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/middleware-user-agent@3.693.0': - resolution: {integrity: sha512-/KUq/KEpFFbQmNmpp7SpAtFAdViquDfD2W0QcG07zYBfz9MwE2ig48ALynXm5sMpRmnG7sJXjdvPtTsSVPfkiw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/region-config-resolver@3.686.0': - resolution: {integrity: sha512-6zXD3bSD8tcsMAVVwO1gO7rI1uy2fCD3czgawuPGPopeLiPpo6/3FoUWCQzk2nvEhj7p9Z4BbjwZGSlRkVrXTw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/region-config-resolver@3.693.0': - resolution: {integrity: sha512-YLUkMsUY0GLW/nfwlZ69cy1u07EZRmsv8Z9m0qW317/EZaVx59hcvmcvb+W4bFqj5E8YImTjoGfE4cZ0F9mkyw==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/signature-v4-multi-region@3.693.0': - resolution: {integrity: sha512-s7zbbsoVIriTR4ZGaateKuTqz6ddpazAyHvjk7I9kd+NvGNPiuAI18UdbuiiRI6K5HuYKf1ah6mKWFGPG15/kQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/token-providers@3.686.0': - resolution: {integrity: sha512-9oL4kTCSePFmyKPskibeiOXV6qavPZ63/kXM9Wh9V6dTSvBtLeNnMxqGvENGKJcTdIgtoqyqA6ET9u0PJ5IRIg==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.686.0 - - '@aws-sdk/token-providers@3.693.0': - resolution: {integrity: sha512-nDBTJMk1l/YmFULGfRbToOA2wjf+FkQT4dMgYCv+V9uSYsMzQj8A7Tha2dz9yv4vnQgYaEiErQ8d7HVyXcVEoA==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.693.0 - - '@aws-sdk/types@3.686.0': - resolution: {integrity: sha512-xFnrb3wxOoJcW2Xrh63ZgFo5buIu9DF7bOHnwoUxHdNpUXicUh0AHw85TjXxyxIAd0d1psY/DU7QHoNI3OswgQ==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/types@3.692.0': - resolution: {integrity: sha512-RpNvzD7zMEhiKgmlxGzyXaEcg2khvM7wd5sSHVapOcrde1awQSOMGI4zKBQ+wy5TnDfrm170ROz/ERLYtrjPZA==} + '@aws-sdk/types@3.696.0': + resolution: {integrity: sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==} engines: {node: '>=16.0.0'} '@aws-sdk/util-arn-parser@3.693.0': resolution: {integrity: sha512-WC8x6ca+NRrtpAH64rWu+ryDZI3HuLwlEr8EU6/dbC/pt+r/zC0PBoC15VEygUaBA+isppCikQpGyEDu0Yj7gQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-endpoints@3.686.0': - resolution: {integrity: sha512-7msZE2oYl+6QYeeRBjlDgxQUhq/XRky3cXE0FqLFs2muLS7XSuQEXkpOXB3R782ygAP6JX0kmBxPTLurRTikZg==} - engines: {node: '>=16.0.0'} - - '@aws-sdk/util-endpoints@3.693.0': - resolution: {integrity: sha512-eo4F6DRQ/kxS3gxJpLRv+aDNy76DxQJL5B3DPzpr9Vkq0ygVoi4GT5oIZLVaAVIJmi6k5qq9dLsYZfWLUxJJSg==} + '@aws-sdk/util-endpoints@3.696.0': + resolution: {integrity: sha512-T5s0IlBVX+gkb9g/I6CLt4yAZVzMSiGnbUqWihWsHvQR1WOoIcndQy/Oz/IJXT9T2ipoy7a80gzV6a5mglrioA==} engines: {node: '>=16.0.0'} '@aws-sdk/util-locate-window@3.693.0': resolution: {integrity: sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-user-agent-browser@3.686.0': - resolution: {integrity: sha512-YiQXeGYZegF1b7B2GOR61orhgv79qmI0z7+Agm3NXLO6hGfVV3kFUJbXnjtH1BgWo5hbZYW7HQ2omGb3dnb6Lg==} + '@aws-sdk/util-user-agent-browser@3.696.0': + resolution: {integrity: sha512-Z5rVNDdmPOe6ELoM5AhF/ja5tSjbe6ctSctDPb0JdDf4dT0v2MfwhJKzXju2RzX8Es/77Glh7MlaXLE0kCB9+Q==} - '@aws-sdk/util-user-agent-browser@3.693.0': - resolution: {integrity: sha512-6EUfuKOujtddy18OLJUaXfKBgs+UcbZ6N/3QV4iOkubCUdeM1maIqs++B9bhCbWeaeF5ORizJw5FTwnyNjE/mw==} - - '@aws-sdk/util-user-agent-node@3.687.0': - resolution: {integrity: sha512-idkP6ojSTZ4ek1pJ8wIN7r9U3KR5dn0IkJn3KQBXQ58LWjkRqLtft2vxzdsktWwhPKjjmIKl1S0kbvqLawf8XQ==} + '@aws-sdk/util-user-agent-node@3.696.0': + resolution: {integrity: sha512-KhKqcfyXIB0SCCt+qsu4eJjsfiOrNzK5dCV7RAW2YIpp+msxGUUX0NdRE9rkzjiv+3EMktgJm3eEIS+yxtlVdQ==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -327,17 +240,8 @@ packages: aws-crt: optional: true - '@aws-sdk/util-user-agent-node@3.693.0': - resolution: {integrity: sha512-td0OVX8m5ZKiXtecIDuzY3Y3UZIzvxEr57Hp21NOwieqKCG2UeyQWWeGPv0FQaU7dpTkvFmVNI+tx9iB8V/Nhg==} - engines: {node: '>=16.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - - '@aws-sdk/xml-builder@3.693.0': - resolution: {integrity: sha512-C/rPwJcqnV8VDr2/VtcQnymSpcfEEgH1Jm6V0VmfXNZFv4Qzf1eCS8nsec0gipYgZB+cBBjfXw5dAk6pJ8ubpw==} + '@aws-sdk/xml-builder@3.696.0': + resolution: {integrity: sha512-dn1mX+EeqivoLYnY7p2qLrir0waPnCgS/0YdRCAVU2x14FgfUYCH6Im3w3oi2dMwhxfKY5lYVB5NKvZu7uI9lQ==} engines: {node: '>=16.0.0'} '@babel/code-frame@7.26.2': @@ -696,6 +600,18 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@koa/router@9.4.0': resolution: {integrity: sha512-dOOXgzqaDoHu5qqMEPLKEgLz5CeIA7q8+1W62mCvFVCOqeC71UoTGJ4u1xUSOpIl2J1x2pqrNULkFteUeZW3/A==} engines: {node: '>= 8.0.0'} @@ -785,8 +701,8 @@ packages: '@push.rocks/mongodump@1.0.8': resolution: {integrity: sha512-oDufyjNBg8I50OaJvbHhc0RnRpJQ544dr9her0G6sA8JmI3hD2/amTdcPLVIX1kzYf5GsTUKeWuRaZgdNqz3ew==} - '@push.rocks/qenv@6.0.5': - resolution: {integrity: sha512-Id/eSKKqSDUGe+0Cp5HEJ58J1iVv1jQseLUMs9kFTPYwG+NJSETUCRsJV50w5cPv8bRFcSkSU+xVbUbOc1p29A==} + '@push.rocks/qenv@6.1.0': + resolution: {integrity: sha512-1FUFMlSVwFSFg8LbqfkzJ2LLP4lMGApUtgOpsvrde6+AxBmB4gjoNgCUH7z3xXfDAtYqcrtSELXBNE0xVL1MqQ==} '@push.rocks/smartarchive@3.0.8': resolution: {integrity: sha512-1jPmR0b7hXmjYQoRiTlRXrIbZcdcFmSdGOfznufjcDpGPe86Km0d8TBnzqghTx4dTihzKC67IxAaz/DM3lvxpA==} @@ -797,8 +713,8 @@ packages: '@push.rocks/smartbucket@2.0.4': resolution: {integrity: sha512-nRJq0JZaj4q55alDpJxcDpYtfydIEGab9Qcx+L+O1pwimH7TcQBZnDsJdMejYw20kKztDiVT70NgWi4BdHobzQ==} - '@push.rocks/smartbucket@3.0.23': - resolution: {integrity: sha512-Ad+pcO0fXTptgaaUHA4X2jfU1qEztNQD6nzRXWpnPtT2WtaO4obSG16nEs1KiuY8uc4LvH+X5SWT31okHU7IVA==} + '@push.rocks/smartbucket@3.1.0': + resolution: {integrity: sha512-wemRxdd98aPori0/0M/GzHIdT+2zsonqxTNdt/iP1/WAvZX3+MEzF4/iP3PE8t5k7Tsv/PqkJBG2e3rLEhTnXA==} '@push.rocks/smartbuffer@3.0.4': resolution: {integrity: sha512-TLfhx/JD61YC8XGO9TI6Ux6US38R14HaIM84QT8hZZod8axfXrg+h8xA8tMUBpSV8PXsQy9LzxmOq0Il1fmDXw==} @@ -938,8 +854,8 @@ packages: '@push.rocks/smartstream@2.0.8': resolution: {integrity: sha512-GlF/9cCkvBHwKa3DK4DO5wjfSgqkj6gAS4TrY9uD5NMHu9RQv4WiNrElTYj7iCEpnZgUnLO3tzw1JA3NRIMnnA==} - '@push.rocks/smartstream@3.2.4': - resolution: {integrity: sha512-ddQhxVj7s4DPpyVP8cucBf/z7Z1ph9cVa0y225d0vhfI1mVtRTw5IXhe0ON1PaattmAu76FsCxDOP1Y/XHIxpQ==} + '@push.rocks/smartstream@3.2.5': + resolution: {integrity: sha512-PLGGIFDy8JLNVUnnntMSIYN4W081YSbNC7Y/sWpvUT8PAXtbEXXUiDFgK5o3gcI0ptpKQxHAwxhzNlPj0sbFVg==} '@push.rocks/smartstring@4.0.15': resolution: {integrity: sha512-NTNeOjWyg+aHtBTiQEyXamr7oTvYZ3wS1fudHo9ua7CLrykpK+i+RxFyJaLg1zB5x9xQF3NLEQecB14HPFX8Cg==} @@ -962,8 +878,8 @@ packages: '@push.rocks/smartyaml@2.0.5': resolution: {integrity: sha512-tBcf+HaOIfeEsTMwgUZDtZERCxXQyRsWO8Ar5DjBdiSRchbhVGZQEBzXswMS0W5ZoRenjgPK+4tPW3JQGRTfbg==} - '@push.rocks/tapbundle@5.5.0': - resolution: {integrity: sha512-B+pr/bGOe2R+OGq206syf8bG//WBX0OjbcQ10Td5jUgAOrb5km/ERyqe3Y2BfjbRq4Q4JuWJAZttbU9xfATosg==} + '@push.rocks/tapbundle@5.5.3': + resolution: {integrity: sha512-+wi5FsUW9YHn10vU17CE3D7lipLF3CWKoGlj5kQZtpemWsu1NxytOiIDYCPfUj2kkJuRJiqiyZY+bV2hNsS65g==} '@push.rocks/taskbuffer@3.1.7': resolution: {integrity: sha512-QktGVJPucqQmW/QNGnscf4FAigT1H7JWKFGFdRuDEaOHKFh9qN+PXG3QY7DtZ4jfXdGLxPN4yAufDuPSAJYFnw==} @@ -1107,6 +1023,9 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/is@5.6.0': resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} @@ -1125,12 +1044,8 @@ packages: resolution: {integrity: sha512-YAJP9UJFZRZ8N+UruTeq78zkdjUHmzsY62J4qKWZ4SXB4QXJ/+680EfXXgkYA2xj77ooMqtUY9m406zGNqwivQ==} engines: {node: '>=16.0.0'} - '@smithy/core@2.5.3': - resolution: {integrity: sha512-96uW8maifUSmehaeW7uydWn7wBc98NEeNI3zN8vqakGpyCQgzyJaA64Z4FCOUmAdCJkhppd/7SZ798Fo4Xx37g==} - engines: {node: '>=16.0.0'} - - '@smithy/credential-provider-imds@3.2.5': - resolution: {integrity: sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg==} + '@smithy/core@2.5.4': + resolution: {integrity: sha512-iFh2Ymn2sCziBRLPuOOxRPkuCx/2gBdXtBGuCUFLUe6bWYjKnhHyIPqGeNkLZ5Aco/5GjebRTBFiWID3sDbrKw==} engines: {node: '>=16.0.0'} '@smithy/credential-provider-imds@3.2.7': @@ -1188,12 +1103,12 @@ packages: resolution: {integrity: sha512-1mDEXqzM20yywaMDuf5o9ue8OkJ373lSPbaSjyEvkWdqELhFMyNNgKGWL/rCSf4KME8B+HlHKuR8u9kRj8HzEQ==} engines: {node: '>=16.0.0'} - '@smithy/middleware-endpoint@3.2.3': - resolution: {integrity: sha512-Hdl9296i/EMptaX7agrSzJZDiz5Y8XPUeBbctTmMtnCguGpqfU3jVsTUan0VLaOhsnquqWLL8Bl5HrlbVGT1og==} + '@smithy/middleware-endpoint@3.2.4': + resolution: {integrity: sha512-TybiW2LA3kYVd3e+lWhINVu1o26KJbBwOpADnf0L4x/35vLVica77XVR5hvV9+kWeTGeSJ3IHTcYxbRxlbwhsg==} engines: {node: '>=16.0.0'} - '@smithy/middleware-retry@3.0.27': - resolution: {integrity: sha512-H3J/PjJpLL7Tt+fxDKiOD25sMc94YetlQhCnYeNmina2LZscAdu0ZEZPas/kwePHABaEtqp7hqa5S4UJgMs1Tg==} + '@smithy/middleware-retry@3.0.28': + resolution: {integrity: sha512-vK2eDfvIXG1U64FEUhYxoZ1JSj4XFbYWkK36iz02i3pFwWiDz1Q7jKhGTBCwx/7KqJNk4VS7d7cDLXFOvP7M+g==} engines: {node: '>=16.0.0'} '@smithy/middleware-serde@3.0.10': @@ -1216,10 +1131,6 @@ packages: resolution: {integrity: sha512-n1MJZGTorTH2DvyTVj+3wXnd4CzjJxyXeOgnTlgNVFxaaMeT4OteEp4QrzF8p9ee2yg42nvyVK6R/awLCakjeQ==} engines: {node: '>=16.0.0'} - '@smithy/property-provider@3.1.8': - resolution: {integrity: sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA==} - engines: {node: '>=16.0.0'} - '@smithy/protocol-http@4.1.7': resolution: {integrity: sha512-FP2LepWD0eJeOTm0SjssPcgqAlDFzOmRXqXmGhfIM52G7Lrox/pcpQf6RP4F21k0+O12zaqQt5fCDOeBtqY6Cg==} engines: {node: '>=16.0.0'} @@ -1244,8 +1155,8 @@ packages: resolution: {integrity: sha512-pPSQQ2v2vu9vc8iew7sszLd0O09I5TRc5zhY71KA+Ao0xYazIG+uLeHbTJfIWGO3BGVLiXjUr3EEeCcEQLjpWQ==} engines: {node: '>=16.0.0'} - '@smithy/smithy-client@3.4.4': - resolution: {integrity: sha512-dPGoJuSZqvirBq+yROapBcHHvFjChoAQT8YPWJ820aPHHiowBlB3RL1Q4kPT1hx0qKgJuf+HhyzKi5Gbof4fNA==} + '@smithy/smithy-client@3.4.5': + resolution: {integrity: sha512-k0sybYT9zlP79sIKd1XGm4TmK0AS1nA2bzDHXx7m0nGi3RQ8dxxQUs4CPkSmQTKAo+KF9aINU3KzpGIpV7UoMw==} engines: {node: '>=16.0.0'} '@smithy/types@3.7.1': @@ -1278,12 +1189,12 @@ packages: resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} engines: {node: '>=16.0.0'} - '@smithy/util-defaults-mode-browser@3.0.27': - resolution: {integrity: sha512-GV8NvPy1vAGp7u5iD/xNKUxCorE4nQzlyl057qRac+KwpH5zq8wVq6rE3lPPeuFLyQXofPN6JwxL1N9ojGapiQ==} + '@smithy/util-defaults-mode-browser@3.0.28': + resolution: {integrity: sha512-6bzwAbZpHRFVJsOztmov5PGDmJYsbNSoIEfHSJJyFLzfBGCCChiO3od9k7E/TLgrCsIifdAbB9nqbVbyE7wRUw==} engines: {node: '>= 10.0.0'} - '@smithy/util-defaults-mode-node@3.0.27': - resolution: {integrity: sha512-7+4wjWfZqZxZVJvDutO+i1GvL6bgOajEkop4FuR6wudFlqBiqwxw3HoH6M9NgeCd37km8ga8NPp2JacQEtAMPg==} + '@smithy/util-defaults-mode-node@3.0.28': + resolution: {integrity: sha512-78ENJDorV1CjOQselGmm3+z7Yqjj5HWCbjzh0Ixuq736dh1oEnD9sAttSBNSLlpZsX8VQnmERqA2fEFlmqWn8w==} engines: {node: '>= 10.0.0'} '@smithy/util-endpoints@2.1.6': @@ -1505,6 +1416,9 @@ packages: '@types/node@22.9.0': resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} + '@types/node@22.9.3': + resolution: {integrity: sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==} + '@types/parse5@6.0.3': resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} @@ -1544,6 +1458,9 @@ packages: '@types/sinonjs__fake-timers@8.1.5': resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/symbol-tree@3.2.5': resolution: {integrity: sha512-zXnnyENt1TYQcS21MkPaJCVjfcPq7p7yc5mo5JACuumXp6sly5jnlS0IokHd+xmmuCbx6V7JqkMBpswR+nZAcw==} @@ -1592,6 +1509,12 @@ packages: '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -1661,6 +1584,10 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} @@ -1760,8 +1687,8 @@ packages: resolution: {integrity: sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ==} engines: {node: '>=6.9.0'} - bson@6.9.0: - resolution: {integrity: sha512-X9hJeyeM0//Fus+0pc5dSUMhhrrmWwQUtdavaQeF3Ta6m69matZkGWV/MrBcnwUeLC8W9kwwc2hfkZgUuCX3Ig==} + bson@6.10.0: + resolution: {integrity: sha512-ROchNosXMJD2cbQGm84KoP7vOGPO6/bOAW0veMMbzhXLqoZptcaYRVLitwvuhwhjjpU1qP4YZRWLhgETdgqUQw==} engines: {node: '>=16.20.1'} buffer-crc32@0.2.13: @@ -1824,6 +1751,10 @@ packages: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -1844,6 +1775,10 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + clean-css@4.2.4: resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} engines: {node: '>= 4.0'} @@ -1971,6 +1906,10 @@ packages: resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crypto-random-string@5.0.0: resolution: {integrity: sha512-KWjTXWwxFd6a94m5CdRGW/t82Tr8DoBc9dNnPCAbFI1EBweN6v1tv8y4Y1m7ndkp/nkIBRxUxAzpaBnR2k3bcQ==} engines: {node: '>=14.16'} @@ -2090,6 +2029,10 @@ packages: resolution: {integrity: sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==} engines: {node: '>=4.5.0'} + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -2180,6 +2123,10 @@ packages: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} engines: {node: '>=0.8.0'} + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -2208,6 +2155,10 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + express-force-ssl@0.3.2: resolution: {integrity: sha1-AbK0mK5v0uQRUrIrV6Phc3c69n4=} engines: {node: '>=0.2.2'} @@ -2706,6 +2657,26 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -3129,8 +3100,8 @@ packages: resolution: {integrity: sha512-mLV7SEiov2LHleRJPMPrK2PMyhXFZt2UQLC4VD4pnth3jMjYKHhtqfwwkkvS/NXuo/Fp3vbhaNcXrIDaLRb9Tg==} engines: {node: '>=12.9.0'} - mongodb@6.10.0: - resolution: {integrity: sha512-gP9vduuYWb9ZkDM546M+MP2qKVk5ZG2wPF63OvSRuUbqCR+11ZCAE1mOfllhlAG0wcoJY5yDL/rV3OmYEwXIzg==} + mongodb@6.11.0: + resolution: {integrity: sha512-yVbPw0qT268YKhG241vAMLaDQAPbRyTgo++odSgGc9kXnzOujQI60Iyj23B9sQQFPSvmNPvMZ3dsFz0aN55KgA==} engines: {node: '>=16.20.1'} peerDependencies: '@aws-sdk/credential-providers': ^3.188.0 @@ -3393,6 +3364,10 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -3452,6 +3427,10 @@ packages: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} + qs@6.13.1: + resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} + engines: {node: '>=0.6'} + query-string@7.1.3: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} @@ -3482,6 +3461,9 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -3694,6 +3676,10 @@ packages: stack-trace@0.0.10: resolution: {integrity: sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=} + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + statuses@1.5.0: resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} engines: {node: '>= 0.6'} @@ -4190,7 +4176,7 @@ snapshots: '@push.rocks/smartrequest': 2.0.23 '@push.rocks/smartrx': 3.0.7 '@push.rocks/smartsitemap': 2.0.3 - '@push.rocks/smartstream': 3.2.4 + '@push.rocks/smartstream': 3.2.5 '@push.rocks/smarttime': 4.0.8 '@push.rocks/taskbuffer': 3.1.7 '@push.rocks/webrequest': 3.0.37 @@ -4225,20 +4211,20 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@aws-sdk/util-locate-window': 3.693.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -4248,7 +4234,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@aws-sdk/util-locate-window': 3.693.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -4256,7 +4242,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -4265,48 +4251,48 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-cognito-identity@3.687.0': + '@aws-sdk/client-cognito-identity@3.699.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.687.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/client-sts': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/middleware-host-header': 3.686.0 - '@aws-sdk/middleware-logger': 3.686.0 - '@aws-sdk/middleware-recursion-detection': 3.686.0 - '@aws-sdk/middleware-user-agent': 3.687.0 - '@aws-sdk/region-config-resolver': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@aws-sdk/util-endpoints': 3.686.0 - '@aws-sdk/util-user-agent-browser': 3.686.0 - '@aws-sdk/util-user-agent-node': 3.687.0 + '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/client-sts': 3.699.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/middleware-host-header': 3.696.0 + '@aws-sdk/middleware-logger': 3.696.0 + '@aws-sdk/middleware-recursion-detection': 3.696.0 + '@aws-sdk/middleware-user-agent': 3.696.0 + '@aws-sdk/region-config-resolver': 3.696.0 + '@aws-sdk/types': 3.696.0 + '@aws-sdk/util-endpoints': 3.696.0 + '@aws-sdk/util-user-agent-browser': 3.696.0 + '@aws-sdk/util-user-agent-node': 3.696.0 '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/fetch-http-handler': 4.1.1 '@smithy/hash-node': 3.0.10 '@smithy/invalid-dependency': 3.0.10 '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 + '@smithy/middleware-endpoint': 3.2.4 + '@smithy/middleware-retry': 3.0.28 '@smithy/middleware-serde': 3.0.10 '@smithy/middleware-stack': 3.0.10 '@smithy/node-config-provider': 3.1.11 '@smithy/node-http-handler': 3.3.1 '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/url-parser': 3.0.10 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 + '@smithy/util-defaults-mode-browser': 3.0.28 + '@smithy/util-defaults-mode-node': 3.0.28 '@smithy/util-endpoints': 2.1.6 '@smithy/util-middleware': 3.0.10 '@smithy/util-retry': 3.0.10 @@ -4316,34 +4302,34 @@ snapshots: - aws-crt optional: true - '@aws-sdk/client-s3@3.693.0': + '@aws-sdk/client-s3@3.699.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.693.0(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/client-sts': 3.693.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/credential-provider-node': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/middleware-bucket-endpoint': 3.693.0 - '@aws-sdk/middleware-expect-continue': 3.693.0 - '@aws-sdk/middleware-flexible-checksums': 3.693.0 - '@aws-sdk/middleware-host-header': 3.693.0 - '@aws-sdk/middleware-location-constraint': 3.693.0 - '@aws-sdk/middleware-logger': 3.693.0 - '@aws-sdk/middleware-recursion-detection': 3.693.0 - '@aws-sdk/middleware-sdk-s3': 3.693.0 - '@aws-sdk/middleware-ssec': 3.693.0 - '@aws-sdk/middleware-user-agent': 3.693.0 - '@aws-sdk/region-config-resolver': 3.693.0 - '@aws-sdk/signature-v4-multi-region': 3.693.0 - '@aws-sdk/types': 3.692.0 - '@aws-sdk/util-endpoints': 3.693.0 - '@aws-sdk/util-user-agent-browser': 3.693.0 - '@aws-sdk/util-user-agent-node': 3.693.0 - '@aws-sdk/xml-builder': 3.693.0 + '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/client-sts': 3.699.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/middleware-bucket-endpoint': 3.696.0 + '@aws-sdk/middleware-expect-continue': 3.696.0 + '@aws-sdk/middleware-flexible-checksums': 3.697.0 + '@aws-sdk/middleware-host-header': 3.696.0 + '@aws-sdk/middleware-location-constraint': 3.696.0 + '@aws-sdk/middleware-logger': 3.696.0 + '@aws-sdk/middleware-recursion-detection': 3.696.0 + '@aws-sdk/middleware-sdk-s3': 3.696.0 + '@aws-sdk/middleware-ssec': 3.696.0 + '@aws-sdk/middleware-user-agent': 3.696.0 + '@aws-sdk/region-config-resolver': 3.696.0 + '@aws-sdk/signature-v4-multi-region': 3.696.0 + '@aws-sdk/types': 3.696.0 + '@aws-sdk/util-endpoints': 3.696.0 + '@aws-sdk/util-user-agent-browser': 3.696.0 + '@aws-sdk/util-user-agent-node': 3.696.0 + '@aws-sdk/xml-builder': 3.696.0 '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/eventstream-serde-browser': 3.0.13 '@smithy/eventstream-serde-config-resolver': 3.0.10 '@smithy/eventstream-serde-node': 3.0.12 @@ -4354,21 +4340,21 @@ snapshots: '@smithy/invalid-dependency': 3.0.10 '@smithy/md5-js': 3.0.10 '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 + '@smithy/middleware-endpoint': 3.2.4 + '@smithy/middleware-retry': 3.0.28 '@smithy/middleware-serde': 3.0.10 '@smithy/middleware-stack': 3.0.10 '@smithy/node-config-provider': 3.1.11 '@smithy/node-http-handler': 3.3.1 '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/url-parser': 3.0.10 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 + '@smithy/util-defaults-mode-browser': 3.0.28 + '@smithy/util-defaults-mode-node': 3.0.28 '@smithy/util-endpoints': 2.1.6 '@smithy/util-middleware': 3.0.10 '@smithy/util-retry': 3.0.10 @@ -4379,89 +4365,43 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)': + '@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/middleware-host-header': 3.686.0 - '@aws-sdk/middleware-logger': 3.686.0 - '@aws-sdk/middleware-recursion-detection': 3.686.0 - '@aws-sdk/middleware-user-agent': 3.687.0 - '@aws-sdk/region-config-resolver': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@aws-sdk/util-endpoints': 3.686.0 - '@aws-sdk/util-user-agent-browser': 3.686.0 - '@aws-sdk/util-user-agent-node': 3.687.0 + '@aws-sdk/client-sts': 3.699.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/middleware-host-header': 3.696.0 + '@aws-sdk/middleware-logger': 3.696.0 + '@aws-sdk/middleware-recursion-detection': 3.696.0 + '@aws-sdk/middleware-user-agent': 3.696.0 + '@aws-sdk/region-config-resolver': 3.696.0 + '@aws-sdk/types': 3.696.0 + '@aws-sdk/util-endpoints': 3.696.0 + '@aws-sdk/util-user-agent-browser': 3.696.0 + '@aws-sdk/util-user-agent-node': 3.696.0 '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/fetch-http-handler': 4.1.1 '@smithy/hash-node': 3.0.10 '@smithy/invalid-dependency': 3.0.10 '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 + '@smithy/middleware-endpoint': 3.2.4 + '@smithy/middleware-retry': 3.0.28 '@smithy/middleware-serde': 3.0.10 '@smithy/middleware-stack': 3.0.10 '@smithy/node-config-provider': 3.1.11 '@smithy/node-http-handler': 3.3.1 '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/url-parser': 3.0.10 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - optional: true - - '@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sts': 3.693.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/credential-provider-node': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/middleware-host-header': 3.693.0 - '@aws-sdk/middleware-logger': 3.693.0 - '@aws-sdk/middleware-recursion-detection': 3.693.0 - '@aws-sdk/middleware-user-agent': 3.693.0 - '@aws-sdk/region-config-resolver': 3.693.0 - '@aws-sdk/types': 3.692.0 - '@aws-sdk/util-endpoints': 3.693.0 - '@aws-sdk/util-user-agent-browser': 3.693.0 - '@aws-sdk/util-user-agent-node': 3.693.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 + '@smithy/util-defaults-mode-browser': 3.0.28 + '@smithy/util-defaults-mode-node': 3.0.28 '@smithy/util-endpoints': 2.1.6 '@smithy/util-middleware': 3.0.10 '@smithy/util-retry': 3.0.10 @@ -4470,85 +4410,41 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.687.0': + '@aws-sdk/client-sso@3.696.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/middleware-host-header': 3.686.0 - '@aws-sdk/middleware-logger': 3.686.0 - '@aws-sdk/middleware-recursion-detection': 3.686.0 - '@aws-sdk/middleware-user-agent': 3.687.0 - '@aws-sdk/region-config-resolver': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@aws-sdk/util-endpoints': 3.686.0 - '@aws-sdk/util-user-agent-browser': 3.686.0 - '@aws-sdk/util-user-agent-node': 3.687.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/middleware-host-header': 3.696.0 + '@aws-sdk/middleware-logger': 3.696.0 + '@aws-sdk/middleware-recursion-detection': 3.696.0 + '@aws-sdk/middleware-user-agent': 3.696.0 + '@aws-sdk/region-config-resolver': 3.696.0 + '@aws-sdk/types': 3.696.0 + '@aws-sdk/util-endpoints': 3.696.0 + '@aws-sdk/util-user-agent-browser': 3.696.0 + '@aws-sdk/util-user-agent-node': 3.696.0 '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/fetch-http-handler': 4.1.1 '@smithy/hash-node': 3.0.10 '@smithy/invalid-dependency': 3.0.10 '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 + '@smithy/middleware-endpoint': 3.2.4 + '@smithy/middleware-retry': 3.0.28 '@smithy/middleware-serde': 3.0.10 '@smithy/middleware-stack': 3.0.10 '@smithy/node-config-provider': 3.1.11 '@smithy/node-http-handler': 3.3.1 '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/url-parser': 3.0.10 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - optional: true - - '@aws-sdk/client-sso@3.693.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/middleware-host-header': 3.693.0 - '@aws-sdk/middleware-logger': 3.693.0 - '@aws-sdk/middleware-recursion-detection': 3.693.0 - '@aws-sdk/middleware-user-agent': 3.693.0 - '@aws-sdk/region-config-resolver': 3.693.0 - '@aws-sdk/types': 3.692.0 - '@aws-sdk/util-endpoints': 3.693.0 - '@aws-sdk/util-user-agent-browser': 3.693.0 - '@aws-sdk/util-user-agent-node': 3.693.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 + '@smithy/util-defaults-mode-browser': 3.0.28 + '@smithy/util-defaults-mode-node': 3.0.28 '@smithy/util-endpoints': 2.1.6 '@smithy/util-middleware': 3.0.10 '@smithy/util-retry': 3.0.10 @@ -4557,89 +4453,43 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.687.0': + '@aws-sdk/client-sts@3.699.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.687.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/core': 3.686.0 - '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/middleware-host-header': 3.686.0 - '@aws-sdk/middleware-logger': 3.686.0 - '@aws-sdk/middleware-recursion-detection': 3.686.0 - '@aws-sdk/middleware-user-agent': 3.687.0 - '@aws-sdk/region-config-resolver': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@aws-sdk/util-endpoints': 3.686.0 - '@aws-sdk/util-user-agent-browser': 3.686.0 - '@aws-sdk/util-user-agent-node': 3.687.0 + '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/core': 3.696.0 + '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/middleware-host-header': 3.696.0 + '@aws-sdk/middleware-logger': 3.696.0 + '@aws-sdk/middleware-recursion-detection': 3.696.0 + '@aws-sdk/middleware-user-agent': 3.696.0 + '@aws-sdk/region-config-resolver': 3.696.0 + '@aws-sdk/types': 3.696.0 + '@aws-sdk/util-endpoints': 3.696.0 + '@aws-sdk/util-user-agent-browser': 3.696.0 + '@aws-sdk/util-user-agent-node': 3.696.0 '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/fetch-http-handler': 4.1.1 '@smithy/hash-node': 3.0.10 '@smithy/invalid-dependency': 3.0.10 '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 + '@smithy/middleware-endpoint': 3.2.4 + '@smithy/middleware-retry': 3.0.28 '@smithy/middleware-serde': 3.0.10 '@smithy/middleware-stack': 3.0.10 '@smithy/node-config-provider': 3.1.11 '@smithy/node-http-handler': 3.3.1 '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/url-parser': 3.0.10 '@smithy/util-base64': 3.0.0 '@smithy/util-body-length-browser': 3.0.0 '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 - '@smithy/util-endpoints': 2.1.6 - '@smithy/util-middleware': 3.0.10 - '@smithy/util-retry': 3.0.10 - '@smithy/util-utf8': 3.0.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - optional: true - - '@aws-sdk/client-sts@3.693.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-sso-oidc': 3.693.0(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/core': 3.693.0 - '@aws-sdk/credential-provider-node': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/middleware-host-header': 3.693.0 - '@aws-sdk/middleware-logger': 3.693.0 - '@aws-sdk/middleware-recursion-detection': 3.693.0 - '@aws-sdk/middleware-user-agent': 3.693.0 - '@aws-sdk/region-config-resolver': 3.693.0 - '@aws-sdk/types': 3.692.0 - '@aws-sdk/util-endpoints': 3.693.0 - '@aws-sdk/util-user-agent-browser': 3.693.0 - '@aws-sdk/util-user-agent-node': 3.693.0 - '@smithy/config-resolver': 3.0.12 - '@smithy/core': 2.5.3 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/hash-node': 3.0.10 - '@smithy/invalid-dependency': 3.0.10 - '@smithy/middleware-content-length': 3.0.12 - '@smithy/middleware-endpoint': 3.2.3 - '@smithy/middleware-retry': 3.0.27 - '@smithy/middleware-serde': 3.0.10 - '@smithy/middleware-stack': 3.0.10 - '@smithy/node-config-provider': 3.1.11 - '@smithy/node-http-handler': 3.3.1 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.27 - '@smithy/util-defaults-mode-node': 3.0.27 + '@smithy/util-defaults-mode-browser': 3.0.28 + '@smithy/util-defaults-mode-node': 3.0.28 '@smithy/util-endpoints': 2.1.6 '@smithy/util-middleware': 3.0.10 '@smithy/util-retry': 3.0.10 @@ -4648,140 +4498,62 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.686.0': + '@aws-sdk/core@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/core': 2.5.3 - '@smithy/node-config-provider': 3.1.11 - '@smithy/property-provider': 3.1.8 - '@smithy/protocol-http': 4.1.7 - '@smithy/signature-v4': 4.2.3 - '@smithy/smithy-client': 3.4.4 - '@smithy/types': 3.7.1 - '@smithy/util-middleware': 3.0.10 - fast-xml-parser: 4.4.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/core@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 - '@smithy/core': 2.5.3 + '@aws-sdk/types': 3.696.0 + '@smithy/core': 2.5.4 '@smithy/node-config-provider': 3.1.11 '@smithy/property-provider': 3.1.10 '@smithy/protocol-http': 4.1.7 '@smithy/signature-v4': 4.2.3 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/util-middleware': 3.0.10 fast-xml-parser: 4.4.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-cognito-identity@3.687.0': + '@aws-sdk/credential-provider-cognito-identity@3.699.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.687.0 - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 + '@aws-sdk/client-cognito-identity': 3.699.0 + '@aws-sdk/types': 3.696.0 + '@smithy/property-provider': 3.1.10 '@smithy/types': 3.7.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt optional: true - '@aws-sdk/credential-provider-env@3.686.0': + '@aws-sdk/credential-provider-env@3.696.0': dependencies: - '@aws-sdk/core': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/credential-provider-env@3.693.0': - dependencies: - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/property-provider': 3.1.10 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.686.0': + '@aws-sdk/credential-provider-http@3.696.0': dependencies: - '@aws-sdk/core': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@smithy/fetch-http-handler': 4.1.1 - '@smithy/node-http-handler': 3.3.1 - '@smithy/property-provider': 3.1.8 - '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 - '@smithy/types': 3.7.1 - '@smithy/util-stream': 3.3.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/credential-provider-http@3.693.0': - dependencies: - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/fetch-http-handler': 4.1.1 '@smithy/node-http-handler': 3.3.1 '@smithy/property-provider': 3.1.10 '@smithy/protocol-http': 4.1.7 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/util-stream': 3.3.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)': + '@aws-sdk/credential-provider-ini@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)': dependencies: - '@aws-sdk/client-sts': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/credential-provider-env': 3.686.0 - '@aws-sdk/credential-provider-http': 3.686.0 - '@aws-sdk/credential-provider-process': 3.686.0 - '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/types': 3.686.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - optional: true - - '@aws-sdk/credential-provider-ini@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)': - dependencies: - '@aws-sdk/client-sts': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/credential-provider-env': 3.686.0 - '@aws-sdk/credential-provider-http': 3.686.0 - '@aws-sdk/credential-provider-process': 3.686.0 - '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/types': 3.686.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - optional: true - - '@aws-sdk/credential-provider-ini@3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.693.0)': - dependencies: - '@aws-sdk/client-sts': 3.693.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/credential-provider-env': 3.693.0 - '@aws-sdk/credential-provider-http': 3.693.0 - '@aws-sdk/credential-provider-process': 3.693.0 - '@aws-sdk/credential-provider-sso': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.693.0(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/types': 3.692.0 + '@aws-sdk/client-sts': 3.699.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/credential-provider-env': 3.696.0 + '@aws-sdk/credential-provider-http': 3.696.0 + '@aws-sdk/credential-provider-process': 3.696.0 + '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) + '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/types': 3.696.0 '@smithy/credential-provider-imds': 3.2.7 '@smithy/property-provider': 3.1.10 '@smithy/shared-ini-file-loader': 3.1.11 @@ -4791,55 +4563,15 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)': + '@aws-sdk/credential-provider-node@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0)': dependencies: - '@aws-sdk/credential-provider-env': 3.686.0 - '@aws-sdk/credential-provider-http': 3.686.0 - '@aws-sdk/credential-provider-ini': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/credential-provider-process': 3.686.0 - '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/types': 3.686.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - - aws-crt - optional: true - - '@aws-sdk/credential-provider-node@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0)': - dependencies: - '@aws-sdk/credential-provider-env': 3.686.0 - '@aws-sdk/credential-provider-http': 3.686.0 - '@aws-sdk/credential-provider-ini': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/credential-provider-process': 3.686.0 - '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/types': 3.686.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - - aws-crt - optional: true - - '@aws-sdk/credential-provider-node@3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.693.0)': - dependencies: - '@aws-sdk/credential-provider-env': 3.693.0 - '@aws-sdk/credential-provider-http': 3.693.0 - '@aws-sdk/credential-provider-ini': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/credential-provider-process': 3.693.0 - '@aws-sdk/credential-provider-sso': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.693.0(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/types': 3.692.0 + '@aws-sdk/credential-provider-env': 3.696.0 + '@aws-sdk/credential-provider-http': 3.696.0 + '@aws-sdk/credential-provider-ini': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/credential-provider-process': 3.696.0 + '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) + '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/types': 3.696.0 '@smithy/credential-provider-imds': 3.2.7 '@smithy/property-provider': 3.1.10 '@smithy/shared-ini-file-loader': 3.1.11 @@ -4850,61 +4582,21 @@ snapshots: - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/credential-provider-process@3.686.0': + '@aws-sdk/credential-provider-process@3.696.0': dependencies: - '@aws-sdk/core': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/credential-provider-process@3.693.0': - dependencies: - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/property-provider': 3.1.10 '@smithy/shared-ini-file-loader': 3.1.11 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.687.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))': + '@aws-sdk/credential-provider-sso@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))': dependencies: - '@aws-sdk/client-sso': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/token-providers': 3.686.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - optional: true - - '@aws-sdk/credential-provider-sso@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))': - dependencies: - '@aws-sdk/client-sso': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/token-providers': 3.686.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - optional: true - - '@aws-sdk/credential-provider-sso@3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))': - dependencies: - '@aws-sdk/client-sso': 3.693.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/token-providers': 3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/types': 3.692.0 + '@aws-sdk/client-sso': 3.696.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/token-providers': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) + '@aws-sdk/types': 3.696.0 '@smithy/property-provider': 3.1.10 '@smithy/shared-ini-file-loader': 3.1.11 '@smithy/types': 3.7.1 @@ -4913,42 +4605,32 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.686.0(@aws-sdk/client-sts@3.687.0)': + '@aws-sdk/credential-provider-web-identity@3.696.0(@aws-sdk/client-sts@3.699.0)': dependencies: - '@aws-sdk/client-sts': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/credential-provider-web-identity@3.693.0(@aws-sdk/client-sts@3.693.0)': - dependencies: - '@aws-sdk/client-sts': 3.693.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/client-sts': 3.699.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/property-provider': 3.1.10 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))': + '@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))': dependencies: - '@aws-sdk/client-cognito-identity': 3.687.0 - '@aws-sdk/client-sso': 3.687.0 - '@aws-sdk/client-sts': 3.687.0 - '@aws-sdk/core': 3.686.0 - '@aws-sdk/credential-provider-cognito-identity': 3.687.0 - '@aws-sdk/credential-provider-env': 3.686.0 - '@aws-sdk/credential-provider-http': 3.686.0 - '@aws-sdk/credential-provider-ini': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/credential-provider-node': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/credential-provider-process': 3.686.0 - '@aws-sdk/credential-provider-sso': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) - '@aws-sdk/credential-provider-web-identity': 3.686.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/types': 3.686.0 - '@smithy/credential-provider-imds': 3.2.5 - '@smithy/property-provider': 3.1.8 + '@aws-sdk/client-cognito-identity': 3.699.0 + '@aws-sdk/client-sso': 3.696.0 + '@aws-sdk/client-sts': 3.699.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/credential-provider-cognito-identity': 3.699.0 + '@aws-sdk/credential-provider-env': 3.696.0 + '@aws-sdk/credential-provider-http': 3.696.0 + '@aws-sdk/credential-provider-ini': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/credential-provider-node': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/credential-provider-process': 3.696.0 + '@aws-sdk/credential-provider-sso': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) + '@aws-sdk/credential-provider-web-identity': 3.696.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/types': 3.696.0 + '@smithy/credential-provider-imds': 3.2.7 + '@smithy/property-provider': 3.1.10 '@smithy/types': 3.7.1 tslib: 2.8.1 transitivePeerDependencies: @@ -4956,9 +4638,9 @@ snapshots: - aws-crt optional: true - '@aws-sdk/middleware-bucket-endpoint@3.693.0': + '@aws-sdk/middleware-bucket-endpoint@3.696.0': dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@aws-sdk/util-arn-parser': 3.693.0 '@smithy/node-config-provider': 3.1.11 '@smithy/protocol-http': 4.1.7 @@ -4966,20 +4648,20 @@ snapshots: '@smithy/util-config-provider': 3.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.693.0': + '@aws-sdk/middleware-expect-continue@3.696.0': dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/protocol-http': 4.1.7 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.693.0': + '@aws-sdk/middleware-flexible-checksums@3.697.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/is-array-buffer': 3.0.0 '@smithy/node-config-provider': 3.1.11 '@smithy/protocol-http': 4.1.7 @@ -4989,65 +4671,42 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.686.0': + '@aws-sdk/middleware-host-header@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/middleware-host-header@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/protocol-http': 4.1.7 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.693.0': + '@aws-sdk/middleware-location-constraint@3.696.0': dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.686.0': + '@aws-sdk/middleware-logger@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/middleware-logger@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.686.0': + '@aws-sdk/middleware-recursion-detection@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/middleware-recursion-detection@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/protocol-http': 4.1.7 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.693.0': + '@aws-sdk/middleware-sdk-s3@3.696.0': dependencies: - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 '@aws-sdk/util-arn-parser': 3.693.0 - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/node-config-provider': 3.1.11 '@smithy/protocol-http': 4.1.7 '@smithy/signature-v4': 4.2.3 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.10 @@ -5055,97 +4714,50 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.693.0': + '@aws-sdk/middleware-ssec@3.696.0': dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.687.0': + '@aws-sdk/middleware-user-agent@3.696.0': dependencies: - '@aws-sdk/core': 3.686.0 - '@aws-sdk/types': 3.686.0 - '@aws-sdk/util-endpoints': 3.686.0 - '@smithy/core': 2.5.3 - '@smithy/protocol-http': 4.1.7 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/middleware-user-agent@3.693.0': - dependencies: - '@aws-sdk/core': 3.693.0 - '@aws-sdk/types': 3.692.0 - '@aws-sdk/util-endpoints': 3.693.0 - '@smithy/core': 2.5.3 + '@aws-sdk/core': 3.696.0 + '@aws-sdk/types': 3.696.0 + '@aws-sdk/util-endpoints': 3.696.0 + '@smithy/core': 2.5.4 '@smithy/protocol-http': 4.1.7 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/region-config-resolver@3.686.0': + '@aws-sdk/region-config-resolver@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/node-config-provider': 3.1.11 - '@smithy/types': 3.7.1 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.10 - tslib: 2.8.1 - optional: true - - '@aws-sdk/region-config-resolver@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/node-config-provider': 3.1.11 '@smithy/types': 3.7.1 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.10 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.693.0': + '@aws-sdk/signature-v4-multi-region@3.696.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/middleware-sdk-s3': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/protocol-http': 4.1.7 '@smithy/signature-v4': 4.2.3 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.686.0(@aws-sdk/client-sso-oidc@3.687.0(@aws-sdk/client-sts@3.687.0))': + '@aws-sdk/token-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))': dependencies: - '@aws-sdk/client-sso-oidc': 3.687.0(@aws-sdk/client-sts@3.687.0) - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/token-providers@3.686.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))': - dependencies: - '@aws-sdk/client-sso-oidc': 3.693.0(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/types': 3.686.0 - '@smithy/property-provider': 3.1.8 - '@smithy/shared-ini-file-loader': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/token-providers@3.693.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0))': - dependencies: - '@aws-sdk/client-sso-oidc': 3.693.0(@aws-sdk/client-sts@3.693.0) - '@aws-sdk/types': 3.692.0 + '@aws-sdk/client-sso-oidc': 3.699.0(@aws-sdk/client-sts@3.699.0) + '@aws-sdk/types': 3.696.0 '@smithy/property-provider': 3.1.10 '@smithy/shared-ini-file-loader': 3.1.11 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/types@3.686.0': - dependencies: - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/types@3.692.0': + '@aws-sdk/types@3.696.0': dependencies: '@smithy/types': 3.7.1 tslib: 2.8.1 @@ -5154,17 +4766,9 @@ snapshots: dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.686.0': + '@aws-sdk/util-endpoints@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/types': 3.7.1 - '@smithy/util-endpoints': 2.1.6 - tslib: 2.8.1 - optional: true - - '@aws-sdk/util-endpoints@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/types': 3.7.1 '@smithy/util-endpoints': 2.1.6 tslib: 2.8.1 @@ -5173,39 +4777,22 @@ snapshots: dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.686.0': + '@aws-sdk/util-user-agent-browser@3.696.0': dependencies: - '@aws-sdk/types': 3.686.0 - '@smithy/types': 3.7.1 - bowser: 2.11.0 - tslib: 2.8.1 - optional: true - - '@aws-sdk/util-user-agent-browser@3.693.0': - dependencies: - '@aws-sdk/types': 3.692.0 + '@aws-sdk/types': 3.696.0 '@smithy/types': 3.7.1 bowser: 2.11.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.687.0': + '@aws-sdk/util-user-agent-node@3.696.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.687.0 - '@aws-sdk/types': 3.686.0 - '@smithy/node-config-provider': 3.1.11 - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - - '@aws-sdk/util-user-agent-node@3.693.0': - dependencies: - '@aws-sdk/middleware-user-agent': 3.693.0 - '@aws-sdk/types': 3.692.0 + '@aws-sdk/middleware-user-agent': 3.696.0 + '@aws-sdk/types': 3.696.0 '@smithy/node-config-provider': 3.1.11 '@smithy/types': 3.7.1 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.693.0': + '@aws-sdk/xml-builder@3.696.0': dependencies: '@smithy/types': 3.7.1 tslib: 2.8.1 @@ -5468,7 +5055,7 @@ snapshots: '@push.rocks/smartshell': 3.0.6 tsx: 4.19.2 - '@git.zone/tstest@1.0.90(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3)': + '@git.zone/tstest@1.0.90(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3)': dependencies: '@api.global/typedserver': 3.0.51 '@git.zone/tsbundle': 2.1.0 @@ -5480,7 +5067,7 @@ snapshots: '@push.rocks/smartlog': 3.0.7 '@push.rocks/smartpromise': 4.0.4 '@push.rocks/smartshell': 3.0.6 - '@push.rocks/tapbundle': 5.5.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + '@push.rocks/tapbundle': 5.5.3(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) '@types/ws': 8.5.13 figures: 6.1.0 ws: 8.18.0 @@ -5514,6 +5101,23 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jest/expect-utils@29.7.0': + dependencies: + jest-get-type: 29.6.3 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.9.3 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + '@koa/router@9.4.0': dependencies: debug: 4.3.7 @@ -5651,7 +5255,7 @@ snapshots: '@types/symbol-tree': 3.2.5 symbol-tree: 3.2.4 - '@push.rocks/mongodump@1.0.8(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))': + '@push.rocks/mongodump@1.0.8(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))': dependencies: '@pushrocks/lik': 6.0.2 '@pushrocks/smartfile': 9.0.6 @@ -5659,12 +5263,12 @@ snapshots: '@pushrocks/smartpath': 5.0.5 '@pushrocks/smartpromise': 3.1.10 '@tsclass/tsclass': 4.1.2 - mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)) + mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - '@push.rocks/qenv@6.0.5': + '@push.rocks/qenv@6.1.0': dependencies: '@api.global/typedrequest': 3.1.10 '@configvault.io/interfaces': 1.0.17 @@ -5709,14 +5313,14 @@ snapshots: '@types/minio': 7.1.1 minio: 7.1.3 - '@push.rocks/smartbucket@3.0.23': + '@push.rocks/smartbucket@3.1.0': dependencies: - '@aws-sdk/client-s3': 3.693.0 + '@aws-sdk/client-s3': 3.699.0 '@push.rocks/smartmime': 2.0.4 '@push.rocks/smartpath': 5.0.18 '@push.rocks/smartpromise': 4.0.4 '@push.rocks/smartrx': 3.0.7 - '@push.rocks/smartstream': 3.2.4 + '@push.rocks/smartstream': 3.2.5 '@push.rocks/smartstring': 4.0.15 '@push.rocks/smartunique': 3.0.9 '@tsclass/tsclass': 4.1.2 @@ -5757,12 +5361,12 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - '@push.rocks/smartdata@5.2.10(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3)': + '@push.rocks/smartdata@5.2.10(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3)': dependencies: '@push.rocks/lik': 6.1.0 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartlog': 3.0.7 - '@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + '@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) '@push.rocks/smartpromise': 4.0.4 '@push.rocks/smartrx': 3.0.7 '@push.rocks/smartstring': 4.0.15 @@ -5770,7 +5374,7 @@ snapshots: '@push.rocks/smartunique': 3.0.9 '@push.rocks/taskbuffer': 3.1.7 '@tsclass/tsclass': 4.1.2 - mongodb: 6.10.0(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + mongodb: 6.11.0(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/credential-providers' @@ -5842,7 +5446,7 @@ snapshots: '@push.rocks/smartpath': 5.0.18 '@push.rocks/smartpromise': 4.0.4 '@push.rocks/smartrequest': 2.0.23 - '@push.rocks/smartstream': 3.2.4 + '@push.rocks/smartstream': 3.2.5 '@types/fs-extra': 11.0.4 '@types/glob': 8.1.0 '@types/js-yaml': 4.0.9 @@ -5921,13 +5525,13 @@ snapshots: file-type: 19.6.0 mime: 4.0.4 - '@push.rocks/smartmongo@2.0.10(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3)': + '@push.rocks/smartmongo@2.0.10(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3)': dependencies: - '@push.rocks/mongodump': 1.0.8(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)) - '@push.rocks/smartdata': 5.2.10(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + '@push.rocks/mongodump': 1.0.8(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) + '@push.rocks/smartdata': 5.2.10(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) '@push.rocks/smartpath': 5.0.18 '@push.rocks/smartpromise': 4.0.4 - mongodb-memory-server: 8.16.1(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)) + mongodb-memory-server: 8.16.1(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/credential-providers' @@ -6039,7 +5643,7 @@ snapshots: '@push.rocks/smarts3@2.2.5': dependencies: - '@push.rocks/smartbucket': 3.0.23 + '@push.rocks/smartbucket': 3.1.0 '@push.rocks/smartfile': 11.0.21 '@push.rocks/smartpath': 5.0.18 '@tsclass/tsclass': 4.1.2 @@ -6116,7 +5720,7 @@ snapshots: from2: 2.3.0 through2: 4.0.2 - '@push.rocks/smartstream@3.2.4': + '@push.rocks/smartstream@3.2.5': dependencies: '@push.rocks/lik': 6.1.0 '@push.rocks/smartenv': 5.0.12 @@ -6166,24 +5770,25 @@ snapshots: '@types/js-yaml': 3.12.10 js-yaml: 3.14.1 - '@push.rocks/tapbundle@5.5.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3)': + '@push.rocks/tapbundle@5.5.3(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3)': dependencies: '@open-wc/testing': 4.0.0 '@push.rocks/consolecolor': 2.0.2 - '@push.rocks/qenv': 6.0.5 + '@push.rocks/qenv': 6.1.0 '@push.rocks/smartcrypto': 2.0.4 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartenv': 5.0.12 '@push.rocks/smartexpect': 1.2.1 '@push.rocks/smartfile': 11.0.21 '@push.rocks/smartjson': 5.0.20 - '@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0))(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3) + '@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0))(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3) '@push.rocks/smartpath': 5.0.18 '@push.rocks/smartpromise': 4.0.4 '@push.rocks/smartrequest': 2.0.23 '@push.rocks/smarts3': 2.2.5 '@push.rocks/smartshell': 3.0.6 '@push.rocks/smarttime': 4.0.8 + expect: 29.7.0 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/credential-providers' @@ -6431,6 +6036,8 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} + '@sinclair/typebox@0.27.8': {} + '@sindresorhus/is@5.6.0': {} '@smithy/abort-controller@3.1.8': @@ -6455,7 +6062,7 @@ snapshots: '@smithy/util-middleware': 3.0.10 tslib: 2.8.1 - '@smithy/core@2.5.3': + '@smithy/core@2.5.4': dependencies: '@smithy/middleware-serde': 3.0.10 '@smithy/protocol-http': 4.1.7 @@ -6466,15 +6073,6 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/credential-provider-imds@3.2.5': - dependencies: - '@smithy/node-config-provider': 3.1.11 - '@smithy/property-provider': 3.1.8 - '@smithy/types': 3.7.1 - '@smithy/url-parser': 3.0.10 - tslib: 2.8.1 - optional: true - '@smithy/credential-provider-imds@3.2.7': dependencies: '@smithy/node-config-provider': 3.1.11 @@ -6566,9 +6164,9 @@ snapshots: '@smithy/types': 3.7.1 tslib: 2.8.1 - '@smithy/middleware-endpoint@3.2.3': + '@smithy/middleware-endpoint@3.2.4': dependencies: - '@smithy/core': 2.5.3 + '@smithy/core': 2.5.4 '@smithy/middleware-serde': 3.0.10 '@smithy/node-config-provider': 3.1.11 '@smithy/shared-ini-file-loader': 3.1.11 @@ -6577,12 +6175,12 @@ snapshots: '@smithy/util-middleware': 3.0.10 tslib: 2.8.1 - '@smithy/middleware-retry@3.0.27': + '@smithy/middleware-retry@3.0.28': dependencies: '@smithy/node-config-provider': 3.1.11 '@smithy/protocol-http': 4.1.7 '@smithy/service-error-classification': 3.0.10 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 '@smithy/util-middleware': 3.0.10 '@smithy/util-retry': 3.0.10 @@ -6619,12 +6217,6 @@ snapshots: '@smithy/types': 3.7.1 tslib: 2.8.1 - '@smithy/property-provider@3.1.8': - dependencies: - '@smithy/types': 3.7.1 - tslib: 2.8.1 - optional: true - '@smithy/protocol-http@4.1.7': dependencies: '@smithy/types': 3.7.1 @@ -6661,10 +6253,10 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.8.1 - '@smithy/smithy-client@3.4.4': + '@smithy/smithy-client@3.4.5': dependencies: - '@smithy/core': 2.5.3 - '@smithy/middleware-endpoint': 3.2.3 + '@smithy/core': 2.5.4 + '@smithy/middleware-endpoint': 3.2.4 '@smithy/middleware-stack': 3.0.10 '@smithy/protocol-http': 4.1.7 '@smithy/types': 3.7.1 @@ -6709,21 +6301,21 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@3.0.27': + '@smithy/util-defaults-mode-browser@3.0.28': dependencies: '@smithy/property-provider': 3.1.10 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 bowser: 2.11.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@3.0.27': + '@smithy/util-defaults-mode-node@3.0.28': dependencies: '@smithy/config-resolver': 3.0.12 '@smithy/credential-provider-imds': 3.2.7 '@smithy/node-config-provider': 3.1.11 '@smithy/property-provider': 3.1.10 - '@smithy/smithy-client': 3.4.4 + '@smithy/smithy-client': 3.4.5 '@smithy/types': 3.7.1 tslib: 2.8.1 @@ -6803,7 +6395,7 @@ snapshots: '@types/accepts@1.3.7': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/babel__code-frame@7.0.6': {} @@ -6831,7 +6423,7 @@ snapshots: '@types/co-body@6.1.3': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/qs': 6.9.17 '@types/connect@3.4.38': @@ -6849,7 +6441,7 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 5.0.0 '@types/keygrip': 1.0.6 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/cors@2.8.17': dependencies: @@ -6874,7 +6466,7 @@ snapshots: '@types/express-serve-static-core@5.0.1': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -6908,12 +6500,12 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/glob@8.1.0': dependencies: @@ -6973,7 +6565,7 @@ snapshots: '@types/http-errors': 2.0.4 '@types/keygrip': 1.0.6 '@types/koa-compose': 3.2.8 - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/mdast@4.0.4': dependencies: @@ -6995,12 +6587,16 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/node@22.9.0': dependencies: undici-types: 6.19.8 + '@types/node@22.9.3': + dependencies: + undici-types: 6.19.8 + '@types/parse5@6.0.3': {} '@types/ping@0.4.4': {} @@ -7015,7 +6611,7 @@ snapshots: '@types/s3rver@3.7.4': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/semver@7.5.8': {} @@ -7041,6 +6637,8 @@ snapshots: '@types/sinonjs__fake-timers@8.1.5': {} + '@types/stack-utils@2.0.3': {} + '@types/symbol-tree@3.2.5': {} '@types/tar-stream@2.2.3': @@ -7073,7 +6671,7 @@ snapshots: '@types/whatwg-url@8.2.2': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/webidl-conversions': 7.0.3 '@types/which@2.0.2': {} @@ -7082,12 +6680,18 @@ snapshots: '@types/ws@7.4.7': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.3 '@types/ws@8.5.13': dependencies: '@types/node': 22.9.0 + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + '@types/yauzl@2.10.3': dependencies: '@types/node': 22.9.0 @@ -7212,6 +6816,8 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@5.2.0: {} + ansi-styles@6.2.1: {} argparse@1.0.10: @@ -7316,7 +6922,7 @@ snapshots: dependencies: buffer: 5.7.1 - bson@6.9.0: {} + bson@6.10.0: {} buffer-crc32@0.2.13: {} @@ -7386,6 +6992,11 @@ snapshots: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -7400,6 +7011,8 @@ snapshots: chownr@2.0.0: {} + ci-info@3.9.0: {} + clean-css@4.2.4: dependencies: source-map: 0.6.1 @@ -7420,7 +7033,7 @@ snapshots: dependencies: '@hapi/bourne': 3.0.0 inflation: 2.1.0 - qs: 6.13.0 + qs: 6.13.1 raw-body: 2.5.2 type-is: 1.6.18 @@ -7521,6 +7134,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-random-string@5.0.0: dependencies: type-fest: 2.19.0 @@ -7603,6 +7222,8 @@ snapshots: dependencies: streamsearch: 0.1.2 + diff-sequences@29.6.3: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -7743,6 +7364,8 @@ snapshots: escape-string-regexp@1.0.5: {} + escape-string-regexp@2.0.0: {} + escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -7757,7 +7380,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -7767,6 +7390,14 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + expect@29.7.0: + dependencies: + '@jest/expect-utils': 29.7.0 + jest-get-type: 29.6.3 + jest-matcher-utils: 29.7.0 + jest-message-util: 29.7.0 + jest-util: 29.7.0 + express-force-ssl@0.3.2: dependencies: lodash.assign: 3.2.0 @@ -8325,6 +7956,43 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-matcher-utils@29.7.0: + dependencies: + chalk: 4.1.2 + jest-diff: 29.7.0 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 22.9.3 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + js-base64@3.7.7: {} js-tokens@4.0.0: {} @@ -8959,7 +8627,7 @@ snapshots: '@types/whatwg-url': 11.0.5 whatwg-url: 13.0.0 - mongodb-memory-server-core@8.16.1(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)): + mongodb-memory-server-core@8.16.1(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)): dependencies: async-mutex: 0.3.2 camelcase: 6.3.0 @@ -8969,7 +8637,7 @@ snapshots: get-port: 5.1.1 https-proxy-agent: 5.0.1 md5-file: 5.0.0 - mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)) + mongodb: 4.17.2(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) new-find-package-json: 2.0.0 semver: 7.6.3 tar-stream: 2.2.0 @@ -8981,34 +8649,34 @@ snapshots: - aws-crt - supports-color - mongodb-memory-server@8.16.1(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)): + mongodb-memory-server@8.16.1(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)): dependencies: - mongodb-memory-server-core: 8.16.1(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)) + mongodb-memory-server-core: 8.16.1(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) tslib: 2.8.1 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - supports-color - mongodb@4.17.2(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.693.0)): + mongodb@4.17.2(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)): dependencies: bson: 4.7.2 mongodb-connection-string-url: 2.6.0 socks: 2.8.3 optionalDependencies: - '@aws-sdk/credential-providers': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) + '@aws-sdk/credential-providers': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) '@mongodb-js/saslprep': 1.1.9 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt - mongodb@6.10.0(@aws-sdk/credential-providers@3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)))(socks@2.8.3): + mongodb@6.11.0(@aws-sdk/credential-providers@3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)))(socks@2.8.3): dependencies: '@mongodb-js/saslprep': 1.1.9 - bson: 6.9.0 + bson: 6.10.0 mongodb-connection-string-url: 3.0.1 optionalDependencies: - '@aws-sdk/credential-providers': 3.687.0(@aws-sdk/client-sso-oidc@3.693.0(@aws-sdk/client-sts@3.687.0)) + '@aws-sdk/credential-providers': 3.699.0(@aws-sdk/client-sso-oidc@3.699.0(@aws-sdk/client-sts@3.699.0)) socks: 2.8.3 ms@2.0.0: {} @@ -9195,6 +8863,12 @@ snapshots: possible-typed-array-names@1.0.0: {} + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + pretty-ms@7.0.1: dependencies: parse-ms: 2.1.0 @@ -9271,6 +8945,10 @@ snapshots: dependencies: side-channel: 1.0.6 + qs@6.13.1: + dependencies: + side-channel: 1.0.6 + query-string@7.1.3: dependencies: decode-uri-component: 0.2.2 @@ -9306,6 +8984,8 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 + react-is@18.3.1: {} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -9592,6 +9272,10 @@ snapshots: stack-trace@0.0.10: {} + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + statuses@1.5.0: {} statuses@2.0.1: {} diff --git a/test/helpers/prepare.ts b/test/helpers/prepare.ts new file mode 100644 index 0000000..e69de29 diff --git a/test/test.metadata.ts b/test/test.metadata.ts new file mode 100644 index 0000000..4d60909 --- /dev/null +++ b/test/test.metadata.ts @@ -0,0 +1,7 @@ +import { tap, expect } from '@push.rocks/tapbundle'; + +tap.test('test metadata functionality', async () => { + +}) + +tap.start(); diff --git a/test/test.trash.ts b/test/test.trash.ts index 3787487..e6caa85 100644 --- a/test/test.trash.ts +++ b/test/test.trash.ts @@ -1,4 +1,5 @@ import { expect, expectAsync, tap } from '@push.rocks/tapbundle'; +import { jestExpect } from '@push.rocks/tapbundle/node'; import { Qenv } from '@push.rocks/qenv'; import * as smartbucket from '../ts/index.js'; @@ -11,28 +12,50 @@ let baseDirectory: smartbucket.Directory; tap.test('should create a valid smartbucket', async () => { testSmartbucket = new smartbucket.SmartBucket({ - accessKey: await testQenv.getEnvVarOnDemand('S3_KEY'), - accessSecret: await testQenv.getEnvVarOnDemand('S3_SECRET'), - endpoint: await testQenv.getEnvVarOnDemand('S3_ENDPOINT'), + accessKey: await testQenv.getEnvVarOnDemandStrict('S3_ACCESSKEY'), + accessSecret: await testQenv.getEnvVarOnDemandStrict('S3_ACCESSSECRET'), + endpoint: await testQenv.getEnvVarOnDemandStrict('S3_ENDPOINT'), }); expect(testSmartbucket).toBeInstanceOf(smartbucket.SmartBucket); - myBucket = await testSmartbucket.getBucketByName('testzone'); + myBucket = await testSmartbucket.getBucketByNameStrict(await testQenv.getEnvVarOnDemandStrict('S3_BUCKET'),); expect(myBucket).toBeInstanceOf(smartbucket.Bucket); - expect(myBucket.name).toEqual('testzone'); + expect(myBucket.name).toEqual('test-pushrocks-smartbucket'); +}); + +tap.test('should clean all contents', async () => { + await myBucket.cleanAllContents(); + expect(await myBucket.fastExists({ path: 'hithere/socool.txt' })).toBeFalse(); + expect(await myBucket.fastExists({ path: 'trashtest/trashme.txt' })).toBeFalse(); +}); + +tap.test('should delete a file into the normally', async () => { + const path = 'trashtest/trashme.txt'; + const file = await myBucket.fastPut({ + path, + contents: 'I\'m in the trash test content!', + }); + const fileMetadata = await (await file.getMetaData()).metadataFile.getContents(); + console.log(fileMetadata.toString()); + expect(await file.getMetaData().then((meta) => meta.metadataFile.getJsonData())).toEqual({}); + await file.delete({ mode: 'permanent' }); + expect((await (await myBucket.getBaseDirectory()).listFiles()).length).toEqual(0); + expect((await (await myBucket.getBaseDirectory()).listDirectories()).length).toEqual(0); }); tap.test('should put a file into the trash', async () => { - const path = 'hithere/socool.txt'; + const path = 'trashtest/trashme.txt'; const file = await myBucket.fastPut({ path, - contents: 'hi there!', + contents: 'I\'m in the trash test content!', }); + const fileMetadata = await (await file.getMetaData()).metadataFile.getContents(); + console.log(fileMetadata.toString()); expect(await file.getMetaData().then((meta) => meta.metadataFile.getJsonData())).toEqual({}); await file.delete({ mode: 'trash' }); - expect(await file.getMetaData().then((meta) => meta.metadataFile.getJsonData())).toEqual({ + jestExpect(await file.getMetaData().then((meta) => meta.metadataFile.getJsonData())).toEqual({ custom_recycle: { - deletedAt: 123, - originalPath: 'hithere/socool.txt', + deletedAt: jestExpect.any(Number), + originalPath: "trashtest/trashme.txt", }, }); }); diff --git a/test/test.ts b/test/test.ts index 7bb9854..2c8f752 100644 --- a/test/test.ts +++ b/test/test.ts @@ -11,14 +11,20 @@ let baseDirectory: smartbucket.Directory; tap.test('should create a valid smartbucket', async () => { testSmartbucket = new smartbucket.SmartBucket({ - accessKey: await testQenv.getEnvVarOnDemand('S3_KEY'), - accessSecret: await testQenv.getEnvVarOnDemand('S3_SECRET'), - endpoint: await testQenv.getEnvVarOnDemand('S3_ENDPOINT'), + accessKey: await testQenv.getEnvVarOnDemandStrict('S3_ACCESSKEY'), + accessSecret: await testQenv.getEnvVarOnDemandStrict('S3_ACCESSSECRET'), + endpoint: await testQenv.getEnvVarOnDemandStrict('S3_ENDPOINT'), }); expect(testSmartbucket).toBeInstanceOf(smartbucket.SmartBucket); - myBucket = await testSmartbucket.getBucketByName('testzone'); + myBucket = await testSmartbucket.getBucketByNameStrict(await testQenv.getEnvVarOnDemandStrict('S3_BUCKET'),); expect(myBucket).toBeInstanceOf(smartbucket.Bucket); - expect(myBucket.name).toEqual('testzone'); + expect(myBucket.name).toEqual('test-pushrocks-smartbucket'); +}); + +tap.test('should clean all contents', async () => { + await myBucket.cleanAllContents(); + expect(await myBucket.fastExists({ path: 'hithere/socool.txt' })).toBeFalse(); + expect(await myBucket.fastExists({ path: 'trashtest/trashme.txt' })).toBeFalse(); }); tap.skip.test('should create testbucket', async () => { @@ -100,8 +106,9 @@ tap.test('should get base directory', async () => { tap.test('should correctly build paths for sub directories', async () => { const dir4 = await baseDirectory.getSubDirectoryByName('dir3/dir4'); expect(dir4).toBeInstanceOf(smartbucket.Directory); - const dir4BasePath = dir4.getBasePath(); + const dir4BasePath = dir4?.getBasePath(); console.log(dir4BasePath); + expect(dir4BasePath).toEqual('dir3/dir4/'); }); tap.test('clean up directory style tests', async () => { diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index f5b6811..adb2d7c 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartbucket', - version: '3.1.0', + version: '3.2.0', description: 'A TypeScript library offering simple and cloud-agnostic object storage with advanced features like bucket creation, file and directory management, and data streaming.' } diff --git a/ts/classes.bucket.ts b/ts/classes.bucket.ts index 0096bb2..97f30cd 100644 --- a/ts/classes.bucket.ts +++ b/ts/classes.bucket.ts @@ -52,7 +52,7 @@ export class Bucket { * gets the base directory of the bucket */ public async getBaseDirectory(): Promise { - return new Directory(this, null, ''); + return new Directory(this, null!, ''); } /** @@ -71,7 +71,9 @@ export class Bucket { } const checkPath = await helpers.reducePathDescriptorToPath(pathDescriptorArg); const baseDirectory = await this.getBaseDirectory(); - return await baseDirectory.getSubDirectoryByName(checkPath); + return await baseDirectory.getSubDirectoryByNameStrict(checkPath, { + getEmptyDirectory: true, + }); } // =============== @@ -464,4 +466,52 @@ export class Bucket { throw error; } } + + public async cleanAllContents(): Promise { + try { + // Define the command type explicitly + const listCommandInput: plugins.s3.ListObjectsV2CommandInput = { + Bucket: this.name, + }; + + let isTruncated = true; + let continuationToken: string | undefined = undefined; + + while (isTruncated) { + // Add the continuation token to the input if present + const listCommand = new plugins.s3.ListObjectsV2Command({ + ...listCommandInput, + ContinuationToken: continuationToken, + }); + + // Explicitly type the response + const response: plugins.s3.ListObjectsV2Output = + await this.smartbucketRef.s3Client.send(listCommand); + + console.log(`Cleaning contents of bucket '${this.name}': Now deleting ${response.Contents?.length} items...`); + + if (response.Contents && response.Contents.length > 0) { + // Delete objects in batches, mapping each item to { Key: string } + const deleteCommand = new plugins.s3.DeleteObjectsCommand({ + Bucket: this.name, + Delete: { + Objects: response.Contents.map((item) => ({ Key: item.Key! })), + Quiet: true, + }, + }); + + await this.smartbucketRef.s3Client.send(deleteCommand); + } + + // Update continuation token and truncation status + isTruncated = response.IsTruncated || false; + continuationToken = response.NextContinuationToken; + } + + console.log(`All contents in bucket '${this.name}' have been deleted.`); + } catch (error) { + console.error(`Error cleaning contents of bucket '${this.name}':`, error); + throw error; + } + } } diff --git a/ts/classes.directory.ts b/ts/classes.directory.ts index dc3e04a..c8cb3e0 100644 --- a/ts/classes.directory.ts +++ b/ts/classes.directory.ts @@ -69,7 +69,7 @@ export class Directory { path: string; createWithContents?: string | Buffer; getFromTrash?: boolean; - }): Promise { + }): Promise { const pathDescriptor = { directory: this, path: optionsArg.path, @@ -98,6 +98,19 @@ export class Directory { }); } + /** + * gets a file strictly + * @param args + * @returns + */ + public async getFileStrict(...args: Parameters) { + const file = await this.getFile(...args); + if (!file) { + throw new Error(`File not found at path '${args[0].path}'`); + } + return file; + } + /** * lists all files */ @@ -110,7 +123,7 @@ export class Directory { const response = await this.bucketRef.smartbucketRef.s3Client.send(command); const fileArray: File[] = []; - response.Contents.forEach((item) => { + response.Contents?.forEach((item) => { if (item.Key && !item.Key.endsWith('/')) { const subtractedPath = item.Key.replace(this.getBasePath(), ''); if (!subtractedPath.includes('/')) { @@ -178,23 +191,53 @@ export class Directory { /** * gets a sub directory by name */ - public async getSubDirectoryByName(dirNameArg: string): Promise { - const dirNameArray = dirNameArg.split('/'); + public async getSubDirectoryByName(dirNameArg: string, optionsArg: { + getEmptyDirectory?: boolean; + createWithInitializerFile?: boolean; + } = {}): Promise { + const dirNameArray = dirNameArg.split('/').filter(str => str.trim() !== ""); - const getDirectory = async (directoryArg: Directory, dirNameToSearch: string) => { - const directories = await directoryArg.listDirectories(); - return directories.find((directory) => { - return directory.name === dirNameToSearch; - }); - }; - - let wantedDirectory: Directory; - for (const dirNameToSearch of dirNameArray) { - const directoryToSearchIn = wantedDirectory ? wantedDirectory : this; - wantedDirectory = await getDirectory(directoryToSearchIn, dirNameToSearch); + optionsArg = { + getEmptyDirectory: false, + createWithInitializerFile: false, + ...optionsArg, } - return wantedDirectory; + + const getDirectory = async (directoryArg: Directory, dirNameToSearch: string, isFinalDirectory: boolean) => { + const directories = await directoryArg.listDirectories(); + let returnDirectory = directories.find((directory) => { + return directory.name === dirNameToSearch; + }); + if (returnDirectory) { + return returnDirectory; + } + if (optionsArg.getEmptyDirectory || optionsArg.createWithInitializerFile) { + returnDirectory = new Directory(this.bucketRef, this, dirNameToSearch); + } + if (isFinalDirectory && optionsArg.createWithInitializerFile) { + returnDirectory?.createEmptyFile('00init.txt'); + } + return returnDirectory || null; + }; + + let wantedDirectory: Directory | null = null; + let counter = 0; + for (const dirNameToSearch of dirNameArray) { + counter++; + const directoryToSearchIn = wantedDirectory ? wantedDirectory : this; + wantedDirectory = await getDirectory(directoryToSearchIn, dirNameToSearch, counter === dirNameArray.length); + } + + return wantedDirectory || null; + } + + public async getSubDirectoryByNameStrict(...args: Parameters) { + const directory = await this.getSubDirectoryByName(...args); + if (!directory) { + throw new Error(`Directory not found at path '${args[0]}'`); + } + return directory; } /** diff --git a/ts/classes.file.ts b/ts/classes.file.ts index 0eafd61..932c1ac 100644 --- a/ts/classes.file.ts +++ b/ts/classes.file.ts @@ -105,8 +105,10 @@ export class File { path: this.getBasePath(), }); if (!this.name.endsWith('.metadata')) { - const metadata = await this.getMetaData(); - await metadata.metadataFile.delete(optionsArg); + if (await this.hasMetaData()) { + const metadata = await this.getMetaData(); + await metadata.metadataFile.delete(optionsArg); + } } } else if (optionsArg.mode === 'trash') { const metadata = await this.getMetaData(); @@ -118,8 +120,9 @@ export class File { }, }); const trash = await this.parentDirectoryRef.bucketRef.getTrash(); + const trashDir = await trash.getTrashDir(); await this.move({ - directory: await trash.getTrashDir(), + directory: trashDir, path: await trash.getTrashKeyByOriginalBasePath(this.getBasePath()), }); } @@ -187,23 +190,49 @@ export class File { * moves the file to another directory */ public async move(pathDescriptorArg: interfaces.IPathDecriptor) { - let moveToPath = ''; + let moveToPath: string = ''; const isDirectory = await this.parentDirectoryRef.bucketRef.isDirectory(pathDescriptorArg); if (isDirectory) { moveToPath = await helpers.reducePathDescriptorToPath({ ...pathDescriptorArg, path: plugins.path.join(pathDescriptorArg.path!, this.name), }); + } else { + moveToPath = await helpers.reducePathDescriptorToPath(pathDescriptorArg); } // lets move the file await this.parentDirectoryRef.bucketRef.fastMove({ sourcePath: this.getBasePath(), destinationPath: moveToPath, + overwrite: true, }); - // lets move the metadatafile - const metadata = await this.getMetaData(); - await metadata.metadataFile.move(pathDescriptorArg); + if (!this.name.endsWith('.metadata')) { + const metadata = await this.getMetaData(); + await this.parentDirectoryRef.bucketRef.fastMove({ + sourcePath: metadata.metadataFile.getBasePath(), + destinationPath: moveToPath + '.metadata', + overwrite: true, + }); + } + + // lets update references of this + const baseDirectory = await this.parentDirectoryRef.bucketRef.getBaseDirectory(); + this.parentDirectoryRef = await baseDirectory.getSubDirectoryByNameStrict( + pathDescriptorArg.directory?.getBasePath()! + ); + this.name = pathDescriptorArg.path!; + } + + public async hasMetaData(): Promise { + if (!this.name.endsWith('.metadata')) { + const hasMetadataBool = MetaData.hasMetaData({ + file: this, + }); + return hasMetadataBool; + } else { + return false; + } } /** diff --git a/ts/classes.metadata.ts b/ts/classes.metadata.ts index 6e61b98..0b956c9 100644 --- a/ts/classes.metadata.ts +++ b/ts/classes.metadata.ts @@ -3,13 +3,21 @@ import * as plugins from './plugins.js'; import { File } from './classes.file.js'; export class MetaData { + public static async hasMetaData(optionsArg: { file: File }) { + // lets find the existing metadata file + const existingFile = await optionsArg.file.parentDirectoryRef.getFile({ + path: optionsArg.file.name + '.metadata', + }); + return !!existingFile; + } + // static public static async createForFile(optionsArg: { file: File }) { const metaData = new MetaData(); metaData.fileRef = optionsArg.file; // lets find the existing metadata file - metaData.metadataFile = await metaData.fileRef.parentDirectoryRef.getFile({ + metaData.metadataFile = await metaData.fileRef.parentDirectoryRef.getFileStrict({ path: metaData.fileRef.name + '.metadata', createWithContents: '{}', }); diff --git a/ts/classes.smartbucket.ts b/ts/classes.smartbucket.ts index afd9e1d..2b67f24 100644 --- a/ts/classes.smartbucket.ts +++ b/ts/classes.smartbucket.ts @@ -41,7 +41,15 @@ export class SmartBucket { await Bucket.removeBucketByName(this, bucketName); } - public async getBucketByName(bucketName: string) { - return Bucket.getBucketByName(this, bucketName); + public async getBucketByName(bucketNameArg: string) { + return Bucket.getBucketByName(this, bucketNameArg); + } + + public async getBucketByNameStrict(...args: Parameters) { + const bucket = await this.getBucketByName(...args); + if (!bucket) { + throw new Error(`Bucket ${args[0]} does not exist.`); + } + return bucket; } } diff --git a/ts/classes.trash.ts b/ts/classes.trash.ts index e1ed861..f9a9a84 100644 --- a/ts/classes.trash.ts +++ b/ts/classes.trash.ts @@ -21,7 +21,7 @@ export class Trash { const trashDir = await this.getTrashDir(); const originalPath = await helpers.reducePathDescriptorToPath(pathDescriptor); const trashKey = await this.getTrashKeyByOriginalBasePath(originalPath); - return trashDir.getFile({ path: trashKey }); + return trashDir.getFileStrict({ path: trashKey }); } public async getTrashKeyByOriginalBasePath (originalPath: string): Promise { -- 2.34.1 From b0d41fa9a003101e5c1bdd72c5888ff2399e0d9c Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Sun, 24 Nov 2024 02:25:08 +0100 Subject: [PATCH 3/3] 3.2.0 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 349311b..30419b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@push.rocks/smartbucket", - "version": "3.1.0", + "version": "3.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@push.rocks/smartbucket", - "version": "3.1.0", + "version": "3.2.0", "license": "UNLICENSED", "dependencies": { "@push.rocks/smartpath": "^5.0.18", diff --git a/package.json b/package.json index 0f8a1ac..a7a7fe8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@push.rocks/smartbucket", - "version": "3.1.0", + "version": "3.2.0", "description": "A TypeScript library offering simple and cloud-agnostic object storage with advanced features like bucket creation, file and directory management, and data streaming.", "main": "dist_ts/index.js", "typings": "dist_ts/index.d.ts", -- 2.34.1