diff --git a/package.json b/package.json index ab48c21..277eebd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hq", - "version": "1.8.0", + "version": "1.9.0", "scripts": { "dev": "vite dev --port 5173", "build": "vite build", @@ -14,60 +14,60 @@ "start": "node build/index.js" }, "devDependencies": { - "@event-calendar/core": "^2.7.0", - "@event-calendar/interaction": "^2.7.0", - "@event-calendar/resource-time-grid": "^2.7.0", - "@event-calendar/time-grid": "^2.7.0", - "@sveltejs/kit": "^2.5.5", - "@sveltejs/vite-plugin-svelte": "^3.1.0", + "@event-calendar/core": "^3.1.0", + "@event-calendar/interaction": "^3.1.0", + "@event-calendar/resource-time-grid": "^3.1.0", + "@event-calendar/time-grid": "^3.1.0", + "@sveltejs/kit": "^2.5.18", + "@sveltejs/vite-plugin-svelte": "^3.1.1", "@types/jsonwebtoken": "^9.0.6", - "@typescript-eslint/eslint-plugin": "^7.6.0", - "@typescript-eslint/parser": "^7.6.0", + "@typescript-eslint/eslint-plugin": "^7.15.0", + "@typescript-eslint/parser": "^7.15.0", "autoprefixer": "^10.4.19", "concurrently": "^8.2.2", - "postcss": "^8.4.38", - "prettier": "^3.2.5", - "prettier-plugin-svelte": "^3.2.2", + "postcss": "^8.4.39", + "prettier": "^3.3.2", + "prettier-plugin-svelte": "^3.2.5", "prettier-plugin-tailwindcss": "^0.6.5", - "prisma": "^5.15.1", - "svelte": "^4.2.13", - "svelte-check": "^3.6.9", + "prisma": "^5.16.1", + "svelte": "^4.2.18", + "svelte-check": "^3.8.4", "svelte-headless-table": "^0.18.2", "sveltekit-flash-message": "^2.4.4", - "tailwindcss": "^3.4.3", - "tslib": "^2.6.2", - "typescript": "^5.4.5", - "vite": "^5.2.8" + "tailwindcss": "^3.4.4", + "tslib": "^2.6.3", + "typescript": "^5.5.3", + "vite": "^5.3.3" }, "type": "module", "dependencies": { - "@internationalized/date": "^3.5.2", - "@prisma/client": "^5.15.1", - "@sentry/sveltekit": "^7.109.0", + "@internationalized/date": "^3.5.4", + "@prisma/client": "^5.16.1", + "@sentry/sveltekit": "^8.15.0", "@sveltejs/adapter-auto": "^3.2.2", "@sveltejs/adapter-node": "^5.2.0", "@unpic/pixels": "^1.2.2", "@unpic/placeholder": "^0.1.2", - "@unpic/svelte": "^0.0.51", - "bits-ui": "^0.21.2", + "@unpic/svelte": "^0.0.53", + "bits-ui": "^0.21.12", "blurhash": "^2.0.5", - "clsx": "^2.1.0", + "clsx": "^2.1.1", "cmdk-sv": "^0.0.17", "croner": "^8.0.2", - "dompurify": "^3.1.0", - "embla-carousel-svelte": "^8.0.4", - "formsnap": "^1.0.0", + "dompurify": "^3.1.6", + "embla-carousel-svelte": "^8.1.6", + "formsnap": "^1.0.1", "jsonwebtoken": "^9.0.2", - "lucide-svelte": "^0.367.0", - "marked": "^12.0.1", - "minimatch": "^9.0.4", - "mode-watcher": "^0.3.0", - "svelte-sonner": "^0.3.22", - "sveltekit-superforms": "^2.12.4", - "tailwind-merge": "^2.2.2", + "lucide-svelte": "^0.399.0", + "marked": "^13.0.2", + "minimatch": "^9.0.5", + "mode-watcher": "^0.3.1", + "svelte-sonner": "^0.3.25", + "sveltekit-superforms": "^2.15.2", + "tailwind-merge": "^2.4.0", "tailwind-variants": "^0.2.1", "ulid": "^2.3.0", - "zod": "^3.22.4" + "zod": "^3.23.8" }, "trustedDependencies": [ "@datadog/native-appsec", @@ -83,5 +83,6 @@ "prisma", "protobufjs", "svelte-preprocess" - ] + ], + "packageManager": "pnpm@9.1.1+sha256.9551e803dcb7a1839fdf5416153a844060c7bce013218ce823410532504ac10b" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23fb67a..fa65690 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,20 +9,20 @@ importers: .: dependencies: '@internationalized/date': - specifier: ^3.5.2 + specifier: ^3.5.4 version: 3.5.4 '@prisma/client': - specifier: ^5.15.1 + specifier: ^5.16.1 version: 5.16.1(prisma@5.16.1) '@sentry/sveltekit': - specifier: ^7.109.0 - version: 7.118.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18) + specifier: ^8.15.0 + version: 8.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.25.1)(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18) '@sveltejs/adapter-auto': specifier: ^3.2.2 - version: 3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9))) + version: 3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10))) '@sveltejs/adapter-node': specifier: ^5.2.0 - version: 5.2.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9))) + version: 5.2.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10))) '@unpic/pixels': specifier: ^1.2.2 version: 1.2.2 @@ -30,16 +30,16 @@ importers: specifier: ^0.1.2 version: 0.1.2 '@unpic/svelte': - specifier: ^0.0.51 - version: 0.0.51(svelte@4.2.18) + specifier: ^0.0.53 + version: 0.0.53(svelte@4.2.18) bits-ui: - specifier: ^0.21.2 - version: 0.21.11(svelte@4.2.18) + specifier: ^0.21.12 + version: 0.21.12(svelte@4.2.18) blurhash: specifier: ^2.0.5 version: 2.0.5 clsx: - specifier: ^2.1.0 + specifier: ^2.1.1 version: 2.1.1 cmdk-sv: specifier: ^0.0.17 @@ -48,38 +48,38 @@ importers: specifier: ^8.0.2 version: 8.0.2 dompurify: - specifier: ^3.1.0 - version: 3.1.5 + specifier: ^3.1.6 + version: 3.1.6 embla-carousel-svelte: - specifier: ^8.0.4 + specifier: ^8.1.6 version: 8.1.6(svelte@4.2.18) formsnap: - specifier: ^1.0.0 - version: 1.0.1(svelte@4.2.18)(sveltekit-superforms@2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)) + specifier: ^1.0.1 + version: 1.0.1(svelte@4.2.18)(sveltekit-superforms@2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)) jsonwebtoken: specifier: ^9.0.2 version: 9.0.2 lucide-svelte: - specifier: ^0.367.0 - version: 0.367.0(svelte@4.2.18) + specifier: ^0.399.0 + version: 0.399.0(svelte@4.2.18) marked: - specifier: ^12.0.1 - version: 12.0.2 + specifier: ^13.0.2 + version: 13.0.2 minimatch: - specifier: ^9.0.4 + specifier: ^9.0.5 version: 9.0.5 mode-watcher: - specifier: ^0.3.0 + specifier: ^0.3.1 version: 0.3.1(svelte@4.2.18) svelte-sonner: - specifier: ^0.3.22 - version: 0.3.24(svelte@4.2.18) + specifier: ^0.3.25 + version: 0.3.25(svelte@4.2.18) sveltekit-superforms: - specifier: ^2.12.4 - version: 2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18) + specifier: ^2.15.2 + version: 2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18) tailwind-merge: - specifier: ^2.2.2 - version: 2.3.0 + specifier: ^2.4.0 + version: 2.4.0 tailwind-variants: specifier: ^0.2.1 version: 0.2.1(tailwindcss@3.4.4) @@ -87,36 +87,36 @@ importers: specifier: ^2.3.0 version: 2.3.0 zod: - specifier: ^3.22.4 + specifier: ^3.23.8 version: 3.23.8 devDependencies: '@event-calendar/core': - specifier: ^2.7.0 - version: 2.7.2 + specifier: ^3.1.0 + version: 3.1.0 '@event-calendar/interaction': - specifier: ^2.7.0 - version: 2.7.2 + specifier: ^3.1.0 + version: 3.1.0 '@event-calendar/resource-time-grid': - specifier: ^2.7.0 - version: 2.7.2 + specifier: ^3.1.0 + version: 3.1.0 '@event-calendar/time-grid': - specifier: ^2.7.0 - version: 2.7.2 + specifier: ^3.1.0 + version: 3.1.0 '@sveltejs/kit': - specifier: ^2.5.5 - version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + specifier: ^2.5.18 + version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) '@sveltejs/vite-plugin-svelte': - specifier: ^3.1.0 - version: 3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + specifier: ^3.1.1 + version: 3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) '@types/jsonwebtoken': specifier: ^9.0.6 version: 9.0.6 '@typescript-eslint/eslint-plugin': - specifier: ^7.6.0 - version: 7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) + specifier: ^7.15.0 + version: 7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(typescript@5.5.3) '@typescript-eslint/parser': - specifier: ^7.6.0 - version: 7.15.0(eslint@8.57.0)(typescript@5.5.3) + specifier: ^7.15.0 + version: 7.15.0(eslint@9.6.0)(typescript@5.5.3) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.39) @@ -124,44 +124,44 @@ importers: specifier: ^8.2.2 version: 8.2.2 postcss: - specifier: ^8.4.38 + specifier: ^8.4.39 version: 8.4.39 prettier: - specifier: ^3.2.5 + specifier: ^3.3.2 version: 3.3.2 prettier-plugin-svelte: - specifier: ^3.2.2 + specifier: ^3.2.5 version: 3.2.5(prettier@3.3.2)(svelte@4.2.18) prettier-plugin-tailwindcss: specifier: ^0.6.5 version: 0.6.5(prettier-plugin-svelte@3.2.5(prettier@3.3.2)(svelte@4.2.18))(prettier@3.3.2) prisma: - specifier: ^5.15.1 + specifier: ^5.16.1 version: 5.16.1 svelte: - specifier: ^4.2.13 + specifier: ^4.2.18 version: 4.2.18 svelte-check: - specifier: ^3.6.9 - version: 3.8.4(postcss-load-config@4.0.2(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18) + specifier: ^3.8.4 + version: 3.8.4(@babel/core@7.24.7)(postcss-load-config@6.0.1(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18) svelte-headless-table: specifier: ^0.18.2 version: 0.18.2(svelte@4.2.18) sveltekit-flash-message: specifier: ^2.4.4 - version: 2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18) + version: 2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18) tailwindcss: - specifier: ^3.4.3 + specifier: ^3.4.4 version: 3.4.4 tslib: - specifier: ^2.6.2 + specifier: ^2.6.3 version: 2.6.3 typescript: - specifier: ^5.4.5 + specifier: ^5.5.3 version: 5.5.3 vite: - specifier: ^5.2.8 - version: 5.3.3(@types/node@20.14.9) + specifier: ^5.3.3 + version: 5.3.3(@types/node@20.14.10) packages: @@ -179,6 +179,56 @@ packages: '@arktype/util@0.0.48': resolution: {integrity: sha512-U5FO5EUAJ4LoYtLSyAMmTf6CEVgslObfSQuua2zoK5Tv2FB3aESVQ3rdLfhuz+coRhlzlynbkmimyoQWwQT+aQ==} + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.24.7': resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} @@ -187,6 +237,18 @@ packages: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.24.7': resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} @@ -196,6 +258,14 @@ packages: resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + '@babel/types@7.24.7': resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} @@ -492,25 +562,33 @@ packages: resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.17.0': + resolution: {integrity: sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.6.0': + resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@event-calendar/core@2.7.2': - resolution: {integrity: sha512-gH0JE0emGQpLMFPWY1BU+NdNRGv0byhZnzJRJnzV9jCnThUk8rOCJ6T4VcfGZwzlxg5L24hF0UOdTSec2LuOqw==} + '@event-calendar/core@3.1.0': + resolution: {integrity: sha512-hz6jpFeFUEb/mOu2vFn96wBFYEDYHb8lPyDjlaHqD4E02OXnLb/ej0kRWMu5NnF4aE7UEKq648Lx3cbH1QJrIw==} - '@event-calendar/interaction@2.7.2': - resolution: {integrity: sha512-r4A3Y7LAy2bcgbX5L2ShxxxyBTAoCkoP1RPwg5i+Itq/2TOd6sA77PCTpLsPwFvv+Of3BUeYSI5GLLXN3o0o/w==} + '@event-calendar/interaction@3.1.0': + resolution: {integrity: sha512-G9eZSfd/NZPzB14p7pejC6GPjitl6OgaTFsT3r19ogGSdp9wdL1sif9Lmioq8dFUIC3hkU/Uu5sL2o64tQ6wWA==} - '@event-calendar/resource-time-grid@2.7.2': - resolution: {integrity: sha512-kQBOYCOeA4ll1mIaesA8m2uiPgkVwzRRbTuZWmCKTZGu0IMceFqLkCWOBSFz4qUHtD9YctgD3XBeR0uKuY0yrA==} + '@event-calendar/resource-time-grid@3.1.0': + resolution: {integrity: sha512-0Igo7Tt7KZsKHVhVuSy3zbAoOY+Tz7kHoYBo1ayLKtS/oeIFtc4Jhdv+rIMPpjtYu4gZwWUe9FRsB22+SDyJuw==} - '@event-calendar/time-grid@2.7.2': - resolution: {integrity: sha512-KKX/Y6EUcueIFsOyn0ESircedpbIC0j06hr3XYcbmi8sYdzZRQ+mTVXVOUS5xwXEdiM31wCQLxrPfhR/sDKe8w==} + '@event-calendar/time-grid@3.1.0': + resolution: {integrity: sha512-UYOVveoqG+Bt3tOq/5b6DKJL6zjOPyhKrCSjQ840OS+nyrn5nh8Q4Ggrga0hXS3MqwKQxJnY1f9miQpHQIy71w==} '@exodus/schemasafe@1.3.0': resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==} @@ -534,18 +612,13 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@internationalized/date@3.5.4': resolution: {integrity: sha512-qoVJVro+O0rBaw+8HPjUB1iH8Ihf8oziEnqMnvhJUSuVIrHOuZ6eNLHNvzXJKUvAtaDiqMnRlg8Z2mgh09BlUw==} @@ -594,6 +667,160 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@opentelemetry/api-logs@0.52.1': + resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} + engines: {node: '>=14'} + + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + engines: {node: '>=8.0.0'} + + '@opentelemetry/context-async-hooks@1.25.1': + resolution: {integrity: sha512-UW/ge9zjvAEmRWVapOP0qyCvPulWU6cQxGxDbWEFfGOj1VBBZAuOqTo3X6yWmDTD3Xe15ysCZChHncr2xFMIfQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/core@1.25.1': + resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/instrumentation-connect@0.37.0': + resolution: {integrity: sha512-SeQktDIH5rNzjiEiazWiJAIXkmnLOnNV7wwHpahrqE0Ph+Z3heqMfxRtoMtbdJSIYLfcNZYO51AjxZ00IXufdw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-express@0.40.1': + resolution: {integrity: sha512-+RKMvVe2zw3kIXRup9c1jFu3T4d0fs5aKy015TpiMyoCKX1UMu3Z0lfgYtuyiSTANvg5hZnDbWmQmqSPj9VTvg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-fastify@0.37.0': + resolution: {integrity: sha512-WRjwzNZgupSzbEYvo9s+QuHJRqZJjVdNxSEpGBwWK8RKLlHGwGVAu0gcc2gPamJWUJsGqPGvahAPWM18ZkWj6A==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-graphql@0.41.0': + resolution: {integrity: sha512-R/gXeljgIhaRDKquVkKYT5QHPnFouM8ooyePZEP0kqyaVAedtR1V7NfAUJbxfTG5fBQa5wdmLjvu63+tzRXZCA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-hapi@0.39.0': + resolution: {integrity: sha512-ik2nA9Yj2s2ay+aNY+tJsKCsEx6Tsc2g/MK0iWBW5tibwrWKTy1pdVt5sB3kd5Gkimqj23UV5+FH2JFcQLeKug==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-http@0.52.1': + resolution: {integrity: sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-ioredis@0.41.0': + resolution: {integrity: sha512-rxiLloU8VyeJGm5j2fZS8ShVdB82n7VNP8wTwfUQqDwRfHCnkzGr+buKoxuhGD91gtwJ91RHkjHA1Eg6RqsUTg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-koa@0.41.0': + resolution: {integrity: sha512-mbPnDt7ELvpM2S0vixYUsde7122lgegLOJQxx8iJQbB8YHal/xnTh9v7IfArSVzIDo+E+080hxZyUZD4boOWkw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mongodb@0.45.0': + resolution: {integrity: sha512-xnZP9+ayeB1JJyNE9cIiwhOJTzNEsRhXVdLgfzmrs48Chhhk026mQdM5CITfyXSCfN73FGAIB8d91+pflJEfWQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mongoose@0.39.0': + resolution: {integrity: sha512-J1r66A7zJklPPhMtrFOO7/Ud2p0Pv5u8+r23Cd1JUH6fYPmftNJVsLp2urAt6PHK4jVqpP/YegN8wzjJ2mZNPQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mysql2@0.39.0': + resolution: {integrity: sha512-Iypuq2z6TCfriAXCIZjRq8GTFCKhQv5SpXbmI+e60rYdXw8NHtMH4NXcGF0eKTuoCsC59IYSTUvDQYDKReaszA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-mysql@0.39.0': + resolution: {integrity: sha512-8snHPh83rhrDf31v9Kq0Nf+ts8hdr7NguuszRqZomZBHgE0+UyXZSkXHAAFZoBPPRMGyM68uaFE5hVtFl+wOcA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-nestjs-core@0.38.0': + resolution: {integrity: sha512-M381Df1dM8aqihZz2yK+ugvMFK5vlHG/835dc67Sx2hH4pQEQYDA2PpFPTgc9AYYOydQaj7ClFQunESimjXDgg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-pg@0.42.0': + resolution: {integrity: sha512-sjgcM8CswYy8zxHgXv4RAZ09DlYhQ+9TdlourUs63Df/ek5RrB1ZbjznqW7PB6c3TyJJmX6AVtPTjAsROovEjA==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-redis-4@0.40.0': + resolution: {integrity: sha512-0ieQYJb6yl35kXA75LQUPhHtGjtQU9L85KlWa7d4ohBbk/iQKZ3X3CFl5jC5vNMq/GGPB3+w3IxNvALlHtrp7A==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation@0.43.0': + resolution: {integrity: sha512-S1uHE+sxaepgp+t8lvIDuRgyjJWisAb733198kwQTUc9ZtYQ2V2gmyCtR1x21ePGVLoMiX/NWY7WA290hwkjJQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation@0.52.1': + resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/redis-common@0.36.2': + resolution: {integrity: sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==} + engines: {node: '>=14'} + + '@opentelemetry/resources@1.25.1': + resolution: {integrity: sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/sdk-metrics@1.25.1': + resolution: {integrity: sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + + '@opentelemetry/sdk-trace-base@1.25.1': + resolution: {integrity: sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + + '@opentelemetry/semantic-conventions@1.25.1': + resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==} + engines: {node: '>=14'} + + '@opentelemetry/sql-common@0.40.1': + resolution: {integrity: sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -629,6 +856,9 @@ packages: '@prisma/get-platform@5.16.1': resolution: {integrity: sha512-R4IKnWnMkR2nUAbU5gjrPehdQYUUd7RENFD2/D+xXTNhcqczp0N+WEGQ3ViyI3+6mtVcjjNIMdnUTNyu3GxIgA==} + '@prisma/instrumentation@5.16.1': + resolution: {integrity: sha512-4m5gRFWnQb8s/yTyGbMZkL7A5uJgqOWcWJxapwcAD0T0kh5sGPEVSQl/zTQvE9aduXhFAxOtC3gO+R8Hb5xO1Q==} + '@rollup/plugin-commonjs@26.0.1': resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==} engines: {node: '>=16.0.0 || 14 >= 14.17'} @@ -665,109 +895,113 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.18.0': - resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + '@rollup/rollup-android-arm-eabi@4.18.1': + resolution: {integrity: sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.18.0': - resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + '@rollup/rollup-android-arm64@4.18.1': + resolution: {integrity: sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.18.0': - resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + '@rollup/rollup-darwin-arm64@4.18.1': + resolution: {integrity: sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.18.0': - resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + '@rollup/rollup-darwin-x64@4.18.1': + resolution: {integrity: sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': - resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + '@rollup/rollup-linux-arm-gnueabihf@4.18.1': + resolution: {integrity: sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.18.0': - resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + '@rollup/rollup-linux-arm-musleabihf@4.18.1': + resolution: {integrity: sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.18.0': - resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + '@rollup/rollup-linux-arm64-gnu@4.18.1': + resolution: {integrity: sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.18.0': - resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + '@rollup/rollup-linux-arm64-musl@4.18.1': + resolution: {integrity: sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': - resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.18.1': + resolution: {integrity: sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.18.0': - resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + '@rollup/rollup-linux-riscv64-gnu@4.18.1': + resolution: {integrity: sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.18.0': - resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + '@rollup/rollup-linux-s390x-gnu@4.18.1': + resolution: {integrity: sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.18.0': - resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + '@rollup/rollup-linux-x64-gnu@4.18.1': + resolution: {integrity: sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.18.0': - resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + '@rollup/rollup-linux-x64-musl@4.18.1': + resolution: {integrity: sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.18.0': - resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + '@rollup/rollup-win32-arm64-msvc@4.18.1': + resolution: {integrity: sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.18.0': - resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + '@rollup/rollup-win32-ia32-msvc@4.18.1': + resolution: {integrity: sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.18.0': - resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + '@rollup/rollup-win32-x64-msvc@4.18.1': + resolution: {integrity: sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==} cpu: [x64] os: [win32] - '@sentry-internal/feedback@7.118.0': - resolution: {integrity: sha512-IYOGRcqIqKJJpMwBBv+0JTu0FPpXnakJYvOx/XEa/SNyF5+l7b9gGEjUVWh1ok50kTLW/XPnpnXNAGQcoKHg+w==} - engines: {node: '>=12'} + '@sentry-internal/browser-utils@8.15.0': + resolution: {integrity: sha512-DquySUQRnmMyRbfHH9t/JDwPMsVaCOCzV/6XmMb7s4FDYTWSCSpumJEYfiyJCuI9NeebPHZWF7LZCHH4glSAJQ==} + engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@7.118.0': - resolution: {integrity: sha512-XxHlCClvrxmVKpiZetFYyiBaPQNiojoBGFFVgbbWBIAPc+fWeLJ2BMoQEBjn/0NA/8u8T6lErK5YQo/eIx9+XQ==} - engines: {node: '>=12'} + '@sentry-internal/feedback@8.15.0': + resolution: {integrity: sha512-W6XiLpw7fL1A0KaHxIH45nbC2M8uagrMoBnMZ1NcqE4AoSe7VtoDqPsLvQ7MgMXwsBYiPu2AItRnKoGFS/dUBA==} + engines: {node: '>=14.18'} - '@sentry-internal/tracing@7.114.0': - resolution: {integrity: sha512-dOuvfJN7G+3YqLlUY4HIjyWHaRP8vbOgF+OsE5w2l7ZEn1rMAaUbPntAR8AF9GBA6j2zWNoSo8e7GjbJxVofSg==} - engines: {node: '>=8'} + '@sentry-internal/replay-canvas@8.15.0': + resolution: {integrity: sha512-gfezIuvf94wY748l5wSy4pRm+45GjiBm0Q/KLnXROLZKmbI7MTJrdQXA2Oxut848iISTQo4/LimecFnBDiaGtw==} + engines: {node: '>=14.18'} - '@sentry-internal/tracing@7.118.0': - resolution: {integrity: sha512-dERAshKlQLrBscHSarhHyUeGsu652bDTUN1FK0m4e3X48M3I5/s+0N880Qjpe5MprNLcINlaIgdQ9jkisvxjfw==} - engines: {node: '>=8'} + '@sentry-internal/replay@8.15.0': + resolution: {integrity: sha512-d4cA8pjr0CGHkTe8ulqMROYCX3bMHBAi/7DJBr11i4MdNCUl+/pndA9C5TiFv0sFzk/hDZQZS3J+MfGp56ZQHw==} + engines: {node: '>=14.18'} - '@sentry/browser@7.118.0': - resolution: {integrity: sha512-8onDOFV1VLEoBuqA5yaJeR3FF1JNuxr5C7p1oN3OwY724iTVqQnOLmZKZaSnHV3RkY67wKDGQkQIie14sc+42g==} - engines: {node: '>=8'} + '@sentry/babel-plugin-component-annotate@2.20.1': + resolution: {integrity: sha512-4mhEwYTK00bIb5Y9UWIELVUfru587Vaeg0DQGswv4aIRHIiMKLyNqCEejaaybQ/fNChIZOKmvyqXk430YVd7Qg==} + engines: {node: '>= 14'} - '@sentry/bundler-plugin-core@0.6.1': - resolution: {integrity: sha512-EecCJKp9ERM7J93DNDJTvkY78UiD/IfOjBdXWnaUVE0n619O7LfMVjwlXzxRJKl2x05dBE3lDraILLDGxCf6fg==} - engines: {node: '>= 10'} + '@sentry/browser@8.15.0': + resolution: {integrity: sha512-Tx4eFgAqa8tedg30+Cgr7qFocWHise8p3jb/RSNs+TCEBXLVtQidHHVZMO71FWUAC86D7woo5hMKTt+UmB8pgg==} + engines: {node: '>=14.18'} + + '@sentry/bundler-plugin-core@2.20.1': + resolution: {integrity: sha512-6ipbmGzHekxeRCbp7eoefr6bdd/lW4cNA9eNnrmd9+PicubweGaZZbH2NjhFHsaxzgOezwipDHjrTaap2kTHgw==} + engines: {node: '>= 14'} '@sentry/cli-darwin@2.32.1': resolution: {integrity: sha512-z/lEwANTYPCzbWTZ2+eeeNYxRLllC8knd0h+vtAKlhmGw/fyc/N39cznIFyFu+dLJ6tTdjOWOeikHtKuS/7onw==} @@ -815,61 +1049,47 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@7.114.0': - resolution: {integrity: sha512-YnanVlmulkjgZiVZ9BfY9k6I082n+C+LbZo52MTvx3FY6RE5iyiPMpaOh67oXEZRWcYQEGm+bKruRxLVP6RlbA==} - engines: {node: '>=8'} + '@sentry/core@8.15.0': + resolution: {integrity: sha512-RjuEq/34VjNmxlfzq+485jG63/Vst90svQapLwVgBZWgM8jxrLyCRXHU0wfBc7/1IhV/T9GYAplrJQAkG4J9Ow==} + engines: {node: '>=14.18'} - '@sentry/core@7.118.0': - resolution: {integrity: sha512-ol0xBdp3/K11IMAYSQE0FMxBOOH9hMsb/rjxXWe0hfM5c72CqYWL3ol7voPci0GELJ5CZG+9ImEU1V9r6gK64g==} - engines: {node: '>=8'} + '@sentry/node@8.15.0': + resolution: {integrity: sha512-GQO9n+M4EldBE3TNWhGzFocpUw1BU5rGfX6KC6I8BDKUeJDPDZpDknmNHzcjE5aXd+SieGiyt0sE5PaT48cGlQ==} + engines: {node: '>=14.18'} - '@sentry/integrations@7.118.0': - resolution: {integrity: sha512-C2rR4NvIMjokF8jP5qzSf1o2zxDx7IeYnr8u15Kb2+HdZtX559owALR0hfgwnfeElqMhGlJBaKUWZ48lXJMzCQ==} - engines: {node: '>=8'} - - '@sentry/node@7.118.0': - resolution: {integrity: sha512-79N63DvYKkNPqzmc0cjO+vMZ/nU7+CbE3K3COQNiV7gk58+666G9mRZQJuZVOVebatq5wM5UR0G4LPkwD+J84g==} - engines: {node: '>=8'} - - '@sentry/replay@7.118.0': - resolution: {integrity: sha512-boQfCL+1L/tSZ9Huwi00+VtU+Ih1Lcg8HtxBuAsBCJR9pQgUL5jp7ECYdTeeHyCh/RJO7JqV1CEoGTgohe10mA==} - engines: {node: '>=12'} - - '@sentry/svelte@7.118.0': - resolution: {integrity: sha512-n2k0OTAh+xJMoCLwlV2mX/+w3Cizh77MFVap571uO7K6oItephUDIo1+sWasGdMCp1BCw5kTBU4e2Q0tRUsQbg==} - engines: {node: '>=8'} + '@sentry/opentelemetry@8.15.0': + resolution: {integrity: sha512-2ZkmdzvYgb2Ij8656Z3vvu9o9AWFSHeLXQgAHX+1VMvxTz+uc5EXeXv8aTboPnRxVje446DbNJ7j3gxNSD15cA==} + engines: {node: '>=14.18'} + peerDependencies: + '@opentelemetry/api': ^1.9.0 + '@opentelemetry/core': ^1.25.1 + '@opentelemetry/instrumentation': ^0.52.1 + '@opentelemetry/sdk-trace-base': ^1.25.1 + '@opentelemetry/semantic-conventions': ^1.25.1 + + '@sentry/svelte@8.15.0': + resolution: {integrity: sha512-am9q7miAzRwVRkcZQHM7ennVbJOSHzTiUrdFHXnOJPBq7c6nBNZ9E3Ng+qK7X3IbZM1JXTxoLd0gddx9sMCFjg==} + engines: {node: '>=14.18'} peerDependencies: - svelte: 3.x || 4.x + svelte: 3.x || 4.x || 5.x - '@sentry/sveltekit@7.118.0': - resolution: {integrity: sha512-8ox0vDtQrRltJt5K/dM51msaSbUpD6iqI0uNlY838mkkpLBDKKy9DEtWZrKOvw1m5bMm+kqBQydxaUjp1tsLdA==} + '@sentry/sveltekit@8.15.0': + resolution: {integrity: sha512-RtTSm2fdQluSUasJ3sRpvh7kLCXPKJXtNIfgfLv1YTSe741+din0C1pEZ4q8bX1NN9lV/XiQG2oGPXPwLoOTlw==} engines: {node: '>=16'} peerDependencies: '@sveltejs/kit': 1.x || 2.x - '@sentry/tracing@7.114.0': - resolution: {integrity: sha512-eldEYGADReZ4jWdN5u35yxLUSTOvjsiZAYd4KBEpf+Ii65n7g/kYOKAjNl7tHbrEG1EsMW4nDPWStUMk1w+tfg==} - engines: {node: '>=8'} - - '@sentry/types@7.114.0': - resolution: {integrity: sha512-tsqkkyL3eJtptmPtT0m9W/bPLkU7ILY7nvwpi1hahA5jrM7ppoU0IMaQWAgTD+U3rzFH40IdXNBFb8Gnqcva4w==} - engines: {node: '>=8'} - - '@sentry/types@7.118.0': - resolution: {integrity: sha512-2drqrD2+6kgeg+W/ycmiti3G4lJrV3hGjY9PpJ3bJeXrh6T2+LxKPzlgSEnKFaeQWkXdZ4eaUbtTXVebMjb5JA==} - engines: {node: '>=8'} + '@sentry/types@8.15.0': + resolution: {integrity: sha512-AZc9nSHKuNH8P/7ihmq5fbZBiQ7Gr35kJq9Tad9eVuOgL8D+2b6Vqu/61ljVVlMFI0tBGFsSkWJ/00PfBcVKWg==} + engines: {node: '>=14.18'} - '@sentry/utils@7.114.0': - resolution: {integrity: sha512-319N90McVpupQ6vws4+tfCy/03AdtsU0MurIE4+W5cubHME08HtiEWlfacvAxX+yuKFhvdsO4K4BB/dj54ideg==} - engines: {node: '>=8'} - - '@sentry/utils@7.118.0': - resolution: {integrity: sha512-43qItc/ydxZV1Zb3Kn2M54RwL9XXFa3IAYBO8S82Qvq5YUYmU2AmJ1jgg7DabXlVSWgMA1HntwqnOV3JLaEnTQ==} - engines: {node: '>=8'} + '@sentry/utils@8.15.0': + resolution: {integrity: sha512-1ISmyYFuRHJbGun0gUYscyz1aP6RfILUldNAUwQwF0Ycu8YOi4n8uwJRN0aov6cCi41tnZWOMBagSeLxbJiJgQ==} + engines: {node: '>=14.18'} - '@sentry/vite-plugin@0.6.1': - resolution: {integrity: sha512-qkvKaSOcNhNWcdxRXLSs+8cF3ey0XIRmEzTl8U7sTTcZwuOMHsJB+HsYij6aTGaqsKfP8w1ozVt9szBAiL4//w==} - engines: {node: '>= 10'} + '@sentry/vite-plugin@2.20.1': + resolution: {integrity: sha512-IOYAJRcV+Uqn0EL8rxcoCvE77PbtGzKjP+B6iIgDZ229AWbpfbpWY8zHCcufwdDzb5PtgOhWWHT74iAsNyij/A==} + engines: {node: '>= 14'} '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -923,27 +1143,96 @@ packages: '@swc/helpers@0.5.11': resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} + '@types/accepts@1.3.7': + resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/connect@3.4.36': + resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/content-disposition@0.5.8': + resolution: {integrity: sha512-QVSSvno3dE0MgO76pJhmv4Qyi/j0Yk9pBp0Y7TJ2Tlj+KCgJWY6qX7nnxCOLkZ3VYRSIk1WTxCvwUSdx6CCLdg==} + '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + '@types/cookies@0.9.0': + resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==} + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/express-serve-static-core@4.19.5': + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/http-assert@1.5.5': + resolution: {integrity: sha512-4+tE/lwdAahgZT1g30Jkdm9PzFRde0xwxBNUyRsCitRvCQB90iuA2uJYdUnhnANRcqGXaWOGY4FEoxeElNAK2g==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} '@types/jsonwebtoken@9.0.6': resolution: {integrity: sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==} - '@types/node@20.14.9': - resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} + '@types/keygrip@1.0.6': + resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} + + '@types/koa-compose@3.2.8': + resolution: {integrity: sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==} + + '@types/koa@2.14.0': + resolution: {integrity: sha512-DTDUyznHGNHAl+wd1n0z1jxNajduyTh8R53xoewuerdBzGo6Ogj6F2299BFtrexJw4NtgjsI5SMPCmV9gZwGXA==} + + '@types/koa__router@12.0.3': + resolution: {integrity: sha512-5YUJVv6NwM1z7m6FuYpKfNLTZ932Z6EF6xy2BbtpJSyn13DKNQEkXVffFVSnJHxvwwWh2SAeumpjAYUELqgjyw==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/mysql@2.15.22': + resolution: {integrity: sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==} + + '@types/node@20.14.10': + resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} + + '@types/pg-pool@2.0.4': + resolution: {integrity: sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==} + + '@types/pg@8.6.1': + resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} '@types/pug@2.0.10': resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-static@1.15.7': + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + + '@types/shimmer@1.2.0': + resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} + '@types/validator@13.12.0': resolution: {integrity: sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==} @@ -1005,11 +1294,8 @@ packages: resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} engines: {node: ^18.18.0 || >=20.0.0} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - - '@unpic/core@0.0.47': - resolution: {integrity: sha512-h8Jage7Jh4PS7j77syB/qQR75eDzF0aTJc7mkDfWwqp5HKDfLb7L/3i7ta8Iasg6qZzfySWX/hzy+kLuOJS5XA==} + '@unpic/core@0.0.49': + resolution: {integrity: sha512-tAqeJRMPF2TrZbSQe74OZ9O5DzKDDUoFwFbZUpjvLcgwGQ/8aleDCb2Iy3bHFJfzzYZ9iHN0hN1VpTlAGQd+ZA==} '@unpic/pixels@1.2.2': resolution: {integrity: sha512-zQWLcz/HX6IF1xQPyo1RtxW5aBkK470p8ZpRTtPidOZ26YAoxJhcW8Y59KzwRQSLdQV9B50V4m30TMgdFNxq1A==} @@ -1017,8 +1303,8 @@ packages: '@unpic/placeholder@0.1.2': resolution: {integrity: sha512-O++tS97biojo5sqn5TeTt+jUjl5gWOdIQuOXe8YluTJWq4L0GM6VuTkaspNpsmxHfioJw/6YBirzOpG4t87l8Q==} - '@unpic/svelte@0.0.51': - resolution: {integrity: sha512-S8uuhNNM36xkgRtRYfY2fsvdxXj8VWfBSqj5glXTcgcdE1twTTw8HzARls1/mUTAedtoU29q17BjCdzbuQQaoQ==} + '@unpic/svelte@0.0.53': + resolution: {integrity: sha512-v6pT8igLvV94vanvVLUTkaphyPsT/rKq8KcJYGLebirp3PwbMBUDKehgtrSONa8eYwvbe3q3sACFI8f4Eit54w==} peerDependencies: svelte: '*' @@ -1030,6 +1316,16 @@ packages: resolution: {integrity: sha512-Qq3XxbA26jzqS9ICifkqzT399lMQZ2fWtqeV3luI2as+UIK7qDifJFU2Q4W3q3IB5VXoWxgwAZSZEO0em9I/qQ==} engines: {node: '>=18.16.0'} + acorn-import-assertions@1.9.0: + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -1055,6 +1351,10 @@ packages: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -1107,8 +1407,8 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bits-ui@0.21.11: - resolution: {integrity: sha512-pFS/9z1qLaPZwb+9Tm0YS4iBp+ClsJBARMZWFOjv0lGCYpzAN7lx4eNk3SbSB5QMBUKwoVjr9Rai71ROq3RD1Q==} + bits-ui@0.21.12: + resolution: {integrity: sha512-Cf0iB+ZKwA0ZjkpixrhrZK9PC6pGPFleW/65Xc/z0lpGvWaFtdOhiYEntCHHxZ0VihP3aJaG0OBhUBIbmAePaA==} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.118 @@ -1167,6 +1467,10 @@ packages: caniuse-lite@1.0.30001640: resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==} + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -1175,6 +1479,9 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -1191,10 +1498,16 @@ packages: code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -1213,6 +1526,9 @@ packages: engines: {node: ^14.13.0 || >=16.0.0} hasBin: true + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} @@ -1281,12 +1597,12 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + dompurify@3.1.6: + resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==} - dompurify@3.1.5: - resolution: {integrity: sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==} + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -1294,8 +1610,8 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - electron-to-chromium@1.4.816: - resolution: {integrity: sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==} + electron-to-chromium@1.4.818: + resolution: {integrity: sha512-eGvIk2V0dGImV9gWLq8fDfTTsCAeMDwZqEPMr+jMInxZdnp9Us8UpovYpRCf9NQ7VOFgrN2doNSgvISbsbNpxA==} embla-carousel-reactive-utils@8.1.6: resolution: {integrity: sha512-Wg+J2YoqLqkaqsXi7fTJaLmXm6BpgDRJ0EfTdvQ4KE/ip5OsUuKGpJsEQDTt4waGXSDyZhIBlfoQtgGJeyYQ1Q==} @@ -1339,29 +1655,37 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.6.0: + resolution: {integrity: sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true esm-env@1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} @@ -1406,9 +1730,9 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -1418,9 +1742,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -1452,6 +1776,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -1464,22 +1792,26 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@10.4.2: - resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} - engines: {node: '>=16 || 14 >=14.18'} + glob@10.4.3: + resolution: {integrity: sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==} + engines: {node: '>=18'} hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - glob@9.3.2: - resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==} + glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} engines: {node: '>=16 || 14 >=14.17'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} @@ -1497,6 +1829,10 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -1513,13 +1849,16 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} - immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-in-the-middle@1.4.2: + resolution: {integrity: sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==} + + import-in-the-middle@1.8.1: + resolution: {integrity: sha512-yhRwoHtiLGvmSozNOALgjRPFI6uYsds60EoMqqnXyyv+JOIW/BrrLejuTGBt+bq0T5tLzOHrN0T7xYTm4Qt/ng==} + import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} @@ -1578,9 +1917,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - jackspeak@3.4.0: - resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} - engines: {node: '>=14'} + jackspeak@3.4.1: + resolution: {integrity: sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==} + engines: {node: '>=18'} jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} @@ -1592,10 +1931,18 @@ packages: jpeg-js@0.4.4: resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1609,6 +1956,11 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} @@ -1633,9 +1985,6 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lie@3.1.1: - resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} - lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -1647,9 +1996,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - localforage@1.10.0: - resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} - locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -1684,27 +2030,34 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - lru-cache@10.3.0: - resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.0: + resolution: {integrity: sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==} + engines: {node: '>=18'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-svelte@0.367.0: - resolution: {integrity: sha512-joirqrznqFmJJ0jQiKfYOscYfkFrKVCgbFEkBAb3UyIJtx/XYITKOvl7YNEIrUc1Ts58jaVnzVkDdsM6894CpA==} + lucide-svelte@0.399.0: + resolution: {integrity: sha512-NQ8AxNMKbIJsx7HV//gnAsIY1wJfb3rbXSK2S/ZDjIldvAEdzGngpUT8T8Q8zHYUuii0bavAmVARN8giR4vvpA==} peerDependencies: svelte: ^3 || ^4 || ^5.0.0-next.42 - magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} - magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + + magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + magicast@0.2.8: resolution: {integrity: sha512-zEnqeb3E6TfMKYXGyHv3utbuHNixr04o3/gVGviSzVQkbFiU46VZUd+Ea/1npKfvEsEWxBYuIksKzoztTDPg0A==} - marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + marked@13.0.2: + resolution: {integrity: sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==} engines: {node: '>= 18'} hasBin: true @@ -1729,9 +2082,9 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} + minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} @@ -1757,6 +2110,9 @@ packages: peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.1 + module-details-from-path@1.0.3: + resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -1833,6 +2189,10 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + opentelemetry-instrumentation-fetch-node@1.2.0: + resolution: {integrity: sha512-aiSt/4ubOTyb1N5C2ZbGrBvaJOXIZhZvpRPYuUVxQJe27wJZqf/o65iPrqgLcgfeOLaQ8cS2Q+762jrYvniTrA==} + engines: {node: '>18.0.0'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -1878,6 +2238,17 @@ packages: periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} @@ -1921,6 +2292,24 @@ packages: ts-node: optional: true + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss-nested@6.0.1: resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} @@ -1938,6 +2327,22 @@ packages: resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2045,6 +2450,10 @@ packages: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + require-in-the-middle@7.3.0: + resolution: {integrity: sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw==} + engines: {node: '>=8.6.0'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -2062,13 +2471,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rollup@4.18.0: - resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + rollup@4.18.1: + resolution: {integrity: sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2088,6 +2492,10 @@ packages: sander@0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} @@ -2107,6 +2515,9 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shimmer@1.2.1: + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -2177,6 +2588,10 @@ packages: resolution: {integrity: sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ==} engines: {node: '>=14.0.0'} + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2253,10 +2668,10 @@ packages: peerDependencies: svelte: ^4.0.0 - svelte-sonner@0.3.24: - resolution: {integrity: sha512-txuL0JBUs0v6qGrr0PGCsbXmKHuthdrAkfISYi8umuveF7+gINb6EXl6VmKY9aHhyxCqvVgqd6yophQNrnor4w==} + svelte-sonner@0.3.25: + resolution: {integrity: sha512-jYAHqDc1fBAotI+9g9SW2Pc6sKJ8oVl7aXB/EhQsxiVADAZ9AX4w7dxDI1oyskD6pG8mhYIKXi+5WqFmCRqFyw==} peerDependencies: - svelte: '>=3 <5' + svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1 svelte-subscribe@2.0.1: resolution: {integrity: sha512-eKXIjLxB4C7eQWPqKEdxcGfNXm2g/qJ67zmEZK/GigCZMfrTR3m7DPY93R6MX+5uoqM1FRYxl8LZ1oy4URWi2A==} @@ -2282,8 +2697,8 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwind-merge@2.3.0: - resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} + tailwind-merge@2.4.0: + resolution: {integrity: sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==} tailwind-variants@0.2.1: resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} @@ -2363,10 +2778,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} @@ -2483,10 +2894,17 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml@2.4.5: resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} @@ -2532,10 +2950,108 @@ snapshots: '@arktype/util@0.0.48': optional: true + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@babel/helper-string-parser@7.24.7': {} '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + '@babel/parser@7.24.7': dependencies: '@babel/types': 7.24.7 @@ -2544,6 +3060,27 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.24.7': dependencies: '@babel/helper-string-parser': 7.24.7 @@ -2691,19 +3228,27 @@ snapshots: '@esbuild/win32-x64@0.23.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.6.0)': dependencies: - eslint: 8.57.0 + eslint: 9.6.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.17.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.5 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.1.0 + globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2712,26 +3257,28 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.6.0': {} + + '@eslint/object-schema@2.1.4': {} - '@event-calendar/core@2.7.2': + '@event-calendar/core@3.1.0': dependencies: svelte: 4.2.18 - '@event-calendar/interaction@2.7.2': + '@event-calendar/interaction@3.1.0': dependencies: - '@event-calendar/core': 2.7.2 + '@event-calendar/core': 3.1.0 svelte: 4.2.18 - '@event-calendar/resource-time-grid@2.7.2': + '@event-calendar/resource-time-grid@3.1.0': dependencies: - '@event-calendar/core': 2.7.2 - '@event-calendar/time-grid': 2.7.2 + '@event-calendar/core': 3.1.0 + '@event-calendar/time-grid': 3.1.0 svelte: 4.2.18 - '@event-calendar/time-grid@2.7.2': + '@event-calendar/time-grid@3.1.0': dependencies: - '@event-calendar/core': 2.7.2 + '@event-calendar/core': 3.1.0 svelte: 4.2.18 '@exodus/schemasafe@1.3.0': @@ -2765,17 +3312,9 @@ snapshots: '@hapi/hoek': 9.3.0 optional: true - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.5 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.0': {} '@internationalized/date@3.5.4': dependencies: @@ -2839,6 +3378,212 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + '@opentelemetry/api-logs@0.52.1': + dependencies: + '@opentelemetry/api': 1.9.0 + + '@opentelemetry/api@1.9.0': {} + + '@opentelemetry/context-async-hooks@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + + '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.25.1 + + '@opentelemetry/instrumentation-connect@0.37.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@types/connect': 3.4.36 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-express@0.40.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-fastify@0.37.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-graphql@0.41.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-hapi@0.39.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-http@0.52.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-ioredis@0.41.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/redis-common': 0.36.2 + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-koa@0.41.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@types/koa': 2.14.0 + '@types/koa__router': 12.0.3 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mongodb@0.45.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mongoose@0.39.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mysql2@0.39.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mysql@0.39.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@types/mysql': 2.15.22 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-nestjs-core@0.38.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-pg@0.42.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) + '@types/pg': 8.6.1 + '@types/pg-pool': 2.0.4 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-redis-4@0.40.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/redis-common': 0.36.2 + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation@0.43.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@types/shimmer': 1.2.0 + import-in-the-middle: 1.4.2 + require-in-the-middle: 7.3.0 + semver: 7.6.2 + shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color + optional: true + + '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.52.1 + '@types/shimmer': 1.2.0 + import-in-the-middle: 1.8.1 + require-in-the-middle: 7.3.0 + semver: 7.6.2 + shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/redis-common@0.36.2': {} + + '@opentelemetry/resources@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + + '@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + lodash.merge: 4.6.2 + + '@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + + '@opentelemetry/semantic-conventions@1.25.1': {} + + '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@pkgjs/parseargs@0.11.0': optional: true @@ -2872,136 +3617,146 @@ snapshots: dependencies: '@prisma/debug': 5.16.1 - '@rollup/plugin-commonjs@26.0.1(rollup@4.18.0)': + '@prisma/instrumentation@5.16.1': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@rollup/plugin-commonjs@26.0.1(rollup@4.18.1)': + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.18.1) commondir: 1.0.1 estree-walker: 2.0.2 - glob: 10.4.2 + glob: 10.4.3 is-reference: 1.2.1 magic-string: 0.30.10 optionalDependencies: - rollup: 4.18.0 + rollup: 4.18.1 - '@rollup/plugin-json@6.1.0(rollup@4.18.0)': + '@rollup/plugin-json@6.1.0(rollup@4.18.1)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@rollup/pluginutils': 5.1.0(rollup@4.18.1) optionalDependencies: - rollup: 4.18.0 + rollup: 4.18.1 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.18.0)': + '@rollup/plugin-node-resolve@15.2.3(rollup@4.18.1)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@rollup/pluginutils': 5.1.0(rollup@4.18.1) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.18.0 + rollup: 4.18.1 - '@rollup/pluginutils@5.1.0(rollup@4.18.0)': + '@rollup/pluginutils@5.1.0(rollup@4.18.1)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.18.0 + rollup: 4.18.1 - '@rollup/rollup-android-arm-eabi@4.18.0': + '@rollup/rollup-android-arm-eabi@4.18.1': optional: true - '@rollup/rollup-android-arm64@4.18.0': + '@rollup/rollup-android-arm64@4.18.1': optional: true - '@rollup/rollup-darwin-arm64@4.18.0': + '@rollup/rollup-darwin-arm64@4.18.1': optional: true - '@rollup/rollup-darwin-x64@4.18.0': + '@rollup/rollup-darwin-x64@4.18.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + '@rollup/rollup-linux-arm-gnueabihf@4.18.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.18.0': + '@rollup/rollup-linux-arm-musleabihf@4.18.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.18.0': + '@rollup/rollup-linux-arm64-gnu@4.18.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.18.0': + '@rollup/rollup-linux-arm64-musl@4.18.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.18.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.18.0': + '@rollup/rollup-linux-riscv64-gnu@4.18.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.18.0': + '@rollup/rollup-linux-s390x-gnu@4.18.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.18.0': + '@rollup/rollup-linux-x64-gnu@4.18.1': optional: true - '@rollup/rollup-linux-x64-musl@4.18.0': + '@rollup/rollup-linux-x64-musl@4.18.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.18.0': + '@rollup/rollup-win32-arm64-msvc@4.18.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.18.0': + '@rollup/rollup-win32-ia32-msvc@4.18.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.18.0': + '@rollup/rollup-win32-x64-msvc@4.18.1': optional: true - '@sentry-internal/feedback@7.118.0': + '@sentry-internal/browser-utils@8.15.0': dependencies: - '@sentry/core': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 - '@sentry-internal/replay-canvas@7.118.0': + '@sentry-internal/feedback@8.15.0': dependencies: - '@sentry/core': 7.118.0 - '@sentry/replay': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 - '@sentry-internal/tracing@7.114.0': + '@sentry-internal/replay-canvas@8.15.0': dependencies: - '@sentry/core': 7.114.0 - '@sentry/types': 7.114.0 - '@sentry/utils': 7.114.0 + '@sentry-internal/replay': 8.15.0 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 - '@sentry-internal/tracing@7.118.0': + '@sentry-internal/replay@8.15.0': dependencies: - '@sentry/core': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 + '@sentry-internal/browser-utils': 8.15.0 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 - '@sentry/browser@7.118.0': + '@sentry/babel-plugin-component-annotate@2.20.1': {} + + '@sentry/browser@8.15.0': dependencies: - '@sentry-internal/feedback': 7.118.0 - '@sentry-internal/replay-canvas': 7.118.0 - '@sentry-internal/tracing': 7.118.0 - '@sentry/core': 7.118.0 - '@sentry/integrations': 7.118.0 - '@sentry/replay': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 + '@sentry-internal/browser-utils': 8.15.0 + '@sentry-internal/feedback': 8.15.0 + '@sentry-internal/replay': 8.15.0 + '@sentry-internal/replay-canvas': 8.15.0 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 - '@sentry/bundler-plugin-core@0.6.1': + '@sentry/bundler-plugin-core@2.20.1': dependencies: + '@babel/core': 7.24.7 + '@sentry/babel-plugin-component-annotate': 2.20.1 '@sentry/cli': 2.32.1 - '@sentry/node': 7.118.0 - '@sentry/tracing': 7.114.0 + dotenv: 16.4.5 find-up: 5.0.0 - glob: 9.3.2 - magic-string: 0.27.0 + glob: 9.3.5 + magic-string: 0.30.8 unplugin: 1.0.1 - webpack-sources: 3.2.3 transitivePeerDependencies: - encoding - supports-color @@ -3046,84 +3801,98 @@ snapshots: - encoding - supports-color - '@sentry/core@7.114.0': - dependencies: - '@sentry/types': 7.114.0 - '@sentry/utils': 7.114.0 - - '@sentry/core@7.118.0': - dependencies: - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 - - '@sentry/integrations@7.118.0': - dependencies: - '@sentry/core': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 - localforage: 1.10.0 - - '@sentry/node@7.118.0': - dependencies: - '@sentry-internal/tracing': 7.118.0 - '@sentry/core': 7.118.0 - '@sentry/integrations': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 + '@sentry/core@8.15.0': + dependencies: + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 + + '@sentry/node@8.15.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-connect': 0.37.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-express': 0.40.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-fastify': 0.37.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-graphql': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-hapi': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-http': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-ioredis': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-koa': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongodb': 0.45.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongoose': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql2': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-nestjs-core': 0.38.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pg': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-redis-4': 0.40.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@prisma/instrumentation': 5.16.1 + '@sentry/core': 8.15.0 + '@sentry/opentelemetry': 8.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.25.1) + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 + optionalDependencies: + opentelemetry-instrumentation-fetch-node: 1.2.0 + transitivePeerDependencies: + - supports-color - '@sentry/replay@7.118.0': + '@sentry/opentelemetry@8.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.25.1)': dependencies: - '@sentry-internal/tracing': 7.118.0 - '@sentry/core': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-trace-base': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 - '@sentry/svelte@7.118.0(svelte@4.2.18)': + '@sentry/svelte@8.15.0(svelte@4.2.18)': dependencies: - '@sentry/browser': 7.118.0 - '@sentry/core': 7.118.0 - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 - magic-string: 0.30.10 + '@sentry/browser': 8.15.0 + '@sentry/core': 8.15.0 + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 + magic-string: 0.30.7 svelte: 4.2.18 - '@sentry/sveltekit@7.118.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)': - dependencies: - '@sentry-internal/tracing': 7.118.0 - '@sentry/core': 7.118.0 - '@sentry/integrations': 7.118.0 - '@sentry/node': 7.118.0 - '@sentry/svelte': 7.118.0(svelte@4.2.18) - '@sentry/types': 7.118.0 - '@sentry/utils': 7.118.0 - '@sentry/vite-plugin': 0.6.1 - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sentry/sveltekit@8.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.25.1)(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)': + dependencies: + '@sentry/core': 8.15.0 + '@sentry/node': 8.15.0 + '@sentry/opentelemetry': 8.15.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.25.1) + '@sentry/svelte': 8.15.0(svelte@4.2.18) + '@sentry/types': 8.15.0 + '@sentry/utils': 8.15.0 + '@sentry/vite-plugin': 2.20.1 + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) + magic-string: 0.30.7 magicast: 0.2.8 sorcery: 0.11.0 transitivePeerDependencies: + - '@opentelemetry/api' + - '@opentelemetry/core' + - '@opentelemetry/instrumentation' + - '@opentelemetry/sdk-trace-base' + - '@opentelemetry/semantic-conventions' - encoding - supports-color - svelte - '@sentry/tracing@7.114.0': - dependencies: - '@sentry-internal/tracing': 7.114.0 - - '@sentry/types@7.114.0': {} - - '@sentry/types@7.118.0': {} + '@sentry/types@8.15.0': {} - '@sentry/utils@7.114.0': + '@sentry/utils@8.15.0': dependencies: - '@sentry/types': 7.114.0 + '@sentry/types': 8.15.0 - '@sentry/utils@7.118.0': + '@sentry/vite-plugin@2.20.1': dependencies: - '@sentry/types': 7.118.0 - - '@sentry/vite-plugin@0.6.1': - dependencies: - '@sentry/bundler-plugin-core': 0.6.1 + '@sentry/bundler-plugin-core': 2.20.1 + unplugin: 1.0.1 transitivePeerDependencies: - encoding - supports-color @@ -3145,22 +3914,22 @@ snapshots: '@sodaru/yup-to-json-schema@2.0.1': optional: true - '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))': + '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))': dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-node@5.2.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))': + '@sveltejs/adapter-node@5.2.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))': dependencies: - '@rollup/plugin-commonjs': 26.0.1(rollup@4.18.0) - '@rollup/plugin-json': 6.1.0(rollup@4.18.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.0) - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) - rollup: 4.18.0 + '@rollup/plugin-commonjs': 26.0.1(rollup@4.18.1) + '@rollup/plugin-json': 6.1.0(rollup@4.18.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.1) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) + rollup: 4.18.1 - '@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9))': + '@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -3174,28 +3943,28 @@ snapshots: sirv: 2.0.4 svelte: 4.2.18 tiny-glob: 0.2.9 - vite: 5.3.3(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) debug: 4.3.5 svelte: 4.2.18 - vite: 5.3.3(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9))': + '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) debug: 4.3.5 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.10 svelte: 4.2.18 svelte-hmr: 0.16.0(svelte@4.2.18) - vite: 5.3.3(@types/node@20.14.9) - vitefu: 0.2.5(vite@5.3.3(@types/node@20.14.9)) + vite: 5.3.3(@types/node@20.14.10) + vitefu: 0.2.5(vite@5.3.3(@types/node@20.14.10)) transitivePeerDependencies: - supports-color @@ -3203,37 +3972,135 @@ snapshots: dependencies: tslib: 2.6.3 + '@types/accepts@1.3.7': + dependencies: + '@types/node': 20.14.10 + + '@types/body-parser@1.19.5': + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.14.10 + + '@types/connect@3.4.36': + dependencies: + '@types/node': 20.14.10 + + '@types/connect@3.4.38': + dependencies: + '@types/node': 20.14.10 + + '@types/content-disposition@0.5.8': {} + '@types/cookie@0.6.0': {} + '@types/cookies@0.9.0': + dependencies: + '@types/connect': 3.4.38 + '@types/express': 4.17.21 + '@types/keygrip': 1.0.6 + '@types/node': 20.14.10 + '@types/estree@1.0.5': {} + '@types/express-serve-static-core@4.19.5': + dependencies: + '@types/node': 20.14.10 + '@types/qs': 6.9.15 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + + '@types/express@4.17.21': + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.19.5 + '@types/qs': 6.9.15 + '@types/serve-static': 1.15.7 + + '@types/http-assert@1.5.5': {} + + '@types/http-errors@2.0.4': {} + '@types/json-schema@7.0.15': optional: true '@types/jsonwebtoken@9.0.6': dependencies: - '@types/node': 20.14.9 + '@types/node': 20.14.10 - '@types/node@20.14.9': + '@types/keygrip@1.0.6': {} + + '@types/koa-compose@3.2.8': + dependencies: + '@types/koa': 2.14.0 + + '@types/koa@2.14.0': + dependencies: + '@types/accepts': 1.3.7 + '@types/content-disposition': 0.5.8 + '@types/cookies': 0.9.0 + '@types/http-assert': 1.5.5 + '@types/http-errors': 2.0.4 + '@types/keygrip': 1.0.6 + '@types/koa-compose': 3.2.8 + '@types/node': 20.14.10 + + '@types/koa__router@12.0.3': + dependencies: + '@types/koa': 2.14.0 + + '@types/mime@1.3.5': {} + + '@types/mysql@2.15.22': + dependencies: + '@types/node': 20.14.10 + + '@types/node@20.14.10': dependencies: undici-types: 5.26.5 + '@types/pg-pool@2.0.4': + dependencies: + '@types/pg': 8.6.1 + + '@types/pg@8.6.1': + dependencies: + '@types/node': 20.14.10 + pg-protocol: 1.6.1 + pg-types: 2.2.0 + '@types/pug@2.0.10': {} + '@types/qs@6.9.15': {} + + '@types/range-parser@1.2.7': {} + '@types/resolve@1.20.2': {} + '@types/send@0.17.4': + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.14.10 + + '@types/serve-static@1.15.7': + dependencies: + '@types/http-errors': 2.0.4 + '@types/node': 20.14.10 + '@types/send': 0.17.4 + + '@types/shimmer@1.2.0': {} + '@types/validator@13.12.0': optional: true - '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.5.3))(eslint@9.6.0)(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/parser': 7.15.0(eslint@9.6.0)(typescript@5.5.3) '@typescript-eslint/scope-manager': 7.15.0 - '@typescript-eslint/type-utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/type-utils': 7.15.0(eslint@9.6.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@9.6.0)(typescript@5.5.3) '@typescript-eslint/visitor-keys': 7.15.0 - eslint: 8.57.0 + eslint: 9.6.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -3243,14 +4110,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.15.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/scope-manager': 7.15.0 '@typescript-eslint/types': 7.15.0 '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) '@typescript-eslint/visitor-keys': 7.15.0 debug: 4.3.5 - eslint: 8.57.0 + eslint: 9.6.0 optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: @@ -3261,12 +4128,12 @@ snapshots: '@typescript-eslint/types': 7.15.0 '@typescript-eslint/visitor-keys': 7.15.0 - '@typescript-eslint/type-utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/type-utils@7.15.0(eslint@9.6.0)(typescript@5.5.3)': dependencies: '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) - '@typescript-eslint/utils': 7.15.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 7.15.0(eslint@9.6.0)(typescript@5.5.3) debug: 4.3.5 - eslint: 8.57.0 + eslint: 9.6.0 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 @@ -3290,13 +4157,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.15.0(eslint@8.57.0)(typescript@5.5.3)': + '@typescript-eslint/utils@7.15.0(eslint@9.6.0)(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@typescript-eslint/scope-manager': 7.15.0 '@typescript-eslint/types': 7.15.0 '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.5.3) - eslint: 8.57.0 + eslint: 9.6.0 transitivePeerDependencies: - supports-color - typescript @@ -3306,9 +4173,7 @@ snapshots: '@typescript-eslint/types': 7.15.0 eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} - - '@unpic/core@0.0.47': + '@unpic/core@0.0.49': dependencies: unpic: 3.18.0 @@ -3322,9 +4187,9 @@ snapshots: dependencies: blurhash: 2.0.5 - '@unpic/svelte@0.0.51(svelte@4.2.18)': + '@unpic/svelte@0.0.53(svelte@4.2.18)': dependencies: - '@unpic/core': 0.0.47 + '@unpic/core': 0.0.49 style-object-to-css-string: 1.1.3 svelte: 4.2.18 unpic: 3.18.0 @@ -3344,6 +4209,15 @@ snapshots: validator: 13.12.0 optional: true + acorn-import-assertions@1.9.0(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + optional: true + + acorn-import-attributes@1.9.5(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + acorn-jsx@5.3.2(acorn@8.12.1): dependencies: acorn: 8.12.1 @@ -3367,6 +4241,10 @@ snapshots: ansi-regex@6.0.1: {} + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -3418,7 +4296,7 @@ snapshots: binary-extensions@2.3.0: {} - bits-ui@0.21.11(svelte@4.2.18): + bits-ui@0.21.12(svelte@4.2.18): dependencies: '@internationalized/date': 3.5.4 '@melt-ui/svelte': 0.76.2(svelte@4.2.18) @@ -3449,7 +4327,7 @@ snapshots: browserslist@4.23.1: dependencies: caniuse-lite: 1.0.30001640 - electron-to-chromium: 1.4.816 + electron-to-chromium: 1.4.818 node-releases: 2.0.14 update-browserslist-db: 1.1.0(browserslist@4.23.1) @@ -3473,6 +4351,12 @@ snapshots: caniuse-lite@1.0.30001640: {} + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -3490,6 +4374,8 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + cjs-module-lexer@1.3.1: {} + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -3512,10 +4398,16 @@ snapshots: estree-walker: 3.0.3 periscopic: 3.1.0 + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-convert@2.0.1: dependencies: color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} commander@4.1.1: {} @@ -3536,6 +4428,8 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.2 + convert-source-map@2.0.0: {} + cookie@0.6.0: {} croner@8.0.2: {} @@ -3584,11 +4478,9 @@ snapshots: dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 + dompurify@3.1.6: {} - dompurify@3.1.5: {} + dotenv@16.4.5: {} eastasianwidth@0.2.0: {} @@ -3596,7 +4488,7 @@ snapshots: dependencies: safe-buffer: 5.2.1 - electron-to-chromium@1.4.816: {} + electron-to-chromium@1.4.818: {} embla-carousel-reactive-utils@8.1.6(embla-carousel@8.1.6): dependencies: @@ -3679,47 +4571,47 @@ snapshots: escalade@3.1.2: {} + escape-string-regexp@1.0.5: {} + escape-string-regexp@4.0.0: {} - eslint-scope@7.2.2: + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.6.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@eslint-community/regexpp': 4.11.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/config-array': 0.17.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.6.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.5 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -3733,11 +4625,11 @@ snapshots: esm-env@1.0.0: {} - espree@9.6.1: + espree@10.1.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.0.0 esprima@4.0.1: {} @@ -3777,9 +4669,9 @@ snapshots: dependencies: reusify: 1.0.4 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -3790,11 +4682,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.1: {} @@ -3807,11 +4698,11 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - formsnap@1.0.1(svelte@4.2.18)(sveltekit-superforms@2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)): + formsnap@1.0.1(svelte@4.2.18)(sveltekit-superforms@2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)): dependencies: nanoid: 5.0.7 svelte: 4.2.18 - sveltekit-superforms: 2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18) + sveltekit-superforms: 2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18) fraction.js@4.3.7: {} @@ -3822,6 +4713,8 @@ snapshots: function-bind@1.1.2: {} + gensync@1.0.0-beta.2: {} + get-caller-file@2.0.5: {} glob-parent@5.1.2: @@ -3832,10 +4725,10 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.4.2: + glob@10.4.3: dependencies: foreground-child: 3.2.1 - jackspeak: 3.4.0 + jackspeak: 3.4.1 minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 @@ -3850,16 +4743,16 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@9.3.2: + glob@9.3.5: dependencies: fs.realpath: 1.0.0 - minimatch: 7.4.6 + minimatch: 8.0.4 minipass: 4.2.8 path-scurry: 1.11.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@11.12.0: {} + + globals@14.0.0: {} globalyzer@0.1.0: {} @@ -3878,6 +4771,8 @@ snapshots: graphemer@1.4.0: {} + has-flag@3.0.0: {} + has-flag@4.0.0: {} hasown@2.0.2: @@ -3893,13 +4788,26 @@ snapshots: ignore@5.3.1: {} - immediate@3.0.6: {} - import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + import-in-the-middle@1.4.2: + dependencies: + acorn: 8.12.1 + acorn-import-assertions: 1.9.0(acorn@8.12.1) + cjs-module-lexer: 1.3.1 + module-details-from-path: 1.0.3 + optional: true + + import-in-the-middle@1.8.1: + dependencies: + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) + cjs-module-lexer: 1.3.1 + module-details-from-path: 1.0.3 + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} @@ -3947,7 +4855,7 @@ snapshots: isexe@2.0.0: {} - jackspeak@3.4.0: + jackspeak@3.4.1: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -3966,10 +4874,14 @@ snapshots: jpeg-js@0.4.4: {} + js-tokens@4.0.0: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 + jsesc@2.5.2: {} + json-buffer@3.0.1: {} json-schema-to-ts@3.1.0: @@ -3982,6 +4894,8 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json5@2.2.3: {} + jsonwebtoken@9.0.2: dependencies: jws: 3.2.2 @@ -4019,20 +4933,12 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lie@3.1.1: - dependencies: - immediate: 3.0.6 - lilconfig@2.1.0: {} lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} - localforage@1.10.0: - dependencies: - lie: 3.1.1 - locate-character@3.0.0: {} locate-path@6.0.0: @@ -4057,17 +4963,25 @@ snapshots: lodash@4.17.21: {} - lru-cache@10.3.0: {} + lru-cache@10.4.0: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 - lucide-svelte@0.367.0(svelte@4.2.18): + lucide-svelte@0.399.0(svelte@4.2.18): dependencies: svelte: 4.2.18 - magic-string@0.27.0: + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + magic-string@0.30.7: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - magic-string@0.30.10: + magic-string@0.30.8: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -4077,7 +4991,7 @@ snapshots: '@babel/types': 7.24.7 recast: 0.23.9 - marked@12.0.2: {} + marked@13.0.2: {} mdn-data@2.0.30: {} @@ -4096,7 +5010,7 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@7.4.6: + minimatch@8.0.4: dependencies: brace-expansion: 2.0.1 @@ -4118,6 +5032,8 @@ snapshots: dependencies: svelte: 4.2.18 + module-details-from-path@1.0.3: {} + mri@1.2.0: {} mrmime@2.0.0: {} @@ -4169,6 +5085,15 @@ snapshots: dependencies: wrappy: 1.0.2 + opentelemetry-instrumentation-fetch-node@1.2.0: + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.25.1 + transitivePeerDependencies: + - supports-color + optional: true + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -4202,7 +5127,7 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.3.0 + lru-cache: 10.4.0 minipass: 7.1.2 path-type@4.0.0: {} @@ -4213,6 +5138,18 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.2 + pg-int8@1.0.1: {} + + pg-protocol@1.6.1: {} + + pg-types@2.2.0: + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -4242,6 +5179,13 @@ snapshots: optionalDependencies: postcss: 8.4.39 + postcss-load-config@6.0.1(postcss@8.4.39): + dependencies: + lilconfig: 3.1.2 + optionalDependencies: + postcss: 8.4.39 + optional: true + postcss-nested@6.0.1(postcss@8.4.39): dependencies: postcss: 8.4.39 @@ -4260,6 +5204,16 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 + postgres-array@2.0.0: {} + + postgres-bytea@1.0.0: {} + + postgres-date@1.0.7: {} + + postgres-interval@1.2.0: + dependencies: + xtend: 4.0.2 + prelude-ls@1.2.1: {} prettier-plugin-svelte@3.2.5(prettier@3.3.2)(svelte@4.2.18): @@ -4310,6 +5264,14 @@ snapshots: require-directory@2.1.1: {} + require-in-the-middle@7.3.0: + dependencies: + debug: 4.3.5 + module-details-from-path: 1.0.3 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + resolve-from@4.0.0: {} resolve@1.22.8: @@ -4324,30 +5286,26 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rollup@4.18.0: + rollup@4.18.1: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.18.0 - '@rollup/rollup-android-arm64': 4.18.0 - '@rollup/rollup-darwin-arm64': 4.18.0 - '@rollup/rollup-darwin-x64': 4.18.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 - '@rollup/rollup-linux-arm-musleabihf': 4.18.0 - '@rollup/rollup-linux-arm64-gnu': 4.18.0 - '@rollup/rollup-linux-arm64-musl': 4.18.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 - '@rollup/rollup-linux-riscv64-gnu': 4.18.0 - '@rollup/rollup-linux-s390x-gnu': 4.18.0 - '@rollup/rollup-linux-x64-gnu': 4.18.0 - '@rollup/rollup-linux-x64-musl': 4.18.0 - '@rollup/rollup-win32-arm64-msvc': 4.18.0 - '@rollup/rollup-win32-ia32-msvc': 4.18.0 - '@rollup/rollup-win32-x64-msvc': 4.18.0 + '@rollup/rollup-android-arm-eabi': 4.18.1 + '@rollup/rollup-android-arm64': 4.18.1 + '@rollup/rollup-darwin-arm64': 4.18.1 + '@rollup/rollup-darwin-x64': 4.18.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.1 + '@rollup/rollup-linux-arm-musleabihf': 4.18.1 + '@rollup/rollup-linux-arm64-gnu': 4.18.1 + '@rollup/rollup-linux-arm64-musl': 4.18.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.1 + '@rollup/rollup-linux-riscv64-gnu': 4.18.1 + '@rollup/rollup-linux-s390x-gnu': 4.18.1 + '@rollup/rollup-linux-x64-gnu': 4.18.1 + '@rollup/rollup-linux-x64-musl': 4.18.1 + '@rollup/rollup-win32-arm64-msvc': 4.18.1 + '@rollup/rollup-win32-ia32-msvc': 4.18.1 + '@rollup/rollup-win32-x64-msvc': 4.18.1 fsevents: 2.3.3 run-parallel@1.2.0: @@ -4371,6 +5329,8 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.7.1 + semver@6.3.1: {} + semver@7.6.2: {} set-cookie-parser@2.6.0: {} @@ -4383,6 +5343,8 @@ snapshots: shell-quote@1.8.1: {} + shimmer@1.2.1: {} + signal-exit@4.1.0: {} sirv@2.0.4: @@ -4451,7 +5413,7 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.4.2 + glob: 10.4.3 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -4460,6 +5422,10 @@ snapshots: superstruct@1.0.4: optional: true + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -4470,14 +5436,14 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@3.8.4(postcss-load-config@4.0.2(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18): + svelte-check@3.8.4(@babel/core@7.24.7)(postcss-load-config@6.0.1(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 picocolors: 1.0.1 sade: 1.8.1 svelte: 4.2.18 - svelte-preprocess: 5.1.4(postcss-load-config@4.0.2(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18)(typescript@5.5.3) + svelte-preprocess: 5.1.4(@babel/core@7.24.7)(postcss-load-config@6.0.1(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18)(typescript@5.5.3) typescript: 5.5.3 transitivePeerDependencies: - '@babel/core' @@ -4505,7 +5471,7 @@ snapshots: dependencies: svelte: 4.2.18 - svelte-preprocess@5.1.4(postcss-load-config@4.0.2(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18)(typescript@5.5.3): + svelte-preprocess@5.1.4(@babel/core@7.24.7)(postcss-load-config@6.0.1(postcss@8.4.39))(postcss@8.4.39)(svelte@4.2.18)(typescript@5.5.3): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 @@ -4514,8 +5480,9 @@ snapshots: strip-indent: 3.0.0 svelte: 4.2.18 optionalDependencies: + '@babel/core': 7.24.7 postcss: 8.4.39 - postcss-load-config: 4.0.2(postcss@8.4.39) + postcss-load-config: 6.0.1(postcss@8.4.39) typescript: 5.5.3 svelte-render@2.0.1(svelte@4.2.18): @@ -4523,7 +5490,7 @@ snapshots: svelte: 4.2.18 svelte-subscribe: 2.0.1(svelte@4.2.18) - svelte-sonner@0.3.24(svelte@4.2.18): + svelte-sonner@0.3.25(svelte@4.2.18): dependencies: svelte: 4.2.18 @@ -4548,14 +5515,14 @@ snapshots: magic-string: 0.30.10 periscopic: 3.1.0 - sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18): + sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18): dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) svelte: 4.2.18 - sveltekit-superforms@2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18): + sveltekit-superforms@2.15.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18): dependencies: - '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.9)) + '@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)))(svelte@4.2.18)(vite@5.3.3(@types/node@20.14.10)) devalue: 5.0.0 just-clone: 6.2.0 memoize-weak: 1.0.2 @@ -4578,13 +5545,11 @@ snapshots: tabbable@6.2.0: {} - tailwind-merge@2.3.0: - dependencies: - '@babel/runtime': 7.24.7 + tailwind-merge@2.4.0: {} tailwind-variants@0.2.1(tailwindcss@3.4.4): dependencies: - tailwind-merge: 2.3.0 + tailwind-merge: 2.4.0 tailwindcss: 3.4.4 tailwindcss@3.4.4: @@ -4669,8 +5634,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - type-fest@2.19.0: optional: true @@ -4712,18 +5675,18 @@ snapshots: validator@13.12.0: optional: true - vite@5.3.3(@types/node@20.14.9): + vite@5.3.3(@types/node@20.14.10): dependencies: esbuild: 0.21.5 postcss: 8.4.39 - rollup: 4.18.0 + rollup: 4.18.1 optionalDependencies: - '@types/node': 20.14.9 + '@types/node': 20.14.10 fsevents: 2.3.3 - vitefu@0.2.5(vite@5.3.3(@types/node@20.14.9)): + vitefu@0.2.5(vite@5.3.3(@types/node@20.14.10)): optionalDependencies: - vite: 5.3.3(@types/node@20.14.9) + vite: 5.3.3(@types/node@20.14.10) webidl-conversions@3.0.1: {} @@ -4756,8 +5719,12 @@ snapshots: wrappy@1.0.2: {} + xtend@4.0.2: {} + y18n@5.0.8: {} + yallist@3.1.1: {} + yaml@2.4.5: {} yargs-parser@21.1.1: {} diff --git a/prisma/migrations/20240624202757_remove_old_training_system/migration.sql b/prisma/migrations/20240624202757_remove_old_training_system/migration.sql new file mode 100644 index 0000000..e516383 --- /dev/null +++ b/prisma/migrations/20240624202757_remove_old_training_system/migration.sql @@ -0,0 +1,53 @@ +/* + Warnings: + + - You are about to drop the column `completedTrainingQueues` on the `User` table. All the data in the column will be lost. + - You are about to drop the column `recommendedTrainingQueues` on the `User` table. All the data in the column will be lost. + - You are about to drop the `Session` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `TrainingQueue` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `TrainingQueueMembership` table. If the table is not empty, all the data it contains will be lost. + - You are about to drop the `TrainingRequest` table. If the table is not empty, all the data it contains will be lost. + +*/ +-- DropForeignKey +ALTER TABLE "Session" DROP CONSTRAINT "Session_instructorId_fkey"; + +-- DropForeignKey +ALTER TABLE "Session" DROP CONSTRAINT "Session_studentId_fkey"; + +-- DropForeignKey +ALTER TABLE "TrainingQueue" DROP CONSTRAINT "TrainingQueue_facilityId_fkey"; + +-- DropForeignKey +ALTER TABLE "TrainingQueueMembership" DROP CONSTRAINT "TrainingQueueMembership_queueId_fkey"; + +-- DropForeignKey +ALTER TABLE "TrainingQueueMembership" DROP CONSTRAINT "TrainingQueueMembership_userId_fkey"; + +-- DropForeignKey +ALTER TABLE "TrainingRequest" DROP CONSTRAINT "TrainingRequest_facilityId_fkey"; + +-- DropForeignKey +ALTER TABLE "TrainingRequest" DROP CONSTRAINT "TrainingRequest_instructorId_fkey"; + +-- DropForeignKey +ALTER TABLE "TrainingRequest" DROP CONSTRAINT "TrainingRequest_studentId_fkey"; + +-- AlterTable +ALTER TABLE "User" DROP COLUMN "completedTrainingQueues", +DROP COLUMN "recommendedTrainingQueues"; + +-- DropTable +DROP TABLE "Session"; + +-- DropTable +DROP TABLE "TrainingQueue"; + +-- DropTable +DROP TABLE "TrainingQueueMembership"; + +-- DropTable +DROP TABLE "TrainingRequest"; + +-- DropEnum +DROP TYPE "LogType"; diff --git a/prisma/migrations/20240708155207_create_training_plan/migration.sql b/prisma/migrations/20240708155207_create_training_plan/migration.sql new file mode 100644 index 0000000..6e119c5 --- /dev/null +++ b/prisma/migrations/20240708155207_create_training_plan/migration.sql @@ -0,0 +1,15 @@ +-- CreateTable +CREATE TABLE "TrainingPlan" ( + "id" TEXT NOT NULL, + "facilityId" TEXT NOT NULL, + "name" TEXT NOT NULL, + "includes" TEXT[], + "excludes" TEXT[], + "relevantPolicy" TEXT NOT NULL, + "hasAdjacentRestrictions" BOOLEAN NOT NULL, + + CONSTRAINT "TrainingPlan_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "TrainingPlan" ADD CONSTRAINT "TrainingPlan_facilityId_fkey" FOREIGN KEY ("facilityId") REFERENCES "Facility"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20240708160515_create_registrations_plans/migration.sql b/prisma/migrations/20240708160515_create_registrations_plans/migration.sql new file mode 100644 index 0000000..821710d --- /dev/null +++ b/prisma/migrations/20240708160515_create_registrations_plans/migration.sql @@ -0,0 +1,25 @@ +/* + Warnings: + + - Added the required column `estimatedTimeToCompleteTraining` to the `TrainingPlan` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "TrainingPlan" ADD COLUMN "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, +ADD COLUMN "estimatedTimeToCompleteTraining" TEXT NOT NULL; + +-- CreateTable +CREATE TABLE "TrainingPlanRegistration" ( + "id" TEXT NOT NULL, + "planId" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "TrainingPlanRegistration_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "TrainingPlanRegistration" ADD CONSTRAINT "TrainingPlanRegistration_planId_fkey" FOREIGN KEY ("planId") REFERENCES "TrainingPlan"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "TrainingPlanRegistration" ADD CONSTRAINT "TrainingPlanRegistration_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20240708171207_add_extra_details_to_plan/migration.sql b/prisma/migrations/20240708171207_add_extra_details_to_plan/migration.sql new file mode 100644 index 0000000..c44b1ad --- /dev/null +++ b/prisma/migrations/20240708171207_add_extra_details_to_plan/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - Added the required column `extraDetails` to the `TrainingPlan` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "TrainingPlan" ADD COLUMN "extraDetails" TEXT NOT NULL; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 26a69b8..0cbbeee 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -24,15 +24,16 @@ model Facility { website String contactEmail String - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - users UserFacilityAssignment[] - trainingQueues TrainingQueue[] - certificates Certificate[] - resources Resource[] - events Event[] - TrainingRequest TrainingRequest[] - TVCase TVCase[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + users UserFacilityAssignment[] + + certificates Certificate[] + resources Resource[] + events Event[] + + TVCase TVCase[] + TrainingPlan TrainingPlan[] } model Role { @@ -88,30 +89,22 @@ model User { facilities UserFacilityAssignment[] @relation - trainingQueues TrainingQueueMembership[] - recommendedTrainingQueues String[] - completedTrainingQueues String[] - createdAt DateTime @default(now()) updatedAt DateTime @updatedAt heldCertificates Certificate[] @relation(name: "heldCertificates") grantedCertificates Certificate[] @relation(name: "grantedCertificates") - receivedSessions Session[] @relation(name: "receivedSessions") - taughtSessions Session[] @relation(name: "taughtSessions") - eventSignups EventSignup[] @relation eventAssignments EventAssignment[] @relation Connection Connection[] @relation isSiteAdmin Boolean @default(false) - requestedSessions TrainingRequest[] @relation(name: "requestStudent") - acceptedSessions TrainingRequest[] @relation(name: "requestInstructor") - tvCases TVCase[] - tvCaseComments TVCaseComment[] - tvCaseStateChanges TVCaseStateChange[] + tvCases TVCase[] + tvCaseComments TVCaseComment[] + tvCaseStateChanges TVCaseStateChange[] + TrainingPlanRegistration TrainingPlanRegistration[] } model AuditLogEntry { @@ -124,35 +117,6 @@ model AuditLogEntry { message String } -model TrainingQueue { - id String @id - - facility Facility @relation(fields: [facilityId], references: [id]) - facilityId String - - name String - description String - joinableByDefault Boolean - - members TrainingQueueMembership[] - - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} - -model TrainingQueueMembership { - user User @relation(fields: [userId], references: [id]) - userId String - - queue TrainingQueue @relation(fields: [queueId], references: [id]) - queueId String - - joinedAt DateTime @default(now()) - - @@id([userId, queueId]) - @@unique([userId, queueId]) -} - model Certificate { id BigInt @id @default(autoincrement()) @@ -186,32 +150,6 @@ model Resource { link String } -enum LogType { - Training - CertificateRevokal -} - -model Session { - id String @id - - student User @relation(name: "receivedSessions", fields: [studentId], references: [id]) - studentId String - - instructor User @relation(name: "taughtSessions", fields: [instructorId], references: [id]) - instructorId String - - logType LogType @default(Training) - sessionType String - - date DateTime - - studentComments String - instructorComments String - - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} - model Event { id String @id @@ -277,29 +215,6 @@ model EventAssignment { endTime DateTime } -model TrainingRequest { - id String @id - - facility Facility @relation(fields: [facilityId], references: [id]) - facilityId String - - student User @relation(fields: [studentId], references: [id], name: "requestStudent") - studentId String - - instructor User? @relation(fields: [instructorId], references: [id], name: "requestInstructor") - instructorId String? - - trainingType String - - startDate DateTime - endDate DateTime - - availability String - - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} - model Connection { id String @id @@ -376,3 +291,36 @@ model TVCaseStateChange { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } + +model TrainingPlan { + id String @id + + facility Facility @relation(fields: [facilityId], references: [id]) + facilityId String + + name String + includes String[] + excludes String[] + + estimatedTimeToCompleteTraining String + + relevantPolicy String + hasAdjacentRestrictions Boolean + + extraDetails String + + createdAt DateTime @default(now()) + TrainingPlanRegistration TrainingPlanRegistration[] +} + +model TrainingPlanRegistration { + id String @id + + planId String + plan TrainingPlan @relation(fields: [planId], references: [id]) + + userId String + user User @relation(fields: [userId], references: [id]) + + updatedAt DateTime @default(now()) +} diff --git a/src/lib/crons/roster.ts b/src/lib/crons/roster.ts index e2db766..f2d7c2d 100644 --- a/src/lib/crons/roster.ts +++ b/src/lib/crons/roster.ts @@ -156,8 +156,6 @@ export const rosterCron = async () => { ratingLong: RATINGS[roster_user.rating][1], region: roster_user.region_id, division: roster_user.division_id, - recommendedTrainingQueues: [], - completedTrainingQueues: [], }, }); diff --git a/src/lib/perms/permissions.ts b/src/lib/perms/permissions.ts index 9edd68a..58f7342 100644 --- a/src/lib/perms/permissions.ts +++ b/src/lib/perms/permissions.ts @@ -24,18 +24,6 @@ export const REVOKE_CERTIFICATE: Permission = { id: "training.certificate.revoke", description: "Allows the user to revoke certificates.", }; -export const RECOMMEND_FOR_QUEUE: Permission = { - id: "training.queues.recommend", - description: "Allows the user to recommend students for queues.", -}; -export const MANAGE_QUEUES: Permission = { - id: "training.queues.manage", - description: "Allows the user to create, edit and delete training queues.", -}; -export const TRAIN: Permission = { - id: "training.train", - description: "Allows the user to train other users.", -}; export const MANAGE_RESOURCES: Permission = { id: "resource.manage", description: "Allows the user to create, edit and delete resources.", @@ -64,33 +52,23 @@ export const MANAGE_EVENTS: Permission = { id: "events.manage", description: "Allows the user to create and delete events.", }; -export const ASSIGN_MENTORS_TO_REQUEST: Permission = { - id: "training.request.assign", - description: "Allows the user to assign other mentors to training requests.", -}; -export const SELF_ASSIGN_TO_REQUEST: Permission = { - id: "training.request.selfassign", - description: "Allows the user to assign themselves to training requests.", -}; -export const DELETE_REQUEST: Permission = { - id: "training.request.delete", - description: "Allows the user to delete training requests.", -}; export const MANAGE_TV_REQUESTS: Permission = { id: "tv.requests.view", description: "Allows the user to manage Transfer & Visit requests, including approving or rejecting them.", }; +export const MANAGE_TRAINING_PLANS: Permission = { + id: "training.plans.manage", + description: "Allows the user to create, edit, and delete training plans.", +}; + export const PERMISSIONS: Permission[] = [ EDIT_DETAILS, EXTENDED_ROSTER, ASSIGN_ROLES, ISSUE_CERTIFICATE, REVOKE_CERTIFICATE, - RECOMMEND_FOR_QUEUE, - MANAGE_QUEUES, - TRAIN, MANAGE_RESOURCES, VIEW_PRIVATE_RESOURCES, ISSUE_SOLO_CERTIFICATES, @@ -98,8 +76,6 @@ export const PERMISSIONS: Permission[] = [ REVOKE_SOLO_CERTIFICATES, REVOKE_OPENSKIES_CERTIFICATES, MANAGE_EVENTS, - ASSIGN_MENTORS_TO_REQUEST, - SELF_ASSIGN_TO_REQUEST, - DELETE_REQUEST, MANAGE_TV_REQUESTS, + MANAGE_TRAINING_PLANS, ]; diff --git a/src/lib/queue.ts b/src/lib/queue.ts deleted file mode 100644 index f7b419a..0000000 --- a/src/lib/queue.ts +++ /dev/null @@ -1,21 +0,0 @@ -import prisma from "$lib/prisma"; - -export const queuePosition = async ( - userId: string, - queueId: string, -): Promise => { - const queueMemberships = await prisma.trainingQueueMembership.findMany({ - where: { - queueId: queueId, - }, - orderBy: { - joinedAt: "asc", - }, - }); - - const userIndex: number = queueMemberships.findIndex( - (member) => member.userId === userId, - ); - - return userIndex + 1; -}; diff --git a/src/routes/[id]/+layout.server.ts b/src/routes/[id]/+layout.server.ts index 6ac4f3a..8791127 100644 --- a/src/routes/[id]/+layout.server.ts +++ b/src/routes/[id]/+layout.server.ts @@ -22,7 +22,6 @@ export const load: LayoutServerLoad = async ({ params, cookies }) => { }, include: { roles: true, - trainingQueues: true, }, }); diff --git a/src/routes/[id]/events/event-card.svelte b/src/routes/[id]/events/event-card.svelte index 36fdc2c..1b05d1a 100644 --- a/src/routes/[id]/events/event-card.svelte +++ b/src/routes/[id]/events/event-card.svelte @@ -3,7 +3,7 @@ import { Button } from "$lib/components/ui/button"; import * as Card from "$lib/components/ui/card"; import { can } from "$lib/perms/can"; - import { MANAGE_EVENTS, MANAGE_QUEUES } from "$lib/perms/permissions"; + import { MANAGE_EVENTS } from "$lib/perms/permissions"; import type { Event } from "@prisma/client"; import { PenBox, Trash2 } from "lucide-svelte"; import type { PageData } from "./$types"; diff --git a/src/routes/[id]/roster/+page.server.ts b/src/routes/[id]/roster/+page.server.ts index c44e285..cd10851 100644 --- a/src/routes/[id]/roster/+page.server.ts +++ b/src/routes/[id]/roster/+page.server.ts @@ -473,19 +473,6 @@ export const actions = { }, }); - await prisma.session.create({ - data: { - id: ulid(), - studentId: cert.holderId, - instructorId: user.id, - logType: "CertificateRevokal", - sessionType: str_name, - date: new Date(), - studentComments: form.data.studentComments, - instructorComments: form.data.mentorComments, - }, - }); - return { form }; }, } satisfies Actions; diff --git a/src/routes/[id]/training/+layout.server.ts b/src/routes/[id]/training/+layout.server.ts deleted file mode 100644 index 154e5e4..0000000 --- a/src/routes/[id]/training/+layout.server.ts +++ /dev/null @@ -1,28 +0,0 @@ -import prisma from "$lib/prisma"; -import type { LayoutServerLoad } from "./$types"; -import { queuePosition } from "$lib/queue"; - -export const load: LayoutServerLoad = async ({ parent }) => { - let { user } = await parent(); - - let membership = await prisma.trainingQueueMembership.findFirst({ - where: { - userId: user!.id, - }, - include: { - queue: true, - }, - }); - - if (!membership) { - return {}; - } - - const q = membership.queue; - const position = await queuePosition(user.id, q.id); - - return { - queue: q, - position: position, - }; -}; diff --git a/src/routes/[id]/training/+page.server.ts b/src/routes/[id]/training/+page.server.ts deleted file mode 100644 index 4341826..0000000 --- a/src/routes/[id]/training/+page.server.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { superValidate } from "sveltekit-superforms/server"; -import { formSchema } from "./session-form"; -import { formSchema as requestFormSchema } from "./request-form"; -import type { PageServerLoad } from "./$types"; -import { type Actions, fail } from "@sveltejs/kit"; -import { redirect } from "sveltekit-flash-message/server"; -import { loadUserData, verifyToken } from "$lib/auth"; -import prisma from "$lib/prisma"; -import { can } from "$lib/perms/can"; -import { ulid } from "ulid"; -import { parseDate, parseDateTime } from "@internationalized/date"; -import { TRAIN } from "$lib/perms/permissions"; -import { zod } from "sveltekit-superforms/adapters"; - -export const load: PageServerLoad = async () => { - return { - form: await superValidate(zod(formSchema)), - requestForm: await superValidate(zod(requestFormSchema)), - }; -}; - -export const actions: Actions = { - logSession: async (event) => { - const form = await superValidate(event, zod(formSchema)); - - if (!form.valid) { - return fail(400, { form }); - } - - const { user } = await loadUserData(event.cookies, event.params.id!); - - const targetUser = await prisma.user.findUnique({ - where: { - id: form.data.cid, - }, - })!; - - if (!can(TRAIN)) { - redirect( - 301, - "/", - { type: "error", message: "You need to be logged in for that" }, - event, - ); - } - - await prisma.session.create({ - data: { - id: ulid(), - studentId: targetUser!.id, - instructorId: user!.id, - sessionType: form.data.sessionType, - studentComments: form.data.studentComments, - instructorComments: form.data.mentorComments, - date: form.data.date, - }, - }); - - return { - form, - }; - }, - requestTraining: async (event) => { - const form = await superValidate(event, zod(requestFormSchema)); - - if (!form.valid) { - return fail(400, { form }); - } - - const { user } = await loadUserData(event.cookies, event.params.id!); - - await prisma.trainingRequest.create({ - data: { - id: ulid(), - facilityId: event.params.id!, - studentId: user.id, - instructorId: null, - trainingType: form.data.trainingType, - startDate: form.data.dateStart, - endDate: form.data.dateEnd, - availability: form.data.times, - }, - }); - - return { - form, - }; - }, -}; diff --git a/src/routes/[id]/training/+page.svelte b/src/routes/[id]/training/+page.svelte index df93c6c..2ef0fd1 100644 --- a/src/routes/[id]/training/+page.svelte +++ b/src/routes/[id]/training/+page.svelte @@ -1,205 +1,55 @@ -
+

Training

-
-
- - - Training Queues - - - {#if data.queue} -

- Enrolled in the {data.queue.name} - queue. -

- {#if data.position} -

- You are number {data.position} - in the queue. -

- {/if} - - {:else} -

Not currently a member of any queue.

- - {/if} - {#if can(MANAGE_QUEUES) || can(RECOMMEND_FOR_QUEUE)} - - {/if} -
-
+
+ + + Your Training + + +

+ Hayya's training system is undergoing a major overhaul and has been + temporarily disabled. We apologise for the inconvenience. Please check + again later. +

+
+
+ + {#if can(MANAGE_TRAINING_PLANS)} - Request Training + Training Plans - - - {#if can(TRAIN)} - - {/if} -
-
- - - My Transcript - - - - - - {#if can(TRAIN)} - - - Mentorship - - - - - - - - Open a Student's Transcript - - - - View Student Transcript - - This transcript contains all training data ever - for this student in this vACC. This information should be considered - confidential. - - -
- - -
- - - -
-
-
-
- {/if} -
+ {/if}
- -{#if can(TRAIN)} - - - - Log Training Session - - { - sessionOpen = false; - toast.success("Session has been saved to the student's transcript"); - }} /> - - -{/if} - - - - - Request Training Session - - { - requestTrainingOpen = false; - toast.success("Training request submitted!"); - }} /> - - diff --git a/src/routes/[id]/training/plans/+page.server.ts b/src/routes/[id]/training/plans/+page.server.ts new file mode 100644 index 0000000..afac801 --- /dev/null +++ b/src/routes/[id]/training/plans/+page.server.ts @@ -0,0 +1,92 @@ +import type { PageServerLoad, Actions } from "./$types"; +import { can } from "$lib/perms/can"; +import { MANAGE_TRAINING_PLANS } from "$lib/perms/permissions"; +import { redirect } from "sveltekit-flash-message/server"; +import prisma from "$lib/prisma"; +import { superValidate } from "sveltekit-superforms/server"; +import { zod } from "sveltekit-superforms/adapters"; +import { createFormSchema } from "./createSchema"; +import { fail } from "@sveltejs/kit"; +import { loadUserData } from "$lib/auth"; +import { ulid } from "ulid"; +import { updateFormSchema } from "./editSchema"; + +export const load: PageServerLoad = async ({ params, cookies }) => { + if (!can(MANAGE_TRAINING_PLANS)) { + redirect( + 307, + `/${params.id}`, + { type: "error", message: "You don't have permission to do that." }, + cookies, + ); + } + + return { + plans: await prisma.trainingPlan.findMany({ + include: { + TrainingPlanRegistration: true, + }, + }), + createForm: await superValidate(zod(createFormSchema)), + updateForm: await superValidate(zod(updateFormSchema)), + }; +}; + +export const actions: Actions = { + create: async (event) => { + const form = await superValidate(event, zod(createFormSchema)); + if (!form.valid) { + return fail(400, { form }); + } + + await loadUserData(event.cookies, event.params.id); + if (!can(MANAGE_TRAINING_PLANS)) { + return fail(403, { form }); + } + + await prisma.trainingPlan.create({ + data: { + id: ulid(), + facilityId: event.params.id, + name: form.data.name, + includes: form.data.includes, + excludes: form.data.excludes, + estimatedTimeToCompleteTraining: form.data.estimatedTime, + relevantPolicy: form.data.policy, + hasAdjacentRestrictions: form.data.hasAdjacentRestriction, + extraDetails: form.data.extraDetails, + }, + }); + + return { form }; + }, + update: async (event) => { + const form = await superValidate(event, zod(updateFormSchema)); + if (!form.valid) { + return fail(400, { form }); + } + + await loadUserData(event.cookies, event.params.id); + if (!can(MANAGE_TRAINING_PLANS)) { + return fail(403, { form }); + } + + await prisma.trainingPlan.update({ + where: { + id: form.data.id, + }, + data: { + facilityId: event.params.id, + name: form.data.name, + includes: form.data.includes, + excludes: form.data.excludes, + estimatedTimeToCompleteTraining: form.data.estimatedTime, + relevantPolicy: form.data.policy, + hasAdjacentRestrictions: form.data.hasAdjacentRestriction, + extraDetails: form.data.extraDetails, + }, + }); + + return { form }; + }, +}; diff --git a/src/routes/[id]/training/plans/+page.svelte b/src/routes/[id]/training/plans/+page.svelte new file mode 100644 index 0000000..63916c2 --- /dev/null +++ b/src/routes/[id]/training/plans/+page.svelte @@ -0,0 +1,467 @@ + + + + + + Update Plan - {$updateFormData.name} + +
+
+
+ + + Plan Name + + + + + + + Relevant Facility Policy + + + + Ensure this sounds correct: "Consult {$updateFormData.policy + ? $updateFormData.policy + : "your policy here"} for more details" + + + + + + Estimated Time + + + + Ensure this sounds correct: "Estimated Time to Completion: {$updateFormData.estimatedTime + ? $updateFormData.estimatedTime + : "X Months"}" + + +
+ +
+
+ + + {#each $updateFormData.includes as s, n} +
+ + +
+ {/each} +
+ +
+ + + {#each $updateFormData.excludes as s, n} +
+ + +
+ {/each} +
+
+
+ + + + Extra Details (Airfields) + + + + + + +
+ Has Adjacency Restriction? + + Whether this plan may have usage restrictions as laid out in GCAP + 6.1(a). Most commonly seen with a Tier 1/2 APP and an unrestricted + CTR. + +
+ +
+
+ + + {#if $updateDelayed} + + {:else} + Update + {/if} + +
+
+
+ +
+

Training Plans

+ + + + Create + + + + New Plan + +
+
+
+ + + Plan Name + + + + + + + Relevant Facility Policy + + + + Ensure this sounds correct: "Consult {$createFormData.policy + ? $createFormData.policy + : "your policy here"} for more details" + + + + + + Estimated Time + + + + Ensure this sounds correct: "Estimated Time to Completion: {$createFormData.estimatedTime + ? $createFormData.estimatedTime + : "X Months"}" + + +
+ +
+
+ + + {#each $createFormData.includes as s, n} +
+ + +
+ {/each} +
+ +
+ + + {#each $createFormData.excludes as s, n} +
+ + +
+ {/each} +
+
+
+ + + + Extra Details (Airfields) + + + + + + +
+ Has Adjacency Restriction? + + Whether this plan may have usage restrictions as laid out in + GCAP 6.1(a). Most commonly seen with a Tier 1/2 APP and an + unrestricted CTR. + +
+ +
+
+ + + {#if $createDelayed} + + {:else} + Create + {/if} + +
+
+
+
+ +
+ {#each data.plans as plan} + + + {plan.name} + + See {plan.relevantPolicy} for more details. + + + + {#each plan.includes as i} +
+ + {i} +
+ {/each} + {#each plan.excludes as e} +
+ + {e} +
+ {/each} + +

+ Estimated Time to Completion: {plan.estimatedTimeToCompleteTraining} + + ({plan.TrainingPlanRegistration.length} students in queue) + +

+ +

+ Time estimates may be inaccurate and do not constitute a guarantee of + training. +

+ +

{plan.extraDetails}

+ + {#if plan.hasAdjacentRestrictions} + + + Rating Limitations + + This training plan may have limitations on when you can use your + certification, in compliance with GCAP 6.1(a). Consult ATC + training policy 7210.5B for more details on what these limitations + entail. + + + {/if} + + +
+
+ {/each} +
diff --git a/src/routes/[id]/training/plans/createSchema.ts b/src/routes/[id]/training/plans/createSchema.ts new file mode 100644 index 0000000..92e4965 --- /dev/null +++ b/src/routes/[id]/training/plans/createSchema.ts @@ -0,0 +1,13 @@ +import { z } from "zod"; + +export const createFormSchema = z.object({ + name: z.string(), + policy: z.string(), + includes: z.string().array(), + excludes: z.string().array(), + estimatedTime: z.string(), + extraDetails: z.string(), + hasAdjacentRestriction: z.boolean(), +}); + +export type CreateFormSchema = typeof createFormSchema; diff --git a/src/routes/[id]/training/plans/editSchema.ts b/src/routes/[id]/training/plans/editSchema.ts new file mode 100644 index 0000000..0b481ff --- /dev/null +++ b/src/routes/[id]/training/plans/editSchema.ts @@ -0,0 +1,14 @@ +import { z } from "zod"; + +export const updateFormSchema = z.object({ + id: z.string(), + name: z.string(), + policy: z.string(), + includes: z.string().array(), + excludes: z.string().array(), + estimatedTime: z.string(), + extraDetails: z.string(), + hasAdjacentRestriction: z.boolean(), +}); + +export type UpdateFormSchema = typeof updateFormSchema; diff --git a/src/routes/[id]/training/queues/+page.server.ts b/src/routes/[id]/training/queues/+page.server.ts deleted file mode 100644 index 0a3ecd3..0000000 --- a/src/routes/[id]/training/queues/+page.server.ts +++ /dev/null @@ -1,119 +0,0 @@ -import prisma from "$lib/prisma"; -import type { PageServerLoad, Actions } from "./$types"; -import { superValidate } from "sveltekit-superforms/server"; -import { zod } from "sveltekit-superforms/adapters"; -import { createSchema } from "./create-schema"; -import { fail } from "@sveltejs/kit"; -import { loadUserData } from "$lib/auth"; -import { can } from "$lib/perms/can"; -import { MANAGE_QUEUES } from "$lib/perms/permissions"; -import { redirect } from "sveltekit-flash-message/server"; -import { ulid } from "ulid"; -import { queuePosition } from "$lib/queue"; - -export const load: PageServerLoad = async ({ params, parent }) => { - const { user, queue: memberOfQueue } = await parent(); - - const all_queues = await prisma.trainingQueue.findMany({ - where: { - facilityId: params.id, - }, - }); - - const recommended_for = user!.recommendedTrainingQueues; - const completed = user!.completedTrainingQueues; - - const canJoin = []; - - for (const queue of all_queues) { - if ( - (queue.joinableByDefault || recommended_for.includes(queue.id)) && - !memberOfQueue && - !completed.includes(queue.id) - ) { - canJoin.push(queue.id); - } - } - - return { - queues: all_queues, - canJoin, - createForm: await superValidate(zod(createSchema)), - }; -}; - -export const actions: Actions = { - create: async (event) => { - const form = await superValidate(event, zod(createSchema)); - if (!form.valid) { - return fail(400, { - createForm: form, - }); - } - - await loadUserData(event.cookies, event.params.id); - - if (!can(MANAGE_QUEUES)) { - redirect( - 307, - "/training", - { type: "error", message: "You don't have permission to do that." }, - event.cookies, - ); - } - - await prisma.trainingQueue.create({ - data: { - id: ulid(), - facilityId: event.params.id, - name: form.data.name, - description: form.data.description, - joinableByDefault: form.data.openRegistration, - }, - }); - - return { - createForm: form, - }; - }, - join: async (event) => { - const data = await event.request.formData(); - const { user } = await loadUserData(event.cookies, event.params.id); - const recommended_for = user!.recommendedTrainingQueues; - const completed = user!.completedTrainingQueues; - - const queue = await prisma.trainingQueue.findUnique({ - where: { - id: data.get("id")!.toString(), - }, - }); - - if (!queue) { - return fail(400, {}); - } - - let membership = await prisma.trainingQueueMembership.findFirst({ - where: { - userId: user!.id, - }, - include: { - queue: true, - }, - }); - const canJoin = - (queue.joinableByDefault || recommended_for.includes(queue.id)) && - !membership && - !completed.includes(queue.id); - - if (!canJoin) { - return fail(400, {}); - } - - await prisma.trainingQueueMembership.create({ - data: { - userId: user.id, - queueId: queue.id, - }, - }); - }, -}; diff --git a/src/routes/[id]/training/queues/+page.svelte b/src/routes/[id]/training/queues/+page.svelte deleted file mode 100644 index 1e3db53..0000000 --- a/src/routes/[id]/training/queues/+page.svelte +++ /dev/null @@ -1,47 +0,0 @@ - - - - {#if can(MANAGE_QUEUES)} - - {/if} - - - - - - - - Create new training queue - - - - diff --git a/src/routes/[id]/training/queues/[queueId]/+page.server.ts b/src/routes/[id]/training/queues/[queueId]/+page.server.ts deleted file mode 100644 index e28313f..0000000 --- a/src/routes/[id]/training/queues/[queueId]/+page.server.ts +++ /dev/null @@ -1,93 +0,0 @@ -import prisma from "$lib/prisma"; -import { superValidate } from "sveltekit-superforms/server"; -import type { PageServerLoad } from "./$types"; -import { formSchema } from "./add-form"; -import type { Actions } from "@sveltejs/kit"; -import { can } from "$lib/perms/can"; -import { MANAGE_QUEUES } from "$lib/perms/permissions"; -import { redirect } from "sveltekit-flash-message/server"; -import { zod } from "sveltekit-superforms/adapters"; - -export const load: PageServerLoad = async ({ params, depends }) => { - depends("queue:data"); - - const queue = await prisma.trainingQueue.findUnique({ - where: { - id: params.queueId, - }, - include: { - members: { - include: { - user: true, - }, - }, - }, - }); - - return { - queue, - form: await superValidate(zod(formSchema)), - }; -}; - -export const actions: Actions = { - addStudent: async (event) => { - const form = await superValidate(event, zod(formSchema)); - - if (!can(MANAGE_QUEUES)) { - redirect( - 307, - event.url.pathname, - { - type: "error", - message: "You do not have permission to do that", - }, - event.cookies, - ); - } - - const targetUser = await prisma.user.findUnique({ - where: { - id: form.data.id, - }, - }); - - if (!targetUser) { - redirect( - 307, - event.url.pathname, - { - type: "error", - message: "This user is not registered on Hayya", - }, - event.cookies, - ); - } - - if (event.params.queueId) { - try { - await prisma.trainingQueueMembership.create({ - data: { - queueId: event.params.queueId, - userId: form.data.id, - joinedAt: new Date(), - }, - }); - } catch (e) { - redirect( - 307, - event.url.pathname, - { - type: "error", - message: "Student is already a member of this queue", - }, - event.cookies, - ); - } - } - - return { - form, - }; - }, -}; diff --git a/src/routes/[id]/training/queues/[queueId]/+page.svelte b/src/routes/[id]/training/queues/[queueId]/+page.svelte deleted file mode 100644 index 0ead00f..0000000 --- a/src/routes/[id]/training/queues/[queueId]/+page.svelte +++ /dev/null @@ -1,64 +0,0 @@ - - -
-

{data.queue?.name}

- {#if can(MANAGE_QUEUES)} - - {/if} -
- -{#if members && members.length > 0} - -{:else} -

No members in this queue.

-{/if} - -{#if can(MANAGE_QUEUES)} - - - - Add student to queue - - This will manually add a student to the training queue. If you wish to - permit the student to join a closed queue, use the 'Recommend Student' - option instead. - - - { - addOpen = false; - toast.success("Student added to queue"); - }} /> - - -{/if} diff --git a/src/routes/[id]/training/queues/[queueId]/add-form.svelte b/src/routes/[id]/training/queues/[queueId]/add-form.svelte deleted file mode 100644 index 62c02a9..0000000 --- a/src/routes/[id]/training/queues/[queueId]/add-form.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - -
- - - Student CID - - - - - {#if $delayed} - - {:else} - Add Student - {/if} - -
diff --git a/src/routes/[id]/training/queues/[queueId]/add-form.ts b/src/routes/[id]/training/queues/[queueId]/add-form.ts deleted file mode 100644 index a366800..0000000 --- a/src/routes/[id]/training/queues/[queueId]/add-form.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { z } from "zod"; - -export const formSchema = z.object({ - id: z.string().min(1, { - message: "Please enter the student's CID", - }), -}); - -export type FormSchema = typeof formSchema; diff --git a/src/routes/[id]/training/queues/[queueId]/data-table-actions.svelte b/src/routes/[id]/training/queues/[queueId]/data-table-actions.svelte deleted file mode 100644 index 57bd166..0000000 --- a/src/routes/[id]/training/queues/[queueId]/data-table-actions.svelte +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - Actions - { - navigator.clipboard.writeText(id); - toast.success("CID copied to clipboard!"); - }}> - Copy CID - - - - - - {#if can(MANAGE_QUEUES)} - - removeUser(id)}> - Remove from list - - - {/if} - - diff --git a/src/routes/[id]/training/queues/[queueId]/data-table.svelte b/src/routes/[id]/training/queues/[queueId]/data-table.svelte deleted file mode 100644 index e5cf4a7..0000000 --- a/src/routes/[id]/training/queues/[queueId]/data-table.svelte +++ /dev/null @@ -1,109 +0,0 @@ - - -
-
- - - {#each $headerRows as headerRow} - - - {#each headerRow.cells as cell (cell.id)} - - - - - - {/each} - - - {/each} - - - {#each $pageRows as row (row.id)} - - - {#each row.cells as cell (cell.id)} - - - - - - {/each} - - - {/each} - - -
-
- - -
-
diff --git a/src/routes/[id]/training/queues/[queueId]/remove/[userId]/+page.server.ts b/src/routes/[id]/training/queues/[queueId]/remove/[userId]/+page.server.ts deleted file mode 100644 index 2db4f7c..0000000 --- a/src/routes/[id]/training/queues/[queueId]/remove/[userId]/+page.server.ts +++ /dev/null @@ -1,33 +0,0 @@ -import prisma from "$lib/prisma"; -import { redirect } from "sveltekit-flash-message/server"; -import type { PageServerLoad } from "./$types"; -import { can } from "$lib/perms/can"; -import { MANAGE_QUEUES } from "$lib/perms/permissions"; - -export const load: PageServerLoad = async ({ params, cookies }) => { - if (!can(MANAGE_QUEUES)) { - redirect( - 307, - `/${params.id}/training/queues/${params.queueId}`, - { - type: "error", - message: "You do not have permission to do that", - }, - cookies, - ); - } - - await prisma.trainingQueueMembership.deleteMany({ - where: { - userId: params.userId, - queueId: params.queueId, - }, - }); - - redirect( - 301, - `/${params.id}/training/queues/${params.queueId}`, - { type: "success", message: "Removed user from queue successfully" }, - cookies, - ); -}; diff --git a/src/routes/[id]/training/queues/create-form.svelte b/src/routes/[id]/training/queues/create-form.svelte deleted file mode 100644 index 4eabb75..0000000 --- a/src/routes/[id]/training/queues/create-form.svelte +++ /dev/null @@ -1,71 +0,0 @@ - - -
- - - Queue Name - - - A short name describing the queue. - - - - - Description - - - Insert rich text with - Markdown - - - - - These comments will be visible only for other mentors. - - -
- - {#if $delayed} - - {:else} - Log Session - {/if} - -
- - diff --git a/src/routes/[id]/training/session-form.ts b/src/routes/[id]/training/session-form.ts deleted file mode 100644 index 2a16104..0000000 --- a/src/routes/[id]/training/session-form.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { z } from "zod"; - -export const formSchema = z.object({ - cid: z.string().min(1, { message: "You need to provide a CID" }), - date: z.date(), - sessionType: z - .string() - .min(1, { message: "You need to provide a session type" }), - studentComments: z - .string() - .min(1, { message: "You must provide the student with feedback" }), - mentorComments: z - .string() - .min(1, { message: "You must provide information to other mentors" }), -}); - -export type FormSchema = typeof formSchema; diff --git a/src/routes/[id]/training/transcript/[targetId]/+page.server.ts b/src/routes/[id]/training/transcript/[targetId]/+page.server.ts deleted file mode 100644 index 0c8dfde..0000000 --- a/src/routes/[id]/training/transcript/[targetId]/+page.server.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type { PageServerLoad } from "./$types"; -import { can } from "$lib/perms/can"; -import prisma from "$lib/prisma"; -import { redirect } from "sveltekit-flash-message/server"; -import { TRAIN } from "$lib/perms/permissions"; - -export const load: PageServerLoad = async ({ parent, params, cookies }) => { - const { user, roles } = await parent(); - - const targetUser = await prisma.user.findUnique({ - where: { - id: params.targetId, - }, - }); - - if (targetUser === null) { - redirect( - 301, - `/${params.id}/training`, - { type: "error", message: "You don't have permission to do that." }, - cookies, - ); - } - - if (!(user.id == params.targetId || can(TRAIN))) { - redirect( - 301, - `/${params.id}/training`, - { type: "error", message: "You don't have permission to do that." }, - cookies, - ); - } - - // get all the user's sessions - const sessions = await prisma.session.findMany({ - where: { - studentId: targetUser.id, - }, - include: { - instructor: true, - }, - })!; - - if (!can(TRAIN)) { - for (const session of sessions) { - session.instructorComments = "[unavailable]"; // Data is just passed as json, so hidden data must be hidden at the server level - } - } - - return { - sessions, - targetUser, - }; -}; diff --git a/src/routes/[id]/training/transcript/[targetId]/+page.svelte b/src/routes/[id]/training/transcript/[targetId]/+page.svelte deleted file mode 100644 index 6582b0b..0000000 --- a/src/routes/[id]/training/transcript/[targetId]/+page.svelte +++ /dev/null @@ -1,76 +0,0 @@ - - -
-

- Training Transcript for {data.targetUser.name} -

-
- - - {#each data.sessions as session} - - - {#if session.logType === "Training"} - {convertDate(session.date)} - {session.sessionType} session with {session - .instructor.name} - {:else if session.logType === "CertificateRevokal"} - {convertDate(session.date)} - {session.sessionType} certificate revoked - by {session.instructor.name} - {/if} - - -
-
-

COMMENTS

-
- -
-
- {#if can(TRAIN)} -
-

- PRIVATE MENTOR NOTES -

-
- -
-
- {/if} -
-
-
- {/each} -
diff --git a/src/routes/callback/+page.server.ts b/src/routes/callback/+page.server.ts index 251b95e..6c810d6 100644 --- a/src/routes/callback/+page.server.ts +++ b/src/routes/callback/+page.server.ts @@ -89,8 +89,6 @@ export const load: PageServerLoad = async ({ url, cookies }) => { ratingLong: user_details.vatsim.rating.long, region: user_details.vatsim.region.id, division: user_details.vatsim.division.id, - recommendedTrainingQueues: [], - completedTrainingQueues: [], }, });