diff --git a/docs/jwt-compatibility-testing.md b/docs/jwt-compatibility-testing.md new file mode 100644 index 00000000..66affcae --- /dev/null +++ b/docs/jwt-compatibility-testing.md @@ -0,0 +1,125 @@ +--- +layout: default +title: JWT Compatibility Testing +nav_order: 3 +--- + +# JWT Compatibility Testing + +This document describes the comprehensive JWT compatibility tests that validate the functionality and future compatibility of the JWT authentication system in the Turborepo Remote Cache server. + +## Overview + +The JWT compatibility tests (`test/jwt-compatibility.ts`) are designed to ensure that: + +1. **JWT authentication works correctly** with the current `@fastify/jwt` version +2. **Future upgrades** to `@fastify/jwt` will be detected early if they break functionality +3. **All JWT features** are properly tested and validated +4. **Error handling** works correctly for various edge cases + +## Test Categories + +### 1. JWT Authentication Plugin Registration + +Tests that validate the JWT authentication plugin is properly registered and configured: + +- **Plugin Registration**: Verifies that JWT authentication is working by testing valid requests +- **Configuration Validation**: Ensures proper error handling when required configuration is missing (e.g., `JWKS_URL`) + +### 2. JWT Token Validation and User Object Structure + +Tests that validate JWT token processing and user object creation: + +- **Token Decoding**: Verifies that JWT payloads are properly decoded +- **Scope Handling**: Tests JWT tokens with and without scope properties +- **User Object Creation**: Ensures the `formatUser` function correctly creates user objects + +### 3. JWT Authorization Scopes Functionality + +Tests that validate the scope-based authorization system: + +- **Read Access**: Verifies that tokens with read scopes can access read operations +- **Write Access**: Verifies that tokens with write scopes can access write operations +- **Access Denial**: Ensures that tokens without required scopes are properly denied +- **Multiple Scopes**: Tests tokens with multiple scopes to ensure proper scope matching + +### 4. JWT Error Handling and Edge Cases + +Tests that validate proper error handling for various scenarios: + +- **Malformed Tokens**: Ensures malformed JWT tokens are properly rejected +- **Invalid Tokens**: Tests rejection of tokens from different issuers +- **Missing Authorization**: Validates proper handling of missing authorization headers +- **Empty Headers**: Tests empty authorization headers +- **Non-Bearer Headers**: Ensures non-Bearer authorization schemes are rejected + +### 5. JWT Integration with Storage Operations + +Tests that validate JWT authentication works correctly with actual storage operations: + +- **Artifact Upload**: Verifies JWT authentication works for artifact uploads +- **Artifact Download**: Tests JWT authentication for artifact downloads +- **HEAD Requests**: Validates JWT authentication for HEAD requests + +### 6. JWT Configuration Validation + +Tests that validate JWT configuration options work correctly: + +- **Issuer Validation**: Tests JWT issuer (`iss`) claim validation +- **Audience Validation**: Tests JWT audience (`aud`) claim validation + +## Running the Tests + +To run the JWT compatibility tests specifically: + +```bash +pnpm test jwt-compatibility.ts +``` + +To run all tests including JWT compatibility tests: + +```bash +pnpm test +``` + +## Test Environment + +The JWT compatibility tests use: + +- **Mock JWKS Server**: Uses `mock-jwks` to simulate a JWKS endpoint +- **Test Environment**: Configured with JWT authentication mode and test JWKS URL +- **Isolated Storage**: Uses temporary local storage for testing + +## Test Data + +The tests use the following test data: + +- **JWKS URL**: `http://test.com/.well-known/jwks.json` +- **Valid Issuer**: `http://test.com` +- **Invalid Issuer**: `http://other.com` +- **Test Scopes**: `artifacts:read`, `artifacts:write`, `other:scope` + +## Future Compatibility + +These tests are designed to catch compatibility issues when upgrading `@fastify/jwt` or related dependencies. Key areas monitored: + +1. **Plugin Registration**: Ensures plugins are still properly registered +2. **Token Validation**: Validates JWT token processing still works +3. **User Object Structure**: Ensures the user object format remains compatible +4. **Error Handling**: Verifies error responses remain consistent +5. **Configuration Options**: Tests that configuration options still work as expected + +## Troubleshooting + +If JWT compatibility tests fail: + +1. **Check Dependencies**: Ensure `@fastify/jwt` and `fastify-jwt-jwks` versions are compatible +2. **Verify Configuration**: Check that JWT configuration options are properly set +3. **Review Error Messages**: Test output includes detailed error information +4. **Check Mock JWKS**: Ensure the mock JWKS server is running correctly + +## Related Documentation + +- [Environment Variables](./environment-variables.md) - JWT configuration options +- [Custom Remote Caching](./custom-remote-caching.md) - JWT authentication setup +- [JWT Authentication](./jwt-authentication.md) - JWT authentication overview diff --git a/package.json b/package.json index 19614f51..7b965f89 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@aws-sdk/lib-storage": "^3.750.0", "@azure/storage-blob": "^12.23.0", "@fastify/aws-lambda": "^5.0.0", - "@fastify/jwt": "9.0.1", + "@fastify/jwt": "9.1.0", "@google-cloud/storage": "6.9.2", "@hapi/boom": "10.0.0", "@sinclair/typebox": "0.25.21", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8cc5f5a1..c8d63147 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,19 +19,19 @@ importers: dependencies: '@aws-sdk/client-s3': specifier: ^3.750.0 - version: 3.817.0 + version: 3.864.0 '@aws-sdk/lib-storage': specifier: ^3.750.0 - version: 3.817.0(@aws-sdk/client-s3@3.817.0) + version: 3.864.0(@aws-sdk/client-s3@3.864.0) '@azure/storage-blob': specifier: ^12.23.0 - version: 12.27.0 + version: 12.28.0 '@fastify/aws-lambda': specifier: ^5.0.0 version: 5.1.4 '@fastify/jwt': - specifier: 9.0.1 - version: 9.0.1 + specifier: 9.1.0 + version: 9.1.0 '@google-cloud/storage': specifier: 6.9.2 version: 6.9.2 @@ -67,47 +67,47 @@ importers: version: 3.1.1 pino: specifier: ^9.5.0 - version: 9.7.0 + version: 9.9.0 pino-pretty: specifier: ^13.0.0 - version: 13.0.0 + version: 13.1.1 devDependencies: '@biomejs/biome': specifier: 1.2.2 version: 1.2.2 '@commitlint/cli': specifier: ^19.8.1 - version: 19.8.1(@types/node@20.17.51)(typescript@5.8.3) + version: 19.8.1(@types/node@20.19.11)(typescript@5.9.2) '@commitlint/config-conventional': specifier: ^19.8.1 version: 19.8.1 '@commitlint/prompt': specifier: ^19.8.1 - version: 19.8.1(@types/node@20.17.51)(typescript@5.8.3) + version: 19.8.1(@types/node@20.19.11)(typescript@5.9.2) '@ducktors/tsconfig': specifier: ^1.0.0 - version: 1.0.0(typescript@5.8.3) + version: 1.0.0(typescript@5.9.2) '@semantic-release/changelog': specifier: ^6.0.3 - version: 6.0.3(semantic-release@24.2.5(typescript@5.8.3)) + version: 6.0.3(semantic-release@24.2.7(typescript@5.9.2)) '@semantic-release/commit-analyzer': specifier: ^13.0.1 - version: 13.0.1(semantic-release@24.2.5(typescript@5.8.3)) + version: 13.0.1(semantic-release@24.2.7(typescript@5.9.2)) '@semantic-release/git': specifier: ^10.0.1 - version: 10.0.1(semantic-release@24.2.5(typescript@5.8.3)) + version: 10.0.1(semantic-release@24.2.7(typescript@5.9.2)) '@semantic-release/github': specifier: ^11.0.3 - version: 11.0.3(semantic-release@24.2.5(typescript@5.8.3)) + version: 11.0.4(semantic-release@24.2.7(typescript@5.9.2)) '@semantic-release/npm': specifier: ^12.0.1 - version: 12.0.1(semantic-release@24.2.5(typescript@5.8.3)) + version: 12.0.2(semantic-release@24.2.7(typescript@5.9.2)) '@semantic-release/release-notes-generator': specifier: ^14.0.3 - version: 14.0.3(semantic-release@24.2.5(typescript@5.8.3)) + version: 14.0.3(semantic-release@24.2.7(typescript@5.9.2)) '@types/node': specifier: ^20.17.51 - version: 20.17.51 + version: 20.19.11 '@types/s3rver': specifier: ^3.7.4 version: 3.7.4 @@ -116,16 +116,16 @@ importers: version: 9.1.0 commitizen: specifier: ^4.3.1 - version: 4.3.1(@types/node@20.17.51)(typescript@5.8.3) + version: 4.3.1(@types/node@20.19.11)(typescript@5.9.2) commitlint-config-cz: specifier: ^0.13.3 version: 0.13.3 commitlint-plugin-function-rules: specifier: ^4.0.1 - version: 4.0.1(@commitlint/lint@19.8.1) + version: 4.0.2(@commitlint/lint@19.8.1) cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@20.17.51)(typescript@5.8.3) + version: 3.3.0(@types/node@20.19.11)(typescript@5.9.2) fastify-tsconfig: specifier: ^3.0.0 version: 3.0.0 @@ -134,7 +134,7 @@ importers: version: 9.1.7 mock-jwks: specifier: ^3.3.5 - version: 3.3.5(@types/node@20.17.51)(typescript@5.8.3) + version: 3.3.5(@types/node@20.19.11)(typescript@5.9.2) npm-run-all: specifier: ^4.1.5 version: 4.1.5 @@ -146,13 +146,13 @@ importers: version: 3.7.1 semantic-release: specifier: ^24.2.5 - version: 24.2.5(typescript@5.8.3) + version: 24.2.7(typescript@5.9.2) tsx: specifier: ^4.19.4 - version: 4.19.4 + version: 4.20.4 typescript: specifier: ^5.8.3 - version: 5.8.3 + version: 5.9.2 packages: @@ -179,129 +179,129 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.817.0': - resolution: {integrity: sha512-nZyjhlLMEXDs0ofWbpikI8tKoeKuuSgYcIb6eEZJk90Nt5HkkXn6nkWOs/kp2FdhpoGJyTILOVsDgdm7eutnLA==} + '@aws-sdk/client-s3@3.864.0': + resolution: {integrity: sha512-QGYi9bWliewxumsvbJLLyx9WC0a4DP4F+utygBcq0zwPxaM0xDfBspQvP1dsepi7mW5aAjZmJ2+Xb7X0EhzJ/g==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso@3.817.0': - resolution: {integrity: sha512-fCh5rUHmWmWDvw70NNoWpE5+BRdtNi45kDnIoeoszqVg7UKF79SlG+qYooUT52HKCgDNHqgbWaXxMOSqd2I/OQ==} + '@aws-sdk/client-sso@3.864.0': + resolution: {integrity: sha512-THiOp0OpQROEKZ6IdDCDNNh3qnNn/kFFaTSOiugDpgcE5QdsOxh1/RXq7LmHpTJum3cmnFf8jG59PHcz9Tjnlw==} engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.816.0': - resolution: {integrity: sha512-Lx50wjtyarzKpMFV6V+gjbSZDgsA/71iyifbClGUSiNPoIQ4OCV0KVOmAAj7mQRVvGJqUMWKVM+WzK79CjbjWA==} + '@aws-sdk/core@3.864.0': + resolution: {integrity: sha512-LFUREbobleHEln+Zf7IG83lAZwvHZG0stI7UU0CtwyuhQy5Yx0rKksHNOCmlM7MpTEbSCfntEhYi3jUaY5e5lg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.816.0': - resolution: {integrity: sha512-wUJZwRLe+SxPxRV9AENYBLrJZRrNIo+fva7ZzejsC83iz7hdfq6Rv6B/aHEdPwG/nQC4+q7UUvcRPlomyrpsBA==} + '@aws-sdk/credential-provider-env@3.864.0': + resolution: {integrity: sha512-StJPOI2Rt8UE6lYjXUpg6tqSZaM72xg46ljPg8kIevtBAAfdtq9K20qT/kSliWGIBocMFAv0g2mC0hAa+ECyvg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.816.0': - resolution: {integrity: sha512-gcWGzMQ7yRIF+ljTkR8Vzp7727UY6cmeaPrFQrvcFB8PhOqWpf7g0JsgOf5BSaP8CkkSQcTQHc0C5ZYAzUFwPg==} + '@aws-sdk/credential-provider-http@3.864.0': + resolution: {integrity: sha512-E/RFVxGTuGnuD+9pFPH2j4l6HvrXzPhmpL8H8nOoJUosjx7d4v93GJMbbl1v/fkDLqW9qN4Jx2cI6PAjohA6OA==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.817.0': - resolution: {integrity: sha512-kyEwbQyuXE+phWVzloMdkFv6qM6NOon+asMXY5W0fhDKwBz9zQLObDRWBrvQX9lmqq8BbDL1sCfZjOh82Y+RFw==} + '@aws-sdk/credential-provider-ini@3.864.0': + resolution: {integrity: sha512-PlxrijguR1gxyPd5EYam6OfWLarj2MJGf07DvCx9MAuQkw77HBnsu6+XbV8fQriFuoJVTBLn9ROhMr/ROAYfUg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.817.0': - resolution: {integrity: sha512-b5mz7av0Lhavs1Bz3Zb+jrs0Pki93+8XNctnVO0drBW98x1fM4AR38cWvGbM/w9F9Q0/WEH3TinkmrMPrP4T/w==} + '@aws-sdk/credential-provider-node@3.864.0': + resolution: {integrity: sha512-2BEymFeXURS+4jE9tP3vahPwbYRl0/1MVaFZcijj6pq+nf5EPGvkFillbdBRdc98ZI2NedZgSKu3gfZXgYdUhQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.816.0': - resolution: {integrity: sha512-9Tm+AxMoV2Izvl5b9tyMQRbBwaex8JP06HN7ZeCXgC5sAsSN+o8dsThnEhf8jKN+uBpT6CLWKN1TXuUMrAmW1A==} + '@aws-sdk/credential-provider-process@3.864.0': + resolution: {integrity: sha512-Zxnn1hxhq7EOqXhVYgkF4rI9MnaO3+6bSg/tErnBQ3F8kDpA7CFU24G1YxwaJXp2X4aX3LwthefmSJHwcVP/2g==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.817.0': - resolution: {integrity: sha512-gFUAW3VmGvdnueK1bh6TOcRX+j99Xm0men1+gz3cA4RE+rZGNy1Qjj8YHlv0hPwI9OnTPZquvPzA5fkviGREWg==} + '@aws-sdk/credential-provider-sso@3.864.0': + resolution: {integrity: sha512-UPyPNQbxDwHVGmgWdGg9/9yvzuedRQVF5jtMkmP565YX9pKZ8wYAcXhcYdNPWFvH0GYdB0crKOmvib+bmCuwkw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.817.0': - resolution: {integrity: sha512-A2kgkS9g6NY0OMT2f2EdXHpL17Ym81NhbGnQ8bRXPqESIi7TFypFD2U6osB2VnsFv+MhwM+Ke4PKXSmLun22/A==} + '@aws-sdk/credential-provider-web-identity@3.864.0': + resolution: {integrity: sha512-nNcjPN4SYg8drLwqK0vgVeSvxeGQiD0FxOaT38mV2H8cu0C5NzpvA+14Xy+W6vT84dxgmJYKk71Cr5QL2Oz+rA==} engines: {node: '>=18.0.0'} - '@aws-sdk/lib-storage@3.817.0': - resolution: {integrity: sha512-2zOO8+2EmiS049PjLSNdqmmZMQj7fzE1hZJ70A94vO+KNaVhVZYuMOOiOmwMw6ePkTCcFwK40vZIIXwEQQ1v1g==} + '@aws-sdk/lib-storage@3.864.0': + resolution: {integrity: sha512-Me/HlMXXPv3tStPQufdwnYGholY14JmmzCdOjhnG7gnaClBEnroZKcHuQhrgMm+KyfbzCQ2+9YHsULOfFrg7Mw==} engines: {node: '>=18.0.0'} peerDependencies: - '@aws-sdk/client-s3': ^3.817.0 + '@aws-sdk/client-s3': ^3.864.0 - '@aws-sdk/middleware-bucket-endpoint@3.808.0': - resolution: {integrity: sha512-wEPlNcs8dir9lXbuviEGtSzYSxG/NRKQrJk5ybOc7OpPGHovsN+QhDOdY3lcjOFdwMTiMIG9foUkPz3zBpLB1A==} + '@aws-sdk/middleware-bucket-endpoint@3.862.0': + resolution: {integrity: sha512-Wcsc7VPLjImQw+CP1/YkwyofMs9Ab6dVq96iS8p0zv0C6YTaMjvillkau4zFfrrrTshdzFWKptIFhKK8Zsei1g==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-expect-continue@3.804.0': - resolution: {integrity: sha512-YW1hySBolALMII6C8y7Z0CRG2UX1dGJjLEBNFeefhO/xP7ZuE1dvnmfJGaEuBMnvc3wkRS63VZ3aqX6sevM1CA==} + '@aws-sdk/middleware-expect-continue@3.862.0': + resolution: {integrity: sha512-oG3AaVUJ+26p0ESU4INFn6MmqqiBFZGrebST66Or+YBhteed2rbbFl7mCfjtPWUFgquQlvT1UP19P3LjQKeKpw==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.816.0': - resolution: {integrity: sha512-kftcwDxB/VoCBsUiRgkm5CIuKbTfCN1WLPbis9LRwX3kQhKgGVxG2gG78SHk4TBB0qviWVAd/t+i/KaUgwiAcA==} + '@aws-sdk/middleware-flexible-checksums@3.864.0': + resolution: {integrity: sha512-MvakvzPZi9uyP3YADuIqtk/FAcPFkyYFWVVMf5iFs/rCdk0CUzn02Qf4CSuyhbkS6Y0KrAsMgKR4MgklPU79Wg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-host-header@3.804.0': - resolution: {integrity: sha512-bum1hLVBrn2lJCi423Z2fMUYtsbkGI2s4N+2RI2WSjvbaVyMSv/WcejIrjkqiiMR+2Y7m5exgoKeg4/TODLDPQ==} + '@aws-sdk/middleware-host-header@3.862.0': + resolution: {integrity: sha512-jDje8dCFeFHfuCAxMDXBs8hy8q9NCTlyK4ThyyfAj3U4Pixly2mmzY2u7b7AyGhWsjJNx8uhTjlYq5zkQPQCYw==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-location-constraint@3.804.0': - resolution: {integrity: sha512-AMtKnllIWKgoo7hiJfphLYotEwTERfjVMO2+cKAncz9w1g+bnYhHxiVhJJoR94y047c06X4PU5MsTxvdQ73Znw==} + '@aws-sdk/middleware-location-constraint@3.862.0': + resolution: {integrity: sha512-MnwLxCw7Cc9OngEH3SHFhrLlDI9WVxaBkp3oTsdY9JE7v8OE38wQ9vtjaRsynjwu0WRtrctSHbpd7h/QVvtjyA==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-logger@3.804.0': - resolution: {integrity: sha512-w/qLwL3iq0KOPQNat0Kb7sKndl9BtceigINwBU7SpkYWX9L/Lem6f8NPEKrC9Tl4wDBht3Yztub4oRTy/horJA==} + '@aws-sdk/middleware-logger@3.862.0': + resolution: {integrity: sha512-N/bXSJznNBR/i7Ofmf9+gM6dx/SPBK09ZWLKsW5iQjqKxAKn/2DozlnE54uiEs1saHZWoNDRg69Ww4XYYSlG1Q==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-recursion-detection@3.804.0': - resolution: {integrity: sha512-zqHOrvLRdsUdN/ehYfZ9Tf8svhbiLLz5VaWUz22YndFv6m9qaAcijkpAOlKexsv3nLBMJdSdJ6GUTAeIy3BZzw==} + '@aws-sdk/middleware-recursion-detection@3.862.0': + resolution: {integrity: sha512-KVoo3IOzEkTq97YKM4uxZcYFSNnMkhW/qj22csofLegZi5fk90ztUnnaeKfaEJHfHp/tm1Y3uSoOXH45s++kKQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-sdk-s3@3.816.0': - resolution: {integrity: sha512-jJ+EAXM7gnOwiCM6rrl4AUNY5urmtIsX7roTkxtb4DevJxcS+wFYRRg3/j33fQbuxQZrvk21HqxyZYx5UH70PA==} + '@aws-sdk/middleware-sdk-s3@3.864.0': + resolution: {integrity: sha512-GjYPZ6Xnqo17NnC8NIQyvvdzzO7dm+Ks7gpxD/HsbXPmV2aEfuFveJXneGW9e1BheSKFff6FPDWu8Gaj2Iu1yg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-ssec@3.804.0': - resolution: {integrity: sha512-Tk8jK0gOIUBvEPTz/wwSlP1V70zVQ3QYqsLPAjQRMO6zfOK9ax31dln3MgKvFDJxBydS2tS3wsn53v+brxDxTA==} + '@aws-sdk/middleware-ssec@3.862.0': + resolution: {integrity: sha512-72VtP7DZC8lYTE2L3Efx2BrD98oe9WTK8X6hmd3WTLkbIjvgWQWIdjgaFXBs8WevsXkewIctfyA3KEezvL5ggw==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.816.0': - resolution: {integrity: sha512-bHRSlWZ0xDsFR8E2FwDb//0Ff6wMkVx4O+UKsfyNlAbtqCiiHRt5ANNfKPafr95cN2CCxLxiPvFTFVblQM5TsQ==} + '@aws-sdk/middleware-user-agent@3.864.0': + resolution: {integrity: sha512-wrddonw4EyLNSNBrApzEhpSrDwJiNfjxDm5E+bn8n32BbAojXASH8W8jNpxz/jMgNkkJNxCfyqybGKzBX0OhbQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.817.0': - resolution: {integrity: sha512-vQ2E06A48STJFssueJQgxYD8lh1iGJoLJnHdshRDWOQb8gy1wVQR+a7MkPGhGR6lGoS0SCnF/Qp6CZhnwLsqsQ==} + '@aws-sdk/nested-clients@3.864.0': + resolution: {integrity: sha512-H1C+NjSmz2y8Tbgh7Yy89J20yD/hVyk15hNoZDbCYkXg0M358KS7KVIEYs8E2aPOCr1sK3HBE819D/yvdMgokA==} engines: {node: '>=18.0.0'} - '@aws-sdk/region-config-resolver@3.808.0': - resolution: {integrity: sha512-9x2QWfphkARZY5OGkl9dJxZlSlYM2l5inFeo2bKntGuwg4A4YUe5h7d5yJ6sZbam9h43eBrkOdumx03DAkQF9A==} + '@aws-sdk/region-config-resolver@3.862.0': + resolution: {integrity: sha512-VisR+/HuVFICrBPY+q9novEiE4b3mvDofWqyvmxHcWM7HumTz9ZQSuEtnlB/92GVM3KDUrR9EmBHNRrfXYZkcQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/signature-v4-multi-region@3.816.0': - resolution: {integrity: sha512-idcr9NW86sSIXASSej3423Selu6fxlhhJJtMgpAqoCH/HJh1eQrONJwNKuI9huiruPE8+02pwxuePvLW46X2mw==} + '@aws-sdk/signature-v4-multi-region@3.864.0': + resolution: {integrity: sha512-w2HIn/WIcUyv1bmyCpRUKHXB5KdFGzyxPkp/YK5g+/FuGdnFFYWGfcO8O+How4jwrZTarBYsAHW9ggoKvwr37w==} engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.817.0': - resolution: {integrity: sha512-CYN4/UO0VaqyHf46ogZzNrVX7jI3/CfiuktwKlwtpKA6hjf2+ivfgHSKzPpgPBcSEfiibA/26EeLuMnB6cpSrQ==} + '@aws-sdk/token-providers@3.864.0': + resolution: {integrity: sha512-gTc2QHOBo05SCwVA65dUtnJC6QERvFaPiuppGDSxoF7O5AQNK0UR/kMSenwLqN8b5E1oLYvQTv3C1idJLRX0cg==} engines: {node: '>=18.0.0'} - '@aws-sdk/types@3.804.0': - resolution: {integrity: sha512-A9qnsy9zQ8G89vrPPlNG9d1d8QcKRGqJKqwyGgS0dclJpwy6d1EWgQLIolKPl6vcFpLoe6avLOLxr+h8ur5wpg==} + '@aws-sdk/types@3.862.0': + resolution: {integrity: sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==} engines: {node: '>=18.0.0'} '@aws-sdk/util-arn-parser@3.804.0': resolution: {integrity: sha512-wmBJqn1DRXnZu3b4EkE6CWnoWMo1ZMvlfkqU5zPz67xx1GMaXlDCchFvKAXMjk4jn/L1O3tKnoFDNsoLV1kgNQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.808.0': - resolution: {integrity: sha512-N6Lic98uc4ADB7fLWlzx+1uVnq04VgVjngZvwHoujcRg9YDhIg9dUDiTzD5VZv13g1BrPYmvYP1HhsildpGV6w==} + '@aws-sdk/util-endpoints@3.862.0': + resolution: {integrity: sha512-eCZuScdE9MWWkHGM2BJxm726MCmWk/dlHjOKvkM0sN1zxBellBMw5JohNss1Z8/TUmnW2gb9XHTOiHuGjOdksA==} engines: {node: '>=18.0.0'} '@aws-sdk/util-locate-window@3.804.0': resolution: {integrity: sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-user-agent-browser@3.804.0': - resolution: {integrity: sha512-KfW6T6nQHHM/vZBBdGn6fMyG/MgX5lq82TDdX4HRQRRuHKLgBWGpKXqqvBwqIaCdXwWHgDrg2VQups6GqOWW2A==} + '@aws-sdk/util-user-agent-browser@3.862.0': + resolution: {integrity: sha512-BmPTlm0r9/10MMr5ND9E92r8KMZbq5ltYXYpVcUbAsnB1RJ8ASJuRoLne5F7mB3YMx0FJoOTuSq7LdQM3LgW3Q==} - '@aws-sdk/util-user-agent-node@3.816.0': - resolution: {integrity: sha512-Q6dxmuj4hL7pudhrneWEQ7yVHIQRBFr0wqKLF1opwOi1cIePuoEbPyJ2jkel6PDEv1YMfvsAKaRshp6eNA8VHg==} + '@aws-sdk/util-user-agent-node@3.864.0': + resolution: {integrity: sha512-d+FjUm2eJEpP+FRpVR3z6KzMdx1qwxEYDz8jzNKwxYLBBquaBaP/wfoMtMQKAcbrR7aT9FZVZF7zDgzNxUvQlQ==} engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -309,21 +309,21 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.804.0': - resolution: {integrity: sha512-JbGWp36IG9dgxtvC6+YXwt5WDZYfuamWFtVfK6fQpnmL96dx+GUPOXPKRWdw67WLKf2comHY28iX2d3z35I53Q==} + '@aws-sdk/xml-builder@3.862.0': + resolution: {integrity: sha512-6Ed0kmC1NMbuFTEgNmamAUU1h5gShgxL1hBVLbEzUa3trX5aJBz1vU4bXaBTvOYUAnOHtiy1Ml4AMStd6hJnFA==} engines: {node: '>=18.0.0'} '@azure/abort-controller@2.1.2': resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} engines: {node: '>=18.0.0'} - '@azure/core-auth@1.9.0': - resolution: {integrity: sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw==} - engines: {node: '>=18.0.0'} + '@azure/core-auth@1.10.0': + resolution: {integrity: sha512-88Djs5vBvGbHQHf5ZZcaoNHo6Y8BKZkt3cw2iuJIQzLEgH4Ox6Tm4hjFhbqOxyYsgIG/eJbFEHpxRIfEEWv5Ow==} + engines: {node: '>=20.0.0'} - '@azure/core-client@1.9.4': - resolution: {integrity: sha512-f7IxTD15Qdux30s2qFARH+JxgwxWLG2Rlr4oSkPGuLWm+1p5y1+C04XGLA0vmX6EtqfutmjvpNmAfgwVIS5hpw==} - engines: {node: '>=18.0.0'} + '@azure/core-client@1.10.0': + resolution: {integrity: sha512-O4aP3CLFNodg8eTHXECaH3B3CjicfzkxVtnrfLkOq0XNP7TIECGfHpK/C6vADZkWP75wzmdBnsIA8ksuJMk18g==} + engines: {node: '>=20.0.0'} '@azure/core-http-compat@2.3.0': resolution: {integrity: sha512-qLQujmUypBBG0gxHd0j6/Jdmul6ttl24c8WGiLXIk7IHXdBlfoBqW27hyz3Xn6xbfdyVSarl1Ttbk0AwnZBYCw==} @@ -337,29 +337,33 @@ packages: resolution: {integrity: sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==} engines: {node: '>=18.0.0'} - '@azure/core-rest-pipeline@1.20.0': - resolution: {integrity: sha512-ASoP8uqZBS3H/8N8at/XwFr6vYrRP3syTK0EUjDXQy0Y1/AUS+QeIRThKmTNJO2RggvBBxaXDPM7YoIwDGeA0g==} - engines: {node: '>=18.0.0'} + '@azure/core-rest-pipeline@1.22.0': + resolution: {integrity: sha512-OKHmb3/Kpm06HypvB3g6Q3zJuvyXcpxDpCS1PnU8OV6AJgSFaee/covXBcPbWc6XDDxtEPlbi3EMQ6nUiPaQtw==} + engines: {node: '>=20.0.0'} - '@azure/core-tracing@1.2.0': - resolution: {integrity: sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==} - engines: {node: '>=18.0.0'} + '@azure/core-tracing@1.3.0': + resolution: {integrity: sha512-+XvmZLLWPe67WXNZo9Oc9CrPj/Tm8QnHR92fFAFdnbzwNdCH1h+7UdpaQgRSBsMY+oW1kHXNUZQLdZ1gHX3ROw==} + engines: {node: '>=20.0.0'} - '@azure/core-util@1.12.0': - resolution: {integrity: sha512-13IyjTQgABPARvG90+N2dXpC+hwp466XCdQXPCRlbWHgd3SJd5Q1VvaBGv6k1BIa4MQm6hAF1UBU1m8QUxV8sQ==} - engines: {node: '>=18.0.0'} + '@azure/core-util@1.13.0': + resolution: {integrity: sha512-o0psW8QWQ58fq3i24Q1K2XfS/jYTxr7O1HRcyUE9bV9NttLU+kYOH82Ixj8DGlMTOWgxm1Sss2QAfKK5UkSPxw==} + engines: {node: '>=20.0.0'} - '@azure/core-xml@1.4.5': - resolution: {integrity: sha512-gT4H8mTaSXRz7eGTuQyq1aIJnJqeXzpOe9Ay7Z3FrCouer14CbV3VzjnJrNrQfbBpGBLO9oy8BmrY75A0p53cA==} - engines: {node: '>=18.0.0'} + '@azure/core-xml@1.5.0': + resolution: {integrity: sha512-D/sdlJBMJfx7gqoj66PKVmhDDaU6TKA49ptcolxdas29X7AfvLTmfAGLjAcIMBK7UZ2o4lygHIqVckOlQU3xWw==} + engines: {node: '>=20.0.0'} - '@azure/logger@1.2.0': - resolution: {integrity: sha512-0hKEzLhpw+ZTAfNJyRrn6s+V0nDWzXk9OjBr2TiGIu0OfMr5s2V4FpKLTAK3Ca5r5OKLbf4hkOGDPyiRjie/jA==} - engines: {node: '>=18.0.0'} + '@azure/logger@1.3.0': + resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} + engines: {node: '>=20.0.0'} - '@azure/storage-blob@12.27.0': - resolution: {integrity: sha512-IQjj9RIzAKatmNca3D6bT0qJ+Pkox1WZGOg2esJF2YLHb45pQKOwGPIAV+w3rfgkj7zV3RMxpn/c6iftzSOZJQ==} - engines: {node: '>=18.0.0'} + '@azure/storage-blob@12.28.0': + resolution: {integrity: sha512-VhQHITXXO03SURhDiGuHhvc/k/sD2WvJUS7hqhiVNbErVCuQoLtWql7r97fleBlIRKHJaa9R7DpBjfE0pfLYcA==} + engines: {node: '>=20.0.0'} + + '@azure/storage-common@12.0.0': + resolution: {integrity: sha512-QyEWXgi4kdRo0wc1rHum9/KnaWZKCdQGZK1BjU4fFL6Jtedp7KLbQihgTTVxldFy1z1ZPtuDPx8mQ5l3huPPbA==} + engines: {node: '>=20.0.0'} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} @@ -511,152 +515,158 @@ packages: peerDependencies: typescript: ^5.2.2 - '@esbuild/aix-ppc64@0.25.5': - resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.5': - resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.5': - resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.5': - resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.5': - resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.5': - resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.5': - resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.5': - resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.5': - resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.5': - resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.5': - resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.5': - resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.5': - resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.5': - resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.5': - resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.5': - resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.5': - resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.5': - resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.5': - resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.5': - resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.5': - resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.25.5': - resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.5': - resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.5': - resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.5': - resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -670,8 +680,8 @@ packages: '@fastify/cookie@11.0.2': resolution: {integrity: sha512-GWdwdGlgJxyvNv+QcKiGNevSspMQXncjMZ1J8IvuDQk0jvkzgWWZFNC2En3s+nHndZBGV8IbLwOI/sxCZw/mzA==} - '@fastify/error@4.1.0': - resolution: {integrity: sha512-KeFcciOr1eo/YvIXHP65S94jfEEqn1RxTRBT1aJaHxY5FK0/GDXYozsQMMWlZoHgi8i0s+YtrLsgj/JkUUjSkQ==} + '@fastify/error@4.2.0': + resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==} '@fastify/fast-json-stringify-compiler@5.0.3': resolution: {integrity: sha512-uik7yYHkLr6fxd8hJSZ8c+xF4WafPK+XzneQDPU+D10r5X19GW8lJcom2YijX2+qtFF1ENJlHXKFM9ouXNJYgQ==} @@ -679,8 +689,8 @@ packages: '@fastify/forwarded@3.0.0': resolution: {integrity: sha512-kJExsp4JCms7ipzg7SJ3y8DwmePaELHxKYtg+tZow+k0znUTf3cb+npgyqm8+ATZOdmfgfydIebPDWM172wfyA==} - '@fastify/jwt@9.0.1': - resolution: {integrity: sha512-+vnlUi7Rwi5lihuPxCIqOzla7C+wk7rIzLf09xlxpwqRKXpun7kgIM6LLc+J1Iv0IidlxdOQmCiXmB52Q74MVA==} + '@fastify/jwt@9.1.0': + resolution: {integrity: sha512-CiGHCnS5cPMdb004c70sUWhQTfzrJHAeTywt7nVw6dAiI0z1o4WRvU94xfijhkaId4bIxTCOjFgn4sU+Gvk43w==} '@fastify/merge-json-schemas@0.2.1': resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==} @@ -710,8 +720,8 @@ packages: '@hapi/hoek@10.0.1': resolution: {integrity: sha512-CvlW7jmOhWzuqOqiJQ3rQVLMcREh0eel4IBnxDx2FAcK8g7qoJRQK4L1CPBASoCY6y8e6zuCy3f2g+HWdkzcMw==} - '@inquirer/confirm@5.1.12': - resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==} + '@inquirer/confirm@5.1.15': + resolution: {integrity: sha512-SwHMGa8Z47LawQN0rog0sT+6JpiL0B7eW9p1Bb7iCeKDGTI5Ez25TSc2l8kw52VV7hA4sX/C78CGkMrKXfuspA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -719,8 +729,8 @@ packages: '@types/node': optional: true - '@inquirer/core@10.1.13': - resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==} + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -728,12 +738,12 @@ packages: '@types/node': optional: true - '@inquirer/figures@1.0.12': - resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==} + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} engines: {node: '>=18'} - '@inquirer/type@3.0.7': - resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==} + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -741,6 +751,14 @@ packages: '@types/node': optional: true + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -753,11 +771,11 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.30': + resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} '@koa/router@9.4.0': resolution: {integrity: sha512-dOOXgzqaDoHu5qqMEPLKEgLz5CeIA7q8+1W62mCvFVCOqeC71UoTGJ4u1xUSOpIl2J1x2pqrNULkFteUeZW3/A==} @@ -768,8 +786,8 @@ packages: resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} engines: {node: '>=8'} - '@mswjs/interceptors@0.38.7': - resolution: {integrity: sha512-Jkb27iSn7JPdkqlTqKfhncFfnEZsIJVYxsFbUSWEkxdIPdsyngrhoDBk0/BGD2FQcRH99vlRrkHpNTyKqI+0/w==} + '@mswjs/interceptors@0.39.6': + resolution: {integrity: sha512-bndDP83naYYkfayr/qhBHMhk0YGwS1iv6vaEGcr0SQbO0IZtbOPqjKjds/WcG+bJA+1T5vCx6kprKOzn5Bg+Vw==} engines: {node: '>=18'} '@nodelib/fs.scandir@2.1.5': @@ -788,8 +806,8 @@ packages: resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} engines: {node: '>= 20'} - '@octokit/core@7.0.2': - resolution: {integrity: sha512-ODsoD39Lq6vR6aBgvjTnA3nZGliknKboc9Gtxr7E4WDNqY24MxANKcuDQSF0jzapvGb3KWOEDrKfve4HoWGK+g==} + '@octokit/core@7.0.3': + resolution: {integrity: sha512-oNXsh2ywth5aowwIa7RKtawnkdH6LgU1ztfP9AIUCQCvzysB+WeU8o2kyyosDPwBZutPpjZDKPQGIzzrfTWweQ==} engines: {node: '>= 20'} '@octokit/endpoint@11.0.0': @@ -803,8 +821,8 @@ packages: '@octokit/openapi-types@25.1.0': resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==} - '@octokit/plugin-paginate-rest@13.0.1': - resolution: {integrity: sha512-m1KvHlueScy4mQJWvFDCxFBTIdXS0K1SgFGLmqHyX90mZdCIv6gWBbKRhatxRjhGlONuTK/hztYdaqrTXcFZdQ==} + '@octokit/plugin-paginate-rest@13.1.1': + resolution: {integrity: sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=6' @@ -825,8 +843,8 @@ packages: resolution: {integrity: sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==} engines: {node: '>= 20'} - '@octokit/request@10.0.2': - resolution: {integrity: sha512-iYj4SJG/2bbhh+iIpFmG5u49DtJ4lipQ+aPakjL9OKpsGY93wM8w06gvFbEQxcMsZcCvk5th5KkIm2m8o14aWA==} + '@octokit/request@10.0.3': + resolution: {integrity: sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==} engines: {node: '>= 20'} '@octokit/types@14.1.0': @@ -882,14 +900,14 @@ packages: peerDependencies: semantic-release: '>=18.0.0' - '@semantic-release/github@11.0.3': - resolution: {integrity: sha512-T2fKUyFkHHkUNa5XNmcsEcDPuG23hwBKptfUVcFXDVG2cSjXXZYDOfVYwfouqbWo/8UefotLaoGfQeK+k3ep6A==} + '@semantic-release/github@11.0.4': + resolution: {integrity: sha512-fU/nLSjkp9DmB0h7FVO5imhhWJMvq2LjD4+3lz3ZAzpDLY9+KYwC+trJ+g7LbZeJv9y3L9fSFSg2DduUpiT6bw==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=24.1.0' - '@semantic-release/npm@12.0.1': - resolution: {integrity: sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==} + '@semantic-release/npm@12.0.2': + resolution: {integrity: sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==} engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -915,8 +933,8 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@smithy/abort-controller@4.0.3': - resolution: {integrity: sha512-AqXFf6DXnuRBXy4SoK/n1mfgHaKaq36bmkphmD1KO0nHq6xK/g9KHSW4HEsPQUBCGdIEfuJifGHwxFXPIFay9Q==} + '@smithy/abort-controller@4.0.5': + resolution: {integrity: sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==} engines: {node: '>=18.0.0'} '@smithy/chunked-blob-reader-native@4.0.0': @@ -927,56 +945,56 @@ packages: resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.1.3': - resolution: {integrity: sha512-N5e7ofiyYDmHxnPnqF8L4KtsbSDwyxFRfDK9bp1d9OyPO4ytRLd0/XxCqi5xVaaqB65v4woW8uey6jND6zxzxQ==} + '@smithy/config-resolver@4.1.5': + resolution: {integrity: sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==} engines: {node: '>=18.0.0'} - '@smithy/core@3.4.0': - resolution: {integrity: sha512-dDYISQo7k0Ml/rXlFIjkTmTcQze/LxhtIRAEmZ6HJ/EI0inVxVEVnrUXJ7jPx6ZP0GHUhFm40iQcCgS5apXIXA==} + '@smithy/core@3.8.0': + resolution: {integrity: sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==} engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@4.0.5': - resolution: {integrity: sha512-saEAGwrIlkb9XxX/m5S5hOtzjoJPEK6Qw2f9pYTbIsMPOFyGSXBBTw95WbOyru8A1vIS2jVCCU1Qhz50QWG3IA==} + '@smithy/credential-provider-imds@4.0.7': + resolution: {integrity: sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@4.0.3': - resolution: {integrity: sha512-V22KIPXZsE2mc4zEgYGANM/7UbL9jWlOACEolyGyMuTY+jjHJ2PQ0FdopOTS1CS7u6PlAkALmypkv2oQ4aftcg==} + '@smithy/eventstream-codec@4.0.5': + resolution: {integrity: sha512-miEUN+nz2UTNoRYRhRqVTJCx7jMeILdAurStT2XoS+mhokkmz1xAPp95DFW9Gxt4iF2VBqpeF9HbTQ3kY1viOA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@4.0.3': - resolution: {integrity: sha512-oe1d/tfCGVZBMX8O6HApaM4G+fF9JNdyLP7tWXt00epuL/kLOdp/4o9VqheLFeJaXgao+9IaBgs/q/oM48hxzg==} + '@smithy/eventstream-serde-browser@4.0.5': + resolution: {integrity: sha512-LCUQUVTbM6HFKzImYlSB9w4xafZmpdmZsOh9rIl7riPC3osCgGFVP+wwvYVw6pXda9PPT9TcEZxaq3XE81EdJQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@4.1.1': - resolution: {integrity: sha512-XXCPGjRNwpFWHKQJMKIjGLfFKYULYckFnxGcWmBC2mBf3NsrvUKgqHax4NCqc0TfbDAimPDHOc6HOKtzsXK9Gw==} + '@smithy/eventstream-serde-config-resolver@4.1.3': + resolution: {integrity: sha512-yTTzw2jZjn/MbHu1pURbHdpjGbCuMHWncNBpJnQAPxOVnFUAbSIUSwafiphVDjNV93TdBJWmeVAds7yl5QCkcA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-node@4.0.3': - resolution: {integrity: sha512-HOEbRmm9TrikCoFrypYu0J/gC4Lsk8gl5LtOz1G3laD2Jy44+ht2Pd2E9qjNQfhMJIzKDZ/gbuUH0s0v4kWQ0A==} + '@smithy/eventstream-serde-node@4.0.5': + resolution: {integrity: sha512-lGS10urI4CNzz6YlTe5EYG0YOpsSp3ra8MXyco4aqSkQDuyZPIw2hcaxDU82OUVtK7UY9hrSvgWtpsW5D4rb4g==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-universal@4.0.3': - resolution: {integrity: sha512-ShOP512CZrYI9n+h64PJ84udzoNHUQtPddyh1j175KNTKsSnMEDNscOWJWyEoLQiuhWWw51lSa+k6ea9ZGXcRg==} + '@smithy/eventstream-serde-universal@4.0.5': + resolution: {integrity: sha512-JFnmu4SU36YYw3DIBVao3FsJh4Uw65vVDIqlWT4LzR6gXA0F3KP0IXFKKJrhaVzCBhAuMsrUUaT5I+/4ZhF7aw==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.0.3': - resolution: {integrity: sha512-yBZwavI31roqTndNI7ONHqesfH01JmjJK6L3uUpZAhyAmr86LN5QiPzfyZGIxQmed8VEK2NRSQT3/JX5V1njfQ==} + '@smithy/fetch-http-handler@5.1.1': + resolution: {integrity: sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-blob-browser@4.0.3': - resolution: {integrity: sha512-37wZYU/XI2cOF4hgNDNMzZNAuNtJTkZFWxcpagQrnf6PYU/6sJ6y5Ey9Bp4vzi9nteex/ImxAugfsF3XGLrqWA==} + '@smithy/hash-blob-browser@4.0.5': + resolution: {integrity: sha512-F7MmCd3FH/Q2edhcKd+qulWkwfChHbc9nhguBlVjSUE6hVHhec3q6uPQ+0u69S6ppvLtR3eStfCuEKMXBXhvvA==} engines: {node: '>=18.0.0'} - '@smithy/hash-node@4.0.3': - resolution: {integrity: sha512-W5Uhy6v/aYrgtjh9y0YP332gIQcwccQ+EcfWhllL0B9rPae42JngTTUpb8W6wuxaNFzqps4xq5klHckSSOy5fw==} + '@smithy/hash-node@4.0.5': + resolution: {integrity: sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-stream-node@4.0.3': - resolution: {integrity: sha512-CAwAvztwGYHHZGGcXtbinNxytaj5FNZChz8V+o7eNUAi5BgVqnF91Z3cJSmaE9O7FYUQVrIzGAB25Aok9T5KHQ==} + '@smithy/hash-stream-node@4.0.5': + resolution: {integrity: sha512-IJuDS3+VfWB67UC0GU0uYBG/TA30w+PlOaSo0GPm9UHS88A6rCP6uZxNjNYiyRtOcjv7TXn/60cW8ox1yuZsLg==} engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@4.0.3': - resolution: {integrity: sha512-1Bo8Ur1ZGqxvwTqBmv6DZEn0rXtwJGeqiiO2/JFcCtz3nBakOqeXbJBElXJMMzd0ghe8+eB6Dkw98nMYctgizg==} + '@smithy/invalid-dependency@4.0.5': + resolution: {integrity: sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==} engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': @@ -987,76 +1005,76 @@ packages: resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} engines: {node: '>=18.0.0'} - '@smithy/md5-js@4.0.3': - resolution: {integrity: sha512-m95Z+1UJFPq4cv/R6TPMLYkoau7cNJYA5GLuuUJjfmF+Zrad4yaupIWeGGzIinf8pD1L+CIAxjh8eowPvyL7Dw==} + '@smithy/md5-js@4.0.5': + resolution: {integrity: sha512-8n2XCwdUbGr8W/XhMTaxILkVlw2QebkVTn5tm3HOcbPbOpWg89zr6dPXsH8xbeTsbTXlJvlJNTQsKAIoqQGbdA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@4.0.3': - resolution: {integrity: sha512-NE/Zph4BP5u16bzYq2csq9qD0T6UBLeg4AuNrwNJ7Gv9uLYaGEgelZUOdRndGdMGcUfSGvNlXGb2aA2hPCwJ6g==} + '@smithy/middleware-content-length@4.0.5': + resolution: {integrity: sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.1.7': - resolution: {integrity: sha512-KDzM7Iajo6K7eIWNNtukykRT4eWwlHjCEsULZUaSfi/SRSBK8BPRqG5FsVfp58lUxcvre8GT8AIPIqndA0ERKw==} + '@smithy/middleware-endpoint@4.1.18': + resolution: {integrity: sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.1.8': - resolution: {integrity: sha512-e2OtQgFzzlSG0uCjcJmi02QuFSRTrpT11Eh2EcqqDFy7DYriteHZJkkf+4AsxsrGDugAtPFcWBz1aq06sSX5fQ==} + '@smithy/middleware-retry@4.1.19': + resolution: {integrity: sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.0.6': - resolution: {integrity: sha512-YECyl7uNII+jCr/9qEmCu8xYL79cU0fqjo0qxpcVIU18dAPHam/iYwcknAu4Jiyw1uN+sAx7/SMf/Kmef/Jjsg==} + '@smithy/middleware-serde@4.0.9': + resolution: {integrity: sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==} engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@4.0.3': - resolution: {integrity: sha512-baeV7t4jQfQtFxBADFmnhmqBmqR38dNU5cvEgHcMK/Kp3D3bEI0CouoX2Sr/rGuntR+Eg0IjXdxnGGTc6SbIkw==} + '@smithy/middleware-stack@4.0.5': + resolution: {integrity: sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==} engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@4.1.2': - resolution: {integrity: sha512-SUvNup8iU1v7fmM8XPk+27m36udmGCfSz+VZP5Gb0aJ3Ne0X28K/25gnsrg3X1rWlhcnhzNUUysKW/Ied46ivQ==} + '@smithy/node-config-provider@4.1.4': + resolution: {integrity: sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.0.5': - resolution: {integrity: sha512-T7QglZC1vS7SPT44/1qSIAQEx5bFKb3LfO6zw/o4Xzt1eC5HNoH1TkS4lMYA9cWFbacUhx4hRl/blLun4EOCkg==} + '@smithy/node-http-handler@4.1.1': + resolution: {integrity: sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==} engines: {node: '>=18.0.0'} - '@smithy/property-provider@4.0.3': - resolution: {integrity: sha512-Wcn17QNdawJZcZZPBuMuzyBENVi1AXl4TdE0jvzo4vWX2x5df/oMlmr/9M5XAAC6+yae4kWZlOYIsNsgDrMU9A==} + '@smithy/property-provider@4.0.5': + resolution: {integrity: sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==} engines: {node: '>=18.0.0'} - '@smithy/protocol-http@5.1.1': - resolution: {integrity: sha512-Vsay2mzq05DwNi9jK01yCFtfvu9HimmgC7a4HTs7lhX12Sx8aWsH0mfz6q/02yspSp+lOB+Q2HJwi4IV2GKz7A==} + '@smithy/protocol-http@5.1.3': + resolution: {integrity: sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.0.3': - resolution: {integrity: sha512-UUzIWMVfPmDZcOutk2/r1vURZqavvQW0OHvgsyNV0cKupChvqg+/NKPRMaMEe+i8tP96IthMFeZOZWpV+E4RAw==} + '@smithy/querystring-builder@4.0.5': + resolution: {integrity: sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==} engines: {node: '>=18.0.0'} - '@smithy/querystring-parser@4.0.3': - resolution: {integrity: sha512-K5M4ZJQpFCblOJ5Oyw7diICpFg1qhhR47m2/5Ef1PhGE19RaIZf50tjYFrxa6usqcuXyTiFPGo4d1geZdH4YcQ==} + '@smithy/querystring-parser@4.0.5': + resolution: {integrity: sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==} engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@4.0.4': - resolution: {integrity: sha512-W5ScbQ1bTzgH91kNEE2CvOzM4gXlDOqdow4m8vMFSIXCel2scbHwjflpVNnC60Y3F1m5i7w2gQg9lSnR+JsJAA==} + '@smithy/service-error-classification@4.0.7': + resolution: {integrity: sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==} engines: {node: '>=18.0.0'} - '@smithy/shared-ini-file-loader@4.0.3': - resolution: {integrity: sha512-vHwlrqhZGIoLwaH8vvIjpHnloShqdJ7SUPNM2EQtEox+yEDFTVQ7E+DLZ+6OhnYEgFUwPByJyz6UZaOu2tny6A==} + '@smithy/shared-ini-file-loader@4.0.5': + resolution: {integrity: sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==} engines: {node: '>=18.0.0'} - '@smithy/signature-v4@5.1.1': - resolution: {integrity: sha512-zy8Repr5zvT0ja+Tf5wjV/Ba6vRrhdiDcp/ww6cvqYbSEudIkziDe3uppNRlFoCViyJXdPnLcwyZdDLA4CHzSg==} + '@smithy/signature-v4@5.1.3': + resolution: {integrity: sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.3.0': - resolution: {integrity: sha512-DNsRA38pN6tYHUjebmwD9e4KcgqTLldYQb2gC6K+oxXYdCTxPn6wV9+FvOa6wrU2FQEnGJoi+3GULzOTKck/tg==} + '@smithy/smithy-client@4.4.10': + resolution: {integrity: sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==} engines: {node: '>=18.0.0'} - '@smithy/types@4.3.0': - resolution: {integrity: sha512-+1iaIQHthDh9yaLhRzaoQxRk+l9xlk+JjMFxGRhNLz+m9vKOkjNeU8QuB4w3xvzHyVR/BVlp/4AXDHjoRIkfgQ==} + '@smithy/types@4.3.2': + resolution: {integrity: sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==} engines: {node: '>=18.0.0'} - '@smithy/url-parser@4.0.3': - resolution: {integrity: sha512-n5/DnosDu/tweOqUUNtUbu7eRIR4J/Wz9nL7V5kFYQQVb8VYdj7a4G5NJHCw6o21ul7CvZoJkOpdTnsQDLT0tQ==} + '@smithy/url-parser@4.0.5': + resolution: {integrity: sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==} engines: {node: '>=18.0.0'} '@smithy/util-base64@4.0.0': @@ -1083,32 +1101,32 @@ packages: resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.0.15': - resolution: {integrity: sha512-bJJ/B8owQbHAflatSq92f9OcV8858DJBQF1Y3GRjB8psLyUjbISywszYPFw16beREHO/C3I3taW4VGH+tOuwrQ==} + '@smithy/util-defaults-mode-browser@4.0.26': + resolution: {integrity: sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.0.15': - resolution: {integrity: sha512-8CUrEW2Ni5q+NmYkj8wsgkfqoP7l4ZquptFbq92yQE66xevc4SxqP2zH6tMtN158kgBqBDsZ+qlrRwXWOjCR8A==} + '@smithy/util-defaults-mode-node@4.0.26': + resolution: {integrity: sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==} engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@3.0.5': - resolution: {integrity: sha512-PjDpqLk24/vAl340tmtCA++Q01GRRNH9cwL9qh46NspAX9S+IQVcK+GOzPt0GLJ6KYGyn8uOgo2kvJhiThclJw==} + '@smithy/util-endpoints@3.0.7': + resolution: {integrity: sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==} engines: {node: '>=18.0.0'} '@smithy/util-hex-encoding@4.0.0': resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} engines: {node: '>=18.0.0'} - '@smithy/util-middleware@4.0.3': - resolution: {integrity: sha512-iIsC6qZXxkD7V3BzTw3b1uK8RVC1M8WvwNxK1PKrH9FnxntCd30CSunXjL/8iJBE8Z0J14r2P69njwIpRG4FBQ==} + '@smithy/util-middleware@4.0.5': + resolution: {integrity: sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.0.4': - resolution: {integrity: sha512-Aoqr9W2jDYGrI6OxljN8VmLDQIGO4VdMAUKMf9RGqLG8hn6or+K41NEy1Y5dtum9q8F7e0obYAuKl2mt/GnpZg==} + '@smithy/util-retry@4.0.7': + resolution: {integrity: sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==} engines: {node: '>=18.0.0'} - '@smithy/util-stream@4.2.1': - resolution: {integrity: sha512-W3IR0x5DY6iVtjj5p902oNhD+Bz7vs5S+p6tppbPa509rV9BdeXZjGuRSCtVEad9FA0Mba+tNUtUmtnSI1nwUw==} + '@smithy/util-stream@4.2.4': + resolution: {integrity: sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==} engines: {node: '>=18.0.0'} '@smithy/util-uri-escape@4.0.0': @@ -1123,8 +1141,8 @@ packages: resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} engines: {node: '>=18.0.0'} - '@smithy/util-waiter@4.0.4': - resolution: {integrity: sha512-73aeIvHjtSB6fd9I08iFaQIGTICKpLrI3EtlWAkStVENGo1ARMq9qdoD4QwkY0RUp6A409xlgbD9NCCfCF5ieg==} + '@smithy/util-waiter@4.0.7': + resolution: {integrity: sha512-mYqtQXPmrwvUljaHyGxYUIIRI3qjBTEb/f5QFi3A6VlxhpmZd5mWXn9W+qUkf2pVE1Hv3SqxefiZOPGdxmO64A==} engines: {node: '>=18.0.0'} '@tootallnate/once@2.0.0': @@ -1140,8 +1158,8 @@ packages: '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - '@types/node@20.17.51': - resolution: {integrity: sha512-hccptBl7C8lHiKxTBsY6vYYmqpmw1E/aGR/8fmueE+B390L3pdMOpNSRvFO4ZnXzW5+p2HBXV0yNABd2vdk22Q==} + '@types/node@20.19.11': + resolution: {integrity: sha512-uug3FEEGv0r+jrecvUUpbY8lLisvIjg6AAic6a2bSP5OEOLeJsDSnvhCDov7ipFFMXS3orMpzlmi0ZcuGkBbow==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1149,8 +1167,8 @@ packages: '@types/s3rver@3.7.4': resolution: {integrity: sha512-CMCmdNszxS2FsIznWvBMVCl6fpvr5ueaFCaY0iSoH7Ud5maGcLghukpDvsXBnIcp92cv2HeVnVqI1p8yPcab9Q==} - '@types/statuses@2.0.5': - resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} + '@types/statuses@2.0.6': + resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==} '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -1158,9 +1176,12 @@ packages: '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} - '@typespec/ts-http-runtime@0.2.2': - resolution: {integrity: sha512-Gz/Sm64+Sq/vklJu1tt9t+4R2lvnud8NbTD/ZfpZtMiUX7YeVpCA8j6NSW8ptwcoLL+NmYANwqP8DV0q/bwl2w==} - engines: {node: '>=18.0.0'} + '@types/uuid@9.0.8': + resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + + '@typespec/ts-http-runtime@0.3.0': + resolution: {integrity: sha512-sOx1PKSuFwnIl7z4RN0Ls7N9AQawmR9r66eI5rFCzLDIs8HTIYrIpH9QjYWoX0lkgGrkLxXhi4QnK7MizPRrIg==} + engines: {node: '>=20.0.0'} JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -1181,8 +1202,8 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} aggregate-error@3.1.0: @@ -1216,8 +1237,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.0: + resolution: {integrity: sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -1304,8 +1325,8 @@ packages: before-after-hook@4.0.0: resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} - bignumber.js@9.3.0: - resolution: {integrity: sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA==} + bignumber.js@9.3.1: + resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -1316,14 +1337,11 @@ packages: bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + bowser@2.12.0: + resolution: {integrity: sha512-HcOcTudTeEWgbHh0Y1Tyb6fdeR71m4b/QACf0D4KswGTsNeIJQmg38mRENZPAYPZvGFN3fk3604XbQEPdxXdKg==} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -1351,10 +1369,6 @@ packages: engines: {node: '>=14.14.0'} hasBin: true - cache-content-type@1.0.1: - resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} - engines: {node: '>= 6.0.0'} - cachedir@2.3.0: resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==} engines: {node: '>=6'} @@ -1383,8 +1397,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + chalk@5.6.0: + resolution: {integrity: sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} char-regex@1.0.2: @@ -1482,8 +1496,8 @@ packages: commitlint-config-cz@0.13.3: resolution: {integrity: sha512-6LmCvGiFDTVSmLF0mzVVp1etMM8lAqLmPRlU7Oml1J8J9oOLadf+2g4uMTchdxOvvYLgll99SESFUHgmc6oATA==} - commitlint-plugin-function-rules@4.0.1: - resolution: {integrity: sha512-q3zniafaRo41x0eatCCe1ai9Tge4ArK4Mc5rVXTCtj6D9s0unxYpCnFiyLVOpKyz8za78qlZacCHTErvHnU+dw==} + commitlint-plugin-function-rules@4.0.2: + resolution: {integrity: sha512-sNAGb10MxaTgB0GdASD7hWclcXMSkoRtegNyGvp3VN0ZqXm/7/5p4kNv4Ei3mjgaEwpGTLcqj0ka7MtolONG0Q==} engines: {node: '>=20'} peerDependencies: '@commitlint/lint': '>=19 <20' @@ -1521,8 +1535,8 @@ packages: resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} engines: {node: '>=16'} - conventional-changelog-writer@8.1.0: - resolution: {integrity: sha512-dpC440QnORNCO81XYuRRFOLCsjKj4W7tMkUIn3lR6F/FAaJcWLi7iCj6IcEvSQY2zw6VUgwUKd5DEHKEWrpmEQ==} + conventional-changelog-writer@8.2.0: + resolution: {integrity: sha512-Y2aW4596l9AEvFJRwFGJGiQjt2sBYTjPD18DdvxX9Vpz0Z7HQ+g1Z+6iYDAm1vR3QOJrDBkRHixHK/+FhkR6Pw==} engines: {node: '>=18'} hasBin: true @@ -1538,8 +1552,8 @@ packages: engines: {node: '>=16'} hasBin: true - conventional-commits-parser@6.1.0: - resolution: {integrity: sha512-5nxDo7TwKB5InYBl4ZC//1g9GRwB/F3TXOGR9hgUjMGfvSP4Vu5NkpNro2+1+TIEy1vwxApl5ircECr2ri5JIw==} + conventional-commits-parser@6.2.0: + resolution: {integrity: sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==} engines: {node: '>=18'} hasBin: true @@ -1690,8 +1704,8 @@ packages: resolution: {integrity: sha512-uW8Hrhp5ammm9x7kBLR6jDfujgaDarNA02tprvZdyrJ7MpdzD1KyrIHG4l+YoC2fJ2UcdFdNWNWIjt+sexBHJw==} engines: {node: '>=12'} - dotenv@16.5.0: - resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -1729,8 +1743,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} ent@2.2.2: resolution: {integrity: sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==} @@ -1754,8 +1768,8 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.10: - resolution: {integrity: sha512-MtUbM072wlJNyeYAe0mhzrD+M6DIJa96CZAOBBrhDbgKnB4MApIKefcyAB1eOdYn8cUNZgvwBvEzdoAYsxgEIw==} + es-abstract@1.24.0: + resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} engines: {node: '>= 0.4'} es-define-property@1.0.1: @@ -1778,8 +1792,8 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - esbuild@0.25.5: - resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} hasBin: true @@ -1848,9 +1862,9 @@ packages: fast-json-stringify@6.0.1: resolution: {integrity: sha512-s7SJE83QKBZwg54dIbD5rCtzOBVD43V1ReWXXYqBgwCwHLYAAT0RQc/FmrQglXqWPpz6omtryJQOau5jI4Nrvg==} - fast-jwt@4.0.5: - resolution: {integrity: sha512-QnpNdn0955GT7SlT8iMgYfhTsityUWysrQjM+Q7bGFijLp6+TNWzlbSMPvgalbrQGRg4ZaHZgMcns5fYOm5avg==} - engines: {node: '>=16'} + fast-jwt@5.0.6: + resolution: {integrity: sha512-LPE7OCGUl11q3ZgW681cEU2d0d2JZ37hhJAmetCgNyW8waVaJVZXhyFF6U2so1Iim58Yc7pfxJe2P7MNetQH2g==} + engines: {node: '>=20'} fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} @@ -1872,12 +1886,8 @@ packages: resolution: {integrity: sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==} hasBin: true - fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} - hasBin: true - - fast-xml-parser@5.2.3: - resolution: {integrity: sha512-OdCYfRqfpuLUFonTNjvd30rCBZUneHpSQkCqfaeWQ9qrKcl6XlWeDBNVwGb+INAIxRshuN2jF+BE0L6gbBO2mw==} + fast-xml-parser@5.2.5: + resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} hasBin: true fastfall@1.5.1: @@ -1985,8 +1995,8 @@ packages: fs-blob-store@6.0.0: resolution: {integrity: sha512-oMdboCaw6kTRXi5lKfjpw7DO7maC+gwFmaef3DsYQTYHtOoTmCo13ZGH1GoqFaD81RW5qbaT9YKlP+OA4dzbdA==} - fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + fs-extra@11.3.1: + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} engines: {node: '>=14.14'} fs-extra@8.1.0: @@ -2074,8 +2084,8 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@11.0.2: - resolution: {integrity: sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} hasBin: true @@ -2260,8 +2270,8 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@7.0.4: - resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} import-fresh@3.3.1: @@ -2387,6 +2397,10 @@ packages: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} @@ -2494,8 +2508,8 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} engines: {node: '>=8'} jackspeak@4.1.1: @@ -2506,8 +2520,8 @@ packages: resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} engines: {node: '>= 0.6.0'} - jiti@2.4.2: - resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true joycon@3.1.1: @@ -2539,8 +2553,8 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -2573,8 +2587,8 @@ packages: resolution: {integrity: sha512-MjlznhLLKy9+kG8nAXKJLM0/ClsQp/Or2vI3a5rbSQmgl8IJBQO0KI5FA70BvW+hqjtxjp49SpH2E7okS6NmHg==} engines: {node: '>= 7.6.0'} - koa@3.0.0: - resolution: {integrity: sha512-Usyqf1o+XN618R3Jzq4S4YWbKsRtPcGpgyHXD4APdGYQQyqQ59X+Oyc7fXHS2429stzLsBiDjj6zqqYe8kknfw==} + koa@3.0.1: + resolution: {integrity: sha512-oDxVkRwPOHhGlxKIDiDB2h+/l05QPtefD7nSqRgDfZt8P+QVYFWjfeK8jANf5O2YXjk8egd7KntvXKYx82wOag==} engines: {node: '>= 18'} kuler@2.0.0: @@ -2781,8 +2795,8 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -2801,8 +2815,8 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mnemonist@0.39.8: - resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} + mnemonist@0.40.3: + resolution: {integrity: sha512-Vjyr90sJ23CKKH/qPAgUKicw/v6pRoamxIEDFOF8uSgFME7DqPRpHgRTejWVjkdGg5dXj0/NyxZHZ9bcjH+2uQ==} mock-jwks@3.3.5: resolution: {integrity: sha512-dINtHCQ5l4NTbTHHpibIjaJJw+nP7dSn5DbsgervyqwcM8mJsvdbYNV8OSrdOHKnckwbeijy7o55dCgNmhxyRQ==} @@ -2811,8 +2825,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.8.5: - resolution: {integrity: sha512-uSp82wwBjOBV+VIt4rtUgwrbNFCobZICSd2iexS4IMIwFxDexSojiwnrZF3TK6yxxUt1PBHZdsfOwuI9JzWphA==} + msw@2.10.5: + resolution: {integrity: sha512-0EsQCrCI1HbhpBWd89DvmxY6plmvrM96b0sCIztnvcNHQbXn5vqwm1KlXslo6u4wN9LFGLC1WFjjgljcQhe40A==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -2879,8 +2893,8 @@ packages: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} - normalize-url@8.0.1: - resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + normalize-url@8.0.2: + resolution: {integrity: sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==} engines: {node: '>=14.16'} npm-run-all@4.1.5: @@ -2900,8 +2914,8 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} - npm@10.9.2: - resolution: {integrity: sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==} + npm@10.9.3: + resolution: {integrity: sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true bundledDependencies: @@ -3194,15 +3208,15 @@ packages: pino-abstract-transport@2.0.0: resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} - pino-pretty@13.0.0: - resolution: {integrity: sha512-cQBBIVG3YajgoUjo1FdKVRX6t9XPxwB9lcNJVD5GCnNM4Y6T12YYx8c6zEejxQsU0wrg9TwmDulcE9LR7qcJqA==} + pino-pretty@13.1.1: + resolution: {integrity: sha512-TNNEOg0eA0u+/WuqH0MH0Xui7uqVk9D74ESOpjtebSQYbNWJk/dIxCXIxFsNfeN53JmtWqYHP2OrIZjT/CBEnA==} hasBin: true pino-std-serializers@7.0.0: resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@9.7.0: - resolution: {integrity: sha512-vnMCM6xZTb1WDmLvtG2lE/2p+t9hDEIvTWJsu6FejkE62vB7gDhvzrpFR4Cw2to+9JNQxVnkAKVPA1KPB98vWg==} + pino@9.9.0: + resolution: {integrity: sha512-zxsRIQG9HzG+jEljmvmZupOMDUQ0Jpj0yAgE28jQvvrdYTlEaiGwelJpdndMl/MBuRr70heIj83QyqJUWaU8mQ==} hasBin: true pkg-conf@2.1.0: @@ -3232,8 +3246,8 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} @@ -3396,14 +3410,11 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - secure-json-parse@4.0.0: resolution: {integrity: sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==} - semantic-release@24.2.5: - resolution: {integrity: sha512-9xV49HNY8C0/WmPWxTlaNleiXhWb//qfMzG2c5X8/k7tuWcu8RssbuS+sujb/h7PiWSXv53mrQvV9hrO9b7vuQ==} + semantic-release@24.2.7: + resolution: {integrity: sha512-g7RssbTAbir1k/S7uSwSVZFfFXwpomUB9Oas0+xi9KStSCmeDXcA7rNhiskjLqvUe/Evhx8fVCT16OSa34eM5g==} engines: {node: '>=20.8.1'} hasBin: true @@ -3458,8 +3469,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.8.2: - resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} side-channel-list@1.0.0: @@ -3519,8 +3530,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} split2@1.0.0: resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} @@ -3540,9 +3551,17 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + steed@1.1.3: resolution: {integrity: sha512-EUkci0FAUiE4IvGTSKcDJIQ/eRUP2JJb56+fvZ4sdnguLTqIdKjSxUe138poW8mkvKWXW2sFPrgTsxqoISnmoA==} + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} @@ -3628,6 +3647,10 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + strip-json-comments@5.0.3: + resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} + engines: {node: '>=14.16'} + strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} @@ -3741,8 +3764,8 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} - tsx@4.19.4: - resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==} + tsx@4.20.4: + resolution: {integrity: sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg==} engines: {node: '>=18.0.0'} hasBin: true @@ -3782,8 +3805,8 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -3796,8 +3819,8 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - undici-types@6.19.8: - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -3956,10 +3979,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - ylru@1.4.0: - resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} - engines: {node: '>= 4.0.0'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -3981,20 +4000,20 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.862.0 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.862.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.804.0 + '@aws-sdk/types': 3.862.0 '@aws-sdk/util-locate-window': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -4004,7 +4023,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.804.0 + '@aws-sdk/types': 3.862.0 '@aws-sdk/util-locate-window': 3.804.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -4012,7 +4031,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.862.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -4021,453 +4040,460 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.862.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.817.0': + '@aws-sdk/client-s3@3.864.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/core': 3.816.0 - '@aws-sdk/credential-provider-node': 3.817.0 - '@aws-sdk/middleware-bucket-endpoint': 3.808.0 - '@aws-sdk/middleware-expect-continue': 3.804.0 - '@aws-sdk/middleware-flexible-checksums': 3.816.0 - '@aws-sdk/middleware-host-header': 3.804.0 - '@aws-sdk/middleware-location-constraint': 3.804.0 - '@aws-sdk/middleware-logger': 3.804.0 - '@aws-sdk/middleware-recursion-detection': 3.804.0 - '@aws-sdk/middleware-sdk-s3': 3.816.0 - '@aws-sdk/middleware-ssec': 3.804.0 - '@aws-sdk/middleware-user-agent': 3.816.0 - '@aws-sdk/region-config-resolver': 3.808.0 - '@aws-sdk/signature-v4-multi-region': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@aws-sdk/util-endpoints': 3.808.0 - '@aws-sdk/util-user-agent-browser': 3.804.0 - '@aws-sdk/util-user-agent-node': 3.816.0 - '@aws-sdk/xml-builder': 3.804.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/eventstream-serde-browser': 4.0.3 - '@smithy/eventstream-serde-config-resolver': 4.1.1 - '@smithy/eventstream-serde-node': 4.0.3 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-blob-browser': 4.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/hash-stream-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/md5-js': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/credential-provider-node': 3.864.0 + '@aws-sdk/middleware-bucket-endpoint': 3.862.0 + '@aws-sdk/middleware-expect-continue': 3.862.0 + '@aws-sdk/middleware-flexible-checksums': 3.864.0 + '@aws-sdk/middleware-host-header': 3.862.0 + '@aws-sdk/middleware-location-constraint': 3.862.0 + '@aws-sdk/middleware-logger': 3.862.0 + '@aws-sdk/middleware-recursion-detection': 3.862.0 + '@aws-sdk/middleware-sdk-s3': 3.864.0 + '@aws-sdk/middleware-ssec': 3.862.0 + '@aws-sdk/middleware-user-agent': 3.864.0 + '@aws-sdk/region-config-resolver': 3.862.0 + '@aws-sdk/signature-v4-multi-region': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.862.0 + '@aws-sdk/util-user-agent-browser': 3.862.0 + '@aws-sdk/util-user-agent-node': 3.864.0 + '@aws-sdk/xml-builder': 3.862.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.8.0 + '@smithy/eventstream-serde-browser': 4.0.5 + '@smithy/eventstream-serde-config-resolver': 4.1.3 + '@smithy/eventstream-serde-node': 4.0.5 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/hash-blob-browser': 4.0.5 + '@smithy/hash-node': 4.0.5 + '@smithy/hash-stream-node': 4.0.5 + '@smithy/invalid-dependency': 4.0.5 + '@smithy/md5-js': 4.0.5 + '@smithy/middleware-content-length': 4.0.5 + '@smithy/middleware-endpoint': 4.1.18 + '@smithy/middleware-retry': 4.1.19 + '@smithy/middleware-serde': 4.0.9 + '@smithy/middleware-stack': 4.0.5 + '@smithy/node-config-provider': 4.1.4 + '@smithy/node-http-handler': 4.1.1 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 - '@smithy/util-stream': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.0.26 + '@smithy/util-defaults-mode-node': 4.0.26 + '@smithy/util-endpoints': 3.0.7 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 + '@smithy/util-stream': 4.2.4 '@smithy/util-utf8': 4.0.0 - '@smithy/util-waiter': 4.0.4 + '@smithy/util-waiter': 4.0.7 + '@types/uuid': 9.0.8 tslib: 2.8.1 + uuid: 9.0.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.817.0': + '@aws-sdk/client-sso@3.864.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/middleware-host-header': 3.804.0 - '@aws-sdk/middleware-logger': 3.804.0 - '@aws-sdk/middleware-recursion-detection': 3.804.0 - '@aws-sdk/middleware-user-agent': 3.816.0 - '@aws-sdk/region-config-resolver': 3.808.0 - '@aws-sdk/types': 3.804.0 - '@aws-sdk/util-endpoints': 3.808.0 - '@aws-sdk/util-user-agent-browser': 3.804.0 - '@aws-sdk/util-user-agent-node': 3.816.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/middleware-host-header': 3.862.0 + '@aws-sdk/middleware-logger': 3.862.0 + '@aws-sdk/middleware-recursion-detection': 3.862.0 + '@aws-sdk/middleware-user-agent': 3.864.0 + '@aws-sdk/region-config-resolver': 3.862.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.862.0 + '@aws-sdk/util-user-agent-browser': 3.862.0 + '@aws-sdk/util-user-agent-node': 3.864.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.8.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/hash-node': 4.0.5 + '@smithy/invalid-dependency': 4.0.5 + '@smithy/middleware-content-length': 4.0.5 + '@smithy/middleware-endpoint': 4.1.18 + '@smithy/middleware-retry': 4.1.19 + '@smithy/middleware-serde': 4.0.9 + '@smithy/middleware-stack': 4.0.5 + '@smithy/node-config-provider': 4.1.4 + '@smithy/node-http-handler': 4.1.1 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@smithy/util-defaults-mode-browser': 4.0.26 + '@smithy/util-defaults-mode-node': 4.0.26 + '@smithy/util-endpoints': 3.0.7 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.816.0': - dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/core': 3.4.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/signature-v4': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/util-middleware': 4.0.3 - fast-xml-parser: 4.4.1 + '@aws-sdk/core@3.864.0': + dependencies: + '@aws-sdk/types': 3.862.0 + '@aws-sdk/xml-builder': 3.862.0 + '@smithy/core': 3.8.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/property-provider': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/signature-v4': 5.1.3 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-utf8': 4.0.0 + fast-xml-parser: 5.2.5 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.816.0': + '@aws-sdk/credential-provider-env@3.864.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.816.0': - dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/node-http-handler': 4.0.5 - '@smithy/property-provider': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/util-stream': 4.2.1 + '@aws-sdk/credential-provider-http@3.864.0': + dependencies: + '@aws-sdk/core': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/node-http-handler': 4.1.1 + '@smithy/property-provider': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + '@smithy/util-stream': 4.2.4 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.817.0': - dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/credential-provider-env': 3.816.0 - '@aws-sdk/credential-provider-http': 3.816.0 - '@aws-sdk/credential-provider-process': 3.816.0 - '@aws-sdk/credential-provider-sso': 3.817.0 - '@aws-sdk/credential-provider-web-identity': 3.817.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/credential-provider-ini@3.864.0': + dependencies: + '@aws-sdk/core': 3.864.0 + '@aws-sdk/credential-provider-env': 3.864.0 + '@aws-sdk/credential-provider-http': 3.864.0 + '@aws-sdk/credential-provider-process': 3.864.0 + '@aws-sdk/credential-provider-sso': 3.864.0 + '@aws-sdk/credential-provider-web-identity': 3.864.0 + '@aws-sdk/nested-clients': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/credential-provider-imds': 4.0.7 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.817.0': - dependencies: - '@aws-sdk/credential-provider-env': 3.816.0 - '@aws-sdk/credential-provider-http': 3.816.0 - '@aws-sdk/credential-provider-ini': 3.817.0 - '@aws-sdk/credential-provider-process': 3.816.0 - '@aws-sdk/credential-provider-sso': 3.817.0 - '@aws-sdk/credential-provider-web-identity': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/credential-provider-node@3.864.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.864.0 + '@aws-sdk/credential-provider-http': 3.864.0 + '@aws-sdk/credential-provider-ini': 3.864.0 + '@aws-sdk/credential-provider-process': 3.864.0 + '@aws-sdk/credential-provider-sso': 3.864.0 + '@aws-sdk/credential-provider-web-identity': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/credential-provider-imds': 4.0.7 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.816.0': + '@aws-sdk/credential-provider-process@3.864.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.817.0': + '@aws-sdk/credential-provider-sso@3.864.0': dependencies: - '@aws-sdk/client-sso': 3.817.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/token-providers': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/client-sso': 3.864.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/token-providers': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.817.0': + '@aws-sdk/credential-provider-web-identity@3.864.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/nested-clients': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/lib-storage@3.817.0(@aws-sdk/client-s3@3.817.0)': + '@aws-sdk/lib-storage@3.864.0(@aws-sdk/client-s3@3.864.0)': dependencies: - '@aws-sdk/client-s3': 3.817.0 - '@smithy/abort-controller': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/smithy-client': 4.3.0 + '@aws-sdk/client-s3': 3.864.0 + '@smithy/abort-controller': 4.0.5 + '@smithy/middleware-endpoint': 4.1.18 + '@smithy/smithy-client': 4.4.10 buffer: 5.6.0 events: 3.3.0 stream-browserify: 3.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-bucket-endpoint@3.808.0': + '@aws-sdk/middleware-bucket-endpoint@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 + '@aws-sdk/types': 3.862.0 '@aws-sdk/util-arn-parser': 3.804.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 '@smithy/util-config-provider': 4.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.804.0': + '@aws-sdk/middleware-expect-continue@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.816.0': + '@aws-sdk/middleware-flexible-checksums@3.864.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/types': 3.862.0 '@smithy/is-array-buffer': 4.0.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-stream': 4.2.1 + '@smithy/node-config-provider': 4.1.4 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-stream': 4.2.4 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.804.0': + '@aws-sdk/middleware-host-header@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.804.0': + '@aws-sdk/middleware-location-constraint@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.804.0': + '@aws-sdk/middleware-logger@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.804.0': + '@aws-sdk/middleware-recursion-detection@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.816.0': + '@aws-sdk/middleware-sdk-s3@3.864.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/types': 3.862.0 '@aws-sdk/util-arn-parser': 3.804.0 - '@smithy/core': 3.4.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/protocol-http': 5.1.1 - '@smithy/signature-v4': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 + '@smithy/core': 3.8.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/protocol-http': 5.1.3 + '@smithy/signature-v4': 5.1.3 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-stream': 4.2.1 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-stream': 4.2.4 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.804.0': + '@aws-sdk/middleware-ssec@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.816.0': + '@aws-sdk/middleware-user-agent@3.864.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@aws-sdk/util-endpoints': 3.808.0 - '@smithy/core': 3.4.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.862.0 + '@smithy/core': 3.8.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.817.0': + '@aws-sdk/nested-clients@3.864.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.816.0 - '@aws-sdk/middleware-host-header': 3.804.0 - '@aws-sdk/middleware-logger': 3.804.0 - '@aws-sdk/middleware-recursion-detection': 3.804.0 - '@aws-sdk/middleware-user-agent': 3.816.0 - '@aws-sdk/region-config-resolver': 3.808.0 - '@aws-sdk/types': 3.804.0 - '@aws-sdk/util-endpoints': 3.808.0 - '@aws-sdk/util-user-agent-browser': 3.804.0 - '@aws-sdk/util-user-agent-node': 3.816.0 - '@smithy/config-resolver': 4.1.3 - '@smithy/core': 3.4.0 - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/hash-node': 4.0.3 - '@smithy/invalid-dependency': 4.0.3 - '@smithy/middleware-content-length': 4.0.3 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-retry': 4.1.8 - '@smithy/middleware-serde': 4.0.6 - '@smithy/middleware-stack': 4.0.3 - '@smithy/node-config-provider': 4.1.2 - '@smithy/node-http-handler': 4.0.5 - '@smithy/protocol-http': 5.1.1 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/middleware-host-header': 3.862.0 + '@aws-sdk/middleware-logger': 3.862.0 + '@aws-sdk/middleware-recursion-detection': 3.862.0 + '@aws-sdk/middleware-user-agent': 3.864.0 + '@aws-sdk/region-config-resolver': 3.862.0 + '@aws-sdk/types': 3.862.0 + '@aws-sdk/util-endpoints': 3.862.0 + '@aws-sdk/util-user-agent-browser': 3.862.0 + '@aws-sdk/util-user-agent-node': 3.864.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/core': 3.8.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/hash-node': 4.0.5 + '@smithy/invalid-dependency': 4.0.5 + '@smithy/middleware-content-length': 4.0.5 + '@smithy/middleware-endpoint': 4.1.18 + '@smithy/middleware-retry': 4.1.19 + '@smithy/middleware-serde': 4.0.9 + '@smithy/middleware-stack': 4.0.5 + '@smithy/node-config-provider': 4.1.4 + '@smithy/node-http-handler': 4.1.1 + '@smithy/protocol-http': 5.1.3 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.15 - '@smithy/util-defaults-mode-node': 4.0.15 - '@smithy/util-endpoints': 3.0.5 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@smithy/util-defaults-mode-browser': 4.0.26 + '@smithy/util-defaults-mode-node': 4.0.26 + '@smithy/util-endpoints': 3.0.7 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.808.0': + '@aws-sdk/region-config-resolver@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.0 + '@aws-sdk/types': 3.862.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.3 + '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.816.0': + '@aws-sdk/signature-v4-multi-region@3.864.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/signature-v4': 5.1.1 - '@smithy/types': 4.3.0 + '@aws-sdk/middleware-sdk-s3': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/signature-v4': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/token-providers@3.817.0': + '@aws-sdk/token-providers@3.864.0': dependencies: - '@aws-sdk/core': 3.816.0 - '@aws-sdk/nested-clients': 3.817.0 - '@aws-sdk/types': 3.804.0 - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@aws-sdk/core': 3.864.0 + '@aws-sdk/nested-clients': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/types@3.804.0': + '@aws-sdk/types@3.862.0': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@aws-sdk/util-arn-parser@3.804.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.808.0': + '@aws-sdk/util-endpoints@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 - '@smithy/util-endpoints': 3.0.5 + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-endpoints': 3.0.7 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.804.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.804.0': + '@aws-sdk/util-user-agent-browser@3.862.0': dependencies: - '@aws-sdk/types': 3.804.0 - '@smithy/types': 4.3.0 - bowser: 2.11.0 + '@aws-sdk/types': 3.862.0 + '@smithy/types': 4.3.2 + bowser: 2.12.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.816.0': + '@aws-sdk/util-user-agent-node@3.864.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.816.0 - '@aws-sdk/types': 3.804.0 - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.0 + '@aws-sdk/middleware-user-agent': 3.864.0 + '@aws-sdk/types': 3.862.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.804.0': + '@aws-sdk/xml-builder@3.862.0': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@azure/abort-controller@2.1.2': dependencies: tslib: 2.8.1 - '@azure/core-auth@1.9.0': + '@azure/core-auth@1.10.0': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.12.0 + '@azure/core-util': 1.13.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/core-client@1.9.4': + '@azure/core-client@1.10.0': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.9.0 - '@azure/core-rest-pipeline': 1.20.0 - '@azure/core-tracing': 1.2.0 - '@azure/core-util': 1.12.0 - '@azure/logger': 1.2.0 + '@azure/core-auth': 1.10.0 + '@azure/core-rest-pipeline': 1.22.0 + '@azure/core-tracing': 1.3.0 + '@azure/core-util': 1.13.0 + '@azure/logger': 1.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -4475,16 +4501,16 @@ snapshots: '@azure/core-http-compat@2.3.0': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-client': 1.9.4 - '@azure/core-rest-pipeline': 1.20.0 + '@azure/core-client': 1.10.0 + '@azure/core-rest-pipeline': 1.22.0 transitivePeerDependencies: - supports-color '@azure/core-lro@2.7.2': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-util': 1.12.0 - '@azure/logger': 1.2.0 + '@azure/core-util': 1.13.0 + '@azure/logger': 1.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -4493,55 +4519,70 @@ snapshots: dependencies: tslib: 2.8.1 - '@azure/core-rest-pipeline@1.20.0': + '@azure/core-rest-pipeline@1.22.0': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.9.0 - '@azure/core-tracing': 1.2.0 - '@azure/core-util': 1.12.0 - '@azure/logger': 1.2.0 - '@typespec/ts-http-runtime': 0.2.2 + '@azure/core-auth': 1.10.0 + '@azure/core-tracing': 1.3.0 + '@azure/core-util': 1.13.0 + '@azure/logger': 1.3.0 + '@typespec/ts-http-runtime': 0.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/core-tracing@1.2.0': + '@azure/core-tracing@1.3.0': dependencies: tslib: 2.8.1 - '@azure/core-util@1.12.0': + '@azure/core-util@1.13.0': dependencies: '@azure/abort-controller': 2.1.2 - '@typespec/ts-http-runtime': 0.2.2 + '@typespec/ts-http-runtime': 0.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/core-xml@1.4.5': + '@azure/core-xml@1.5.0': dependencies: - fast-xml-parser: 5.2.3 + fast-xml-parser: 5.2.5 tslib: 2.8.1 - '@azure/logger@1.2.0': + '@azure/logger@1.3.0': dependencies: - '@typespec/ts-http-runtime': 0.2.2 + '@typespec/ts-http-runtime': 0.3.0 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/storage-blob@12.27.0': + '@azure/storage-blob@12.28.0': dependencies: '@azure/abort-controller': 2.1.2 - '@azure/core-auth': 1.9.0 - '@azure/core-client': 1.9.4 + '@azure/core-auth': 1.10.0 + '@azure/core-client': 1.10.0 '@azure/core-http-compat': 2.3.0 '@azure/core-lro': 2.7.2 '@azure/core-paging': 1.6.2 - '@azure/core-rest-pipeline': 1.20.0 - '@azure/core-tracing': 1.2.0 - '@azure/core-util': 1.12.0 - '@azure/core-xml': 1.4.5 - '@azure/logger': 1.2.0 + '@azure/core-rest-pipeline': 1.22.0 + '@azure/core-tracing': 1.3.0 + '@azure/core-util': 1.13.0 + '@azure/core-xml': 1.5.0 + '@azure/logger': 1.3.0 + '@azure/storage-common': 12.0.0 + events: 3.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/storage-common@12.0.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.10.0 + '@azure/core-http-compat': 2.3.0 + '@azure/core-rest-pipeline': 1.22.0 + '@azure/core-tracing': 1.3.0 + '@azure/core-util': 1.13.0 + '@azure/logger': 1.3.0 events: 3.3.0 tslib: 2.8.1 transitivePeerDependencies: @@ -4590,7 +4631,7 @@ snapshots: '@bundled-es-modules/statuses@1.0.1': dependencies: - statuses: 2.0.1 + statuses: 2.0.2 '@bundled-es-modules/tough-cookie@0.1.6': dependencies: @@ -4602,11 +4643,11 @@ snapshots: '@colors/colors@1.6.0': {} - '@commitlint/cli@19.8.1(@types/node@20.17.51)(typescript@5.8.3)': + '@commitlint/cli@19.8.1(@types/node@20.19.11)(typescript@5.9.2)': dependencies: '@commitlint/format': 19.8.1 '@commitlint/lint': 19.8.1 - '@commitlint/load': 19.8.1(@types/node@20.17.51)(typescript@5.8.3) + '@commitlint/load': 19.8.1(@types/node@20.19.11)(typescript@5.9.2) '@commitlint/read': 19.8.1 '@commitlint/types': 19.8.1 tinyexec: 1.0.1 @@ -4639,7 +4680,7 @@ snapshots: '@commitlint/format@19.8.1': dependencies: '@commitlint/types': 19.8.1 - chalk: 5.4.1 + chalk: 5.6.0 '@commitlint/is-ignored@19.8.1': dependencies: @@ -4653,15 +4694,15 @@ snapshots: '@commitlint/rules': 19.8.1 '@commitlint/types': 19.8.1 - '@commitlint/load@19.8.1(@types/node@20.17.51)(typescript@5.8.3)': + '@commitlint/load@19.8.1(@types/node@20.19.11)(typescript@5.9.2)': dependencies: '@commitlint/config-validator': 19.8.1 '@commitlint/execute-rule': 19.8.1 '@commitlint/resolve-extends': 19.8.1 '@commitlint/types': 19.8.1 - chalk: 5.4.1 - cosmiconfig: 9.0.0(typescript@5.8.3) - cosmiconfig-typescript-loader: 6.1.0(@types/node@20.17.51)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) + chalk: 5.6.0 + cosmiconfig: 9.0.0(typescript@5.9.2) + cosmiconfig-typescript-loader: 6.1.0(@types/node@20.19.11)(cosmiconfig@9.0.0(typescript@5.9.2))(typescript@5.9.2) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -4677,12 +4718,12 @@ snapshots: conventional-changelog-angular: 7.0.0 conventional-commits-parser: 5.0.0 - '@commitlint/prompt@19.8.1(@types/node@20.17.51)(typescript@5.8.3)': + '@commitlint/prompt@19.8.1(@types/node@20.19.11)(typescript@5.9.2)': dependencies: '@commitlint/ensure': 19.8.1 - '@commitlint/load': 19.8.1(@types/node@20.17.51)(typescript@5.8.3) + '@commitlint/load': 19.8.1(@types/node@20.19.11)(typescript@5.9.2) '@commitlint/types': 19.8.1 - chalk: 5.4.1 + chalk: 5.6.0 inquirer: 9.3.7 transitivePeerDependencies: - '@types/node' @@ -4721,7 +4762,7 @@ snapshots: '@commitlint/types@19.8.1': dependencies: '@types/conventional-commits-parser': 5.0.1 - chalk: 5.4.1 + chalk: 5.6.0 '@dabh/diagnostics@2.0.3': dependencies: @@ -4729,84 +4770,87 @@ snapshots: enabled: 2.0.0 kuler: 2.0.0 - '@ducktors/tsconfig@1.0.0(typescript@5.8.3)': + '@ducktors/tsconfig@1.0.0(typescript@5.9.2)': dependencies: fastify-tsconfig: 2.0.0 - typescript: 5.8.3 + typescript: 5.9.2 - '@esbuild/aix-ppc64@0.25.5': + '@esbuild/aix-ppc64@0.25.9': optional: true - '@esbuild/android-arm64@0.25.5': + '@esbuild/android-arm64@0.25.9': optional: true - '@esbuild/android-arm@0.25.5': + '@esbuild/android-arm@0.25.9': optional: true - '@esbuild/android-x64@0.25.5': + '@esbuild/android-x64@0.25.9': optional: true - '@esbuild/darwin-arm64@0.25.5': + '@esbuild/darwin-arm64@0.25.9': optional: true - '@esbuild/darwin-x64@0.25.5': + '@esbuild/darwin-x64@0.25.9': optional: true - '@esbuild/freebsd-arm64@0.25.5': + '@esbuild/freebsd-arm64@0.25.9': optional: true - '@esbuild/freebsd-x64@0.25.5': + '@esbuild/freebsd-x64@0.25.9': optional: true - '@esbuild/linux-arm64@0.25.5': + '@esbuild/linux-arm64@0.25.9': optional: true - '@esbuild/linux-arm@0.25.5': + '@esbuild/linux-arm@0.25.9': optional: true - '@esbuild/linux-ia32@0.25.5': + '@esbuild/linux-ia32@0.25.9': optional: true - '@esbuild/linux-loong64@0.25.5': + '@esbuild/linux-loong64@0.25.9': optional: true - '@esbuild/linux-mips64el@0.25.5': + '@esbuild/linux-mips64el@0.25.9': optional: true - '@esbuild/linux-ppc64@0.25.5': + '@esbuild/linux-ppc64@0.25.9': optional: true - '@esbuild/linux-riscv64@0.25.5': + '@esbuild/linux-riscv64@0.25.9': optional: true - '@esbuild/linux-s390x@0.25.5': + '@esbuild/linux-s390x@0.25.9': optional: true - '@esbuild/linux-x64@0.25.5': + '@esbuild/linux-x64@0.25.9': optional: true - '@esbuild/netbsd-arm64@0.25.5': + '@esbuild/netbsd-arm64@0.25.9': optional: true - '@esbuild/netbsd-x64@0.25.5': + '@esbuild/netbsd-x64@0.25.9': optional: true - '@esbuild/openbsd-arm64@0.25.5': + '@esbuild/openbsd-arm64@0.25.9': optional: true - '@esbuild/openbsd-x64@0.25.5': + '@esbuild/openbsd-x64@0.25.9': optional: true - '@esbuild/sunos-x64@0.25.5': + '@esbuild/openharmony-arm64@0.25.9': optional: true - '@esbuild/win32-arm64@0.25.5': + '@esbuild/sunos-x64@0.25.9': optional: true - '@esbuild/win32-ia32@0.25.5': + '@esbuild/win32-arm64@0.25.9': optional: true - '@esbuild/win32-x64@0.25.5': + '@esbuild/win32-ia32@0.25.9': + optional: true + + '@esbuild/win32-x64@0.25.9': optional: true '@fastify/ajv-compiler@4.0.2': @@ -4822,7 +4866,7 @@ snapshots: cookie: 1.0.2 fastify-plugin: 5.0.1 - '@fastify/error@4.1.0': {} + '@fastify/error@4.2.0': {} '@fastify/fast-json-stringify-compiler@5.0.3': dependencies: @@ -4830,11 +4874,11 @@ snapshots: '@fastify/forwarded@3.0.0': {} - '@fastify/jwt@9.0.1': + '@fastify/jwt@9.1.0': dependencies: - '@fastify/error': 4.1.0 + '@fastify/error': 4.2.0 '@lukeed/ms': 2.0.2 - fast-jwt: 4.0.5 + fast-jwt: 5.0.6 fastify-plugin: 5.0.1 steed: 1.1.3 @@ -4885,17 +4929,17 @@ snapshots: '@hapi/hoek@10.0.1': {} - '@inquirer/confirm@5.1.12(@types/node@20.17.51)': + '@inquirer/confirm@5.1.15(@types/node@20.19.11)': dependencies: - '@inquirer/core': 10.1.13(@types/node@20.17.51) - '@inquirer/type': 3.0.7(@types/node@20.17.51) + '@inquirer/core': 10.1.15(@types/node@20.19.11) + '@inquirer/type': 3.0.8(@types/node@20.19.11) optionalDependencies: - '@types/node': 20.17.51 + '@types/node': 20.19.11 - '@inquirer/core@10.1.13(@types/node@20.17.51)': + '@inquirer/core@10.1.15(@types/node@20.19.11)': dependencies: - '@inquirer/figures': 1.0.12 - '@inquirer/type': 3.0.7(@types/node@20.17.51) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@20.19.11) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -4903,13 +4947,19 @@ snapshots: wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 20.17.51 + '@types/node': 20.19.11 - '@inquirer/figures@1.0.12': {} + '@inquirer/figures@1.0.13': {} - '@inquirer/type@3.0.7(@types/node@20.17.51)': + '@inquirer/type@3.0.8(@types/node@20.19.11)': optionalDependencies: - '@types/node': 20.17.51 + '@types/node': 20.19.11 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 '@isaacs/cliui@8.0.2': dependencies: @@ -4924,12 +4974,12 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} - '@jridgewell/trace-mapping@0.3.25': + '@jridgewell/trace-mapping@0.3.30': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@koa/router@9.4.0': dependencies: @@ -4943,7 +4993,7 @@ snapshots: '@lukeed/ms@2.0.2': {} - '@mswjs/interceptors@0.38.7': + '@mswjs/interceptors@0.39.6': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -4966,11 +5016,11 @@ snapshots: '@octokit/auth-token@6.0.0': {} - '@octokit/core@7.0.2': + '@octokit/core@7.0.3': dependencies: '@octokit/auth-token': 6.0.0 '@octokit/graphql': 9.0.1 - '@octokit/request': 10.0.2 + '@octokit/request': 10.0.3 '@octokit/request-error': 7.0.0 '@octokit/types': 14.1.0 before-after-hook: 4.0.0 @@ -4983,27 +5033,27 @@ snapshots: '@octokit/graphql@9.0.1': dependencies: - '@octokit/request': 10.0.2 + '@octokit/request': 10.0.3 '@octokit/types': 14.1.0 universal-user-agent: 7.0.3 '@octokit/openapi-types@25.1.0': {} - '@octokit/plugin-paginate-rest@13.0.1(@octokit/core@7.0.2)': + '@octokit/plugin-paginate-rest@13.1.1(@octokit/core@7.0.3)': dependencies: - '@octokit/core': 7.0.2 + '@octokit/core': 7.0.3 '@octokit/types': 14.1.0 - '@octokit/plugin-retry@8.0.1(@octokit/core@7.0.2)': + '@octokit/plugin-retry@8.0.1(@octokit/core@7.0.3)': dependencies: - '@octokit/core': 7.0.2 + '@octokit/core': 7.0.3 '@octokit/request-error': 7.0.0 '@octokit/types': 14.1.0 bottleneck: 2.19.5 - '@octokit/plugin-throttling@11.0.1(@octokit/core@7.0.2)': + '@octokit/plugin-throttling@11.0.1(@octokit/core@7.0.3)': dependencies: - '@octokit/core': 7.0.2 + '@octokit/core': 7.0.3 '@octokit/types': 14.1.0 bottleneck: 2.19.5 @@ -5011,7 +5061,7 @@ snapshots: dependencies: '@octokit/types': 14.1.0 - '@octokit/request@10.0.2': + '@octokit/request@10.0.3': dependencies: '@octokit/endpoint': 11.0.0 '@octokit/request-error': 7.0.0 @@ -5046,25 +5096,25 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@semantic-release/changelog@6.0.3(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/changelog@6.0.3(semantic-release@24.2.7(typescript@5.9.2))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - fs-extra: 11.3.0 + fs-extra: 11.3.1 lodash: 4.17.21 - semantic-release: 24.2.5(typescript@5.8.3) + semantic-release: 24.2.7(typescript@5.9.2) - '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.7(typescript@5.9.2))': dependencies: conventional-changelog-angular: 8.0.0 - conventional-changelog-writer: 8.1.0 + conventional-changelog-writer: 8.2.0 conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.1.0 + conventional-commits-parser: 6.2.0 debug: 4.4.1 import-from-esm: 2.0.0 lodash-es: 4.17.21 micromatch: 4.0.8 - semantic-release: 24.2.5(typescript@5.8.3) + semantic-release: 24.2.7(typescript@5.9.2) transitivePeerDependencies: - supports-color @@ -5072,7 +5122,7 @@ snapshots: '@semantic-release/error@4.0.0': {} - '@semantic-release/git@10.0.1(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/git@10.0.1(semantic-release@24.2.7(typescript@5.9.2))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 @@ -5082,16 +5132,16 @@ snapshots: lodash: 4.17.21 micromatch: 4.0.8 p-reduce: 2.1.0 - semantic-release: 24.2.5(typescript@5.8.3) + semantic-release: 24.2.7(typescript@5.9.2) transitivePeerDependencies: - supports-color - '@semantic-release/github@11.0.3(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/github@11.0.4(semantic-release@24.2.7(typescript@5.9.2))': dependencies: - '@octokit/core': 7.0.2 - '@octokit/plugin-paginate-rest': 13.0.1(@octokit/core@7.0.2) - '@octokit/plugin-retry': 8.0.1(@octokit/core@7.0.2) - '@octokit/plugin-throttling': 11.0.1(@octokit/core@7.0.2) + '@octokit/core': 7.0.3 + '@octokit/plugin-paginate-rest': 13.1.1(@octokit/core@7.0.3) + '@octokit/plugin-retry': 8.0.1(@octokit/core@7.0.3) + '@octokit/plugin-throttling': 11.0.1(@octokit/core@7.0.3) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 debug: 4.4.1 @@ -5103,41 +5153,41 @@ snapshots: lodash-es: 4.17.21 mime: 4.0.7 p-filter: 4.1.0 - semantic-release: 24.2.5(typescript@5.8.3) + semantic-release: 24.2.7(typescript@5.9.2) url-join: 5.0.0 transitivePeerDependencies: - supports-color - '@semantic-release/npm@12.0.1(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/npm@12.0.2(semantic-release@24.2.7(typescript@5.9.2))': dependencies: '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 execa: 9.6.0 - fs-extra: 11.3.0 + fs-extra: 11.3.1 lodash-es: 4.17.21 nerf-dart: 1.0.0 - normalize-url: 8.0.1 - npm: 10.9.2 + normalize-url: 8.0.2 + npm: 10.9.3 rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.1.0 - semantic-release: 24.2.5(typescript@5.8.3) + semantic-release: 24.2.7(typescript@5.9.2) semver: 7.7.2 tempy: 3.1.0 - '@semantic-release/release-notes-generator@14.0.3(semantic-release@24.2.5(typescript@5.8.3))': + '@semantic-release/release-notes-generator@14.0.3(semantic-release@24.2.7(typescript@5.9.2))': dependencies: conventional-changelog-angular: 8.0.0 - conventional-changelog-writer: 8.1.0 + conventional-changelog-writer: 8.2.0 conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.1.0 + conventional-commits-parser: 6.2.0 debug: 4.4.1 get-stream: 7.0.1 import-from-esm: 2.0.0 into-stream: 7.0.0 lodash-es: 4.17.21 read-package-up: 11.0.0 - semantic-release: 24.2.5(typescript@5.8.3) + semantic-release: 24.2.7(typescript@5.9.2) transitivePeerDependencies: - supports-color @@ -5149,9 +5199,9 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@smithy/abort-controller@4.0.3': + '@smithy/abort-controller@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@smithy/chunked-blob-reader-native@4.0.0': @@ -5163,94 +5213,97 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/config-resolver@4.1.3': + '@smithy/config-resolver@4.1.5': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.3 + '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@smithy/core@3.4.0': + '@smithy/core@3.8.0': dependencies: - '@smithy/middleware-serde': 4.0.6 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/middleware-serde': 4.0.9 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + '@smithy/util-base64': 4.0.0 '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-stream': 4.2.1 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-stream': 4.2.4 '@smithy/util-utf8': 4.0.0 + '@types/uuid': 9.0.8 tslib: 2.8.1 + uuid: 9.0.1 - '@smithy/credential-provider-imds@4.0.5': + '@smithy/credential-provider-imds@4.0.7': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 + '@smithy/node-config-provider': 4.1.4 + '@smithy/property-provider': 4.0.5 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 tslib: 2.8.1 - '@smithy/eventstream-codec@4.0.3': + '@smithy/eventstream-codec@4.0.5': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 '@smithy/util-hex-encoding': 4.0.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.0.3': + '@smithy/eventstream-serde-browser@4.0.5': dependencies: - '@smithy/eventstream-serde-universal': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/eventstream-serde-universal': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.1.1': + '@smithy/eventstream-serde-config-resolver@4.1.3': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.0.3': + '@smithy/eventstream-serde-node@4.0.5': dependencies: - '@smithy/eventstream-serde-universal': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/eventstream-serde-universal': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.0.3': + '@smithy/eventstream-serde-universal@4.0.5': dependencies: - '@smithy/eventstream-codec': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/eventstream-codec': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.0.3': + '@smithy/fetch-http-handler@5.1.1': dependencies: - '@smithy/protocol-http': 5.1.1 - '@smithy/querystring-builder': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/querystring-builder': 4.0.5 + '@smithy/types': 4.3.2 '@smithy/util-base64': 4.0.0 tslib: 2.8.1 - '@smithy/hash-blob-browser@4.0.3': + '@smithy/hash-blob-browser@4.0.5': dependencies: '@smithy/chunked-blob-reader': 5.0.0 '@smithy/chunked-blob-reader-native': 4.0.0 - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/hash-node@4.0.3': + '@smithy/hash-node@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 '@smithy/util-buffer-from': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/hash-stream-node@4.0.3': + '@smithy/hash-stream-node@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/invalid-dependency@4.0.3': + '@smithy/invalid-dependency@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': @@ -5261,126 +5314,127 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/md5-js@4.0.3': + '@smithy/md5-js@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/middleware-content-length@4.0.3': + '@smithy/middleware-content-length@4.0.5': dependencies: - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.1.7': + '@smithy/middleware-endpoint@4.1.18': dependencies: - '@smithy/core': 3.4.0 - '@smithy/middleware-serde': 4.0.6 - '@smithy/node-config-provider': 4.1.2 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 - '@smithy/url-parser': 4.0.3 - '@smithy/util-middleware': 4.0.3 + '@smithy/core': 3.8.0 + '@smithy/middleware-serde': 4.0.9 + '@smithy/node-config-provider': 4.1.4 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 + '@smithy/url-parser': 4.0.5 + '@smithy/util-middleware': 4.0.5 tslib: 2.8.1 - '@smithy/middleware-retry@4.1.8': + '@smithy/middleware-retry@4.1.19': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/protocol-http': 5.1.1 - '@smithy/service-error-classification': 4.0.4 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - '@smithy/util-middleware': 4.0.3 - '@smithy/util-retry': 4.0.4 + '@smithy/node-config-provider': 4.1.4 + '@smithy/protocol-http': 5.1.3 + '@smithy/service-error-classification': 4.0.7 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + '@smithy/util-middleware': 4.0.5 + '@smithy/util-retry': 4.0.7 + '@types/uuid': 9.0.8 tslib: 2.8.1 uuid: 9.0.1 - '@smithy/middleware-serde@4.0.6': + '@smithy/middleware-serde@4.0.9': dependencies: - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/middleware-stack@4.0.3': + '@smithy/middleware-stack@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/node-config-provider@4.1.2': + '@smithy/node-config-provider@4.1.4': dependencies: - '@smithy/property-provider': 4.0.3 - '@smithy/shared-ini-file-loader': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/property-provider': 4.0.5 + '@smithy/shared-ini-file-loader': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/node-http-handler@4.0.5': + '@smithy/node-http-handler@4.1.1': dependencies: - '@smithy/abort-controller': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/querystring-builder': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/abort-controller': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/querystring-builder': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/property-provider@4.0.3': + '@smithy/property-provider@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/protocol-http@5.1.1': + '@smithy/protocol-http@5.1.3': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/querystring-builder@4.0.3': + '@smithy/querystring-builder@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 '@smithy/util-uri-escape': 4.0.0 tslib: 2.8.1 - '@smithy/querystring-parser@4.0.3': + '@smithy/querystring-parser@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/service-error-classification@4.0.4': + '@smithy/service-error-classification@4.0.7': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 - '@smithy/shared-ini-file-loader@4.0.3': + '@smithy/shared-ini-file-loader@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/signature-v4@5.1.1': + '@smithy/signature-v4@5.1.3': dependencies: '@smithy/is-array-buffer': 4.0.0 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-middleware': 4.0.3 + '@smithy/util-middleware': 4.0.5 '@smithy/util-uri-escape': 4.0.0 '@smithy/util-utf8': 4.0.0 tslib: 2.8.1 - '@smithy/smithy-client@4.3.0': + '@smithy/smithy-client@4.4.10': dependencies: - '@smithy/core': 3.4.0 - '@smithy/middleware-endpoint': 4.1.7 - '@smithy/middleware-stack': 4.0.3 - '@smithy/protocol-http': 5.1.1 - '@smithy/types': 4.3.0 - '@smithy/util-stream': 4.2.1 + '@smithy/core': 3.8.0 + '@smithy/middleware-endpoint': 4.1.18 + '@smithy/middleware-stack': 4.0.5 + '@smithy/protocol-http': 5.1.3 + '@smithy/types': 4.3.2 + '@smithy/util-stream': 4.2.4 tslib: 2.8.1 - '@smithy/types@4.3.0': + '@smithy/types@4.3.2': dependencies: tslib: 2.8.1 - '@smithy/url-parser@4.0.3': + '@smithy/url-parser@4.0.5': dependencies: - '@smithy/querystring-parser': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/querystring-parser': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@smithy/util-base64@4.0.0': @@ -5411,50 +5465,50 @@ snapshots: dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.0.15': + '@smithy/util-defaults-mode-browser@4.0.26': dependencies: - '@smithy/property-provider': 4.0.3 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 - bowser: 2.11.0 + '@smithy/property-provider': 4.0.5 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 + bowser: 2.12.0 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.0.15': + '@smithy/util-defaults-mode-node@4.0.26': dependencies: - '@smithy/config-resolver': 4.1.3 - '@smithy/credential-provider-imds': 4.0.5 - '@smithy/node-config-provider': 4.1.2 - '@smithy/property-provider': 4.0.3 - '@smithy/smithy-client': 4.3.0 - '@smithy/types': 4.3.0 + '@smithy/config-resolver': 4.1.5 + '@smithy/credential-provider-imds': 4.0.7 + '@smithy/node-config-provider': 4.1.4 + '@smithy/property-provider': 4.0.5 + '@smithy/smithy-client': 4.4.10 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/util-endpoints@3.0.5': + '@smithy/util-endpoints@3.0.7': dependencies: - '@smithy/node-config-provider': 4.1.2 - '@smithy/types': 4.3.0 + '@smithy/node-config-provider': 4.1.4 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@smithy/util-hex-encoding@4.0.0': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@4.0.3': + '@smithy/util-middleware@4.0.5': dependencies: - '@smithy/types': 4.3.0 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/util-retry@4.0.4': + '@smithy/util-retry@4.0.7': dependencies: - '@smithy/service-error-classification': 4.0.4 - '@smithy/types': 4.3.0 + '@smithy/service-error-classification': 4.0.7 + '@smithy/types': 4.3.2 tslib: 2.8.1 - '@smithy/util-stream@4.2.1': + '@smithy/util-stream@4.2.4': dependencies: - '@smithy/fetch-http-handler': 5.0.3 - '@smithy/node-http-handler': 4.0.5 - '@smithy/types': 4.3.0 + '@smithy/fetch-http-handler': 5.1.1 + '@smithy/node-http-handler': 4.1.1 + '@smithy/types': 4.3.2 '@smithy/util-base64': 4.0.0 '@smithy/util-buffer-from': 4.0.0 '@smithy/util-hex-encoding': 4.0.0 @@ -5475,39 +5529,41 @@ snapshots: '@smithy/util-buffer-from': 4.0.0 tslib: 2.8.1 - '@smithy/util-waiter@4.0.4': + '@smithy/util-waiter@4.0.7': dependencies: - '@smithy/abort-controller': 4.0.3 - '@smithy/types': 4.3.0 + '@smithy/abort-controller': 4.0.5 + '@smithy/types': 4.3.2 tslib: 2.8.1 '@tootallnate/once@2.0.0': {} '@types/conventional-commits-parser@5.0.1': dependencies: - '@types/node': 20.17.51 + '@types/node': 20.19.11 '@types/cookie@0.6.0': {} '@types/istanbul-lib-coverage@2.0.6': {} - '@types/node@20.17.51': + '@types/node@20.19.11': dependencies: - undici-types: 6.19.8 + undici-types: 6.21.0 '@types/normalize-package-data@2.4.4': {} '@types/s3rver@3.7.4': dependencies: - '@types/node': 20.17.51 + '@types/node': 20.19.11 - '@types/statuses@2.0.5': {} + '@types/statuses@2.0.6': {} '@types/tough-cookie@4.0.5': {} '@types/triple-beam@1.3.5': {} - '@typespec/ts-http-runtime@0.2.2': + '@types/uuid@9.0.8': {} + + '@typespec/ts-http-runtime@0.3.0': dependencies: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -5537,7 +5593,7 @@ snapshots: transitivePeerDependencies: - supports-color - agent-base@7.1.3: {} + agent-base@7.1.4: {} aggregate-error@3.1.0: dependencies: @@ -5570,7 +5626,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} + ansi-regex@6.2.0: {} ansi-styles@3.2.1: dependencies: @@ -5602,7 +5658,7 @@ snapshots: array-buffer-byte-length: 1.0.2 call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.10 + es-abstract: 1.24.0 es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 @@ -5638,7 +5694,7 @@ snapshots: avvio@9.1.0: dependencies: - '@fastify/error': 4.1.0 + '@fastify/error': 4.2.0 fastq: 1.19.1 balanced-match@1.0.2: {} @@ -5649,7 +5705,7 @@ snapshots: before-after-hook@4.0.0: {} - bignumber.js@9.3.0: {} + bignumber.js@9.3.1: {} bl@4.1.0: dependencies: @@ -5661,17 +5717,13 @@ snapshots: bottleneck@2.19.5: {} - bowser@2.11.0: {} + bowser@2.12.0: {} - brace-expansion@1.1.11: + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -5702,17 +5754,12 @@ snapshots: foreground-child: 3.3.1 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-reports: 3.1.7 + istanbul-reports: 3.2.0 test-exclude: 6.0.0 v8-to-istanbul: 9.3.0 yargs: 17.7.2 yargs-parser: 21.1.1 - cache-content-type@1.0.1: - dependencies: - mime-types: 2.1.35 - ylru: 1.4.0 - cachedir@2.3.0: {} call-bind-apply-helpers@1.0.2: @@ -5745,7 +5792,7 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.4.1: {} + chalk@5.6.0: {} char-regex@1.0.2: {} @@ -5831,10 +5878,10 @@ snapshots: commander@5.1.0: {} - commitizen@4.3.1(@types/node@20.17.51)(typescript@5.8.3): + commitizen@4.3.1(@types/node@20.19.11)(typescript@5.9.2): dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@20.17.51)(typescript@5.8.3) + cz-conventional-changelog: 3.3.0(@types/node@20.19.11)(typescript@5.9.2) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -5856,7 +5903,7 @@ snapshots: app-root-path: 3.0.0 lodash.clonedeep: 4.5.0 - commitlint-plugin-function-rules@4.0.1(@commitlint/lint@19.8.1): + commitlint-plugin-function-rules@4.0.2(@commitlint/lint@19.8.1): dependencies: '@commitlint/lint': 19.8.1 @@ -5894,7 +5941,7 @@ snapshots: dependencies: compare-func: 2.0.0 - conventional-changelog-writer@8.1.0: + conventional-changelog-writer@8.2.0: dependencies: conventional-commits-filter: 5.0.0 handlebars: 4.7.8 @@ -5912,7 +5959,7 @@ snapshots: meow: 12.1.1 split2: 4.2.0 - conventional-commits-parser@6.1.0: + conventional-commits-parser@6.2.0: dependencies: meow: 13.2.0 @@ -5931,21 +5978,21 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@6.1.0(@types/node@20.17.51)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): + cosmiconfig-typescript-loader@6.1.0(@types/node@20.19.11)(cosmiconfig@9.0.0(typescript@5.9.2))(typescript@5.9.2): dependencies: - '@types/node': 20.17.51 - cosmiconfig: 9.0.0(typescript@5.8.3) - jiti: 2.4.2 - typescript: 5.8.3 + '@types/node': 20.19.11 + cosmiconfig: 9.0.0(typescript@5.9.2) + jiti: 2.5.1 + typescript: 5.9.2 - cosmiconfig@9.0.0(typescript@5.8.3): + cosmiconfig@9.0.0(typescript@5.9.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 cross-spawn@6.0.6: dependencies: @@ -5965,16 +6012,16 @@ snapshots: dependencies: type-fest: 1.4.0 - cz-conventional-changelog@3.3.0(@types/node@20.17.51)(typescript@5.8.3): + cz-conventional-changelog@3.3.0(@types/node@20.19.11)(typescript@5.9.2): dependencies: chalk: 2.4.2 - commitizen: 4.3.1(@types/node@20.17.51)(typescript@5.8.3) + commitizen: 4.3.1(@types/node@20.19.11)(typescript@5.9.2) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.8.1(@types/node@20.17.51)(typescript@5.8.3) + '@commitlint/load': 19.8.1(@types/node@20.19.11)(typescript@5.9.2) transitivePeerDependencies: - '@types/node' - typescript @@ -6055,7 +6102,7 @@ snapshots: dotenv-expand@9.0.0: {} - dotenv@16.5.0: {} + dotenv@16.6.1: {} dunder-proto@1.0.1: dependencies: @@ -6069,7 +6116,7 @@ snapshots: duplexify@4.1.3: dependencies: - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 inherits: 2.0.4 readable-stream: 3.6.2 stream-shift: 1.0.3 @@ -6092,7 +6139,7 @@ snapshots: encodeurl@2.0.0: {} - end-of-stream@1.4.4: + end-of-stream@1.4.5: dependencies: once: 1.4.0 @@ -6113,7 +6160,7 @@ snapshots: env-schema@5.2.0: dependencies: ajv: 8.12.0 - dotenv: 16.5.0 + dotenv: 16.6.1 dotenv-expand: 9.0.0 environment@1.1.0: {} @@ -6122,7 +6169,7 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.10: + es-abstract@1.24.0: dependencies: array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 @@ -6151,7 +6198,9 @@ snapshots: is-array-buffer: 3.0.5 is-callable: 1.2.7 is-data-view: 1.0.2 + is-negative-zero: 2.0.3 is-regex: 1.2.1 + is-set: 2.0.3 is-shared-array-buffer: 1.0.4 is-string: 1.1.1 is-typed-array: 1.1.15 @@ -6166,6 +6215,7 @@ snapshots: safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 string.prototype.trim: 1.2.10 string.prototype.trimend: 1.0.9 string.prototype.trimstart: 1.0.8 @@ -6197,33 +6247,34 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild@0.25.5: + esbuild@0.25.9: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.5 - '@esbuild/android-arm': 0.25.5 - '@esbuild/android-arm64': 0.25.5 - '@esbuild/android-x64': 0.25.5 - '@esbuild/darwin-arm64': 0.25.5 - '@esbuild/darwin-x64': 0.25.5 - '@esbuild/freebsd-arm64': 0.25.5 - '@esbuild/freebsd-x64': 0.25.5 - '@esbuild/linux-arm': 0.25.5 - '@esbuild/linux-arm64': 0.25.5 - '@esbuild/linux-ia32': 0.25.5 - '@esbuild/linux-loong64': 0.25.5 - '@esbuild/linux-mips64el': 0.25.5 - '@esbuild/linux-ppc64': 0.25.5 - '@esbuild/linux-riscv64': 0.25.5 - '@esbuild/linux-s390x': 0.25.5 - '@esbuild/linux-x64': 0.25.5 - '@esbuild/netbsd-arm64': 0.25.5 - '@esbuild/netbsd-x64': 0.25.5 - '@esbuild/openbsd-arm64': 0.25.5 - '@esbuild/openbsd-x64': 0.25.5 - '@esbuild/sunos-x64': 0.25.5 - '@esbuild/win32-arm64': 0.25.5 - '@esbuild/win32-ia32': 0.25.5 - '@esbuild/win32-x64': 0.25.5 + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 escalade@3.2.0: {} @@ -6313,12 +6364,12 @@ snapshots: json-schema-ref-resolver: 2.0.1 rfdc: 1.4.1 - fast-jwt@4.0.5: + fast-jwt@5.0.6: dependencies: '@lukeed/ms': 2.0.2 asn1.js: 5.4.1 ecdsa-sig-formatter: 1.0.11 - mnemonist: 0.39.8 + mnemonist: 0.40.3 fast-querystring@1.1.2: dependencies: @@ -6336,11 +6387,7 @@ snapshots: dependencies: strnum: 1.1.2 - fast-xml-parser@4.4.1: - dependencies: - strnum: 1.1.2 - - fast-xml-parser@5.2.3: + fast-xml-parser@5.2.5: dependencies: strnum: 2.1.1 @@ -6351,7 +6398,7 @@ snapshots: fastify-jwt-jwks@2.0.2: dependencies: '@fastify/cookie': 11.0.2 - '@fastify/jwt': 9.0.1 + '@fastify/jwt': 9.1.0 fastify-plugin: 5.0.1 http-errors: 2.0.0 node-cache: 5.1.2 @@ -6365,7 +6412,7 @@ snapshots: fastify@5.3.2: dependencies: '@fastify/ajv-compiler': 4.0.2 - '@fastify/error': 4.1.0 + '@fastify/error': 4.2.0 '@fastify/fast-json-stringify-compiler': 5.0.3 '@fastify/proxy-addr': 5.0.0 abstract-logging: 2.0.1 @@ -6373,7 +6420,7 @@ snapshots: fast-json-stringify: 6.0.1 find-my-way: 9.3.0 light-my-request: 6.6.0 - pino: 9.7.0 + pino: 9.9.0 process-warning: 5.0.0 rfdc: 1.4.1 secure-json-parse: 4.0.0 @@ -6475,14 +6522,14 @@ snapshots: fs-blob-store@6.0.0: dependencies: duplexify: 4.1.3 - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 lru-cache: 6.0.0 mkdirp-classic: 0.5.3 - fs-extra@11.3.0: + fs-extra@11.3.1: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs-extra@8.1.0: @@ -6495,7 +6542,7 @@ snapshots: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fs.realpath@1.0.0: {} @@ -6596,11 +6643,11 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@11.0.2: + glob@11.0.3: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.0.1 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -6641,7 +6688,7 @@ snapshots: dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.3 - ignore: 7.0.4 + ignore: 7.0.5 path-type: 6.0.0 slash: 5.1.0 unicorn-magic: 0.3.0 @@ -6772,7 +6819,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -6786,7 +6833,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: - agent-base: 7.1.3 + agent-base: 7.1.4 debug: 4.4.1 transitivePeerDependencies: - supports-color @@ -6812,7 +6859,7 @@ snapshots: ieee754@1.2.1: {} - ignore@7.0.4: {} + ignore@7.0.5: {} import-fresh@3.3.1: dependencies: @@ -6865,7 +6912,7 @@ snapshots: inquirer@9.3.7: dependencies: - '@inquirer/figures': 1.0.12 + '@inquirer/figures': 1.0.13 ansi-escapes: 4.3.2 cli-width: 4.1.0 external-editor: 3.1.0 @@ -6958,6 +7005,8 @@ snapshots: is-map@2.0.3: {} + is-negative-zero@2.0.3: {} + is-node-process@1.2.0: {} is-number-object@1.1.1: @@ -7050,7 +7099,7 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-reports@3.1.7: + istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 @@ -7061,7 +7110,7 @@ snapshots: java-properties@1.0.2: {} - jiti@2.4.2: {} + jiti@2.5.1: {} joycon@3.1.1: {} @@ -7073,7 +7122,7 @@ snapshots: json-bigint@1.0.0: dependencies: - bignumber.js: 9.3.0 + bignumber.js: 9.3.1 json-parse-better-errors@1.0.2: {} @@ -7089,7 +7138,7 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonfile@6.1.0: + jsonfile@6.2.0: dependencies: universalify: 2.0.1 optionalDependencies: @@ -7145,14 +7194,12 @@ snapshots: humanize-number: 0.0.2 passthrough-counter: 1.0.0 - koa@3.0.0: + koa@3.0.1: dependencies: accepts: 1.3.8 - cache-content-type: 1.0.1 content-disposition: 0.5.4 content-type: 1.0.5 cookies: 0.9.1 - debug: 4.4.1 delegates: 1.0.0 destroy: 1.2.0 encodeurl: 2.0.0 @@ -7161,13 +7208,12 @@ snapshots: http-assert: 1.5.0 http-errors: 2.0.0 koa-compose: 4.1.0 + mime-types: 3.0.1 on-finished: 2.4.1 parseurl: 1.3.3 - statuses: 2.0.1 + statuses: 2.0.2 type-is: 2.0.1 vary: 1.1.2 - transitivePeerDependencies: - - supports-color kuler@2.0.0: {} @@ -7274,8 +7320,8 @@ snapshots: marked-terminal@7.3.0(marked@15.0.12): dependencies: ansi-escapes: 7.0.0 - ansi-regex: 6.1.0 - chalk: 5.4.1 + ansi-regex: 6.2.0 + chalk: 5.6.0 cli-highlight: 2.1.11 cli-table3: 0.6.5 marked: 15.0.12 @@ -7329,13 +7375,13 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@10.0.1: + minimatch@10.0.3: dependencies: - brace-expansion: 2.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 1.1.12 minimist@1.2.7: {} @@ -7345,15 +7391,15 @@ snapshots: mkdirp-classic@0.5.3: {} - mnemonist@0.39.8: + mnemonist@0.40.3: dependencies: obliterator: 2.0.5 - mock-jwks@3.3.5(@types/node@20.17.51)(typescript@5.8.3): + mock-jwks@3.3.5(@types/node@20.19.11)(typescript@5.9.2): dependencies: base64-url: 2.3.3 jsonwebtoken: 9.0.2 - msw: 2.8.5(@types/node@20.17.51)(typescript@5.8.3) + msw: 2.10.5(@types/node@20.19.11)(typescript@5.9.2) node-forge: 1.3.1 node-rsa: 1.1.1 transitivePeerDependencies: @@ -7362,17 +7408,17 @@ snapshots: ms@2.1.3: {} - msw@2.8.5(@types/node@20.17.51)(typescript@5.8.3): + msw@2.10.5(@types/node@20.19.11)(typescript@5.9.2): dependencies: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.1.12(@types/node@20.17.51) - '@mswjs/interceptors': 0.38.7 + '@inquirer/confirm': 5.1.15(@types/node@20.19.11) + '@mswjs/interceptors': 0.39.6 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.5 + '@types/statuses': 2.0.6 graphql: 16.11.0 headers-polyfill: 4.0.3 is-node-process: 1.2.0 @@ -7383,7 +7429,7 @@ snapshots: type-fest: 4.41.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 transitivePeerDependencies: - '@types/node' @@ -7441,7 +7487,7 @@ snapshots: semver: 7.7.2 validate-npm-package-license: 3.0.4 - normalize-url@8.0.1: {} + normalize-url@8.0.2: {} npm-run-all@4.1.5: dependencies: @@ -7452,7 +7498,7 @@ snapshots: minimatch: 3.1.2 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.8.2 + shell-quote: 1.8.3 string.prototype.padend: 3.1.6 npm-run-path@4.0.1: @@ -7468,7 +7514,7 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm@10.9.2: {} + npm@10.9.3: {} object-assign@4.1.1: {} @@ -7654,7 +7700,7 @@ snapshots: dependencies: split2: 4.2.0 - pino-pretty@13.0.0: + pino-pretty@13.1.1: dependencies: colorette: 2.0.20 dateformat: 4.6.3 @@ -7665,14 +7711,14 @@ snapshots: minimist: 1.2.8 on-exit-leak-free: 2.1.2 pino-abstract-transport: 2.0.0 - pump: 3.0.2 - secure-json-parse: 2.7.0 + pump: 3.0.3 + secure-json-parse: 4.0.0 sonic-boom: 4.2.0 - strip-json-comments: 3.1.1 + strip-json-comments: 5.0.3 pino-std-serializers@7.0.0: {} - pino@9.7.0: + pino@9.9.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -7709,9 +7755,9 @@ snapshots: dependencies: punycode: 2.3.1 - pump@3.0.2: + pump@3.0.3: dependencies: - end-of-stream: 1.4.4 + end-of-stream: 1.4.5 once: 1.4.0 punycode@1.4.1: {} @@ -7773,7 +7819,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.10 + es-abstract: 1.24.0 es-errors: 1.3.0 es-object-atoms: 1.1.1 get-intrinsic: 1.3.0 @@ -7838,7 +7884,7 @@ snapshots: rimraf@6.0.1: dependencies: - glob: 11.0.2 + glob: 11.0.3 package-json-from-dist: 1.0.1 run-async@2.4.1: {} @@ -7861,10 +7907,10 @@ snapshots: fast-xml-parser: 3.21.1 fs-extra: 8.1.0 he: 1.2.0 - koa: 3.0.0 + koa: 3.0.1 koa-logger: 3.2.1 lodash: 4.17.21 - statuses: 2.0.1 + statuses: 2.0.2 winston: 3.17.0 transitivePeerDependencies: - supports-color @@ -7900,19 +7946,17 @@ snapshots: safer-buffer@2.1.2: {} - secure-json-parse@2.7.0: {} - secure-json-parse@4.0.0: {} - semantic-release@24.2.5(typescript@5.8.3): + semantic-release@24.2.7(typescript@5.9.2): dependencies: - '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.5(typescript@5.8.3)) + '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.7(typescript@5.9.2)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 11.0.3(semantic-release@24.2.5(typescript@5.8.3)) - '@semantic-release/npm': 12.0.1(semantic-release@24.2.5(typescript@5.8.3)) - '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.5(typescript@5.8.3)) + '@semantic-release/github': 11.0.4(semantic-release@24.2.7(typescript@5.9.2)) + '@semantic-release/npm': 12.0.2(semantic-release@24.2.7(typescript@5.9.2)) + '@semantic-release/release-notes-generator': 14.0.3(semantic-release@24.2.7(typescript@5.9.2)) aggregate-error: 5.0.0 - cosmiconfig: 9.0.0(typescript@5.8.3) + cosmiconfig: 9.0.0(typescript@5.9.2) debug: 4.4.1 env-ci: 11.1.1 execa: 9.6.0 @@ -7987,7 +8031,7 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.8.2: {} + shell-quote@1.8.3: {} side-channel-list@1.0.0: dependencies: @@ -8048,16 +8092,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.22 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.22 - spdx-license-ids@3.0.21: {} + spdx-license-ids@3.0.22: {} split2@1.0.0: dependencies: @@ -8071,6 +8115,8 @@ snapshots: statuses@2.0.1: {} + statuses@2.0.2: {} + steed@1.1.3: dependencies: fastfall: 1.5.1 @@ -8079,6 +8125,11 @@ snapshots: fastseries: 1.7.2 reusify: 1.1.0 + stop-iteration-iterator@1.1.0: + dependencies: + es-errors: 1.3.0 + internal-slot: 1.1.0 + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 @@ -8115,7 +8166,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.10 + es-abstract: 1.24.0 es-object-atoms: 1.1.1 string.prototype.trim@1.2.10: @@ -8124,7 +8175,7 @@ snapshots: call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.10 + es-abstract: 1.24.0 es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 @@ -8155,7 +8206,7 @@ snapshots: strip-ansi@7.1.0: dependencies: - ansi-regex: 6.1.0 + ansi-regex: 6.2.0 strip-bom@3.0.0: {} @@ -8171,6 +8222,8 @@ snapshots: strip-json-comments@3.1.1: {} + strip-json-comments@5.0.3: {} + strnum@1.1.2: {} strnum@2.1.1: {} @@ -8281,9 +8334,9 @@ snapshots: tsscmp@1.0.6: {} - tsx@4.19.4: + tsx@4.20.4: dependencies: - esbuild: 0.25.5 + esbuild: 0.25.9 get-tsconfig: 4.10.1 optionalDependencies: fsevents: 2.3.3 @@ -8335,7 +8388,7 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript@5.8.3: {} + typescript@5.9.2: {} uglify-js@3.19.3: optional: true @@ -8347,7 +8400,7 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@6.19.8: {} + undici-types@6.21.0: {} unicode-emoji-modifier-base@1.0.0: {} @@ -8388,7 +8441,7 @@ snapshots: v8-to-istanbul@9.3.0: dependencies: - '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/trace-mapping': 0.3.30 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 @@ -8533,8 +8586,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - ylru@1.4.0: {} - yocto-queue@0.1.0: {} yocto-queue@1.2.1: {} diff --git a/test/jwt-compatibility.ts b/test/jwt-compatibility.ts new file mode 100644 index 00000000..bf449a02 --- /dev/null +++ b/test/jwt-compatibility.ts @@ -0,0 +1,783 @@ +import assert from 'node:assert/strict' +import { randomUUID } from 'node:crypto' +import { tmpdir } from 'node:os' +import { join } from 'node:path' +import { after, before, describe, test } from 'node:test' +import mockJWKS from 'mock-jwks' + +const jwksUrl = 'http://test.com/.well-known/jwks.json' +const jwksMock = mockJWKS.createJWKSMock('http://test.com') +const invalidJwksMock = mockJWKS.createJWKSMock('http://other.com') + +const testEnv = { + NODE_ENV: 'test', + PORT: 3000, + LOG_LEVEL: 'info', + LOG_MODE: 'stdout', + LOG_FILE: 'server.log', + STORAGE_PROVIDER: 'local', + STORAGE_PATH: join(tmpdir(), 'turborepo-remote-cache-test'), + AUTH_MODE: 'jwt', + JWKS_URL: jwksUrl, +} + +Object.assign(process.env, testEnv) + +let stopJwks +before(() => { + const stopValid = jwksMock.start() + const stopInvalid = invalidJwksMock.start() + stopJwks = () => { + stopValid() + stopInvalid() + } +}) +after(() => stopJwks?.()) + +describe('JWT Plugin Compatibility', async () => { + await test('JWT authentication plugin registration', async (t) => { + const { createApp } = await import('../src/app.js') + + await t.test('should register JWT auth plugin successfully', async () => { + const app = createApp({ logger: false }) + await app.ready() + + // Verify that the JWT authentication is working by testing a valid request + const token = jwksMock.token({ scope: 'artifacts:read' }) + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - JWT plugin should be working + assert.notEqual(response.statusCode, 401, 'JWT plugin should be working') + }) + + await t.test('should handle missing JWKS_URL configuration', async () => { + const app = createApp({ + logger: false, + configOverrides: { + JWKS_URL: undefined, + }, + }) + + try { + await app.ready() + assert.fail('Should have thrown an error for missing JWKS_URL') + } catch (error) { + assert.ok(error instanceof Error, 'Should throw an Error') + assert.ok( + error.message.includes('Must provide JWKS url'), + 'Error should mention missing JWKS url', + ) + } + }) + }) + + await test('JWT token validation and user object structure', async (t) => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + await t.test( + 'should properly decode JWT payload and create user object', + async () => { + const token = jwksMock.token({ + scope: 'artifacts:read', + sub: 'test-user', + // Removed iss claim since JWT_ISSUER is not configured in this test + }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // The token should be valid, but we might get 404 for non-existent artifact + // or 401 if there's an issue with the JWT. Let's check the response. + if (response.statusCode === 401) { + console.log('JWT token rejected:', response.body) + assert.fail('JWT token should be valid but was rejected') + } + + // If we get 404, that's fine - it means the JWT was valid but artifact doesn't exist + assert.ok( + response.statusCode === 404 || response.statusCode === 200, + `Expected 404 (artifact not found) or 200 (success), got ${response.statusCode}`, + ) + }, + ) + + await t.test( + 'should handle JWT with scope property correctly', + async () => { + const token = jwksMock.token({ scope: 'artifacts:write' }) + + const response = await app.inject({ + method: 'PUT', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team: 'test-team', + }, + payload: Buffer.from('test data'), + }) + + // Should not be 403 (forbidden) - token should have write scope + assert.notEqual( + response.statusCode, + 403, + 'Token should have write scope', + ) + }, + ) + + await t.test('should handle JWT without scope property', async () => { + const token = jwksMock.token({ sub: 'test-user' }) // No scope + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - token should be valid even without scope + assert.notEqual( + response.statusCode, + 401, + 'Token should be valid without scope', + ) + }) + }) + + await test('JWT authorization scopes functionality', async (t) => { + const { createApp } = await import('../src/app.js') + const app = createApp({ + logger: false, + configOverrides: { + JWT_READ_SCOPES: 'artifacts:read,artifacts:write', + JWT_WRITE_SCOPES: 'artifacts:write', + }, + }) + await app.ready() + + await t.test('should allow read access with read scope', async () => { + const token = jwksMock.token({ scope: 'artifacts:read' }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 403 (forbidden) - token should have read scope + assert.notEqual(response.statusCode, 403, 'Token should have read scope') + }) + + await t.test('should allow write access with write scope', async () => { + const token = jwksMock.token({ scope: 'artifacts:write' }) + + const response = await app.inject({ + method: 'PUT', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team: 'test-team', + }, + payload: Buffer.from('test data'), + }) + + // Should not be 403 (forbidden) - token should have write scope + assert.notEqual(response.statusCode, 403, 'Token should have write scope') + }) + + await t.test('should deny read access without required scope', async () => { + const token = jwksMock.token({ scope: 'other:scope' }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + assert.equal( + response.statusCode, + 403, + 'Should deny access without required scope', + ) + }) + + await t.test( + 'should deny write access without required scope', + async () => { + const token = jwksMock.token({ scope: 'artifacts:read' }) + + const response = await app.inject({ + method: 'PUT', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team: 'test-team', + }, + payload: Buffer.from('test data'), + }) + + assert.equal( + response.statusCode, + 403, + 'Should deny write access without write scope', + ) + }, + ) + + await t.test('should handle multiple scopes in token', async () => { + const token = jwksMock.token({ + scope: 'artifacts:read artifacts:write other:scope', + }) + + // Should allow read access + const readResponse = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + assert.notEqual( + readResponse.statusCode, + 403, + 'Should allow read with multiple scopes', + ) + + // Should allow write access + const writeResponse = await app.inject({ + method: 'PUT', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team: 'test-team', + }, + payload: Buffer.from('test data'), + }) + assert.notEqual( + writeResponse.statusCode, + 403, + 'Should allow write with multiple scopes', + ) + }) + }) + + await test('JWT error handling and edge cases', async (t) => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + await t.test('should handle malformed JWT tokens', async () => { + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: 'Bearer malformed.token.here', + }, + query: { + team: 'test-team', + }, + }) + + assert.equal(response.statusCode, 401, 'Should reject malformed tokens') + }) + + await t.test('should handle invalid JWT tokens', async () => { + const token = invalidJwksMock.token() + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + assert.equal(response.statusCode, 401, 'Should reject invalid tokens') + }) + + await t.test('should handle missing authorization header', async () => { + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + query: { + team: 'test-team', + }, + }) + + // JWT authentication returns 401 for missing auth header, not 400 + assert.equal( + response.statusCode, + 401, + 'Should reject requests without authorization header', + ) + }) + + await t.test('should handle empty authorization header', async () => { + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: '', + }, + query: { + team: 'test-team', + }, + }) + + // JWT authentication returns 401 for empty auth header, not 400 + assert.equal( + response.statusCode, + 401, + 'Should reject requests with empty authorization header', + ) + }) + + await t.test('should handle non-Bearer authorization header', async () => { + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: 'Basic dGVzdDp0ZXN0', + }, + query: { + team: 'test-team', + }, + }) + + // JWT authentication returns 401 for non-Bearer auth header, not 400 + assert.equal( + response.statusCode, + 401, + 'Should reject non-Bearer authorization headers', + ) + }) + }) + + await test('JWT integration with storage operations', async (t) => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + await t.test('should allow artifact upload with valid JWT', async () => { + const artifactId = randomUUID() + const team = randomUUID() + const token = jwksMock.token({ scope: 'artifacts:write' }) + + const response = await app.inject({ + method: 'PUT', + url: `/v8/artifacts/${artifactId}`, + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team, + }, + payload: Buffer.from('test cache data'), + }) + + assert.equal(response.statusCode, 200, 'Should allow artifact upload') + assert.ok(response.json().urls, 'Should return URLs in response') + }) + + await t.test('should allow artifact download with valid JWT', async () => { + const artifactId = randomUUID() + const team = randomUUID() + const token = jwksMock.token({ scope: 'artifacts:read artifacts:write' }) + + // First upload an artifact + await app.inject({ + method: 'PUT', + url: `/v8/artifacts/${artifactId}`, + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team, + }, + payload: Buffer.from('test cache data'), + }) + + // Then download it + const response = await app.inject({ + method: 'GET', + url: `/v8/artifacts/${artifactId}`, + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team, + }, + }) + + assert.equal(response.statusCode, 200, 'Should allow artifact download') + assert.ok(response.body, 'Should return artifact data') + }) + + await t.test( + 'should handle HEAD requests with JWT authentication', + async () => { + const artifactId = randomUUID() + const team = randomUUID() + const token = jwksMock.token({ scope: 'artifacts:read' }) + + // First upload an artifact + await app.inject({ + method: 'PUT', + url: `/v8/artifacts/${artifactId}`, + headers: { + authorization: `Bearer ${token}`, + 'content-type': 'application/octet-stream', + }, + query: { + team, + }, + payload: Buffer.from('test cache data'), + }) + + // Then check if it exists + const response = await app.inject({ + method: 'HEAD', + url: `/v8/artifacts/${artifactId}`, + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team, + }, + }) + + assert.equal(response.statusCode, 200, 'Should allow HEAD request') + }, + ) + }) + + await test('JWT configuration validation', async (t) => { + await t.test('should validate JWT issuer configuration', async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ + logger: false, + configOverrides: { + JWT_ISSUER: 'test-issuer', + }, + }) + await app.ready() + + const token = jwksMock.token({ iss: 'test-issuer' }) + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - token should be valid with matching issuer + assert.notEqual( + response.statusCode, + 401, + 'Token should be valid with matching issuer', + ) + }) + + await t.test('should validate JWT audience configuration', async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ + logger: false, + configOverrides: { + JWT_AUDIENCE: 'test-audience', + }, + }) + await app.ready() + + const token = jwksMock.token({ aud: 'test-audience' }) + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - token should be valid with matching audience + assert.notEqual( + response.statusCode, + 401, + 'Token should be valid with matching audience', + ) + }) + }) + + await test('JWT type safety and module augmentation compatibility', async (t) => { + await t.test( + 'should handle JWT payload with scope property correctly', + async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + // Test that JWT payload with scope property is handled correctly + // This would fail in @fastify/jwt 10.0.0 due to type safety changes + const token = jwksMock.token({ + scope: 'artifacts:read artifacts:write', + sub: 'test-user', + // Removed iss claim since JWT_ISSUER is not configured in this test + }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - token should be valid + assert.notEqual( + response.statusCode, + 401, + 'Token with scope should be valid', + ) + }, + ) + + await t.test( + 'should handle JWT payload without scope property', + async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + // Test that JWT payload without scope property is handled correctly + // This would fail in @fastify/jwt 10.0.0 due to type safety changes + const token = jwksMock.token({ + sub: 'test-user', + // No scope property, no iss claim since JWT_ISSUER is not configured + }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - token should be valid even without scope + assert.notEqual( + response.statusCode, + 401, + 'Token without scope should be valid', + ) + }, + ) + + await t.test( + 'should handle JWT user object with scope property', + async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ + logger: false, + configOverrides: { + JWT_READ_SCOPES: 'artifacts:read', + JWT_WRITE_SCOPES: 'artifacts:write', + }, + }) + await app.ready() + + // Test that JWT user object with scope property is accessible + // This would fail in @fastify/jwt 10.0.0 due to type safety changes + const token = jwksMock.token({ scope: 'artifacts:read' }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 403 (forbidden) - user.scope should be accessible + assert.notEqual( + response.statusCode, + 403, + 'User scope should be accessible', + ) + }, + ) + + await t.test( + 'should handle JWT user object without scope property', + async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ + logger: false, + configOverrides: { + JWT_READ_SCOPES: 'artifacts:read', + JWT_WRITE_SCOPES: 'artifacts:write', + }, + }) + await app.ready() + + // Test that JWT user object without scope property is handled gracefully + // This would fail in @fastify/jwt 10.0.0 due to type safety changes + const token = jwksMock.token({ + sub: 'test-user', + // No scope property + }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should be 403 (forbidden) - user without scope should be denied + assert.equal( + response.statusCode, + 403, + 'User without scope should be denied', + ) + }, + ) + + await t.test( + 'should handle JWT formatUser function with scope property', + async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + // Test that formatUser function can access scope property from payload + // This would fail in @fastify/jwt 10.0.0 due to type safety changes + const token = jwksMock.token({ + scope: 'artifacts:read artifacts:write', + sub: 'test-user', + }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - formatUser should handle scope correctly + assert.notEqual( + response.statusCode, + 401, + 'formatUser should handle scope correctly', + ) + }, + ) + + await t.test( + 'should handle JWT formatUser function without scope property', + async () => { + const { createApp } = await import('../src/app.js') + const app = createApp({ logger: false }) + await app.ready() + + // Test that formatUser function handles payload without scope property + // This would fail in @fastify/jwt 10.0.0 due to type safety changes + const token = jwksMock.token({ + sub: 'test-user', + // No scope property + }) + + const response = await app.inject({ + method: 'GET', + url: '/v8/artifacts/test-id', + headers: { + authorization: `Bearer ${token}`, + }, + query: { + team: 'test-team', + }, + }) + + // Should not be 401 (unauthorized) - formatUser should handle missing scope gracefully + assert.notEqual( + response.statusCode, + 401, + 'formatUser should handle missing scope gracefully', + ) + }, + ) + }) +})