From aeb485f5ad6746442d7cc7cb3315fa16cfa0020e Mon Sep 17 00:00:00 2001 From: joshunrau Date: Tue, 6 Oct 2026 13:42:08 -0400 Subject: [PATCH 1/2] feat: require NestJS 12, reflect-metadata 0.2.2 and Vitest 5 Move every NestJS peer to ^12.0.0, reflect-metadata to ^0.2.2 and vitest to 5.x. reflect-metadata 0.2.0 overflows the stack or loses decorator metadata when a second copy is loaded; 0.2.1 fixed that with a shared registry. Accept the fastify versions @nestjs/platform-fastify 12 pins (5.12.1 to 5.12.5), require @nestjs/throttler 6.7.1, the first release to accept Nest 12, and drop @nestjs/swagger, which nothing has imported since the zod-native OpenAPI generator replaced it. vite becomes a dev dependency, as Vitest 5 only declares it as a peer. Nest 12 loads its optional packages with literal import() calls, which esbuild resolves at build time, so `libnest build` now also leaves out @nestjs/platform-express, @fastify/multipart and the .js-suffixed @nestjs/websockets/socket-module.js. A new build test starts the bundled example app, proving Nest runs without them. Nest 12 no longer applies a parent's @Optional() flags to a subclass that declares its own constructor, so LoggingService redeclares @Optional() on its options and stays resolvable without LOGGING_MODULE_OPTIONS_TOKEN. The e2e testing helper now runs the app on the Fastify adapter, as production does, instead of Nest's default Express adapter, which needed @nestjs/platform-express installed and was only present here through @nestjs/swagger. Tests no longer rely on mock calls recorded in beforeAll, which Vitest 5 clears before each test now that clearMocks defaults to true. BREAKING CHANGE: requires @nestjs/common, @nestjs/core, @nestjs/platform-fastify and @nestjs/testing ^12.0.0, reflect-metadata ^0.2.2, fastify ^5.12.1 and vitest 5.x. The e2e helper from @douglasneuroinformatics/libnest/testing now runs the app on the Fastify adapter instead of Express. Co-Authored-By: Claude Opus 5.5 --- package.json | 22 +- pnpm-lock.yaml | 2015 +++++------------ src/app/__tests__/app.factory.test.ts | 36 +- .../__tests__/current-user.decorator.test.ts | 13 +- src/meta/__tests__/build.test.ts | 36 +- src/meta/build.ts | 34 +- .../logging/__tests__/logging.service.test.ts | 51 +- src/modules/logging/logging.service.ts | 7 +- .../__tests__/prisma.extensions.test.ts | 11 +- src/testing/helpers/e2e.ts | 6 +- 10 files changed, 707 insertions(+), 1524 deletions(-) diff --git a/package.json b/package.json index ad7e9ce4..e25261bc 100644 --- a/package.json +++ b/package.json @@ -61,16 +61,16 @@ "test:coverage": "vitest --coverage" }, "peerDependencies": { - "@nestjs/common": "^11.0.11", - "@nestjs/core": "^11.0.11", - "@nestjs/platform-fastify": "^11.1.6", - "@nestjs/testing": "^11.0.11", + "@nestjs/common": "^12.0.0", + "@nestjs/core": "^12.0.0", + "@nestjs/platform-fastify": "^12.0.0", + "@nestjs/testing": "^12.0.0", "@prisma/client": "^6.9.0", - "fastify": "^5.6.1", + "fastify": "^5.12.1", "neverthrow": "^8.2.0", - "reflect-metadata": "~0.1.13", + "reflect-metadata": "^0.2.2", "rxjs": "^7.8.2", - "vitest": "4.x", + "vitest": "5.x", "zod": "^3.25.x" }, "peerDependenciesMeta": { @@ -80,8 +80,7 @@ }, "dependencies": { "@douglasneuroinformatics/libjs": "^3.1.0", - "@nestjs/swagger": "^11.2.5", - "@nestjs/throttler": "^6.5.0", + "@nestjs/throttler": "^6.7.1", "@prisma/engines": "^6.19.2", "@prisma/get-platform": "^6.19.2", "@swc-node/register": "^1.11.1", @@ -106,7 +105,7 @@ "@douglasneuroinformatics/semantic-release": "^0.2.2", "@douglasneuroinformatics/tsconfig": "^2.0.0", "@types/node": "24.x", - "@vitest/coverage-v8": "^4.0.17", + "@vitest/coverage-v8": "^5.0.3", "concurrently": "^9.2.1", "eslint": "9.39.2", "http-server": "^14.1.1", @@ -119,7 +118,8 @@ "typedoc-material-theme": "^1.4.1", "typedoc-plugin-zod": "^1.4.3", "typescript": "6.0.x", - "vitest": "^4.0.17" + "vite": "^7.3.6", + "vitest": "^5.0.3" }, "commitlint": { "extends": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3429ad8e..1241d478 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,23 +11,20 @@ importers: specifier: ^3.1.0 version: 3.1.0(neverthrow@8.2.0)(zod@3.25.42) '@nestjs/common': - specifier: ^11.0.11 - version: 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) + specifier: ^12.0.0 + version: 12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/core': - specifier: ^11.0.11 - version: 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2) + specifier: ^12.0.0 + version: 12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/platform-fastify': - specifier: ^11.1.6 - version: 11.1.6(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0) - '@nestjs/swagger': - specifier: ^11.2.5 - version: 11.2.5(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)(reflect-metadata@0.1.14) + specifier: ^12.0.0 + version: 12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)) '@nestjs/testing': - specifier: ^11.0.11 - version: 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)(@nestjs/platform-express@11.1.0) + specifier: ^12.0.0 + version: 12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)) '@nestjs/throttler': - specifier: ^6.5.0 - version: 6.5.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)(reflect-metadata@0.1.14) + specifier: ^6.7.1 + version: 6.7.1(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2) '@prisma/client': specifier: ^6.9.0 version: 6.9.0(prisma@6.19.2(magicast@0.3.5)(typescript@6.0.3))(typescript@6.0.3) @@ -65,8 +62,8 @@ importers: specifier: ^0.27.2 version: 0.27.2 fastify: - specifier: ^5.6.1 - version: 5.6.1 + specifier: ^5.12.1 + version: 5.12.5 neverthrow: specifier: ^8.2.0 version: 8.2.0 @@ -74,8 +71,8 @@ importers: specifier: ^7.0.12 version: 7.0.12 reflect-metadata: - specifier: ~0.1.13 - version: 0.1.14 + specifier: ^0.2.2 + version: 0.2.2 rxjs: specifier: ^7.8.2 version: 7.8.2 @@ -93,7 +90,7 @@ importers: version: 5.4.1 unplugin-swc: specifier: ^1.5.9 - version: 1.5.9(@swc/core@1.15.8(@swc/helpers@0.5.18))(rollup@4.40.1) + version: 1.5.9(@swc/core@1.15.8(@swc/helpers@0.5.18))(rollup@4.64.0) zod: specifier: ^3.25.x version: 3.25.42 @@ -114,8 +111,8 @@ importers: specifier: 24.x version: 24.13.0 '@vitest/coverage-v8': - specifier: ^4.0.17 - version: 4.0.17(vitest@4.0.17(@types/node@24.13.0)(happy-dom@17.4.4)(jiti@2.6.1)(yaml@2.8.3)) + specifier: ^5.0.3 + version: 5.0.3(vitest@5.0.3) concurrently: specifier: ^9.2.1 version: 9.2.1 @@ -152,9 +149,12 @@ importers: typescript: specifier: 6.0.x version: 6.0.3 + vite: + specifier: ^7.3.6 + version: 7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3) vitest: - specifier: ^4.0.17 - version: 4.0.17(@types/node@24.13.0)(happy-dom@17.4.4)(jiti@2.6.1)(yaml@2.8.3) + specifier: ^5.0.3 + version: 5.0.3(@types/node@24.13.0)(@vitest/coverage-v8@5.0.3)(happy-dom@17.4.4)(vite@7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3)) packages: '@actions/core@3.0.1': @@ -343,9 +343,9 @@ packages: { integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== } engines: { node: '>=6.9.0' } - '@babel/helper-string-parser@7.27.1': + '@babel/helper-string-parser@7.29.7': resolution: - { integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== } + { integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== } engines: { node: '>=6.9.0' } '@babel/helper-validator-identifier@7.28.5': @@ -353,15 +353,20 @@ packages: { integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== } engines: { node: '>=6.9.0' } - '@babel/parser@7.28.6': + '@babel/helper-validator-identifier@7.29.7': + resolution: + { integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== } + engines: { node: '>=6.9.0' } + + '@babel/parser@7.29.9': resolution: - { integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== } + { integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA== } engines: { node: '>=6.0.0' } hasBin: true - '@babel/types@7.28.6': + '@babel/types@7.29.8': resolution: - { integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== } + { integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== } engines: { node: '>=6.9.0' } '@bcoe/v8-coverage@1.0.2': @@ -369,6 +374,10 @@ packages: { integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA== } engines: { node: '>=18' } + '@borewit/text-codec@0.2.2': + resolution: + { integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ== } + '@colors/colors@1.5.0': resolution: { integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== } @@ -530,13 +539,6 @@ packages: { integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q== } engines: { node: '>=16' } - '@esbuild/aix-ppc64@0.25.3': - resolution: - { integrity: sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ== } - engines: { node: '>=18' } - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.2': resolution: { integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw== } @@ -544,13 +546,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.3': - resolution: - { integrity: sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ== } - engines: { node: '>=18' } - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.2': resolution: { integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA== } @@ -558,13 +553,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.3': - resolution: - { integrity: sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A== } - engines: { node: '>=18' } - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.2': resolution: { integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA== } @@ -572,13 +560,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.3': - resolution: - { integrity: sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ== } - engines: { node: '>=18' } - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.2': resolution: { integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A== } @@ -586,13 +567,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.3': - resolution: - { integrity: sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w== } - engines: { node: '>=18' } - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.2': resolution: { integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg== } @@ -600,13 +574,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.3': - resolution: - { integrity: sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A== } - engines: { node: '>=18' } - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.2': resolution: { integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA== } @@ -614,13 +581,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.3': - resolution: - { integrity: sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw== } - engines: { node: '>=18' } - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': resolution: { integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g== } @@ -628,13 +588,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.3': - resolution: - { integrity: sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q== } - engines: { node: '>=18' } - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': resolution: { integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA== } @@ -642,13 +595,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.3': - resolution: - { integrity: sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A== } - engines: { node: '>=18' } - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.2': resolution: { integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw== } @@ -656,13 +602,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.3': - resolution: - { integrity: sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ== } - engines: { node: '>=18' } - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.2': resolution: { integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw== } @@ -670,13 +609,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.3': - resolution: - { integrity: sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw== } - engines: { node: '>=18' } - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.2': resolution: { integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w== } @@ -684,13 +616,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.3': - resolution: - { integrity: sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g== } - engines: { node: '>=18' } - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.2': resolution: { integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg== } @@ -698,13 +623,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.3': - resolution: - { integrity: sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag== } - engines: { node: '>=18' } - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.2': resolution: { integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw== } @@ -712,13 +630,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.3': - resolution: - { integrity: sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg== } - engines: { node: '>=18' } - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.2': resolution: { integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ== } @@ -726,13 +637,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.3': - resolution: - { integrity: sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA== } - engines: { node: '>=18' } - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.2': resolution: { integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA== } @@ -740,13 +644,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.3': - resolution: - { integrity: sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ== } - engines: { node: '>=18' } - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.2': resolution: { integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w== } @@ -754,13 +651,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.3': - resolution: - { integrity: sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA== } - engines: { node: '>=18' } - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.2': resolution: { integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA== } @@ -768,13 +658,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.3': - resolution: - { integrity: sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA== } - engines: { node: '>=18' } - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': resolution: { integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw== } @@ -782,13 +665,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.3': - resolution: - { integrity: sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g== } - engines: { node: '>=18' } - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': resolution: { integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA== } @@ -796,13 +672,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.3': - resolution: - { integrity: sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ== } - engines: { node: '>=18' } - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': resolution: { integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA== } @@ -810,13 +679,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.3': - resolution: - { integrity: sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w== } - engines: { node: '>=18' } - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': resolution: { integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg== } @@ -831,13 +693,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.3': - resolution: - { integrity: sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA== } - engines: { node: '>=18' } - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.2': resolution: { integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg== } @@ -845,13 +700,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.3': - resolution: - { integrity: sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ== } - engines: { node: '>=18' } - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.2': resolution: { integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg== } @@ -859,13 +707,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.3': - resolution: - { integrity: sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew== } - engines: { node: '>=18' } - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.2': resolution: { integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ== } @@ -873,13 +714,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.3': - resolution: - { integrity: sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg== } - engines: { node: '>=18' } - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.2': resolution: { integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ== } @@ -939,13 +773,13 @@ packages: { integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA== } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@fastify/ajv-compiler@4.0.2': + '@fastify/ajv-compiler@4.0.6': resolution: - { integrity: sha512-Rkiu/8wIjpsf46Rr+Fitd3HRP+VsxUFDDeag0hs9L0ksfnwx2g7SPQQTFL0E8Qv+rfXzQOxBJnjUB9ITUDjfWQ== } + { integrity: sha512-NtuzM0SfaMJbGlnjr9LWQUN5LzgSrbB8tf/wRZNas+4E1O/Nmzl53e7ruT61HDZyRCJGC6FxIogmNZO1c5ETBA== } - '@fastify/cors@11.1.0': + '@fastify/cors@11.3.0': resolution: - { integrity: sha512-sUw8ed8wP2SouWZTIbA7V2OQtMNpLj2W6qJOYhNdcmINTu6gsxVYXjQiM9mdi8UUDlcoDDJ/W2syPo1WB2QjYA== } + { integrity: sha512-ggQGua+xHv1MvePbPr0v//xLYEsCXbWspquXCJS9Ot5YoRXq8J8ZWzHnxDBVnbtXosvistXo6LtNzOJswf64Fw== } '@fastify/error@4.2.0': resolution: @@ -955,9 +789,9 @@ packages: resolution: { integrity: sha512-uik7yYHkLr6fxd8hJSZ8c+xF4WafPK+XzneQDPU+D10r5X19GW8lJcom2YijX2+qtFF1ENJlHXKFM9ouXNJYgQ== } - '@fastify/formbody@8.0.2': + '@fastify/formbody@9.0.0': resolution: - { integrity: sha512-84v5J2KrkXzjgBpYnaNRPqwgMsmY7ZDjuj0YVuMR3NXCJRCgKEZy/taSP1wUYGn0onfxJpLyRGDLa+NMaDJtnA== } + { integrity: sha512-T/af26CSrUARBCvsEmv+DJLPfZlrRKESzqironxP1j7qzuLyKcoZtj6MuTGShuKx1THXugoie2oFbUJxXfGFzA== } '@fastify/forwarded@3.0.0': resolution: @@ -967,9 +801,9 @@ packages: resolution: { integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A== } - '@fastify/middie@9.0.3': + '@fastify/middie@9.3.4': resolution: - { integrity: sha512-7OYovKXp9UKYeVMcjcFLMcSpoMkmcZmfnG+eAvtdiatN35W7c+r9y1dRfpA+pfFVNuHGGqI3W+vDTmjvcfLcMA== } + { integrity: sha512-dd8phTnVWzx3iKPBKSvtRUT8+Igvy/MP+P5HcY2tjejEyeVbyjkD4HgzKessUObue5RRM5J6PZdxtAqgbn84yw== } '@fastify/proxy-addr@5.0.0': resolution: @@ -1041,6 +875,10 @@ packages: resolution: { integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== } + '@jridgewell/sourcemap-codec@1.6.0': + resolution: + { integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw== } + '@jridgewell/trace-mapping@0.3.25': resolution: { integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== } @@ -1058,24 +896,27 @@ packages: resolution: { integrity: sha512-ztmtTd6xwnuh2/xu+Vb01btgV8SQWYCaK56CkRK8gEkWe5TuDyBcYJ0wgkMRn+2VcE9KUmhvkz+N9GHrqw/C0g== } - '@microsoft/tsdoc@0.16.0': - resolution: - { integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA== } - '@mongodb-js/saslprep@1.4.5': resolution: { integrity: sha512-k64Lbyb7ycCSXHSLzxVdb2xsKGPMvYZfCICXvDsI8Z65CeWQzTEKS4YmGbnqw+U9RBvLPTsB6UCmwkgsDTGWIw== } + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + resolution: + { integrity: sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ== } + engines: { node: ^22.20 || ^24.12 || >=25 } + cpu: [x64] + os: [linux] + '@napi-rs/wasm-runtime@1.1.1': resolution: { integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A== } - '@nestjs/common@11.1.0': + '@nestjs/common@12.1.2': resolution: - { integrity: sha512-8MrajltjtIN6eW9cTpv+1IZogqz2Zsrc8YDt0LwQPUq8cSq0j50DETdQpPsNMeib+p9avkV41+NrzGk1z2o5Wg== } + { integrity: sha512-e2tvLcEaG18sJy5IXrdSLv0ZBpR5djWxypCLkLuMAEFCvVPYL1lEIhvAMBkarlg+ZA8tbZN40J0tFurUl9NpdA== } peerDependencies: - class-transformer: '*' - class-validator: '*' + class-transformer: '>=0.4.1' + class-validator: '>=0.13.2' reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: @@ -1084,15 +925,15 @@ packages: class-validator: optional: true - '@nestjs/core@11.1.0': + '@nestjs/core@12.1.2': resolution: - { integrity: sha512-IeXbTRPrr6xAVbETlDE+miSkNmYf/cPhCa9GU9gFtPO6pVNuAeG/dNrjLVc23mJtUlT/ibdsoW35TlSyHLkzEA== } + { integrity: sha512-ieNRDv6P6dLsF/wMz9IUjwnyQbj7/Oluq1FXe3Xhje7TFSKPprLc83QniA2I6tjkr7YVDosdL2Dj7CVv9kU8og== } engines: { node: '>= 20' } peerDependencies: - '@nestjs/common': ^11.0.0 - '@nestjs/microservices': ^11.0.0 - '@nestjs/platform-express': ^11.0.0 - '@nestjs/websockets': ^11.0.0 + '@nestjs/common': ^12.0.0 + '@nestjs/microservices': ^12.0.0 + '@nestjs/platform-express': ^12.0.0 + '@nestjs/websockets': ^12.0.0 reflect-metadata: ^0.1.12 || ^0.2.0 rxjs: ^7.1.0 peerDependenciesMeta: @@ -1103,79 +944,44 @@ packages: '@nestjs/websockets': optional: true - '@nestjs/mapped-types@2.1.0': + '@nestjs/platform-fastify@12.1.2': resolution: - { integrity: sha512-W+n+rM69XsFdwORF11UqJahn4J3xi4g/ZEOlJNL6KoW5ygWSmBB2p0S2BZ4FQeS/NDH72e6xIcu35SfJnE8bXw== } + { integrity: sha512-368wP4jqPp2D8Uyw6RXrURAfeDDSMNjx5dBxmOW4IgbCu8+tgUllamc6k/w2Wy7xp+E9bmbwyxb9SpYXh9z2CA== } peerDependencies: - '@nestjs/common': ^10.0.0 || ^11.0.0 - class-transformer: ^0.4.0 || ^0.5.0 - class-validator: ^0.13.0 || ^0.14.0 - reflect-metadata: ^0.1.12 || ^0.2.0 + '@fastify/multipart': ^10.1.0 + '@fastify/static': ^10.1.2 + '@fastify/view': ^10.0.0 || ^11.0.0 || ^12.0.0 + '@nestjs/common': ^12.0.0 + '@nestjs/core': ^12.0.0 peerDependenciesMeta: - class-transformer: - optional: true - class-validator: + '@fastify/multipart': optional: true - - '@nestjs/platform-express@11.1.0': - resolution: - { integrity: sha512-lxv73GT9VdQaxndciqKcyzLsT2j3gMRX+tO6J06oa7RIfp4Dp4oMTIu57lM1gkIJ+gLGq29bob+mfPv/K8RIuw== } - peerDependencies: - '@nestjs/common': ^11.0.0 - '@nestjs/core': ^11.0.0 - - '@nestjs/platform-fastify@11.1.6': - resolution: - { integrity: sha512-udnIg7vfA103wppRkcMRVWX71S7NfeDnlprTndhcZzYXcDY2i5c+RwrQN/xU4Aw5X22Fg8ryi7bFbn6/Lquv8w== } - peerDependencies: - '@fastify/static': ^8.0.0 - '@fastify/view': ^10.0.0 || ^11.0.0 - '@nestjs/common': ^11.0.0 - '@nestjs/core': ^11.0.0 - peerDependenciesMeta: '@fastify/static': optional: true '@fastify/view': optional: true - '@nestjs/swagger@11.2.5': - resolution: - { integrity: sha512-wCykbEybMqiYcvkyzPW4SbXKcwra9AGdajm0MvFgKR3W+gd1hfeKlo67g/s9QCRc/mqUU4KOE5Qtk7asMeFuiA== } - peerDependencies: - '@fastify/static': ^8.0.0 || ^9.0.0 - '@nestjs/common': ^11.0.1 - '@nestjs/core': ^11.0.1 - class-transformer: '*' - class-validator: '*' - reflect-metadata: ^0.1.12 || ^0.2.0 - peerDependenciesMeta: - '@fastify/static': - optional: true - class-transformer: - optional: true - class-validator: - optional: true - - '@nestjs/testing@11.1.0': + '@nestjs/testing@12.1.2': resolution: - { integrity: sha512-gQ+NGshkHbNrDNXMVaPiwduqZ8YHpXrnsQqhSsnyNYOcDNPdBbB+0FDq7XiiklluXqjdLAN8i+bS7MbGlZIhKw== } + { integrity: sha512-JgetYeGHGK6iUEztXyiQLOfYLWqUgAyexLMzhuAMasgLiDgYShh/PoRESE9tzpRZo4eWKme3uSZ9DFR6Myuojw== } peerDependencies: - '@nestjs/common': ^11.0.0 - '@nestjs/core': ^11.0.0 - '@nestjs/microservices': ^11.0.0 - '@nestjs/platform-express': ^11.0.0 + '@nestjs/common': ^12.0.0 + '@nestjs/core': ^12.0.0 + '@nestjs/microservices': ^12.0.0 + '@nestjs/platform-express': ^12.0.0 peerDependenciesMeta: '@nestjs/microservices': optional: true '@nestjs/platform-express': optional: true - '@nestjs/throttler@6.5.0': + '@nestjs/throttler@6.7.1': resolution: - { integrity: sha512-9j0ZRfH0QE1qyrj9JjIRDz5gQLPqq9yVC2nHsrosDVAfI5HHw08/aUAWx9DZLSdQf4HDkmhTTEGLrRFHENvchQ== } + { integrity: sha512-gAyY1AkU+cSK5DCjFOB43xax9oakameH4xZa9kAgqBqSBQZgmv3DZylLV8KyZNzOGhceL3kDVtby+CF8VAdmEA== } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } peerDependencies: - '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 - '@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 + '@nestjs/common': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 + '@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 reflect-metadata: ^0.1.13 || ^0.2.0 '@noble/hashes@1.8.0': @@ -1198,12 +1004,6 @@ packages: { integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== } engines: { node: '>= 8' } - '@nuxt/opencollective@0.4.1': - resolution: - { integrity: sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ== } - engines: { node: ^14.18.0 || >=16.10.0, npm: '>=5.10.0' } - hasBin: true - '@octokit/auth-token@6.0.0': resolution: { integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w== } @@ -1387,6 +1187,10 @@ packages: resolution: { integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA== } + '@pinojs/redact@0.4.0': + resolution: + { integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg== } + '@pkgr/core@0.2.9': resolution: { integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== } @@ -1454,93 +1258,105 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.40.1': + '@rollup/rollup-android-arm-eabi@4.64.0': resolution: - { integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw== } + { integrity: sha512-FLLpX941CD/7aBvX3GqLGBM9OvY5PGXTryPJkG5r5/OuBpZpV5k45Uo3RxAvqd35tsyc3hH1bhtz921IKzoIzg== } cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.40.1': + '@rollup/rollup-android-arm64@4.64.0': resolution: - { integrity: sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw== } + { integrity: sha512-iI32XM/jnDYJsvx5ai/za/7gWO9XoSeFFtU06/ZCaRgyilfJOjaopD3nOpk2WrTCGOyeDt4hleUiGOAnd5tHNg== } cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.40.1': + '@rollup/rollup-darwin-arm64@4.64.0': resolution: - { integrity: sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA== } + { integrity: sha512-dRBZlbt2sEtF8Mn4MODThze9fIPdDoOhVSlXMAKy5dQbOYK9pOOoPY4Fat3OTtr0+8zbJo5TTZwlsfxY/kDNJg== } cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.40.1': + '@rollup/rollup-darwin-x64@4.64.0': resolution: - { integrity: sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw== } + { integrity: sha512-Y3whrJOMucfkhgNkvcM93M6j8C53iEAMmPMYD99C6G1kUy4ELigLWk9ar2/4aCBSRgsql0zdlOemLgW2m5GZgQ== } cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.40.1': + '@rollup/rollup-freebsd-arm64@4.64.0': resolution: - { integrity: sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw== } + { integrity: sha512-S6S1GEzPjFF6IONYJX3AKt/799+8RgBgCcwRnUo+Ep1IvBxUbw5M51iU0TDdK2NWWVnSvCQ8yi6Em0fGASMOng== } cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.40.1': + '@rollup/rollup-freebsd-x64@4.64.0': resolution: - { integrity: sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q== } + { integrity: sha512-Ed1DPoFENkXj4IGzSB12SesV40iP6LxCCrbTIkSGIQBpOOxpBM+0kj62lmaeIHfMWTDoddqTOtqc7s8LYfn+Pw== } cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.40.1': + '@rollup/rollup-linux-arm-gnueabihf@4.64.0': resolution: - { integrity: sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg== } + { integrity: sha512-J/6xhutJPtFyIkmHdf4olOdHHKH5kOJNumojdWn+Elv5ICEYTVOa362Vw27TxsK0BLzb1le3EDlO3UbvFK1lnQ== } cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.40.1': + '@rollup/rollup-linux-arm-musleabihf@4.64.0': resolution: - { integrity: sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg== } + { integrity: sha512-G4L/Nnx59d2LvDoV/P4S5lZ7oVLT6hodOHMacqjiq2LL2gts86KbkEBTYL53+fBt0odhf7XPIbIATGoYiJctxg== } cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.40.1': + '@rollup/rollup-linux-arm64-gnu@4.64.0': resolution: - { integrity: sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg== } + { integrity: sha512-zF16pvJDEUksGYRbfnXne7pdklAyj2XDmJeYKgP93oq0cUyX9Y8O7lUo1R+IY1GagP/YBvCEDCe7eEcAKpw//g== } cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.40.1': + '@rollup/rollup-linux-arm64-musl@4.64.0': resolution: - { integrity: sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ== } + { integrity: sha512-nIggWn8n+w12+R5lsV+PYYoUY8vuObxPAQqJI7WES+9v0qspYuAHoZMfYM0yLxlipasT5BY9ht5W8t5c/rSCkg== } cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.40.1': + '@rollup/rollup-linux-loong64-gnu@4.64.0': + resolution: + { integrity: sha512-WLOTiHPzszP0dxIMsHpFeDSOSB5I49Mj8K4+yKE3H1X/D0JRG5XZ5jrctJLMjnUc/LUzaKiwq6EHWNJ8pup8PA== } + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.64.0': resolution: - { integrity: sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ== } + { integrity: sha512-35RK9aRhh7g7Pmeu5gQ01aCvrhXzj9LoBE6xtUcEH1ns+nyTaSzxSpADmBQINu4QiTDGvmQYwo1j5hlg1rRXFw== } cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': + '@rollup/rollup-linux-ppc64-gnu@4.64.0': resolution: - { integrity: sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg== } + { integrity: sha512-RqTfnpoTjuWfPAmqK5p2edt2AMCDJWm6oTn7sKfmyx+6tRga0ip05SJ977o6udTcIiDeF/CJMUfkaN4gtWt6Aw== } cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.40.1': + '@rollup/rollup-linux-ppc64-musl@4.64.0': resolution: - { integrity: sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ== } + { integrity: sha512-RQjZPigjxFvFZDijG6rjlSXxhRaTf9zLYVpGK+lVcga64oMqP1GbgVqCb46eHTTceSIgp89Ja0y5aPe3GFBYHg== } + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.64.0': + resolution: + { integrity: sha512-tjL58mgQcTRnDRpeky+Sth1MKQeYi2Ct6r3Luq9E5aTSjnM/i/JbozqZkKqp9thM5+oDSZxo+05f9kdQedfTGA== } cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.40.1': + '@rollup/rollup-linux-riscv64-musl@4.64.0': resolution: - { integrity: sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA== } + { integrity: sha512-ictoRyVaoZ8C67myHef+8hhCa6IplXJJ/xUCkVCxziV4zxMZh+jvhkhGsPBLqj1S72fnqD0QH5zL4lcaa4X7DQ== } cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.40.1': + '@rollup/rollup-linux-s390x-gnu@4.64.0': resolution: - { integrity: sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg== } + { integrity: sha512-8aVvZ2hfr9RLFzBQkQNmYeHLDja8fLeQAmLt757zdKN/B+8L809KlLJKctQjS22wZotptV8G6o7fVPuAs8S1tQ== } cpu: [s390x] os: [linux] @@ -1550,37 +1366,57 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.40.1': + '@rollup/rollup-linux-x64-gnu@4.64.0': + resolution: + { integrity: sha512-2dEF8GAcDKwshUfydD+GhosppNyBzhVUHkdFF3CXd3FpOkzj/RZzF5aoEtzklujklT5qFVRU2GK/cFeLaTNKVg== } + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.64.0': resolution: - { integrity: sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ== } + { integrity: sha512-3XHTvoo2hKkh0MiOfS7SkhHjMaaWF7P4F3drocZZaho/Z8w7h/jpnuBHm91BOQLfvrKHs1yR+zir4E8RI3XzTQ== } cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.40.1': + '@rollup/rollup-openbsd-x64@4.64.0': resolution: - { integrity: sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg== } + { integrity: sha512-HKtkzodL4a3KFWDXDoO61cRynAWTR3LnAE0oGtfG9lcNFpNuVYUFOByxDgNqEvic9rvaQbAj+SFwTEWDptRaIw== } + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.64.0': + resolution: + { integrity: sha512-JBsxqiY16uyyCujtoC3s7zL+SrYyNElptD7K4V+KUoJ2V8/XG3hPWpheK+SuPwNh1cikJvIZmIdsrYXvD6PLJw== } + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.64.0': + resolution: + { integrity: sha512-S5Qrijh37qhnUYQ0ay8WN3LuWeKjow7wTUyCOPMZtnXiBXYXdsZETI6ZLfYnQAKovltckPLBFdNeD61P2rJc7g== } cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.40.1': + '@rollup/rollup-win32-ia32-msvc@4.64.0': resolution: - { integrity: sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA== } + { integrity: sha512-zbZ6iMmLFEsCtTdc2/y1F/cDFVNNCPF7Ae8PCT/wdPE//hGwYp6r+MyCLMFX+kOeIe09Pz6ASfnnfpSTN1FJQQ== } cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.40.1': + '@rollup/rollup-win32-x64-gnu@4.64.0': resolution: - { integrity: sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA== } + { integrity: sha512-L6Hw69oNpuYaOr1zCG30v0/DqKYCSRwodPGwIcVZ/6f8SOzq9rxtL/xNVI5MO4wjli+Ko0ErK9uHJL3mNPt8wQ== } cpu: [x64] os: [win32] - '@rtsao/scc@1.1.0': + '@rollup/rollup-win32-x64-msvc@4.64.0': resolution: - { integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== } + { integrity: sha512-nl+CTWIgOGszQmUz/kanfgrfFZ4qiwxKIfT/ryl3N3Ewk5tqizmYtNXiqb7Bu/fDtNgu1kyxdFiAUJNur3iysg== } + cpu: [x64] + os: [win32] - '@scarf/scarf@1.4.0': + '@rtsao/scc@1.1.0': resolution: - { integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ== } + { integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== } '@sec-ant/readable-stream@0.4.1': resolution: @@ -1998,9 +1834,9 @@ packages: resolution: { integrity: sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g== } - '@tokenizer/inflate@0.2.7': + '@tokenizer/inflate@0.4.1': resolution: - { integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg== } + { integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA== } engines: { node: '>=18' } '@tokenizer/token@0.3.0': @@ -2035,6 +1871,10 @@ packages: resolution: { integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== } + '@types/estree@1.0.9': + resolution: + { integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg== } + '@types/hast@3.0.4': resolution: { integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== } @@ -2167,51 +2007,41 @@ packages: { integrity: sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q== } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - '@vitest/coverage-v8@4.0.17': + '@vitest/coverage-v8@5.0.3': resolution: - { integrity: sha512-/6zU2FLGg0jsd+ePZcwHRy3+WpNTBBhDY56P4JTRqUN/Dp6CvOEa9HrikcQ4KfV2b2kAHUFB4dl1SuocWXSFEw== } + { integrity: sha512-+klsyz7BvT1vCU28Zkfzms1Ia78XD0V41U3FUtRaa3S+vOr/EXvK1O6BvVD7l1RzEjm6SONR2aybOvDDf9u0mQ== } peerDependencies: - '@vitest/browser': 4.0.17 - vitest: 4.0.17 + '@vitest/browser': 5.0.3 + vitest: 5.0.3 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.0.17': + '@vitest/istanbul-lib-coverage@1.0.2': + resolution: + { integrity: sha512-9J/JMwOf9AoJhAywhrn7ScKTL38hsWQP/qPG60OtaAFcQ5OXPwKsxZFlbnuCKmZ61m8/lGgHYnFpdyQZUvG/iA== } + engines: { node: '>=22' } + + '@vitest/istanbul-lib-report@1.0.2': resolution: - { integrity: sha512-mEoqP3RqhKlbmUmntNDDCJeTDavDR+fVYkSOw8qRwJFaW/0/5zA9zFeTrHqNtcmwh6j26yMmwx2PqUDPzt5ZAQ== } + { integrity: sha512-gUsfXZJbzPamoIY5TvHFiMMoXESBrUMo+xqaj+rYrWI69+EnvRlYBlP96ZnHPY4vX8kyUpgAnFUCg5wZG/HkDQ== } + engines: { node: '>=22' } - '@vitest/mocker@4.0.17': + '@vitest/mocker@5.0.3': resolution: - { integrity: sha512-+ZtQhLA3lDh1tI2wxe3yMsGzbp7uuJSWBM1iTIKCbppWTSBN09PUC+L+fyNlQApQoR+Ps8twt2pbSSXg2fQVEQ== } + { integrity: sha512-T8sWAIbkSyAjkwTcaEc3Iu0o9A27X1/kdXrizhZkGuSKScRQtRzclfAMpOTcGdXCsqxeWlpGy3XjqaW8CpLORg== } peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.0.17': - resolution: - { integrity: sha512-Ah3VAYmjcEdHg6+MwFE17qyLqBHZ+ni2ScKCiW2XrlSBV4H3Z7vYfPfz7CWQ33gyu76oc0Ai36+kgLU3rfF4nw== } - - '@vitest/runner@4.0.17': - resolution: - { integrity: sha512-JmuQyf8aMWoo/LmNFppdpkfRVHJcsgzkbCA+/Bk7VfNH7RE6Ut2qxegeyx2j3ojtJtKIbIGy3h+KxGfYfk28YQ== } - - '@vitest/snapshot@4.0.17': + '@vitest/spy@5.0.3': resolution: - { integrity: sha512-npPelD7oyL+YQM2gbIYvlavlMVWUfNNGZPcu0aEUQXt7FXTuqhmgiYupPnAanhKvyP6Srs2pIbWo30K0RbDtRQ== } - - '@vitest/spy@4.0.17': - resolution: - { integrity: sha512-I1bQo8QaP6tZlTomQNWKJE6ym4SHf3oLS7ceNjozxxgzavRAgZDc06T7kD8gb9bXKEgcLNt00Z+kZO6KaJ62Ew== } - - '@vitest/utils@4.0.17': - resolution: - { integrity: sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w== } + { integrity: sha512-XhFysQTB8AZ+P4gMi+Lpo99vg2AZi0qKpaB9yXQl37+CaMEAPO3iH/wGVnSyL5MPERiLezpqTVtrR6UZH5GCXg== } JSONStream@1.3.5: resolution: @@ -2222,11 +2052,6 @@ packages: resolution: { integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA== } - accepts@2.0.0: - resolution: - { integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng== } - engines: { node: '>= 0.6' } - acorn-jsx@5.3.2: resolution: { integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== } @@ -2315,10 +2140,6 @@ packages: resolution: { integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== } - append-field@1.0.0: - resolution: - { integrity: sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw== } - are-docs-informative@0.0.2: resolution: { integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig== } @@ -2394,9 +2215,9 @@ packages: resolution: { integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== } - ast-v8-to-istanbul@0.3.10: + ast-v8-to-istanbul@1.0.7: resolution: - { integrity: sha512-p4K7vMz2ZSk3wN8l5o3y2bJAoZXT3VuJI5OLTATY/01CYWumWvwkUw0SqDBnNq6IiTO3qDa1eSQDibAV8g7XOQ== } + { integrity: sha512-kFL68AG6ajd8fg248zwM9GQrUWEp79gsmjum34OEXjs4yHuUMZfYKwOLW9GMmB4oNvVrj+EAGxsP7ye2UR9UlA== } astro-eslint-parser@1.4.0: resolution: @@ -2477,11 +2298,6 @@ packages: resolution: { integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ== } - body-parser@2.2.0: - resolution: - { integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg== } - engines: { node: '>=18' } - bottleneck@2.19.5: resolution: { integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== } @@ -2517,16 +2333,6 @@ packages: resolution: { integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== } - busboy@1.6.0: - resolution: - { integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== } - engines: { node: '>=10.16.0' } - - bytes@3.1.2: - resolution: - { integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== } - engines: { node: '>= 0.8' } - c12@3.1.0: resolution: { integrity: sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw== } @@ -2686,11 +2492,6 @@ packages: resolution: { integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== } - concat-stream@1.6.2: - resolution: - { integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== } - engines: { '0': node >= 0.8 } - concurrently@9.2.1: resolution: { integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng== } @@ -2710,16 +2511,6 @@ packages: { integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== } engines: { node: ^14.18.0 || >=16.10.0 } - content-disposition@1.0.0: - resolution: - { integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg== } - engines: { node: '>= 0.6' } - - content-type@1.0.5: - resolution: - { integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== } - engines: { node: '>= 0.6' } - content-type@2.0.0: resolution: { integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ== } @@ -2778,11 +2569,6 @@ packages: { integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg== } engines: { node: '>=6.6.0' } - cookie@0.7.2: - resolution: - { integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== } - engines: { node: '>= 0.6' } - cookie@1.0.2: resolution: { integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA== } @@ -2796,11 +2582,6 @@ packages: resolution: { integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== } - cors@2.8.5: - resolution: - { integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== } - engines: { node: '>= 0.10' } - corser@2.0.1: resolution: { integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== } @@ -2927,11 +2708,6 @@ packages: { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } engines: { node: '>=0.4.0' } - depd@2.0.0: - resolution: - { integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== } - engines: { node: '>= 0.8' } - dequal@2.0.3: resolution: { integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== } @@ -2979,10 +2755,6 @@ packages: resolution: { integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== } - ee-first@1.1.1: - resolution: - { integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== } - effect@3.18.4: resolution: { integrity: sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA== } @@ -3008,11 +2780,6 @@ packages: { integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA== } engines: { node: '>=14' } - encodeurl@2.0.0: - resolution: - { integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== } - engines: { node: '>= 0.8' } - entities@4.5.0: resolution: { integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== } @@ -3067,14 +2834,14 @@ packages: { integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== } engines: { node: '>= 0.4' } - es-module-lexer@1.7.0: - resolution: - { integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== } - es-module-lexer@2.0.0: resolution: { integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw== } + es-module-lexer@2.3.2: + resolution: + { integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw== } + es-object-atoms@1.1.1: resolution: { integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== } @@ -3095,12 +2862,6 @@ packages: { integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== } engines: { node: '>= 0.4' } - esbuild@0.25.3: - resolution: - { integrity: sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q== } - engines: { node: '>=18' } - hasBin: true - esbuild@0.27.2: resolution: { integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw== } @@ -3112,10 +2873,6 @@ packages: { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } engines: { node: '>=6' } - escape-html@1.0.3: - resolution: - { integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== } - escape-string-regexp@1.0.5: resolution: { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } @@ -3321,11 +3078,6 @@ packages: { integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== } engines: { node: '>=0.10.0' } - etag@1.8.1: - resolution: - { integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== } - engines: { node: '>= 0.6' } - eventemitter3@4.0.7: resolution: { integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== } @@ -3345,16 +3097,11 @@ packages: { integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q== } engines: { node: ^18.19.0 || >=20.5.0 } - expect-type@1.3.0: + expect-type@1.4.0: resolution: - { integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA== } + { integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA== } engines: { node: '>=12.0.0' } - express@5.1.0: - resolution: - { integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA== } - engines: { node: '>= 18' } - exsolve@1.0.8: resolution: { integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA== } @@ -3394,6 +3141,10 @@ packages: resolution: { integrity: sha512-s7SJE83QKBZwg54dIbD5rCtzOBVD43V1ReWXXYqBgwCwHLYAAT0RQc/FmrQglXqWPpz6omtryJQOau5jI4Nrvg== } + fast-json-stringify@7.0.1: + resolution: + { integrity: sha512-eRSayARSbbwlBjpP4vnTTIRD5QPcIrmihPxDeN1DtKnHPg66UuJLx+8hlK1kaFdjvzyQ/dzALoi4vwAQ+T+iZA== } + fast-levenshtein@2.0.6: resolution: { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== } @@ -3402,11 +3153,6 @@ packages: resolution: { integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg== } - fast-redact@3.5.0: - resolution: - { integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== } - engines: { node: '>=6' } - fast-safe-stringify@2.1.1: resolution: { integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== } @@ -3415,22 +3161,22 @@ packages: resolution: { integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== } + fast-uri@4.2.1: + resolution: + { integrity: sha512-TmHQgewjHtMq1E5QKA0tOE0yeYGQs25KZC/ziJpubRtWI15W92e6vPFydWOeZBVROSHBYw/QhD9d5OefdD6LDg== } + fast-xml-parser@5.2.5: resolution: { integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ== } hasBin: true - fastify-plugin@5.0.1: + fastify-plugin@6.0.0: resolution: - { integrity: sha512-HCxs+YnRaWzCl+cWRYFnHmeRFyR5GVnJTAaCJQiYzQSDwK9MgJdyAsuL3nh0EWRCYMgQ5MeziymvmAhUHYHDUQ== } + { integrity: sha512-fZOty7z3O7vOliF6d8bHE3wiEh1KcNnKEQensSgTk9C1DvN6nRLS++XVd86v33Hw/8u9Un8A1zDrQ8ujcQDHEg== } - fastify@5.4.0: + fastify@5.12.5: resolution: - { integrity: sha512-I4dVlUe+WNQAhKSyv15w+dwUh2EPiEl4X2lGYMmNSgF83WzTMAPKGdWEv5tPsCQOb+SOZwz8Vlta2vF+OeDgRw== } - - fastify@5.6.1: - resolution: - { integrity: sha512-WjjlOciBF0K8pDUPZoGPhqhKrQJ02I8DKaDIfO51EL0kbSMwQFl85cRwhOvmSDWoukNOdTo27gLN549pLCcH7Q== } + { integrity: sha512-OB2k1dlxs5/NAABqeKV2FUHkSD2BbENsCak8yULVcymn3fHIPDVa9TI3SDnJSWYSllZmSYuZXy2gTnsT+Sut1A== } fastq@1.19.1: resolution: @@ -3450,10 +3196,6 @@ packages: picomatch: optional: true - fflate@0.8.2: - resolution: - { integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== } - figures@2.0.0: resolution: { integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== } @@ -3469,29 +3211,24 @@ packages: { integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== } engines: { node: '>=16.0.0' } - file-type@20.4.1: + file-type@22.1.1: resolution: - { integrity: sha512-hw9gNZXUfZ02Jo0uafWLaFVPter5/k2rfcrjFJJHX/77xtSDOfJuEFb6oKlFV86FLP1SuyHMW1PSk0U9M5tKkQ== } - engines: { node: '>=18' } + { integrity: sha512-sEB0oStmeLGtpmSAD88RDNuLsvhv4iC3u0lE25CUvfCULvj49xoQ3l3K525Vn+ZzsZ6DOLajQCV6RmhwwhqiJg== } + engines: { node: '>=22' } fill-range@7.1.1: resolution: { integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== } engines: { node: '>=8' } - finalhandler@2.1.0: - resolution: - { integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q== } - engines: { node: '>= 0.8' } - find-cache-dir@3.3.2: resolution: { integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== } engines: { node: '>=8' } - find-my-way@9.3.0: + find-my-way@9.9.0: resolution: - { integrity: sha512-eRoFWQw+Yv2tuYlK2pjFS2jGXSxSppAs3hSQjfxVKxM5amECzIgYYc1FEI8ZmhSh/Ig+FrKEz43NLRKJjYCZVg== } + { integrity: sha512-sJsgZ1sQH2UDuowPuMKg8az7Qc8F0jnj+SKkFWU/+T0xcFlgV5skgXOGUqmQzOdmW6ALA7AhJINWx3qFBkbLHA== } engines: { node: '>=20' } find-up-simple@1.0.1: @@ -3579,16 +3316,6 @@ packages: { integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug== } engines: { node: '>=14.0.0' } - forwarded@0.2.0: - resolution: - { integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== } - engines: { node: '>= 0.6' } - - fresh@2.0.0: - resolution: - { integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A== } - engines: { node: '>= 0.8' } - fs-extra@11.3.0: resolution: { integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== } @@ -3810,15 +3537,6 @@ packages: { integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== } engines: { node: '>=12' } - html-escaper@2.0.2: - resolution: - { integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== } - - http-errors@2.0.0: - resolution: - { integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== } - engines: { node: '>= 0.8' } - http-proxy-agent@9.0.0: resolution: { integrity: sha512-FcF8VhXYLQcxWCnt/cCpT2apKsRDUGeVEeMqGu4HSTu29U8Yw0TLOjdYIlDsYk3IkUh+taX4IDWpPcCqKDhCjA== } @@ -3937,11 +3655,6 @@ packages: { integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== } engines: { node: '>= 0.4' } - ipaddr.js@1.9.1: - resolution: - { integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== } - engines: { node: '>= 0.10' } - ipaddr.js@2.2.0: resolution: { integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== } @@ -4051,10 +3764,6 @@ packages: { integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== } engines: { node: '>=12' } - is-promise@4.0.0: - resolution: - { integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ== } - is-regex@1.2.1: resolution: { integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== } @@ -4147,21 +3856,6 @@ packages: { integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg== } engines: { node: ^18.17 || >=20.6.1 } - istanbul-lib-coverage@3.2.2: - resolution: - { integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== } - engines: { node: '>=8' } - - istanbul-lib-report@3.0.1: - resolution: - { integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== } - engines: { node: '>=10' } - - istanbul-reports@3.2.0: - resolution: - { integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA== } - engines: { node: '>=8' } - iterare@1.2.1: resolution: { integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q== } @@ -4187,13 +3881,13 @@ packages: { integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== } hasBin: true - js-tokens@4.0.0: + js-tokens@10.0.0: resolution: - { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + { integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== } - js-tokens@9.0.1: + js-tokens@4.0.0: resolution: - { integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== } + { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } js-yaml@4.1.0: resolution: @@ -4226,6 +3920,10 @@ packages: resolution: { integrity: sha512-HG0SIB9X4J8bwbxCbnd5FfPEbcXAJYTi1pBJeP/QPON+w8ovSME8iRG+ElHNxZNX2Qh6eYn1GdzJFS4cDFfx0Q== } + json-schema-ref-resolver@3.0.0: + resolution: + { integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A== } + json-schema-traverse@0.4.1: resolution: { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } @@ -4314,9 +4012,9 @@ packages: resolution: { integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== } - load-esm@1.0.2: + load-esm@1.0.3: resolution: - { integrity: sha512-nVAvWk/jeyrWyXEAs84mpQCYccxRqgKY4OznLuJhJCa0XsPSfdOIr2zvBZEj3IHEHbX97jjscKRRV539bW0Gpw== } + { integrity: sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA== } engines: { node: '>=13.2.0' } load-json-file@4.0.0: @@ -4427,28 +4125,23 @@ packages: resolution: { integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== } - magic-string@0.30.21: + magic-string@1.4.3: resolution: - { integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ== } + { integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ== } magicast@0.3.5: resolution: { integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ== } - magicast@0.5.1: + magicast@0.5.5: resolution: - { integrity: sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw== } + { integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA== } make-dir@3.1.0: resolution: { integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== } engines: { node: '>=8' } - make-dir@4.0.0: - resolution: - { integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== } - engines: { node: '>=10' } - markdown-it@14.1.1: resolution: { integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA== } @@ -4476,16 +4169,6 @@ packages: resolution: { integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== } - media-typer@0.3.0: - resolution: - { integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== } - engines: { node: '>= 0.6' } - - media-typer@1.1.0: - resolution: - { integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== } - engines: { node: '>= 0.8' } - memory-pager@1.5.0: resolution: { integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== } @@ -4500,11 +4183,6 @@ packages: { integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== } engines: { node: '>=18' } - merge-descriptors@2.0.0: - resolution: - { integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g== } - engines: { node: '>=18' } - merge-stream@2.0.0: resolution: { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } @@ -4529,21 +4207,11 @@ packages: { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } engines: { node: '>= 0.6' } - mime-db@1.54.0: - resolution: - { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== } - engines: { node: '>= 0.6' } - mime-types@2.1.35: resolution: { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } engines: { node: '>= 0.6' } - mime-types@3.0.1: - resolution: - { integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA== } - engines: { node: '>= 0.6' } - mime@1.6.0: resolution: { integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== } @@ -4590,11 +4258,6 @@ packages: resolution: { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== } - mkdirp@0.5.6: - resolution: - { integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== } - hasBin: true - mongodb-connection-string-url@7.0.0: resolution: { integrity: sha512-irhhjRVLE20hbkRl4zpAYLnDMM+zIZnp0IDB9akAFFUZp/3XdOfwwddc7y6cNvF2WCEtfTYRwYbIfYa2kVY0og== } @@ -4642,12 +4305,6 @@ packages: resolution: { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== } - multer@1.4.5-lts.2: - resolution: - { integrity: sha512-VzGiVigcG9zUAoCNU+xShztrlr1auZOlurXynNvO9GiWD1/mTBbUljOKY+qMeazBqXgRnjzeEgJI/wyjJUHg9A== } - engines: { node: '>= 6.0.0' } - deprecated: Multer 1.x is impacted by a number of vulnerabilities, which have been patched in 2.x. You should upgrade to the latest 2.x version. - mz@2.7.0: resolution: { integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== } @@ -4658,6 +4315,12 @@ packages: engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true + nanoid@3.3.20: + resolution: + { integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ== } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + natural-compare@1.4.0: resolution: { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== } @@ -4667,11 +4330,6 @@ packages: { integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg== } engines: { node: '>=18' } - negotiator@1.0.0: - resolution: - { integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== } - engines: { node: '>= 0.6' } - neo-async@2.6.2: resolution: { integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== } @@ -4857,9 +4515,10 @@ packages: { integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== } engines: { node: '>= 0.4' } - obug@2.1.1: + obug@2.2.1: resolution: - { integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ== } + { integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q== } + engines: { node: '>=12.20.0' } ohash@2.0.11: resolution: @@ -4870,11 +4529,6 @@ packages: { integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA== } engines: { node: '>=14.0.0' } - on-finished@2.4.1: - resolution: - { integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== } - engines: { node: '>= 0.8' } - once@1.4.0: resolution: { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } @@ -5028,11 +4682,6 @@ packages: resolution: { integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== } - parseurl@1.3.3: - resolution: - { integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== } - engines: { node: '>= 0.8' } - path-browserify@1.0.1: resolution: { integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== } @@ -5066,14 +4715,9 @@ packages: resolution: { integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== } - path-to-regexp@8.2.0: + path-to-regexp@8.4.2: resolution: - { integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ== } - engines: { node: '>=16' } - - path-to-regexp@8.3.0: - resolution: - { integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA== } + { integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA== } path-type@4.0.0: resolution: @@ -5084,11 +4728,6 @@ packages: resolution: { integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== } - peek-readable@7.0.0: - resolution: - { integrity: sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ== } - engines: { node: '>=18' } - pend@1.2.0: resolution: { integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== } @@ -5116,22 +4755,27 @@ packages: { integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== } engines: { node: '>=12' } + picomatch@4.0.7: + resolution: + { integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA== } + engines: { node: '>=12' } + pify@3.0.0: resolution: { integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== } engines: { node: '>=4' } - pino-abstract-transport@2.0.0: + pino-abstract-transport@3.0.0: resolution: - { integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw== } + { integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg== } pino-std-serializers@7.0.0: resolution: { integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA== } - pino@9.11.0: + pino@10.4.0: resolution: - { integrity: sha512-+YIodBB9sxcWeR8PrXC2K3gEDyfkUuVEITOcbqrfcj+z5QW4ioIcqZfYFbrLTYLsmAwunbS7nfU/dpBB6PZc1g== } + { integrity: sha512-bk1ZMTwG/Vymx+zPoa28MhNzucFvXJWp3csrSuxuHPSMeUettaCoQ5Jvg07mtC4JGNpcfTwz41oVCnNgBK9+vA== } hasBin: true pirates@4.0.7: @@ -5200,6 +4844,11 @@ packages: { integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== } engines: { node: '>=4' } + postcss@8.5.29: + resolution: + { integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ== } + engines: { node: ^10 || ^12 || >=14 } + postcss@8.5.3: resolution: { integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== } @@ -5240,9 +4889,9 @@ packages: resolution: { integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q== } - process-warning@5.0.0: + process-warning@5.1.0: resolution: - { integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA== } + { integrity: sha512-jQSaVHsPgtyw60e1rQ/A+/ArPEj/S8pS/vFnyGa/gYFXrKk/6RuDkoqVDQ5NI5MmS01698ltlAk0NoDBNLujRw== } prop-types@15.8.1: resolution: @@ -5252,11 +4901,6 @@ packages: resolution: { integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== } - proxy-addr@2.0.7: - resolution: - { integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== } - engines: { node: '>= 0.10' } - punycode.js@2.3.1: resolution: { integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== } @@ -5289,16 +4933,6 @@ packages: resolution: { integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== } - range-parser@1.2.1: - resolution: - { integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== } - engines: { node: '>= 0.6' } - - raw-body@3.0.0: - resolution: - { integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g== } - engines: { node: '>= 0.8' } - rc9@2.1.2: resolution: { integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg== } @@ -5341,14 +4975,13 @@ packages: { integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== } engines: { node: '>= 14.18.0' } - real-require@0.2.0: + real-require@1.0.0: resolution: - { integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== } - engines: { node: '>= 12.13.0' } + { integrity: sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g== } - reflect-metadata@0.1.14: + reflect-metadata@0.2.2: resolution: - { integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== } + { integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== } reflect.getprototypeof@1.0.10: resolution: @@ -5414,17 +5047,12 @@ packages: resolution: { integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== } - rollup@4.40.1: + rollup@4.64.0: resolution: - { integrity: sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw== } + { integrity: sha512-gjA/kFeDfffII8COoPsvLPvE16hWDTEc1+0QKQNKUkuV8iJjqsC4xXs8/FzuL0v9EV39kuxTbAgcFoTRyy2TGQ== } engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true - router@2.2.0: - resolution: - { integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ== } - engines: { node: '>= 18' } - run-parallel@1.2.0: resolution: { integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== } @@ -5442,10 +5070,6 @@ packages: resolution: { integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== } - safe-buffer@5.2.1: - resolution: - { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== } - safe-push-apply@1.0.0: resolution: { integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== } @@ -5493,23 +5117,12 @@ packages: { integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== } hasBin: true - semver@7.7.1: - resolution: - { integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== } - engines: { node: '>=10' } - hasBin: true - semver@7.7.3: resolution: { integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== } engines: { node: '>=10' } hasBin: true - send@1.2.0: - resolution: - { integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw== } - engines: { node: '>= 18' } - serialize-error@12.0.0: resolution: { integrity: sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw== } @@ -5520,11 +5133,6 @@ packages: { integrity: sha512-bBZaRwLH9PN5HbLCjPId4dP5bNGEtumcErgOX952IsvOhVPrm3/AeK1y0UHA/QaPG701eg0yEnOKsCOC6X/kaA== } engines: { node: '>=20' } - serve-static@2.2.0: - resolution: - { integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ== } - engines: { node: '>= 18' } - set-cookie-parser@2.7.1: resolution: { integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ== } @@ -5544,10 +5152,6 @@ packages: { integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== } engines: { node: '>= 0.4' } - setprototypeof@1.2.0: - resolution: - { integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== } - shebang-command@2.0.0: resolution: { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } @@ -5583,10 +5187,6 @@ packages: { integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== } engines: { node: '>= 0.4' } - siginfo@2.0.0: - resolution: - { integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== } - signal-exit@3.0.7: resolution: { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } @@ -5620,6 +5220,11 @@ packages: { integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== } engines: { node: '>=0.10.0' } + source-map-js@1.2.2: + resolution: + { integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw== } + engines: { node: '>=0.10.0' } + source-map-support@0.5.21: resolution: { integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== } @@ -5666,18 +5271,9 @@ packages: { integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== } engines: { node: '>= 10.x' } - stackback@0.0.2: - resolution: - { integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== } - - statuses@2.0.1: - resolution: - { integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== } - engines: { node: '>= 0.8' } - - std-env@3.10.0: + std-env@4.3.0: resolution: - { integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg== } + { integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag== } stop-iteration-iterator@1.1.0: resolution: @@ -5688,11 +5284,6 @@ packages: resolution: { integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw== } - streamsearch@1.1.0: - resolution: - { integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== } - engines: { node: '>=10.0.0' } - streamx@2.22.0: resolution: { integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== } @@ -5794,9 +5385,9 @@ packages: resolution: { integrity: sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ== } - strtok3@10.2.2: + strtok3@10.3.5: resolution: - { integrity: sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg== } + { integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA== } engines: { node: '>=18' } super-regex@1.0.0: @@ -5849,10 +5440,6 @@ packages: svelte: optional: true - swagger-ui-dist@5.31.0: - resolution: - { integrity: sha512-zSUTIck02fSga6rc0RZP3b7J7wgHXwLea8ZjgLA3Vgnb8QeOl3Wou2/j5QkzSGeoz6HusP/coYuJl33aQxQZpg== } - synckit@0.11.12: resolution: { integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== } @@ -5895,9 +5482,10 @@ packages: resolution: { integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== } - thread-stream@3.1.0: + thread-stream@4.2.0: resolution: - { integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A== } + { integrity: sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ== } + engines: { node: '>=20' } through2@2.0.5: resolution: @@ -5912,9 +5500,10 @@ packages: { integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA== } engines: { node: '>=12' } - tinybench@2.9.0: + tinybench@6.2.0: resolution: - { integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== } + { integrity: sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q== } + engines: { node: '>=20.0.0' } tinyexec@0.3.2: resolution: @@ -5925,14 +5514,24 @@ packages: { integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg== } engines: { node: '>=18' } + tinyexec@1.3.1: + resolution: + { integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA== } + engines: { node: '>=18' } + tinyglobby@0.2.15: resolution: { integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== } engines: { node: '>=12.0.0' } - tinyrainbow@3.0.3: + tinyglobby@0.2.17: + resolution: + { integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g== } + engines: { node: '>=12.0.0' } + + tinyrainbow@3.2.0: resolution: - { integrity: sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q== } + { integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A== } engines: { node: '>=14.0.0' } to-regex-range@5.0.1: @@ -5945,14 +5544,9 @@ packages: { integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw== } engines: { node: '>=12' } - toidentifier@1.0.1: + token-types@6.1.2: resolution: - { integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== } - engines: { node: '>=0.6' } - - token-types@6.0.0: - resolution: - { integrity: sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA== } + { integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww== } engines: { node: '>=14.16' } tr46@5.1.1: @@ -6024,16 +5618,6 @@ packages: { integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg== } engines: { node: '>=20' } - type-is@1.6.18: - resolution: - { integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== } - engines: { node: '>= 0.6' } - - type-is@2.0.1: - resolution: - { integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw== } - engines: { node: '>= 0.6' } - typed-array-buffer@1.0.3: resolution: { integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== } @@ -6054,10 +5638,6 @@ packages: { integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== } engines: { node: '>= 0.4' } - typedarray@0.0.6: - resolution: - { integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== } - typedoc-material-theme@1.4.1: resolution: { integrity: sha512-/inKZw8SqZPt+pmawpMhDmXCJQyIm+fHFuGChioyJQICZcX2FyzpwZnyPWcZHmJ09upttWFhti4ZI3hESJNkSA== } @@ -6108,9 +5688,9 @@ packages: { integrity: sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g== } engines: { node: '>=8' } - uint8array-extras@1.4.0: + uint8array-extras@1.6.0: resolution: - { integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ== } + { integrity: sha512-8iAasVS4wUx0gPLjH8Xtz2PeDzTSiy8QiLGu2DT3X5GU+egFEQhpnbtkehbAwjvDcxIERmCYcysiODFmE3Ud0Q== } engines: { node: '>=18' } unbox-primitive@1.1.0: @@ -6171,11 +5751,6 @@ packages: { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } engines: { node: '>= 10.0.0' } - unpipe@1.0.0: - resolution: - { integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== } - engines: { node: '>= 0.8' } - unplugin-swc@1.5.9: resolution: { integrity: sha512-RKwK3yf0M+MN17xZfF14bdKqfx0zMXYdtOdxLiE6jHAoidupKq3jGdJYANyIM1X/VmABhh1WpdO+/f4+Ol89+g== } @@ -6208,25 +5783,20 @@ packages: resolution: { integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== } - vary@1.1.2: - resolution: - { integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== } - engines: { node: '>= 0.8' } - - vite@6.3.3: + vite@7.3.6: resolution: - { integrity: sha512-5nXH+QsELbFKhsEfWLkHrvgRpTdGJzqOZ+utSdmPTvwHmvU6ITTm3xx+mRusihkcI8GeC7lCDyn3kDtiki9scw== } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + { integrity: sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg== } + engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@types/node': ^20.19.0 || >=22.12.0 jiti: '>=1.21.0' - less: '*' + less: ^4.0.0 lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -6254,21 +5824,24 @@ packages: yaml: optional: true - vitest@4.0.17: + vitest@5.0.3: resolution: - { integrity: sha512-FQMeF0DJdWY0iOnbv466n/0BudNdKj1l5jYgl5JVTwjSsZSlqyXFt/9+1sEyhR6CLowbZpV7O1sCHrzBhucKKg== } - engines: { node: ^20.0.0 || ^22.0.0 || >=24.0.0 } + { integrity: sha512-xMw97S3rjdtj5dkVat7jCsqWBpvchs3RlpQctUqwJD0KkERk40vz2fJ77lDwW/Vzh/pk18eItYAzkodhSes3jQ== } + engines: { node: ^22.12.0 || ^24.0.0 || >=26.0.0 } hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.17 - '@vitest/browser-preview': 4.0.17 - '@vitest/browser-webdriverio': 4.0.17 - '@vitest/ui': 4.0.17 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.3 + '@vitest/browser-preview': 5.0.3 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.3 + '@vitest/coverage-v8': 5.0.3 + '@vitest/ui': 5.0.3 happy-dom: '*' jsdom: '*' + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -6282,6 +5855,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -6344,10 +5921,10 @@ packages: engines: { node: '>= 8' } hasBin: true - why-is-node-running@2.3.0: + why-is-node-running@3.2.1: resolution: - { integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== } - engines: { node: '>=8' } + { integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ== } + engines: { node: '>=20.11' } hasBin: true word-wrap@1.2.5: @@ -6875,21 +6452,25 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@7.29.7': {} '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.28.6': + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/parser@7.29.9': dependencies: - '@babel/types': 7.28.6 + '@babel/types': 7.29.8 - '@babel/types@7.28.6': + '@babel/types@7.29.8': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 '@bcoe/v8-coverage@1.0.2': {} + '@borewit/text-codec@0.2.2': {} + '@colors/colors@1.5.0': optional: true @@ -7090,156 +6671,81 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 - '@esbuild/aix-ppc64@0.25.3': - optional: true - '@esbuild/aix-ppc64@0.27.2': optional: true - '@esbuild/android-arm64@0.25.3': - optional: true - '@esbuild/android-arm64@0.27.2': optional: true - '@esbuild/android-arm@0.25.3': - optional: true - '@esbuild/android-arm@0.27.2': optional: true - '@esbuild/android-x64@0.25.3': - optional: true - '@esbuild/android-x64@0.27.2': optional: true - '@esbuild/darwin-arm64@0.25.3': - optional: true - '@esbuild/darwin-arm64@0.27.2': optional: true - '@esbuild/darwin-x64@0.25.3': - optional: true - '@esbuild/darwin-x64@0.27.2': optional: true - '@esbuild/freebsd-arm64@0.25.3': - optional: true - '@esbuild/freebsd-arm64@0.27.2': optional: true - '@esbuild/freebsd-x64@0.25.3': - optional: true - '@esbuild/freebsd-x64@0.27.2': optional: true - '@esbuild/linux-arm64@0.25.3': - optional: true - '@esbuild/linux-arm64@0.27.2': optional: true - '@esbuild/linux-arm@0.25.3': - optional: true - '@esbuild/linux-arm@0.27.2': optional: true - '@esbuild/linux-ia32@0.25.3': - optional: true - '@esbuild/linux-ia32@0.27.2': optional: true - '@esbuild/linux-loong64@0.25.3': - optional: true - '@esbuild/linux-loong64@0.27.2': optional: true - '@esbuild/linux-mips64el@0.25.3': - optional: true - '@esbuild/linux-mips64el@0.27.2': optional: true - '@esbuild/linux-ppc64@0.25.3': - optional: true - '@esbuild/linux-ppc64@0.27.2': optional: true - '@esbuild/linux-riscv64@0.25.3': - optional: true - '@esbuild/linux-riscv64@0.27.2': optional: true - '@esbuild/linux-s390x@0.25.3': - optional: true - '@esbuild/linux-s390x@0.27.2': optional: true - '@esbuild/linux-x64@0.25.3': - optional: true - '@esbuild/linux-x64@0.27.2': optional: true - '@esbuild/netbsd-arm64@0.25.3': - optional: true - '@esbuild/netbsd-arm64@0.27.2': optional: true - '@esbuild/netbsd-x64@0.25.3': - optional: true - '@esbuild/netbsd-x64@0.27.2': optional: true - '@esbuild/openbsd-arm64@0.25.3': - optional: true - '@esbuild/openbsd-arm64@0.27.2': optional: true - '@esbuild/openbsd-x64@0.25.3': - optional: true - '@esbuild/openbsd-x64@0.27.2': optional: true '@esbuild/openharmony-arm64@0.27.2': optional: true - '@esbuild/sunos-x64@0.25.3': - optional: true - '@esbuild/sunos-x64@0.27.2': optional: true - '@esbuild/win32-arm64@0.25.3': - optional: true - '@esbuild/win32-arm64@0.27.2': optional: true - '@esbuild/win32-ia32@0.25.3': - optional: true - '@esbuild/win32-ia32@0.27.2': optional: true - '@esbuild/win32-x64@0.25.3': - optional: true - '@esbuild/win32-x64@0.27.2': optional: true @@ -7291,15 +6797,15 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@fastify/ajv-compiler@4.0.2': + '@fastify/ajv-compiler@4.0.6': dependencies: ajv: 8.17.1 ajv-formats: 3.0.1(ajv@8.17.1) - fast-uri: 3.0.6 + fast-uri: 4.2.1 - '@fastify/cors@11.1.0': + '@fastify/cors@11.3.0': dependencies: - fastify-plugin: 5.0.1 + fastify-plugin: 6.0.0 toad-cache: 3.7.0 '@fastify/error@4.2.0': {} @@ -7308,10 +6814,10 @@ snapshots: dependencies: fast-json-stringify: 6.0.1 - '@fastify/formbody@8.0.2': + '@fastify/formbody@9.0.0': dependencies: fast-querystring: 1.1.2 - fastify-plugin: 5.0.1 + fastify-plugin: 6.0.0 '@fastify/forwarded@3.0.0': {} @@ -7319,11 +6825,12 @@ snapshots: dependencies: dequal: 2.0.3 - '@fastify/middie@9.0.3': + '@fastify/middie@9.3.4': dependencies: '@fastify/error': 4.2.0 - fastify-plugin: 5.0.1 - path-to-regexp: 8.2.0 + fastify-plugin: 6.0.0 + find-my-way: 9.9.0 + path-to-regexp: 8.4.2 reusify: 1.1.0 '@fastify/proxy-addr@5.0.0': @@ -7377,6 +6884,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 @@ -7385,18 +6894,19 @@ snapshots: '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 '@lukeed/csprng@1.1.0': {} '@material/material-color-utilities@0.3.0': {} - '@microsoft/tsdoc@0.16.0': {} - '@mongodb-js/saslprep@1.4.5': dependencies: sparse-bitfield: 3.0.3 + '@napi-rs/lzma-linux-x64-gnu@1.5.1': + optional: true + '@napi-rs/wasm-runtime@1.1.1': dependencies: '@emnapi/core': 1.8.1 @@ -7404,88 +6914,55 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2)': + '@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: - file-type: 20.4.1 + '@standard-schema/spec': 1.1.0 + file-type: 22.1.1 iterare: 1.2.1 - load-esm: 1.0.2 - reflect-metadata: 0.1.14 + load-esm: 1.0.3 + reflect-metadata: 0.2.2 rxjs: 7.8.2 tslib: 2.8.1 uid: 2.0.2 transitivePeerDependencies: - supports-color - '@nestjs/core@11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2)': + '@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nuxt/opencollective': 0.4.1 + '@nestjs/common': 12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2) fast-safe-stringify: 2.1.1 iterare: 1.2.1 - path-to-regexp: 8.2.0 - reflect-metadata: 0.1.14 + path-to-regexp: 8.4.2 + reflect-metadata: 0.2.2 rxjs: 7.8.2 tslib: 2.8.1 uid: 2.0.2 - optionalDependencies: - '@nestjs/platform-express': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0) - - '@nestjs/mapped-types@2.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(reflect-metadata@0.1.14)': - dependencies: - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - reflect-metadata: 0.1.14 - - '@nestjs/platform-express@11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)': - dependencies: - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2) - cors: 2.8.5 - express: 5.1.0 - multer: 1.4.5-lts.2 - path-to-regexp: 8.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - optional: true - '@nestjs/platform-fastify@11.1.6(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)': + '@nestjs/platform-fastify@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))': dependencies: - '@fastify/cors': 11.1.0 - '@fastify/formbody': 8.0.2 - '@fastify/middie': 9.0.3 - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@fastify/cors': 11.3.0 + '@fastify/formbody': 9.0.0 + '@fastify/middie': 9.3.4 + '@nestjs/common': 12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2) fast-querystring: 1.1.2 - fastify: 5.4.0 + fastify: 5.12.5 + find-my-way: 9.9.0 light-my-request: 6.6.0 - path-to-regexp: 8.2.0 + path-to-regexp: 8.4.2 tslib: 2.8.1 - '@nestjs/swagger@11.2.5(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)(reflect-metadata@0.1.14)': + '@nestjs/testing@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))': dependencies: - '@microsoft/tsdoc': 0.16.0 - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(reflect-metadata@0.1.14) - js-yaml: 4.1.1 - lodash: 4.17.21 - path-to-regexp: 8.3.0 - reflect-metadata: 0.1.14 - swagger-ui-dist: 5.31.0 - - '@nestjs/testing@11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)(@nestjs/platform-express@11.1.0)': - dependencies: - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2) + '@nestjs/common': 12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2) tslib: 2.8.1 - optionalDependencies: - '@nestjs/platform-express': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0) - '@nestjs/throttler@6.5.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/core@11.1.0)(reflect-metadata@0.1.14)': + '@nestjs/throttler@6.7.1(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)': dependencies: - '@nestjs/common': 11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2) - '@nestjs/core': 11.1.0(@nestjs/common@11.1.0(reflect-metadata@0.1.14)(rxjs@7.8.2))(@nestjs/platform-express@11.1.0)(reflect-metadata@0.1.14)(rxjs@7.8.2) - reflect-metadata: 0.1.14 + '@nestjs/common': 12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 12.1.2(@nestjs/common@12.1.2(reflect-metadata@0.2.2)(rxjs@7.8.2))(reflect-metadata@0.2.2)(rxjs@7.8.2) + reflect-metadata: 0.2.2 '@noble/hashes@1.8.0': {} @@ -7501,10 +6978,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@nuxt/opencollective@0.4.1': - dependencies: - consola: 3.4.2 - '@octokit/auth-token@6.0.0': {} '@octokit/core@7.0.6': @@ -7631,6 +7104,8 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 + '@pinojs/redact@0.4.0': {} + '@pkgr/core@0.2.9': {} '@pnpm/config.env-replace@1.1.0': {} @@ -7680,77 +7155,93 @@ snapshots: dependencies: '@prisma/debug': 6.19.2 - '@rollup/pluginutils@5.3.0(rollup@4.40.1)': + '@rollup/pluginutils@5.3.0(rollup@4.64.0)': dependencies: '@types/estree': 1.0.7 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.40.1 + rollup: 4.64.0 + + '@rollup/rollup-android-arm-eabi@4.64.0': + optional: true + + '@rollup/rollup-android-arm64@4.64.0': + optional: true - '@rollup/rollup-android-arm-eabi@4.40.1': + '@rollup/rollup-darwin-arm64@4.64.0': optional: true - '@rollup/rollup-android-arm64@4.40.1': + '@rollup/rollup-darwin-x64@4.64.0': optional: true - '@rollup/rollup-darwin-arm64@4.40.1': + '@rollup/rollup-freebsd-arm64@4.64.0': optional: true - '@rollup/rollup-darwin-x64@4.40.1': + '@rollup/rollup-freebsd-x64@4.64.0': optional: true - '@rollup/rollup-freebsd-arm64@4.40.1': + '@rollup/rollup-linux-arm-gnueabihf@4.64.0': optional: true - '@rollup/rollup-freebsd-x64@4.40.1': + '@rollup/rollup-linux-arm-musleabihf@4.64.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.40.1': + '@rollup/rollup-linux-arm64-gnu@4.64.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.40.1': + '@rollup/rollup-linux-arm64-musl@4.64.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.40.1': + '@rollup/rollup-linux-loong64-gnu@4.64.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.40.1': + '@rollup/rollup-linux-loong64-musl@4.64.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.40.1': + '@rollup/rollup-linux-ppc64-gnu@4.64.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': + '@rollup/rollup-linux-ppc64-musl@4.64.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.40.1': + '@rollup/rollup-linux-riscv64-gnu@4.64.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.40.1': + '@rollup/rollup-linux-riscv64-musl@4.64.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.40.1': + '@rollup/rollup-linux-s390x-gnu@4.64.0': optional: true '@rollup/rollup-linux-x64-gnu@4.40.1': optional: true - '@rollup/rollup-linux-x64-musl@4.40.1': + '@rollup/rollup-linux-x64-gnu@4.64.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.40.1': + '@rollup/rollup-linux-x64-musl@4.64.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.40.1': + '@rollup/rollup-openbsd-x64@4.64.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.40.1': + '@rollup/rollup-openharmony-arm64@4.64.0': optional: true - '@rtsao/scc@1.1.0': {} + '@rollup/rollup-win32-arm64-msvc@4.64.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.64.0': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.64.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.64.0': + optional: true - '@scarf/scarf@1.4.0': {} + '@rtsao/scc@1.1.0': {} '@sec-ant/readable-stream@0.4.1': {} @@ -8232,11 +7723,10 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@tokenizer/inflate@0.2.7': + '@tokenizer/inflate@0.4.1': dependencies: - debug: 4.4.0 - fflate: 0.8.2 - token-types: 6.0.0 + debug: 4.4.3 + token-types: 6.1.2 transitivePeerDependencies: - supports-color @@ -8268,6 +7758,8 @@ snapshots: '@types/estree@1.0.7': {} + '@types/estree@1.0.9': {} + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 @@ -8414,58 +7906,34 @@ snapshots: '@typescript-eslint/types': 8.59.0 eslint-visitor-keys: 5.0.1 - '@vitest/coverage-v8@4.0.17(vitest@4.0.17(@types/node@24.13.0)(happy-dom@17.4.4)(jiti@2.6.1)(yaml@2.8.3))': + '@vitest/coverage-v8@5.0.3(vitest@5.0.3)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.0.17 - ast-v8-to-istanbul: 0.3.10 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-reports: 3.2.0 - magicast: 0.5.1 - obug: 2.1.1 - std-env: 3.10.0 - tinyrainbow: 3.0.3 - vitest: 4.0.17(@types/node@24.13.0)(happy-dom@17.4.4)(jiti@2.6.1)(yaml@2.8.3) - - '@vitest/expect@4.0.17': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.0.17 - '@vitest/utils': 4.0.17 - chai: 6.2.2 - tinyrainbow: 3.0.3 - - '@vitest/mocker@4.0.17(vite@6.3.3(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3))': - dependencies: - '@vitest/spy': 4.0.17 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 6.3.3(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3) + '@vitest/istanbul-lib-coverage': 1.0.2 + '@vitest/istanbul-lib-report': 1.0.2 + ast-v8-to-istanbul: 1.0.7 + magicast: 0.5.5 + obug: 2.2.1 + std-env: 4.3.0 + tinyrainbow: 3.2.0 + vitest: 5.0.3(@types/node@24.13.0)(@vitest/coverage-v8@5.0.3)(happy-dom@17.4.4)(vite@7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3)) - '@vitest/pretty-format@4.0.17': - dependencies: - tinyrainbow: 3.0.3 + '@vitest/istanbul-lib-coverage@1.0.2': {} - '@vitest/runner@4.0.17': + '@vitest/istanbul-lib-report@1.0.2': dependencies: - '@vitest/utils': 4.0.17 - pathe: 2.0.3 + '@vitest/istanbul-lib-coverage': 1.0.2 - '@vitest/snapshot@4.0.17': + '@vitest/mocker@5.0.3(vite@7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3))': dependencies: - '@vitest/pretty-format': 4.0.17 - magic-string: 0.30.21 - pathe: 2.0.3 - - '@vitest/spy@4.0.17': {} + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.3 + estree-walker: 3.0.3 + magic-string: 1.4.3 + optionalDependencies: + vite: 7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3) - '@vitest/utils@4.0.17': - dependencies: - '@vitest/pretty-format': 4.0.17 - tinyrainbow: 3.0.3 + '@vitest/spy@5.0.3': {} JSONStream@1.3.5: dependencies: @@ -8474,12 +7942,6 @@ snapshots: abstract-logging@2.0.1: {} - accepts@2.0.0: - dependencies: - mime-types: 3.0.1 - negotiator: 1.0.0 - optional: true - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -8540,9 +8002,6 @@ snapshots: any-promise@1.3.0: {} - append-field@1.0.0: - optional: true - are-docs-informative@0.0.2: {} argparse@2.0.1: {} @@ -8626,11 +8085,11 @@ snapshots: ast-types-flow@0.0.8: {} - ast-v8-to-istanbul@0.3.10: + ast-v8-to-istanbul@1.0.7: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 - js-tokens: 9.0.1 + js-tokens: 10.0.0 astro-eslint-parser@1.4.0: dependencies: @@ -8694,21 +8153,6 @@ snapshots: before-after-hook@4.0.0: {} - body-parser@2.2.0: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.3 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - on-finished: 2.4.1 - qs: 6.14.1 - raw-body: 3.0.0 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color - optional: true - bottleneck@2.19.5: {} bowser@2.13.1: {} @@ -8732,14 +8176,6 @@ snapshots: buffer-from@1.1.2: {} - busboy@1.6.0: - dependencies: - streamsearch: 1.1.0 - optional: true - - bytes@3.1.2: - optional: true - c12@3.1.0(magicast@0.3.5): dependencies: chokidar: 4.0.3 @@ -8877,14 +8313,6 @@ snapshots: concat-map@0.0.1: {} - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - optional: true - concurrently@9.2.1: dependencies: chalk: 4.1.2 @@ -8903,14 +8331,6 @@ snapshots: consola@3.4.2: {} - content-disposition@1.0.0: - dependencies: - safe-buffer: 5.2.1 - optional: true - - content-type@1.0.5: - optional: true - content-type@2.0.0: {} conventional-changelog-angular@7.0.0: @@ -8953,21 +8373,12 @@ snapshots: cookie-signature@1.2.2: {} - cookie@0.7.2: - optional: true - cookie@1.0.2: {} cookiejar@2.1.4: {} core-util-is@1.0.3: {} - cors@2.8.5: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - optional: true - corser@2.0.1: {} cosmiconfig-typescript-loader@6.1.0(@types/node@24.13.0)(cosmiconfig@9.0.0(typescript@6.0.3))(typescript@6.0.3): @@ -9054,9 +8465,6 @@ snapshots: delayed-stream@1.0.0: {} - depd@2.0.0: - optional: true - dequal@2.0.3: {} destr@2.0.5: {} @@ -9092,9 +8500,6 @@ snapshots: dependencies: readable-stream: 2.3.8 - ee-first@1.1.1: - optional: true - effect@3.18.4: dependencies: '@standard-schema/spec': 1.1.0 @@ -9110,9 +8515,6 @@ snapshots: empathic@2.0.0: {} - encodeurl@2.0.0: - optional: true - entities@4.5.0: {} entities@7.0.1: {} @@ -9215,10 +8617,10 @@ snapshots: iterator.prototype: 1.1.5 safe-array-concat: 1.1.3 - es-module-lexer@1.7.0: {} - es-module-lexer@2.0.0: {} + es-module-lexer@2.3.2: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -9240,34 +8642,6 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild@0.25.3: - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.3 - '@esbuild/android-arm': 0.25.3 - '@esbuild/android-arm64': 0.25.3 - '@esbuild/android-x64': 0.25.3 - '@esbuild/darwin-arm64': 0.25.3 - '@esbuild/darwin-x64': 0.25.3 - '@esbuild/freebsd-arm64': 0.25.3 - '@esbuild/freebsd-x64': 0.25.3 - '@esbuild/linux-arm': 0.25.3 - '@esbuild/linux-arm64': 0.25.3 - '@esbuild/linux-ia32': 0.25.3 - '@esbuild/linux-loong64': 0.25.3 - '@esbuild/linux-mips64el': 0.25.3 - '@esbuild/linux-ppc64': 0.25.3 - '@esbuild/linux-riscv64': 0.25.3 - '@esbuild/linux-s390x': 0.25.3 - '@esbuild/linux-x64': 0.25.3 - '@esbuild/netbsd-arm64': 0.25.3 - '@esbuild/netbsd-x64': 0.25.3 - '@esbuild/openbsd-arm64': 0.25.3 - '@esbuild/openbsd-x64': 0.25.3 - '@esbuild/sunos-x64': 0.25.3 - '@esbuild/win32-arm64': 0.25.3 - '@esbuild/win32-ia32': 0.25.3 - '@esbuild/win32-x64': 0.25.3 - esbuild@0.27.2: optionalDependencies: '@esbuild/aix-ppc64': 0.27.2 @@ -9299,9 +8673,6 @@ snapshots: escalade@3.2.0: {} - escape-html@1.0.3: - optional: true - escape-string-regexp@1.0.5: {} escape-string-regexp@4.0.0: {} @@ -9570,9 +8941,6 @@ snapshots: esutils@2.0.3: {} - etag@1.8.1: - optional: true - eventemitter3@4.0.7: {} execa@5.1.1: @@ -9614,40 +8982,7 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 - expect-type@1.3.0: {} - - express@5.1.0: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.0 - content-disposition: 1.0.0 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.3 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.0 - fresh: 2.0.0 - http-errors: 2.0.0 - merge-descriptors: 2.0.0 - mime-types: 3.0.1 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.14.1 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.0 - serve-static: 2.2.0 - statuses: 2.0.1 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - optional: true + expect-type@1.4.0: {} exsolve@1.0.8: {} @@ -9682,58 +9017,49 @@ snapshots: json-schema-ref-resolver: 2.0.1 rfdc: 1.4.1 + fast-json-stringify@7.0.1: + dependencies: + '@fastify/merge-json-schemas': 0.2.1 + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + fast-uri: 4.2.1 + json-schema-ref-resolver: 3.0.0 + rfdc: 1.4.1 + fast-levenshtein@2.0.6: {} fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - fast-redact@3.5.0: {} - fast-safe-stringify@2.1.1: {} fast-uri@3.0.6: {} + fast-uri@4.2.1: {} + fast-xml-parser@5.2.5: dependencies: strnum: 2.1.2 - fastify-plugin@5.0.1: {} - - fastify@5.4.0: - dependencies: - '@fastify/ajv-compiler': 4.0.2 - '@fastify/error': 4.2.0 - '@fastify/fast-json-stringify-compiler': 5.0.3 - '@fastify/proxy-addr': 5.0.0 - abstract-logging: 2.0.1 - avvio: 9.1.0 - fast-json-stringify: 6.0.1 - find-my-way: 9.3.0 - light-my-request: 6.6.0 - pino: 9.11.0 - process-warning: 5.0.0 - rfdc: 1.4.1 - secure-json-parse: 4.0.0 - semver: 7.7.1 - toad-cache: 3.7.0 + fastify-plugin@6.0.0: {} - fastify@5.6.1: + fastify@5.12.5: dependencies: - '@fastify/ajv-compiler': 4.0.2 + '@fastify/ajv-compiler': 4.0.6 '@fastify/error': 4.2.0 '@fastify/fast-json-stringify-compiler': 5.0.3 '@fastify/proxy-addr': 5.0.0 abstract-logging: 2.0.1 avvio: 9.1.0 - fast-json-stringify: 6.0.1 - find-my-way: 9.3.0 + fast-json-stringify: 7.0.1 + find-my-way: 9.9.0 light-my-request: 6.6.0 - pino: 9.11.0 - process-warning: 5.0.0 + pino: 10.4.0 + process-warning: 5.1.0 rfdc: 1.4.1 secure-json-parse: 4.0.0 - semver: 7.7.1 + semver: 7.7.3 toad-cache: 3.7.0 fastq@1.19.1: @@ -9748,7 +9074,9 @@ snapshots: optionalDependencies: picomatch: 4.0.3 - fflate@0.8.2: {} + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 figures@2.0.0: dependencies: @@ -9762,12 +9090,12 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-type@20.4.1: + file-type@22.1.1: dependencies: - '@tokenizer/inflate': 0.2.7 - strtok3: 10.2.2 - token-types: 6.0.0 - uint8array-extras: 1.4.0 + '@tokenizer/inflate': 0.4.1 + strtok3: 10.3.5 + token-types: 6.1.2 + uint8array-extras: 1.6.0 transitivePeerDependencies: - supports-color @@ -9775,25 +9103,13 @@ snapshots: dependencies: to-regex-range: 5.0.1 - finalhandler@2.1.0: - dependencies: - debug: 4.4.3 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - optional: true - find-cache-dir@3.3.2: dependencies: commondir: 1.0.1 make-dir: 3.1.0 pkg-dir: 4.2.0 - find-my-way@9.3.0: + find-my-way@9.9.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 @@ -9868,12 +9184,6 @@ snapshots: dezalgo: 1.0.4 once: 1.4.0 - forwarded@0.2.0: - optional: true - - fresh@2.0.0: - optional: true - fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 @@ -10049,17 +9359,6 @@ snapshots: dependencies: whatwg-encoding: 2.0.0 - html-escaper@2.0.2: {} - - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - optional: true - http-proxy-agent@9.0.0: dependencies: agent-base: 9.0.0 @@ -10160,9 +9459,6 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - ipaddr.js@1.9.1: - optional: true - ipaddr.js@2.2.0: {} is-array-buffer@3.0.5: @@ -10243,9 +9539,6 @@ snapshots: is-plain-obj@4.1.0: {} - is-promise@4.0.0: - optional: true - is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -10313,19 +9606,6 @@ snapshots: lodash.isstring: 4.0.1 lodash.uniqby: 4.7.0 - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - iterare@1.2.1: {} iterator.prototype@1.1.5: @@ -10343,9 +9623,9 @@ snapshots: jiti@2.6.1: {} - js-tokens@4.0.0: {} + js-tokens@10.0.0: {} - js-tokens@9.0.1: {} + js-tokens@4.0.0: {} js-yaml@4.1.0: dependencies: @@ -10367,6 +9647,10 @@ snapshots: dependencies: dequal: 2.0.3 + json-schema-ref-resolver@3.0.0: + dependencies: + dequal: 2.0.3 + json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -10449,7 +9733,7 @@ snapshots: dependencies: uc.micro: 2.1.0 - load-esm@1.0.2: {} + load-esm@1.0.3: {} load-json-file@4.0.0: dependencies: @@ -10517,31 +9801,27 @@ snapshots: lunr@2.3.9: {} - magic-string@0.30.21: + magic-string@1.4.3: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 magicast@0.3.5: dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.6 - source-map-js: 1.2.1 + '@babel/parser': 7.29.9 + '@babel/types': 7.29.8 + source-map-js: 1.2.2 optional: true - magicast@0.5.1: + magicast@0.5.5: dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.6 + '@babel/parser': 7.29.9 + '@babel/types': 7.29.8 source-map-js: 1.2.1 make-dir@3.1.0: dependencies: semver: 6.3.1 - make-dir@4.0.0: - dependencies: - semver: 7.7.3 - markdown-it@14.1.1: dependencies: argparse: 2.0.1 @@ -10568,21 +9848,12 @@ snapshots: mdurl@2.0.0: {} - media-typer@0.3.0: - optional: true - - media-typer@1.1.0: - optional: true - memory-pager@1.5.0: {} meow@12.1.1: {} meow@13.2.0: {} - merge-descriptors@2.0.0: - optional: true - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -10596,18 +9867,10 @@ snapshots: mime-db@1.52.0: {} - mime-db@1.54.0: - optional: true - mime-types@2.1.35: dependencies: mime-db: 1.52.0 - mime-types@3.0.1: - dependencies: - mime-db: 1.54.0 - optional: true - mime@1.6.0: {} mime@2.6.0: {} @@ -10632,11 +9895,6 @@ snapshots: minimist@1.2.8: {} - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - optional: true - mongodb-connection-string-url@7.0.0: dependencies: '@types/whatwg-url': 13.0.0 @@ -10688,17 +9946,6 @@ snapshots: ms@2.1.3: {} - multer@1.4.5-lts.2: - dependencies: - append-field: 1.0.0 - busboy: 1.6.0 - concat-stream: 1.6.2 - mkdirp: 0.5.6 - object-assign: 4.1.1 - type-is: 1.6.18 - xtend: 4.0.2 - optional: true - mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -10707,13 +9954,12 @@ snapshots: nanoid@3.3.11: {} + nanoid@3.3.20: {} + natural-compare@1.4.0: {} natural-orderby@5.0.0: {} - negotiator@1.0.0: - optional: true - neo-async@2.6.2: {} nerf-dart@1.0.0: {} @@ -10820,17 +10066,12 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - obug@2.1.1: {} + obug@2.2.1: {} ohash@2.0.11: {} on-exit-leak-free@2.1.2: {} - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - optional: true - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -10969,9 +10210,6 @@ snapshots: parse5@6.0.1: {} - parseurl@1.3.3: - optional: true - path-browserify@1.0.1: {} path-exists@3.0.0: {} @@ -10986,16 +10224,12 @@ snapshots: path-parse@1.0.7: {} - path-to-regexp@8.2.0: {} - - path-to-regexp@8.3.0: {} + path-to-regexp@8.4.2: {} path-type@4.0.0: {} pathe@2.0.3: {} - peek-readable@7.0.0: {} - pend@1.2.0: {} perfect-debounce@1.0.0: {} @@ -11008,27 +10242,29 @@ snapshots: picomatch@4.0.3: {} + picomatch@4.0.7: {} + pify@3.0.0: {} - pino-abstract-transport@2.0.0: + pino-abstract-transport@3.0.0: dependencies: split2: 4.2.0 pino-std-serializers@7.0.0: {} - pino@9.11.0: + pino@10.4.0: dependencies: + '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 - fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 - pino-abstract-transport: 2.0.0 + pino-abstract-transport: 3.0.0 pino-std-serializers: 7.0.0 - process-warning: 5.0.0 + process-warning: 5.1.0 quick-format-unescaped: 4.0.4 - real-require: 0.2.0 + real-require: 1.0.0 safe-stable-stringify: 2.5.0 sonic-boom: 4.2.0 - thread-stream: 3.1.0 + thread-stream: 4.2.0 pirates@4.0.7: {} @@ -11081,6 +10317,12 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss@8.5.29: + dependencies: + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 + postcss@8.5.3: dependencies: nanoid: 3.3.11 @@ -11108,7 +10350,7 @@ snapshots: process-warning@4.0.1: {} - process-warning@5.0.0: {} + process-warning@5.1.0: {} prop-types@15.8.1: dependencies: @@ -11118,12 +10360,6 @@ snapshots: proto-list@1.2.4: {} - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - optional: true - punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -11142,17 +10378,6 @@ snapshots: quick-format-unescaped@4.0.4: {} - range-parser@1.2.1: - optional: true - - raw-body@3.0.0: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.6.3 - unpipe: 1.0.0 - optional: true - rc9@2.1.2: dependencies: defu: 6.1.4 @@ -11207,9 +10432,9 @@ snapshots: readdirp@4.1.2: {} - real-require@0.2.0: {} + real-require@1.0.0: {} - reflect-metadata@0.1.14: {} + reflect-metadata@0.2.2: {} reflect.getprototypeof@1.0.10: dependencies: @@ -11263,43 +10488,38 @@ snapshots: rfdc@1.4.1: {} - rollup@4.40.1: + rollup@4.64.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.9 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.40.1 - '@rollup/rollup-android-arm64': 4.40.1 - '@rollup/rollup-darwin-arm64': 4.40.1 - '@rollup/rollup-darwin-x64': 4.40.1 - '@rollup/rollup-freebsd-arm64': 4.40.1 - '@rollup/rollup-freebsd-x64': 4.40.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.40.1 - '@rollup/rollup-linux-arm-musleabihf': 4.40.1 - '@rollup/rollup-linux-arm64-gnu': 4.40.1 - '@rollup/rollup-linux-arm64-musl': 4.40.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.40.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.40.1 - '@rollup/rollup-linux-riscv64-gnu': 4.40.1 - '@rollup/rollup-linux-riscv64-musl': 4.40.1 - '@rollup/rollup-linux-s390x-gnu': 4.40.1 - '@rollup/rollup-linux-x64-gnu': 4.40.1 - '@rollup/rollup-linux-x64-musl': 4.40.1 - '@rollup/rollup-win32-arm64-msvc': 4.40.1 - '@rollup/rollup-win32-ia32-msvc': 4.40.1 - '@rollup/rollup-win32-x64-msvc': 4.40.1 + '@napi-rs/lzma-linux-x64-gnu': 1.5.1 + '@rollup/rollup-android-arm-eabi': 4.64.0 + '@rollup/rollup-android-arm64': 4.64.0 + '@rollup/rollup-darwin-arm64': 4.64.0 + '@rollup/rollup-darwin-x64': 4.64.0 + '@rollup/rollup-freebsd-arm64': 4.64.0 + '@rollup/rollup-freebsd-x64': 4.64.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.64.0 + '@rollup/rollup-linux-arm-musleabihf': 4.64.0 + '@rollup/rollup-linux-arm64-gnu': 4.64.0 + '@rollup/rollup-linux-arm64-musl': 4.64.0 + '@rollup/rollup-linux-loong64-gnu': 4.64.0 + '@rollup/rollup-linux-loong64-musl': 4.64.0 + '@rollup/rollup-linux-ppc64-gnu': 4.64.0 + '@rollup/rollup-linux-ppc64-musl': 4.64.0 + '@rollup/rollup-linux-riscv64-gnu': 4.64.0 + '@rollup/rollup-linux-riscv64-musl': 4.64.0 + '@rollup/rollup-linux-s390x-gnu': 4.64.0 + '@rollup/rollup-linux-x64-gnu': 4.64.0 + '@rollup/rollup-linux-x64-musl': 4.64.0 + '@rollup/rollup-openbsd-x64': 4.64.0 + '@rollup/rollup-openharmony-arm64': 4.64.0 + '@rollup/rollup-win32-arm64-msvc': 4.64.0 + '@rollup/rollup-win32-ia32-msvc': 4.64.0 + '@rollup/rollup-win32-x64-gnu': 4.64.0 + '@rollup/rollup-win32-x64-msvc': 4.64.0 fsevents: 2.3.3 - router@2.2.0: - dependencies: - debug: 4.4.3 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.3.0 - transitivePeerDependencies: - - supports-color - optional: true - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -11318,9 +10538,6 @@ snapshots: safe-buffer@5.1.2: {} - safe-buffer@5.2.1: - optional: true - safe-push-apply@1.0.0: dependencies: es-errors: 1.3.0 @@ -11382,27 +10599,8 @@ snapshots: semver@6.3.1: {} - semver@7.7.1: {} - semver@7.7.3: {} - send@1.2.0: - dependencies: - debug: 4.4.3 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.0 - mime-types: 3.0.1 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - optional: true - serialize-error@12.0.0: dependencies: type-fest: 4.41.0 @@ -11412,16 +10610,6 @@ snapshots: non-error: 0.1.0 type-fest: 5.4.1 - serve-static@2.2.0: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.0 - transitivePeerDependencies: - - supports-color - optional: true - set-cookie-parser@2.7.1: {} set-function-length@1.2.2: @@ -11446,9 +10634,6 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 - setprototypeof@1.2.0: - optional: true - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -11485,8 +10670,6 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - siginfo@2.0.0: {} - signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -11509,6 +10692,8 @@ snapshots: source-map-js@1.2.1: {} + source-map-js@1.2.2: {} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -11547,12 +10732,7 @@ snapshots: split2@4.2.0: {} - stackback@0.0.2: {} - - statuses@2.0.1: - optional: true - - std-env@3.10.0: {} + std-env@4.3.0: {} stop-iteration-iterator@1.1.0: dependencies: @@ -11564,9 +10744,6 @@ snapshots: duplexer2: 0.1.4 readable-stream: 2.3.8 - streamsearch@1.1.0: - optional: true - streamx@2.22.0: dependencies: fast-fifo: 1.3.2 @@ -11670,10 +10847,9 @@ snapshots: strnum@2.1.2: {} - strtok3@10.2.2: + strtok3@10.3.5: dependencies: '@tokenizer/token': 0.3.0 - peek-readable: 7.0.0 super-regex@1.0.0: dependencies: @@ -11729,10 +10905,6 @@ snapshots: postcss: 8.5.3 postcss-scss: 4.0.9(postcss@8.5.3) - swagger-ui-dist@5.31.0: - dependencies: - '@scarf/scarf': 1.4.0 - synckit@0.11.12: dependencies: '@pkgr/core': 0.2.9 @@ -11768,9 +10940,9 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-stream@3.1.0: + thread-stream@4.2.0: dependencies: - real-require: 0.2.0 + real-require: 1.0.0 through2@2.0.5: dependencies: @@ -11783,18 +10955,25 @@ snapshots: dependencies: convert-hrtime: 5.0.0 - tinybench@2.9.0: {} + tinybench@6.2.0: {} tinyexec@0.3.2: {} tinyexec@1.0.2: {} + tinyexec@1.3.1: {} + tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tinyrainbow@3.0.3: {} + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 + + tinyrainbow@3.2.0: {} to-regex-range@5.0.1: dependencies: @@ -11802,11 +10981,9 @@ snapshots: toad-cache@3.7.0: {} - toidentifier@1.0.1: - optional: true - - token-types@6.0.0: + token-types@6.1.2: dependencies: + '@borewit/text-codec': 0.2.2 '@tokenizer/token': 0.3.0 ieee754: 1.2.1 @@ -11856,19 +11033,6 @@ snapshots: dependencies: tagged-tag: 1.0.0 - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - optional: true - - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.1 - optional: true - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -11902,9 +11066,6 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typedarray@0.0.6: - optional: true - typedoc-material-theme@1.4.1(typedoc@0.28.19(typescript@6.0.3)): dependencies: '@material/material-color-utilities': 0.3.0 @@ -11945,7 +11106,7 @@ snapshots: dependencies: '@lukeed/csprng': 1.1.0 - uint8array-extras@1.4.0: {} + uint8array-extras@1.6.0: {} unbox-primitive@1.1.0: dependencies: @@ -11980,12 +11141,9 @@ snapshots: universalify@2.0.1: {} - unpipe@1.0.0: - optional: true - - unplugin-swc@1.5.9(@swc/core@1.15.8(@swc/helpers@0.5.18))(rollup@4.40.1): + unplugin-swc@1.5.9(@swc/core@1.15.8(@swc/helpers@0.5.18))(rollup@4.64.0): dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.40.1) + '@rollup/pluginutils': 5.3.0(rollup@4.64.0) '@swc/core': 1.15.8(@swc/helpers@0.5.18) load-tsconfig: 0.2.5 unplugin: 2.3.11 @@ -12014,60 +11172,42 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vary@1.1.2: - optional: true - - vite@6.3.3(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3): + vite@7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3): dependencies: - esbuild: 0.25.3 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.3 - rollup: 4.40.1 - tinyglobby: 0.2.15 + esbuild: 0.27.2 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 + postcss: 8.5.29 + rollup: 4.64.0 + tinyglobby: 0.2.17 optionalDependencies: '@types/node': 24.13.0 fsevents: 2.3.3 jiti: 2.6.1 yaml: 2.8.3 - vitest@4.0.17(@types/node@24.13.0)(happy-dom@17.4.4)(jiti@2.6.1)(yaml@2.8.3): - dependencies: - '@vitest/expect': 4.0.17 - '@vitest/mocker': 4.0.17(vite@6.3.3(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3)) - '@vitest/pretty-format': 4.0.17 - '@vitest/runner': 4.0.17 - '@vitest/snapshot': 4.0.17 - '@vitest/spy': 4.0.17 - '@vitest/utils': 4.0.17 - es-module-lexer: 1.7.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 1.0.2 - tinyglobby: 0.2.15 - tinyrainbow: 3.0.3 - vite: 6.3.3(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3) - why-is-node-running: 2.3.0 + vitest@5.0.3(@types/node@24.13.0)(@vitest/coverage-v8@5.0.3)(happy-dom@17.4.4)(vite@7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3)): + dependencies: + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.3(vite@7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3)) + chai: 6.2.2 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.4.3 + obug: 2.2.1 + picomatch: 4.0.7 + std-env: 4.3.0 + tinybench: 6.2.0 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + vite: 7.3.6(@types/node@24.13.0)(jiti@2.6.1)(yaml@2.8.3) + why-is-node-running: 3.2.1 optionalDependencies: '@types/node': 24.13.0 + '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) happy-dom: 17.4.4 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml walk-up-path@4.0.0: {} @@ -12132,10 +11272,7 @@ snapshots: dependencies: isexe: 2.0.0 - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 + why-is-node-running@3.2.1: {} word-wrap@1.2.5: {} diff --git a/src/app/__tests__/app.factory.test.ts b/src/app/__tests__/app.factory.test.ts index 4e040364..575e0cd7 100644 --- a/src/app/__tests__/app.factory.test.ts +++ b/src/app/__tests__/app.factory.test.ts @@ -1,4 +1,5 @@ import { APP_FILTER, APP_GUARD, APP_PIPE } from '@nestjs/core'; +import { FastifyAdapter } from '@nestjs/platform-fastify'; import { Test, TestingModule } from '@nestjs/testing'; import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'; import { beforeAll, describe, expect, it, vi } from 'vitest'; @@ -12,6 +13,7 @@ import { ValidationPipe } from '../../pipes/validation.pipe.js'; import { $BaseEnv } from '../../schemas/env.schema.js'; import { AppFactory } from '../app.factory.js'; +import type { CryptoOptions } from '../../modules/crypto/crypto.config.js'; import type { BaseEnv } from '../../schemas/env.schema.js'; import type { CreateAppOptions } from '../app.factory.js'; @@ -24,8 +26,8 @@ vi.mock(import('../../middleware/delay.middleware.js'), async (importOriginal) = vi.mock('../../modules/crypto/crypto.service.js', () => { return { - CryptoService: vi.fn(function (this: CryptoService) { - return; + CryptoService: vi.fn(function (this: CryptoService, options: CryptoOptions) { + Object.assign(this, options); }) }; }); @@ -187,14 +189,11 @@ describe('AppFactory', () => { }); it('should provide the CryptoService with the default number of pbkdf2 iterations', () => { - expect(moduleRef.get(CryptoService)).toBeDefined(); - expect(CryptoService).toHaveBeenLastCalledWith( - expect.objectContaining({ - pbkdf2Params: { - iterations: 100_000 - } - }) - ); + expect(moduleRef.get(CryptoService)).toMatchObject({ + pbkdf2Params: { + iterations: 100_000 + } + }); }); it('should not call the delay middleware by default', () => { @@ -211,7 +210,7 @@ describe('AppFactory', () => { }); it('should call the delay middleware', async () => { - const app = moduleRef.createNestApplication(); + const app = moduleRef.createNestApplication(new FastifyAdapter()); await app.init(); expect(delay).toHaveBeenCalled(); await app.close(); @@ -231,18 +230,15 @@ describe('AppFactory', () => { }); it('should provide the CryptoService with pbkdf2 iterations disabled', () => { - expect(moduleRef.get(CryptoService)).toBeDefined(); - expect(CryptoService).toHaveBeenLastCalledWith( - expect.objectContaining({ - pbkdf2Params: { - iterations: 1 - } - }) - ); + expect(moduleRef.get(CryptoService)).toMatchObject({ + pbkdf2Params: { + iterations: 1 + } + }); }); it('should call the delay and custom middleware', async () => { - const app = moduleRef.createNestApplication(); + const app = moduleRef.createNestApplication(new FastifyAdapter()); await app.init(); expect(configureMiddleware).toHaveBeenCalledOnce(); expect(delay).toHaveBeenLastCalledWith({ responseDelay: 10 }); diff --git a/src/decorators/__tests__/current-user.decorator.test.ts b/src/decorators/__tests__/current-user.decorator.test.ts index 38a46df2..81631cbd 100644 --- a/src/decorators/__tests__/current-user.decorator.test.ts +++ b/src/decorators/__tests__/current-user.decorator.test.ts @@ -1,6 +1,7 @@ import type { IncomingMessage, Server, ServerResponse } from 'http'; import { Controller, Get } from '@nestjs/common'; +import { FastifyAdapter } from '@nestjs/platform-fastify'; import type { NestFastifyApplication } from '@nestjs/platform-fastify'; import { Test } from '@nestjs/testing'; import request from 'supertest'; @@ -28,18 +29,20 @@ describe('CurrentUser', () => { const moduleRef = await Test.createTestingModule({ controllers: [AppController] }).compile(); - app = moduleRef.createNestApplication({ + app = moduleRef.createNestApplication(new FastifyAdapter(), { logger: ['error', 'fatal', 'warn'] }); - app.use((req: any, _res: any, next: any) => { - const username = req.query.username; + const fastify = app.getHttpAdapter().getInstance(); + fastify.addHook('onRequest', (request, _reply, done) => { + const { username } = request.query as { username?: string }; if (username) { - req.user = { username } as any; + request.user = { username }; } - return next(); + done(); }); await app.init(); + await fastify.ready(); server = app.getHttpServer(); }); diff --git a/src/meta/__tests__/build.test.ts b/src/meta/__tests__/build.test.ts index 10d402fb..919ca2b9 100644 --- a/src/meta/__tests__/build.test.ts +++ b/src/meta/__tests__/build.test.ts @@ -5,7 +5,7 @@ import * as path from 'node:path'; import { ok, okAsync } from 'neverthrow'; import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from 'vitest'; -import { buildProd } from '../build.js'; +import { buildProd, OPTIONAL_EXTERNALS } from '../build.js'; import * as externalPluginModule from '../plugins/external.js'; import * as nativeDependenciesPluginModule from '../plugins/native-dependencies.js'; @@ -124,6 +124,40 @@ describe('buildProd', () => { expect(consoleLog).toHaveBeenLastCalledWith('Done!'); }); + it('should start the bundled application without the optional packages Nest imports lazily', async () => { + // the bundle must sit inside the repository, so that `mongodb-memory-server`, which the example app + // needs at runtime, resolves from node_modules, while the optional Nest packages still do not + const buildDir = path.resolve(import.meta.dirname, '../../../build'); + await fs.promises.mkdir(buildDir, { recursive: true }); + const bundleDir = await fs.promises.mkdtemp(path.join(buildDir, 'optional-externals-')); + const outfile = path.join(bundleDir, 'module.js'); + loadUserConfig.mockReturnValue( + okAsync({ + build: { + mode: 'module', + outfile + }, + entry: vi.fn() + } satisfies UserConfigOptions) + ); + parseEntryFromFunction.mockReturnValueOnce(ok('./example/app.js')); + try { + const result = await buildProd({ configFile }); + expect(result.isOk()).toBe(true); + const bundle = await fs.promises.readFile(outfile, 'utf-8'); + for (const specifier of OPTIONAL_EXTERNALS.filter((specifier) => specifier !== 'mongodb-memory-server')) { + expect(bundle).toContain(`import("${specifier}")`); + } + const appContainer = await import(outfile).then((module) => module.default); + const app = await appContainer.createApplicationInstance(); + app.useLogger(false); + await expect(app.init()).resolves.toBe(app); + await app.close(); + } finally { + await fs.promises.rm(bundleDir, { force: true, recursive: true }); + } + }); + it('should handle errors in the onComplete callback', async () => { vi.doMock('esbuild', () => esbuildMock); const callbackError = new Error('Something went wrong'); diff --git a/src/meta/build.ts b/src/meta/build.ts index c67cfb69..3c0df262 100644 --- a/src/meta/build.ts +++ b/src/meta/build.ts @@ -27,6 +27,28 @@ import type { UserConfigOptions } from '../user-config.js'; export const GLOBALS_BANNER = "Object.defineProperties(globalThis, { __dirname: { value: import.meta.dirname, writable: true }, __filename: { value: import.meta.filename, writable: true }, require: { value: (await import('module')).createRequire(import.meta.url), writable: true } });"; +/** + * Packages left out of the production bundle because nothing requires them to be installed. + * + * Most are optional packages that `@nestjs/*` loads lazily with a literal `import()`, which esbuild + * resolves at build time and fails on when the package is absent. At runtime Nest catches the failed + * import and carries on without the package. The specifiers must match what Nest imports exactly: + * `@nestjs/websockets/socket-module.js` keeps its extension, while `@nestjs/microservices` also covers + * the `@nestjs/microservices/microservices-module.js` subpath, as esbuild treats a bare package name as + * a prefix. + */ +export const OPTIONAL_EXTERNALS = [ + '@fastify/multipart', + '@fastify/static', + '@fastify/view', + '@nestjs/microservices', + '@nestjs/platform-express', + '@nestjs/websockets/socket-module.js', + 'class-transformer', + 'class-validator', + 'mongodb-memory-server' +]; + export function buildProd({ configFile, verbose @@ -64,7 +86,7 @@ export function buildProd({ logVerbose('Invoking esbuild to bundle application....'); const plugins = [docsPlugin(), prismaPlugin(), swcPlugin()]; - // this is due to a bug in the v8 coverage implementation in vitest v4, both conditions are checked + // this is due to a bug in the v8 coverage implementation in vitest v4 (still present in v5), both conditions are checked /* v8 ignore if -- @preserve */ if (config.build.bundle === false) { plugins.push(externalPlugin()); @@ -80,15 +102,7 @@ export function buildProd({ }, bundle: true, define, - external: [ - '@fastify/static', - '@fastify/view', - '@nestjs/microservices', - '@nestjs/websockets/socket-module', - 'class-transformer', - 'class-validator', - 'mongodb-memory-server' - ], + external: OPTIONAL_EXTERNALS, format: 'esm', keepNames: true, loader: { diff --git a/src/modules/logging/__tests__/logging.service.test.ts b/src/modules/logging/__tests__/logging.service.test.ts index ce77827b..f74acc40 100644 --- a/src/modules/logging/__tests__/logging.service.test.ts +++ b/src/modules/logging/__tests__/logging.service.test.ts @@ -1,6 +1,6 @@ -import { INQUIRER } from '@nestjs/core'; -import { Test, TestingModule } from '@nestjs/testing'; -import { beforeEach, describe, expect, it, vi } from 'vitest'; +import { Injectable } from '@nestjs/common'; +import { Test } from '@nestjs/testing'; +import { describe, expect, it, vi } from 'vitest'; import { LOGGING_MODULE_OPTIONS_TOKEN } from '../logging.config.js'; import { LoggingService } from '../logging.service.js'; @@ -11,38 +11,31 @@ const JSONLogger = vi.hoisted(() => vi.fn()); vi.mock('../json.logger.ts', () => ({ JSONLogger })); +@Injectable() +class TestParent { + constructor(readonly loggingService: LoggingService) {} +} + describe('LoggingService', () => { - let loggingService: LoggingService; - let mockOptions: LoggingOptions; - let mockParentClass: object; - - beforeEach(async () => { - mockOptions = { - debug: false, - log: true, - verbose: true - }; - mockParentClass = { constructor: { name: 'TestParent' } }; - const module: TestingModule = await Test.createTestingModule({ - providers: [ - LoggingService, - { provide: INQUIRER, useValue: mockParentClass }, - { provide: LOGGING_MODULE_OPTIONS_TOKEN, useValue: mockOptions } - ] + const resolveLoggingService = async (providers: { provide: string; useValue: LoggingOptions }[] = []) => { + const moduleRef = await Test.createTestingModule({ + providers: [LoggingService, TestParent, ...providers] }).compile(); + return moduleRef.get(TestParent).loggingService; + }; - loggingService = await module.resolve(LoggingService); - }); - - it('should be defined', () => { - expect(loggingService).toBeDefined(); + it('should extend JSONLogger', async () => { + await expect(resolveLoggingService()).resolves.toBeInstanceOf(JSONLogger); }); - it('should extend JSONLogger', () => { - expect(loggingService).toBeInstanceOf(JSONLogger); + it('should call the JSONLogger constructor with the name of the class it is injected into and the options', async () => { + const options: LoggingOptions = { debug: false, log: true, verbose: true }; + await resolveLoggingService([{ provide: LOGGING_MODULE_OPTIONS_TOKEN, useValue: options }]); + expect(JSONLogger).toHaveBeenCalledWith('TestParent', options); }); - it('should call the JSONLogger constructor with correct parameters', () => { - expect(JSONLogger).toHaveBeenCalledWith('TestParent', mockOptions); + it('should resolve without logging options, so JSONLogger falls back to its defaults', async () => { + await resolveLoggingService(); + expect(JSONLogger).toHaveBeenCalledWith('TestParent', undefined); }); }); diff --git a/src/modules/logging/logging.service.ts b/src/modules/logging/logging.service.ts index bc895fa1..dc5bb937 100644 --- a/src/modules/logging/logging.service.ts +++ b/src/modules/logging/logging.service.ts @@ -1,4 +1,4 @@ -import { Inject, Injectable, Scope } from '@nestjs/common'; +import { Inject, Injectable, Optional, Scope } from '@nestjs/common'; import { INQUIRER } from '@nestjs/core'; import { JSONLogger } from './json.logger.js'; @@ -8,7 +8,10 @@ import type { LoggingOptions } from './logging.config.js'; @Injectable({ scope: Scope.TRANSIENT }) export class LoggingService extends JSONLogger { - constructor(@Inject(INQUIRER) parentClass: object, @Inject(LOGGING_MODULE_OPTIONS_TOKEN) options: LoggingOptions) { + constructor( + @Inject(INQUIRER) parentClass: object, + @Inject(LOGGING_MODULE_OPTIONS_TOKEN) @Optional() options?: LoggingOptions + ) { super(parentClass?.constructor?.name, options); } } diff --git a/src/modules/prisma/__tests__/prisma.extensions.test.ts b/src/modules/prisma/__tests__/prisma.extensions.test.ts index acf8a6d1..abcb043a 100644 --- a/src/modules/prisma/__tests__/prisma.extensions.test.ts +++ b/src/modules/prisma/__tests__/prisma.extensions.test.ts @@ -3,24 +3,25 @@ import { beforeAll, describe, expect, it, vi } from 'vitest'; import type { MockInstance } from 'vitest'; describe('LibnestPrismaExtension', () => { - let defineExtensionMock: MockInstance; + let defineExtensionCalls: unknown[][]; let getExtensionContextMock: MockInstance; let extensionFactory: (client: any) => any; beforeAll(async () => { - defineExtensionMock = vi.spyOn(Prisma, 'defineExtension').mockImplementation((arg) => arg as any); + const defineExtensionMock = vi.spyOn(Prisma, 'defineExtension').mockImplementation((arg) => arg as any); getExtensionContextMock = vi.spyOn(Prisma, 'getExtensionContext'); vi.spyOn(Prisma, 'ModelName', 'get').mockReturnValueOnce({ Dog: 'Dog' }); await import('../prisma.extensions.js'); + defineExtensionCalls = [...defineExtensionMock.mock.calls]; }); it('should define the extension', () => { - expect(defineExtensionMock).toHaveBeenCalledOnce(); - const extensionArg = defineExtensionMock.mock.lastCall?.[0]; + expect(defineExtensionCalls).toHaveLength(1); + const extensionArg = defineExtensionCalls[0]![0]; expect(extensionArg).toBeTypeOf('function'); - extensionFactory = extensionArg; + extensionFactory = extensionArg as (client: any) => any; }); it('should correctly extend the PrismaClient', async () => { diff --git a/src/testing/helpers/e2e.ts b/src/testing/helpers/e2e.ts index 683ae1ed..d5430660 100644 --- a/src/testing/helpers/e2e.ts +++ b/src/testing/helpers/e2e.ts @@ -1,3 +1,4 @@ +import { FastifyAdapter } from '@nestjs/platform-fastify'; import type { NestFastifyApplication } from '@nestjs/platform-fastify'; import { Test } from '@nestjs/testing'; import request from 'supertest'; @@ -22,13 +23,13 @@ export function e2e(appContainer: AppContainer, fn: EndToEndTestFactory): void { const collector = suite('App (e2e)', (test) => fn({ api, expect, it: test, test })); collector.on('beforeAll', async () => { - const { docs, module, version } = appContainer; + const { docs, fastifyOptions, module, version } = appContainer; const moduleRef = await Test.createTestingModule({ imports: [module] }).compile(); - app = moduleRef.createNestApplication({ + app = moduleRef.createNestApplication(new FastifyAdapter(fastifyOptions), { logger: false }); @@ -38,6 +39,7 @@ export function e2e(appContainer: AppContainer, fn: EndToEndTestFactory): void { }); await app.init(); + await app.getHttpAdapter().getInstance().ready(); const agent = request.agent(app.getHttpServer()); Object.assign(agent, { setAccessToken: (token: string) => { From 3bec8df7a4b24a5e8f91ee757c4e699f08c455e1 Mon Sep 17 00:00:00 2001 From: joshunrau Date: Tue, 6 Oct 2026 14:20:14 -0400 Subject: [PATCH 2/2] fix: require Node 22.12 or later on the 22.x line Vitest 5, now a required peer, supports Node ^22.12.0 || ^24.0.0 || >=26.0.0, so the engines range no longer claims the 22.x releases before 22.12. Co-Authored-By: Claude Opus 5.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e25261bc..8dd60808 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "/src" ], "engines": { - "node": "22.x || 24.x" + "node": "^22.12.0 || 24.x" }, "scripts": { "build": "rm -rf dist && tsc -b tsconfig.build.json && cp -r src/cli/bin dist/cli/bin && cp -r src/docs/assets dist/docs/assets",