From f5daa74f3d706bbfa86e06a9e66d5986040adf93 Mon Sep 17 00:00:00 2001 From: Rina Shmeleva Date: Tue, 22 Apr 2025 21:44:15 +0200 Subject: [PATCH 1/4] Feat: Report Strapi errors to Sentry --- .env.example | 17 +- backend/vaa-strapi/.env.example | 2 + backend/vaa-strapi/config/middlewares.ts | 6 +- backend/vaa-strapi/config/plugins.ts | 8 + backend/vaa-strapi/package.json | 1 + .../src/middlewares/error-capture.ts | 13 ++ docker-compose.dev.yml | 1 + yarn.lock | 185 ++++++++++++++++++ 8 files changed, 231 insertions(+), 2 deletions(-) create mode 100644 backend/vaa-strapi/src/middlewares/error-capture.ts diff --git a/.env.example b/.env.example index f9f71109f..31010a164 100644 --- a/.env.example +++ b/.env.example @@ -93,4 +93,19 @@ IDENTITY_PROVIDER_ENCRYPTION_PRIVATE_KEY='{"kty":"RSA","kid":"{key_id}","use":"e BACKEND_API_TOKEN=api_token # If 'true', frontend debug messages will be logged even in production -PUBLIC_DEBUG=false \ No newline at end of file +PUBLIC_DEBUG=false + +# FlatCache disk cache settings + +# An absolute path to the cache location +CACHE_DIR=/var/data/cache +# "Time-To-Live" (TTL) means each cached item will be removed after {env.CACHE_TTL} seconds, even if it's still needed. +# 86400000 seconds = 24 hours +CACHE_TTL=86400000 +# "Least Recently Used" (LRU) means the cache will only keep the most recent {env.CACHE_LRU_SIZE} items. +CACHE_LRU_SIZE=1000 +# The cache checks for expired items every {env.CACHE_EXPIRATION_INTERVAL} seconds and removes them. +# 3600000 seconds = 1 hour +CACHE_EXPIRATION_INTERVAL=3600000 + +SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file diff --git a/backend/vaa-strapi/.env.example b/backend/vaa-strapi/.env.example index 856a52178..56c9667a0 100644 --- a/backend/vaa-strapi/.env.example +++ b/backend/vaa-strapi/.env.example @@ -54,3 +54,5 @@ AWS_S3_REGION=us-east-1 ## - in development it points directly to LocalStack host and is appended by the S3 bucket name in Strapi's `plugin.ts` STATIC_CONTENT_BASE_URL=http://localhost:4566 STATIC_MEDIA_CONTENT_PATH=public/media + +SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file diff --git a/backend/vaa-strapi/config/middlewares.ts b/backend/vaa-strapi/config/middlewares.ts index 9d3c26ab4..ba4d6f0e4 100644 --- a/backend/vaa-strapi/config/middlewares.ts +++ b/backend/vaa-strapi/config/middlewares.ts @@ -38,5 +38,9 @@ module.exports = ({ env }) => [ }, 'strapi::session', 'strapi::favicon', - 'strapi::public' + 'strapi::public', + { + name: 'global::error-capture', + config: {} + } ]; diff --git a/backend/vaa-strapi/config/plugins.ts b/backend/vaa-strapi/config/plugins.ts index 9e8c95e97..d85709251 100644 --- a/backend/vaa-strapi/config/plugins.ts +++ b/backend/vaa-strapi/config/plugins.ts @@ -83,6 +83,14 @@ export default ({ env }) => { 'openvaa-admin-tools': { enabled: true, resolve: './src/plugins/openvaa-admin-tools' + }, + sentry: { + enabled: true, + config: { + dsn: env('SENTRY_DSN'), + environment: env('NODE_ENV'), + sendMetadata: true + } } }; }; diff --git a/backend/vaa-strapi/package.json b/backend/vaa-strapi/package.json index adbe7f579..934176de6 100644 --- a/backend/vaa-strapi/package.json +++ b/backend/vaa-strapi/package.json @@ -18,6 +18,7 @@ "@openvaa/app-shared": "workspace:^", "@openvaa/strapi-admin-tools": "workspace:^", "@strapi/plugin-documentation": "^5.9.0", + "@strapi/plugin-sentry": "^5.12.5", "@strapi/plugin-users-permissions": "^5.9.0", "@strapi/provider-email-nodemailer": "^5.9.0", "@strapi/provider-upload-aws-s3": "^5.9.0", diff --git a/backend/vaa-strapi/src/middlewares/error-capture.ts b/backend/vaa-strapi/src/middlewares/error-capture.ts new file mode 100644 index 000000000..b8aa85acd --- /dev/null +++ b/backend/vaa-strapi/src/middlewares/error-capture.ts @@ -0,0 +1,13 @@ +import type { Core } from '@strapi/strapi'; +import type { Context, Next } from 'koa'; + +export default (_config: Record, { strapi }: { strapi: Core.Strapi }) => { + return async (_ctx: Context, next: Next) => { + try { + await next(); + } catch (error) { + strapi.plugin('sentry').service('sentry').sendError(error); + throw error; + } + }; +}; diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index fc609503f..57f5be27e 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -72,6 +72,7 @@ services: STATIC_MEDIA_CONTENT_PATH: ${STATIC_MEDIA_CONTENT_PATH} LOCALSTACK_ENDPOINT: http://awslocal:4566 PUBLIC_BROWSER_FRONTEND_URL: ${PUBLIC_BROWSER_FRONTEND_URL} + SENTRY_DSN: ${SENTRY_DSN} postgres: extends: file: ./backend/vaa-strapi/docker-compose.dev.yml diff --git a/yarn.lock b/yarn.lock index c711363e4..8c3a58f90 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4129,6 +4129,7 @@ __metadata: "@openvaa/shared-config": "workspace:^" "@openvaa/strapi-admin-tools": "workspace:^" "@strapi/plugin-documentation": "npm:^5.9.0" + "@strapi/plugin-sentry": "npm:^5.12.5" "@strapi/plugin-users-permissions": "npm:^5.9.0" "@strapi/provider-email-nodemailer": "npm:^5.9.0" "@strapi/provider-upload-aws-s3": "npm:^5.9.0" @@ -5547,6 +5548,68 @@ __metadata: languageName: node linkType: hard +"@sentry-internal/tracing@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry-internal/tracing@npm:7.112.2" + dependencies: + "@sentry/core": "npm:7.112.2" + "@sentry/types": "npm:7.112.2" + "@sentry/utils": "npm:7.112.2" + checksum: 10c0/bca1681cd5d687614ff1888fff227b41aa0e61a46895a673102bf6913595c8c6de7b71294422c9b50bfa07a66021c20aa4292c1d3a460bca4be27042cb549efe + languageName: node + linkType: hard + +"@sentry/core@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry/core@npm:7.112.2" + dependencies: + "@sentry/types": "npm:7.112.2" + "@sentry/utils": "npm:7.112.2" + checksum: 10c0/560e9566f410610c2adc1fb2617bc57f85cede9849daf7caef01ef1c49281e2be159215261aa9570aa5c94fcb1a12068670b75ae68aa62467537088bf817d125 + languageName: node + linkType: hard + +"@sentry/integrations@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry/integrations@npm:7.112.2" + dependencies: + "@sentry/core": "npm:7.112.2" + "@sentry/types": "npm:7.112.2" + "@sentry/utils": "npm:7.112.2" + localforage: "npm:^1.8.1" + checksum: 10c0/fa1b92eb16c748d0b1635bff1e172888f1f39c6d8e239382a702a36c79d2580f30c73e9899cddc27cecb2f015b6e9a2e2c3a76d8626b4af758145cc672de0759 + languageName: node + linkType: hard + +"@sentry/node@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry/node@npm:7.112.2" + dependencies: + "@sentry-internal/tracing": "npm:7.112.2" + "@sentry/core": "npm:7.112.2" + "@sentry/integrations": "npm:7.112.2" + "@sentry/types": "npm:7.112.2" + "@sentry/utils": "npm:7.112.2" + checksum: 10c0/9a64d31e12195fb1aed630b42ab30ebdb275b085eb2dcfa96e9dd0a19f5cbb4a72127a1f031c947ae4ade5057dddeaeed11a0848da9354fc79bbcac659f44772 + languageName: node + linkType: hard + +"@sentry/types@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry/types@npm:7.112.2" + checksum: 10c0/2f3a49113b4bcabaa6108f77c752adbe9bf964754e83ea435ba312fd974cc26cd020d8e9f42f98e8051bb1e0ffe383d445afb1f4fb4c074005ee0020a5b5ef48 + languageName: node + linkType: hard + +"@sentry/utils@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry/utils@npm:7.112.2" + dependencies: + "@sentry/types": "npm:7.112.2" + checksum: 10c0/63cca80cef62d6251325a5e61fb1f7cecf3a4726cc88a41d0aedd2a56d6c132ec49d952cc303a3a37c5114b9967380c43185cac1685dfcebe4aae313a57f6152 + languageName: node + linkType: hard + "@simov/deep-extend@npm:^1.0.0": version: 1.0.0 resolution: "@simov/deep-extend@npm:1.0.0" @@ -7275,6 +7338,44 @@ __metadata: languageName: node linkType: hard +"@strapi/design-system@npm:2.0.0-rc.21": + version: 2.0.0-rc.21 + resolution: "@strapi/design-system@npm:2.0.0-rc.21" + dependencies: + "@codemirror/lang-json": "npm:6.0.1" + "@floating-ui/react-dom": "npm:2.1.0" + "@internationalized/date": "npm:3.5.4" + "@internationalized/number": "npm:3.5.3" + "@radix-ui/react-accordion": "npm:1.1.2" + "@radix-ui/react-alert-dialog": "npm:1.0.5" + "@radix-ui/react-avatar": "npm:1.0.4" + "@radix-ui/react-checkbox": "npm:1.0.4" + "@radix-ui/react-dialog": "npm:1.0.5" + "@radix-ui/react-dismissable-layer": "npm:1.0.5" + "@radix-ui/react-dropdown-menu": "npm:2.0.6" + "@radix-ui/react-focus-guards": "npm:1.0.1" + "@radix-ui/react-focus-scope": "npm:1.0.4" + "@radix-ui/react-popover": "npm:1.0.7" + "@radix-ui/react-progress": "npm:1.0.3" + "@radix-ui/react-radio-group": "npm:1.1.3" + "@radix-ui/react-scroll-area": "npm:1.0.5" + "@radix-ui/react-switch": "npm:1.0.3" + "@radix-ui/react-tabs": "npm:1.0.4" + "@radix-ui/react-tooltip": "npm:1.0.7" + "@radix-ui/react-use-callback-ref": "npm:1.0.1" + "@strapi/ui-primitives": "npm:2.0.0-rc.21" + "@uiw/react-codemirror": "npm:4.22.2" + lodash: "npm:4.17.21" + react-remove-scroll: "npm:2.5.10" + peerDependencies: + "@strapi/icons": ^2.0.0 || ^2.0.0-beta || ^2.0.0-alpha + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + styled-components: ^6.0.0 + checksum: 10c0/6671c7c5571418ec5bc5075ece98d16d9bbbe6e3186a28987f4e8cf4129b7ae6c97a85758c07b6b628946add30ba7843bd7ede4d001c03f7c233fba948ee2c04 + languageName: node + linkType: hard + "@strapi/design-system@npm:^2.0.0-rc.16": version: 2.0.0-rc.16 resolution: "@strapi/design-system@npm:2.0.0-rc.16" @@ -7388,6 +7489,17 @@ __metadata: languageName: node linkType: hard +"@strapi/icons@npm:2.0.0-rc.21": + version: 2.0.0-rc.21 + resolution: "@strapi/icons@npm:2.0.0-rc.21" + peerDependencies: + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + styled-components: ^6.0.0 + checksum: 10c0/6d6da81b420f37fc508db0ab5ce76d604bbf43e070fa0002a966f736c056e0a5b0af0f53939dcbc6f18aea4072d8a894a9b1d93338206fb03c0b3e5aa2b4a924 + languageName: node + linkType: hard + "@strapi/icons@npm:^2.0.0-rc.16": version: 2.0.0-rc.16 resolution: "@strapi/icons@npm:2.0.0-rc.16" @@ -7484,6 +7596,23 @@ __metadata: languageName: node linkType: hard +"@strapi/plugin-sentry@npm:^5.12.5": + version: 5.12.5 + resolution: "@strapi/plugin-sentry@npm:5.12.5" + dependencies: + "@sentry/node": "npm:7.112.2" + "@strapi/design-system": "npm:2.0.0-rc.21" + "@strapi/icons": "npm:2.0.0-rc.21" + peerDependencies: + "@strapi/strapi": ^5.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + react-router-dom: ^6.0.0 + styled-components: ^6.0.0 + checksum: 10c0/e7ba45021a0e1da21c477f7746e1598c90decab1572c80e0d6158fd39f2cb27107325dcd5f83307b5b29f5512bfc480cce1acc0cfd271af3f3fe6ee91de464f5 + languageName: node + linkType: hard + "@strapi/plugin-users-permissions@npm:^5.9.0": version: 5.9.0 resolution: "@strapi/plugin-users-permissions@npm:5.9.0" @@ -7791,6 +7920,37 @@ __metadata: languageName: node linkType: hard +"@strapi/ui-primitives@npm:2.0.0-rc.21": + version: 2.0.0-rc.21 + resolution: "@strapi/ui-primitives@npm:2.0.0-rc.21" + dependencies: + "@radix-ui/number": "npm:1.0.1" + "@radix-ui/primitive": "npm:1.0.1" + "@radix-ui/react-collection": "npm:1.0.3" + "@radix-ui/react-compose-refs": "npm:1.0.1" + "@radix-ui/react-context": "npm:1.0.1" + "@radix-ui/react-direction": "npm:1.0.1" + "@radix-ui/react-dismissable-layer": "npm:1.0.5" + "@radix-ui/react-focus-guards": "npm:1.0.1" + "@radix-ui/react-focus-scope": "npm:1.0.4" + "@radix-ui/react-id": "npm:1.0.1" + "@radix-ui/react-popper": "npm:1.1.3" + "@radix-ui/react-portal": "npm:1.0.4" + "@radix-ui/react-primitive": "npm:1.0.3" + "@radix-ui/react-slot": "npm:1.0.2" + "@radix-ui/react-use-controllable-state": "npm:1.0.1" + "@radix-ui/react-use-layout-effect": "npm:1.0.1" + "@radix-ui/react-use-previous": "npm:1.0.1" + "@radix-ui/react-visually-hidden": "npm:1.0.3" + aria-hidden: "npm:1.2.4" + react-remove-scroll: "npm:2.5.10" + peerDependencies: + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + checksum: 10c0/6324c99d6b2de754035c642bc49bc642fd346bb13d390188fe890775d239b62795b2fb821a3f356f1bc86591006089328325d79410cf32c79efae0c2929c55cf + languageName: node + linkType: hard + "@strapi/upload@npm:5.9.0": version: 5.9.0 resolution: "@strapi/upload@npm:5.9.0" @@ -14741,6 +14901,13 @@ __metadata: languageName: node linkType: hard +"immediate@npm:~3.0.5": + version: 3.0.6 + resolution: "immediate@npm:3.0.6" + checksum: 10c0/f8ba7ede69bee9260241ad078d2d535848745ff5f6995c7c7cb41cfdc9ccc213f66e10fa5afb881f90298b24a3f7344b637b592beb4f54e582770cdce3f1f039 + languageName: node + linkType: hard + "immer@npm:9.0.21, immer@npm:^9.0.21, immer@npm:^9.0.6": version: 9.0.21 resolution: "immer@npm:9.0.21" @@ -16698,6 +16865,15 @@ __metadata: languageName: node linkType: hard +"lie@npm:3.1.1": + version: 3.1.1 + resolution: "lie@npm:3.1.1" + dependencies: + immediate: "npm:~3.0.5" + checksum: 10c0/d62685786590351b8e407814acdd89efe1cb136f05cb9236c5a97b2efdca1f631d2997310ad2d565c753db7596799870140e4777c9c9b8c44a0f6bf42d1804a1 + languageName: node + linkType: hard + "liftoff@npm:^4.0.0": version: 4.0.0 resolution: "liftoff@npm:4.0.0" @@ -16824,6 +17000,15 @@ __metadata: languageName: node linkType: hard +"localforage@npm:^1.8.1": + version: 1.10.0 + resolution: "localforage@npm:1.10.0" + dependencies: + lie: "npm:3.1.1" + checksum: 10c0/00f19f1f97002e6721587ed5017f502d58faf80dae567d5065d4d1ee0caf0762f40d2e2dba7f0ef7d3f14ee6203242daae9ecad97359bfc10ecff36df11d85a3 + languageName: node + linkType: hard + "locate-character@npm:^3.0.0": version: 3.0.0 resolution: "locate-character@npm:3.0.0" From 502f373c35b62142f1a9b767b7800a2e9b03e26e Mon Sep 17 00:00:00 2001 From: Rina Shmeleva Date: Tue, 22 Apr 2025 22:52:23 +0200 Subject: [PATCH 2/4] Feat: Report Svelte errors to Sentry --- .env.example | 5 +- backend/vaa-strapi/.env.example | 2 +- backend/vaa-strapi/config/plugins.ts | 2 +- docker-compose.dev.yml | 3 +- frontend/.env.example | 4 +- frontend/.gitignore | 4 +- frontend/package.json | 1 + frontend/src/hooks.client.ts | 23 + frontend/src/hooks.server.ts | 12 +- frontend/src/lib/utils/constants.ts | 3 +- frontend/vite.config.ts | 14 +- yarn.lock | 1225 +++++++++++++++++++++++++- 12 files changed, 1256 insertions(+), 42 deletions(-) create mode 100644 frontend/src/hooks.client.ts diff --git a/.env.example b/.env.example index 31010a164..1762b1ba5 100644 --- a/.env.example +++ b/.env.example @@ -108,4 +108,7 @@ CACHE_LRU_SIZE=1000 # 3600000 seconds = 1 hour CACHE_EXPIRATION_INTERVAL=3600000 -SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file +# A DSN tells a Sentry SDK where to send events so the events are associated with the correct project. +# You can find the DSN in your project settings by navigating to [Project] > Settings > Client Keys (DSN) in sentry.io. +PUBLIC_FRONTEND_SENTRY_DSN=https://example.ingest.de.sentry.io/example +BACKEND_SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file diff --git a/backend/vaa-strapi/.env.example b/backend/vaa-strapi/.env.example index 56c9667a0..a0f6f74fa 100644 --- a/backend/vaa-strapi/.env.example +++ b/backend/vaa-strapi/.env.example @@ -55,4 +55,4 @@ AWS_S3_REGION=us-east-1 STATIC_CONTENT_BASE_URL=http://localhost:4566 STATIC_MEDIA_CONTENT_PATH=public/media -SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file +BACKEND_SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file diff --git a/backend/vaa-strapi/config/plugins.ts b/backend/vaa-strapi/config/plugins.ts index d85709251..6dc186d0b 100644 --- a/backend/vaa-strapi/config/plugins.ts +++ b/backend/vaa-strapi/config/plugins.ts @@ -87,7 +87,7 @@ export default ({ env }) => { sentry: { enabled: true, config: { - dsn: env('SENTRY_DSN'), + dsn: env('BACKEND_SENTRY_DSN'), environment: env('NODE_ENV'), sendMetadata: true } diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 57f5be27e..de32be554 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -19,6 +19,7 @@ services: IDENTITY_PROVIDER_ENCRYPTION_PRIVATE_KEY: ${IDENTITY_PROVIDER_ENCRYPTION_PRIVATE_KEY} BACKEND_API_TOKEN: ${BACKEND_API_TOKEN} PUBLIC_DEBUG: ${PUBLIC_DEBUG} + PUBLIC_FRONTEND_SENTRY_DSN: ${PUBLIC_FRONTEND_SENTRY_DSN} awslocal: extends: file: ./backend/vaa-strapi/docker-compose.dev.yml @@ -72,7 +73,7 @@ services: STATIC_MEDIA_CONTENT_PATH: ${STATIC_MEDIA_CONTENT_PATH} LOCALSTACK_ENDPOINT: http://awslocal:4566 PUBLIC_BROWSER_FRONTEND_URL: ${PUBLIC_BROWSER_FRONTEND_URL} - SENTRY_DSN: ${SENTRY_DSN} + BACKEND_SENTRY_DSN: ${BACKEND_SENTRY_DSN} postgres: extends: file: ./backend/vaa-strapi/docker-compose.dev.yml diff --git a/frontend/.env.example b/frontend/.env.example index 572073e26..f05a0af92 100644 --- a/frontend/.env.example +++ b/frontend/.env.example @@ -10,4 +10,6 @@ PUBLIC_SERVER_BACKEND_URL=http://strapi:1337 # Used to reach frontend instance from a browser PUBLIC_BROWSER_FRONTEND_URL=http://localhost:5173 # Used to reach frontend instance from a server (differs from `PUBLIC_BROWSER_FRONTEND_URL` when using Docker) -PUBLIC_SERVER_FRONTEND_URL=http://frontend:5173 \ No newline at end of file +PUBLIC_SERVER_FRONTEND_URL=http://frontend:5173 + +PUBLIC_FRONTEND_SENTRY_DSN=https://example.ingest.de.sentry.io/example \ No newline at end of file diff --git a/frontend/.gitignore b/frontend/.gitignore index e8853f72c..00e38e7b3 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -12,4 +12,6 @@ vite.config.ts.*.mjs package-lock.json # Locally stored data files -/data \ No newline at end of file +/data +# Sentry Config File +.env.sentry-build-plugin diff --git a/frontend/package.json b/frontend/package.json index 3a85cb83f..83dd4fea6 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -67,6 +67,7 @@ "@openvaa/data": "workspace:^", "@openvaa/filters": "workspace:^", "@openvaa/matching": "workspace:^", + "@sentry/sveltekit": "^9", "@sveltekit-i18n/parser-icu": "^1.0.8", "intl-messageformat": "^10.7.11", "isomorphic-dompurify": "^2.19.0", diff --git a/frontend/src/hooks.client.ts b/frontend/src/hooks.client.ts new file mode 100644 index 000000000..c22386b84 --- /dev/null +++ b/frontend/src/hooks.client.ts @@ -0,0 +1,23 @@ +import { handleErrorWithSentry, replayIntegration } from '@sentry/sveltekit'; +import * as Sentry from '@sentry/sveltekit'; +import { constants } from '$lib/utils/constants'; + +Sentry.init({ + dsn: constants.PUBLIC_FRONTEND_SENTRY_DSN, + + tracesSampleRate: 1.0, + + // This sets the sample rate to be 10%. You may want this to be 100% while + // in development and sample at a lower rate in production + replaysSessionSampleRate: 0.1, + + // If the entire session is not sampled, use the below sample rate to sample + // sessions when an error occurs. + replaysOnErrorSampleRate: 1.0, + + // If you don't want to use Session Replay, just remove the line below: + integrations: [replayIntegration()] +}); + +// If you have a custom error handler, pass it to `handleErrorWithSentry` +export const handleError = handleErrorWithSentry(); diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index ec02b4b92..f287c17ed 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -1,15 +1,23 @@ +import * as Sentry from '@sentry/sveltekit'; +import { sequence } from '@sveltejs/kit/hooks'; import { API_ROOT } from '$lib/api/adapters/apiRoute/apiRoutes'; import { defaultLocale, loadTranslations, locales } from '$lib/i18n'; import { matchLocale, parseAcceptedLanguages } from '$lib/i18n/utils'; +import { constants } from '$lib/utils/constants'; import { logDebugError } from '$lib/utils/logger'; import type { Handle, HandleServerError } from '@sveltejs/kit'; +Sentry.init({ + dsn: constants.PUBLIC_FRONTEND_SENTRY_DSN, + tracesSampleRate: 1 +}); + // Handle and handleError based on sveltekit-i18n examples: https://github.com/sveltekit-i18n/lib/blob/master/examples/locale-router-advanced/src/hooks.server.js /** Set to `true` to show debug log in console */ const DEBUG = false; -export const handle: Handle = (async ({ event, resolve }) => { +export const handle: Handle = sequence(Sentry.sentryHandle(), (async ({ event, resolve }) => { const { params, route, url, request, isDataRequest } = event; const { pathname, search } = url; const requestedLocale = params.lang; @@ -111,7 +119,7 @@ export const handle: Handle = (async ({ event, resolve }) => { transformPageChunk: ({ html }) => html.replace('%lang%', `${servedLocale}`) } ); -}) satisfies Handle; +}) satisfies Handle); export const handleError = (async ({ error, event }) => { const { locals } = event; diff --git a/frontend/src/lib/utils/constants.ts b/frontend/src/lib/utils/constants.ts index 40d42a8ca..809a379af 100644 --- a/frontend/src/lib/utils/constants.ts +++ b/frontend/src/lib/utils/constants.ts @@ -5,5 +5,6 @@ export const constants: Record = { PUBLIC_SERVER_BACKEND_URL: env.PUBLIC_SERVER_BACKEND_URL, PUBLIC_IDENTITY_PROVIDER_CLIENT_ID: env.PUBLIC_IDENTITY_PROVIDER_CLIENT_ID, PUBLIC_IDENTITY_PROVIDER_AUTHORIZATION_ENDPOINT: env.PUBLIC_IDENTITY_PROVIDER_AUTHORIZATION_ENDPOINT, - PUBLIC_DEBUG: env.PUBLIC_DEBUG + PUBLIC_DEBUG: env.PUBLIC_DEBUG, + PUBLIC_FRONTEND_SENTRY_DSN: env.PUBLIC_FRONTEND_SENTRY_DSN }; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 948995d01..d24c6717f 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -1,3 +1,4 @@ +import { sentrySvelteKit } from '@sentry/sveltekit'; import { sveltekit } from '@sveltejs/kit/vite'; import viteTsConfigPaths from 'vite-tsconfig-paths'; import type { UserConfig } from 'vite'; @@ -6,7 +7,18 @@ const config: UserConfig = { resolve: { preserveSymlinks: true }, - plugins: [sveltekit(), viteTsConfigPaths()], + + plugins: [ + sentrySvelteKit({ + sourceMapsUploadOptions: { + org: 'openvaa', + project: 'openvaa-frontend' + } + }), + sveltekit(), + viteTsConfigPaths() + ], + server: { port: Number(process.env.FRONTEND_PORT) } diff --git a/yarn.lock b/yarn.lock index 8c3a58f90..8eed1d993 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1214,6 +1214,13 @@ __metadata: languageName: node linkType: hard +"@babel/compat-data@npm:^7.26.8": + version: 7.26.8 + resolution: "@babel/compat-data@npm:7.26.8" + checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca + languageName: node + linkType: hard + "@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9, @babel/core@npm:^7.26.0": version: 7.26.0 resolution: "@babel/core@npm:7.26.0" @@ -1237,6 +1244,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.18.5": + version: 7.26.10 + resolution: "@babel/core@npm:7.26.10" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.10" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.10" + "@babel/parser": "npm:^7.26.10" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.10" + "@babel/types": "npm:^7.26.10" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/e046e0e988ab53841b512ee9d263ca409f6c46e2a999fe53024688b92db394346fa3aeae5ea0866331f62133982eee05a675d22922a4603c3f603aa09a581d62 + languageName: node + linkType: hard + "@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.3, @babel/generator@npm:^7.7.2": version: 7.26.3 resolution: "@babel/generator@npm:7.26.3" @@ -1250,6 +1280,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/generator@npm:7.27.0" + dependencies: + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^3.0.2" + checksum: 10c0/7cb10693d2b365c278f109a745dc08856cae139d262748b77b70ce1d97da84627f79648cab6940d847392c0e5d180441669ed958b3aee98d9c7d274b37c553bd + languageName: node + linkType: hard + "@babel/helper-compilation-targets@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-compilation-targets@npm:7.25.9" @@ -1263,6 +1306,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-compilation-targets@npm:^7.26.5": + version: 7.27.0 + resolution: "@babel/helper-compilation-targets@npm:7.27.0" + dependencies: + "@babel/compat-data": "npm:^7.26.8" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/375c9f80e6540118f41bd53dd54d670b8bf91235d631bdead44c8b313b26e9cd89aed5c6df770ad13a87a464497b5346bb72b9462ba690473da422f5402618b6 + languageName: node + linkType: hard + "@babel/helper-module-imports@npm:^7.16.7, @babel/helper-module-imports@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-module-imports@npm:7.25.9" @@ -1324,6 +1380,27 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.26.10": + version: 7.27.0 + resolution: "@babel/helpers@npm:7.27.0" + dependencies: + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10c0/a3c64fd2d8b164c041808826cc00769d814074ea447daaacaf2e3714b66d3f4237ef6e420f61d08f463d6608f3468c2ac5124ab7c68f704e20384def5ade95f4 + languageName: node + linkType: hard + +"@babel/parser@npm:7.26.9": + version: 7.26.9 + resolution: "@babel/parser@npm:7.26.9" + dependencies: + "@babel/types": "npm:^7.26.9" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/4b9ef3c9a0d4c328e5e5544f50fe8932c36f8a2c851e7f14a85401487cd3da75cad72c2e1bcec1eac55599a6bbb2fdc091f274c4fcafa6bdd112d4915ff087fc + languageName: node + linkType: hard + "@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3": version: 7.26.3 resolution: "@babel/parser@npm:7.26.3" @@ -1335,6 +1412,17 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/parser@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.27.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/ba2ed3f41735826546a3ef2a7634a8d10351df221891906e59b29b0a0cd748f9b0e7a6f07576858a9de8e77785aad925c8389ddef146de04ea2842047c9d2859 + languageName: node + linkType: hard + "@babel/plugin-syntax-async-generators@npm:^7.8.4": version: 7.8.4 resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" @@ -1564,6 +1652,17 @@ __metadata: languageName: node linkType: hard +"@babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/template@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + checksum: 10c0/13af543756127edb5f62bf121f9b093c09a2b6fe108373887ccffc701465cfbcb17e07cf48aa7f440415b263f6ec006e9415c79dfc2e8e6010b069435f81f340 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.25.9": version: 7.26.4 resolution: "@babel/traverse@npm:7.26.4" @@ -1579,6 +1678,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.26.10": + version: 7.27.0 + resolution: "@babel/traverse@npm:7.27.0" + dependencies: + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.27.0" + "@babel/parser": "npm:^7.27.0" + "@babel/template": "npm:^7.27.0" + "@babel/types": "npm:^7.27.0" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/c7af29781960dacaae51762e8bc6c4b13d6ab4b17312990fbca9fc38e19c4ad7fecaae24b1cf52fb844e8e6cdc76c70ad597f90e496bcb3cc0a1d66b41a0aa5b + languageName: node + linkType: hard + "@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.3.3": version: 7.26.3 resolution: "@babel/types@npm:7.26.3" @@ -1589,6 +1703,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/types@npm:7.27.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/6f1592eabe243c89a608717b07b72969be9d9d2fce1dee21426238757ea1fa60fdfc09b29de9e48d8104311afc6e6fb1702565a9cc1e09bc1e76f2b2ddb0f6e1 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -3955,6 +4079,407 @@ __metadata: languageName: node linkType: hard +"@opentelemetry/api-logs@npm:0.57.2": + version: 0.57.2 + resolution: "@opentelemetry/api-logs@npm:0.57.2" + dependencies: + "@opentelemetry/api": "npm:^1.3.0" + checksum: 10c0/1e514d3fd4ca68e7e8b008794a95ee0562a5d9e1d3ebb02647b245afaa6c2d72cc14e99e3ea47a1d1007f8a965c62bfb6170e1aa26756230bea063cfde2898bf + languageName: node + linkType: hard + +"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.9.0": + version: 1.9.0 + resolution: "@opentelemetry/api@npm:1.9.0" + checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add + languageName: node + linkType: hard + +"@opentelemetry/context-async-hooks@npm:^1.30.1": + version: 1.30.1 + resolution: "@opentelemetry/context-async-hooks@npm:1.30.1" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10c0/3e8114d360060a5225226d2fcd8df08cd542246003790a7f011c0774bc60b8a931f46f4c6673f3977a7d9bba717de6ee028cae51b752c2567053d7f46ed3eba3 + languageName: node + linkType: hard + +"@opentelemetry/core@npm:1.30.1, @opentelemetry/core@npm:^1.1.0, @opentelemetry/core@npm:^1.26.0, @opentelemetry/core@npm:^1.30.1, @opentelemetry/core@npm:^1.8.0": + version: 1.30.1 + resolution: "@opentelemetry/core@npm:1.30.1" + dependencies: + "@opentelemetry/semantic-conventions": "npm:1.28.0" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10c0/4c25ba50a6137c2ba9ca563fb269378f3c9ca6fd1b3f15dbb6eff78eebf5656f281997cbb7be8e51c01649fd6ad091083fcd8a42dd9b5dfac907dc06d7cfa092 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-amqplib@npm:^0.46.1": + version: 0.46.1 + resolution: "@opentelemetry/instrumentation-amqplib@npm:0.46.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/4a8b870ccaa64cfd200663ec14385aca7eeb7146124d82e566f3d48678f237c9a56661ae3401345fe0dce5c56366ae02a312dc7905eb4fd6e073df2cface30fb + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-connect@npm:0.43.1": + version: 0.43.1 + resolution: "@opentelemetry/instrumentation-connect@npm:0.43.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + "@types/connect": "npm:3.4.38" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/a7e2629fbfa775f2d1a6b2c9387e27809db16177cf6de89159017d7353c270c6c84d81550c58ccc51ea72c2304b1fcb911499440451d8df6954cc1f4e654eb64 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-dataloader@npm:0.16.1": + version: 0.16.1 + resolution: "@opentelemetry/instrumentation-dataloader@npm:0.16.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/83bd0267672cc3e8709401e1f107612aed3bb72faedfed76fe25e174b19c41f65d503bc3a666ba0872bbef8c31adcefb8884982f785fa3b0df28eec40b6578aa + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-express@npm:0.47.1": + version: 0.47.1 + resolution: "@opentelemetry/instrumentation-express@npm:0.47.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/eca448eb088857c7c0c7d0a1875b9e20a990b23e2f64355d2e645618d3f5c038efb9d605009a6d8fa1e05243d0ccef14b9aa1effffee693fd071de3cc39ad3d1 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-fastify@npm:0.44.2": + version: 0.44.2 + resolution: "@opentelemetry/instrumentation-fastify@npm:0.44.2" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/2306bbf9b59e5d29002b9c14493de92817e268c92587b285a0a4bbeece4a3f791db8e0d1be0e22ad9f6a97075071aa5c3269cf2d219e378480dc1ceafbf2927c + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-fs@npm:0.19.1": + version: 0.19.1 + resolution: "@opentelemetry/instrumentation-fs@npm:0.19.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/8bf714658c0fcc34ba7db4c28af3196690f756a9b4fb6d1b6cab59938a7b5c1e40e834c518b39085e744915c0c384ca6d997a8a97901955732acf3af0cba6e7f + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-generic-pool@npm:0.43.1": + version: 0.43.1 + resolution: "@opentelemetry/instrumentation-generic-pool@npm:0.43.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/bdc95146d1f6f5dcf5922af8161c4954b9feeb505a01c5e61b1246ed67909dc1f6e72ad067839f085a4977e863246e7e4b468c814cf4104f35fcc20fb570eac2 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-graphql@npm:0.47.1": + version: 0.47.1 + resolution: "@opentelemetry/instrumentation-graphql@npm:0.47.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/d5cfeb668b5ea4e4d97d8433c642457ac9f7f2023278a84a183b4c4c2cc43bbae3eac916ff7176ef8492661877560b519663c52eb2fad0a8a1f00718a0449aa6 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-hapi@npm:0.45.2": + version: 0.45.2 + resolution: "@opentelemetry/instrumentation-hapi@npm:0.45.2" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/bb491327ce86d8f1f7e2a12621a00dbf921e1fc3e9b64f975fc23e443d92bcd6ef779b34349214871763d459650da219c5e23bb1fdd1bc261fa0f92190521b2e + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-http@npm:0.57.2": + version: 0.57.2 + resolution: "@opentelemetry/instrumentation-http@npm:0.57.2" + dependencies: + "@opentelemetry/core": "npm:1.30.1" + "@opentelemetry/instrumentation": "npm:0.57.2" + "@opentelemetry/semantic-conventions": "npm:1.28.0" + forwarded-parse: "npm:2.1.2" + semver: "npm:^7.5.2" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/b95a1b61cddabd32358fa565a4fcf5c17e8340907b171dcdf2a104533c9afdee821efa7b82dabb3123318dcc66272b0a7b8c37c44fc87e593cb8138a7a63fc23 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-ioredis@npm:0.47.1": + version: 0.47.1 + resolution: "@opentelemetry/instrumentation-ioredis@npm:0.47.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/redis-common": "npm:^0.36.2" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/ec741778041cecc133a143292d66631c99311bf098db8f03276a48b87fe18826eec4513e4de70bb555ef50268db6520442e9a2f7752f7ea9b5a3e8363fecb8c9 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-kafkajs@npm:0.7.1": + version: 0.7.1 + resolution: "@opentelemetry/instrumentation-kafkajs@npm:0.7.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/440a479ec65414da706f15b5c2ff82235ea8b11701e811ae235af5e8f01bee7e639223243e9f18550ce55cc94b8cdaa8a72297ded55f1c7993f1d95488c2b02e + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-knex@npm:0.44.1": + version: 0.44.1 + resolution: "@opentelemetry/instrumentation-knex@npm:0.44.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/75dcbda2c412cc448ac95238899d92846bda14bb21a1c9e9bc0c51fd48dcedb6064c2a8ab9e53d112945748d50513ecda13afbc4c0f24a884674d2a485f0efcd + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-koa@npm:0.47.1": + version: 0.47.1 + resolution: "@opentelemetry/instrumentation-koa@npm:0.47.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/a1c5433da1265f1f8da3e46ebe085a3ddba3e16f43c5f44bd41082a0839f6bdf9a6a737b80b0d2f2a05d1ef2c23e2b0a4f7e55858bf1e32570b4c150c69135bc + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-lru-memoizer@npm:0.44.1": + version: 0.44.1 + resolution: "@opentelemetry/instrumentation-lru-memoizer@npm:0.44.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/5728d0b6ed560ba8426546ab30ef251cbe9f25a130abc8bea0d7635b51cc29fbade4d00c7b1869fa0543fe54891799483fe0f6fb4073d1bf5d12dbdd543aaae5 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-mongodb@npm:0.52.0": + version: 0.52.0 + resolution: "@opentelemetry/instrumentation-mongodb@npm:0.52.0" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/dcd072a296369a6b254a809e3708e5f9842ac9f8c61700bfa2014872fa6e6ca65adfa5efdbf9021df57e749dea2cddd828351e73cb581370b8b97693c06df7e8 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-mongoose@npm:0.46.1": + version: 0.46.1 + resolution: "@opentelemetry/instrumentation-mongoose@npm:0.46.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/69378d41df172c2edb8b36042e751936837bb1cbee11ee72a3d1608c6d7f609d79beec2020b25de72086553ad9d85347642c4066e0b4e96d442513b29ac4f0aa + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-mysql2@npm:0.45.2": + version: 0.45.2 + resolution: "@opentelemetry/instrumentation-mysql2@npm:0.45.2" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + "@opentelemetry/sql-common": "npm:^0.40.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/8ac62064b32facfddd7d47ba0bce9689d2277ba4ef74348655faffe818522c919654c5bf1a5fac211a75f2093fbd588a14cba278c353da2f60d1919d58d419aa + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-mysql@npm:0.45.1": + version: 0.45.1 + resolution: "@opentelemetry/instrumentation-mysql@npm:0.45.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + "@types/mysql": "npm:2.15.26" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/c820a6929fe2e010dacb8962d40fdb8c9ac95c265efc74f478eadc021b2a3add9ce8d303c4bda20af01327564f487c9e052e710d9e975d7f17a5918d802d7ae4 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-pg@npm:0.51.1": + version: 0.51.1 + resolution: "@opentelemetry/instrumentation-pg@npm:0.51.1" + dependencies: + "@opentelemetry/core": "npm:^1.26.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + "@opentelemetry/sql-common": "npm:^0.40.1" + "@types/pg": "npm:8.6.1" + "@types/pg-pool": "npm:2.0.6" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/fff3dcc092b959601a20c20e19c27d39d6386e6bc2b7014c1be5a5e22c0e275bf9980dad758b1f7824b1448a6178e13938b6bb2da53095f410fbb4d248b5ede6 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-redis-4@npm:0.46.1": + version: 0.46.1 + resolution: "@opentelemetry/instrumentation-redis-4@npm:0.46.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/redis-common": "npm:^0.36.2" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/df0bdd865e254c9b4c0339ce5aabf3698d99b8ab8cf8ea1aa57ffa13620f2193fda247ed43ec4ccc6edadab1ffec5cc263038ab6f3c9e96ef000ee232b9181f8 + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-tedious@npm:0.18.1": + version: 0.18.1 + resolution: "@opentelemetry/instrumentation-tedious@npm:0.18.1" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.57.1" + "@opentelemetry/semantic-conventions": "npm:^1.27.0" + "@types/tedious": "npm:^4.0.14" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/fda9ac4dc89998a2cf739a70f06b1d6eebf98fe22713dc3fbca4a1119dc289d83c91ada4a3cea37f39a34c69978ae21ff9b599c27beaee128879b993677696dc + languageName: node + linkType: hard + +"@opentelemetry/instrumentation-undici@npm:0.10.1": + version: 0.10.1 + resolution: "@opentelemetry/instrumentation-undici@npm:0.10.1" + dependencies: + "@opentelemetry/core": "npm:^1.8.0" + "@opentelemetry/instrumentation": "npm:^0.57.1" + peerDependencies: + "@opentelemetry/api": ^1.7.0 + checksum: 10c0/3958f291d14f2f7bb5e3b957487444ffee449d8ea76c973ca09b9669258d37e98b3797c7167190c5038802529cc6b539bdf6efc7887398ec9b53d3ba51c90bda + languageName: node + linkType: hard + +"@opentelemetry/instrumentation@npm:0.57.2, @opentelemetry/instrumentation@npm:^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0, @opentelemetry/instrumentation@npm:^0.57.1, @opentelemetry/instrumentation@npm:^0.57.2": + version: 0.57.2 + resolution: "@opentelemetry/instrumentation@npm:0.57.2" + dependencies: + "@opentelemetry/api-logs": "npm:0.57.2" + "@types/shimmer": "npm:^1.2.0" + import-in-the-middle: "npm:^1.8.1" + require-in-the-middle: "npm:^7.1.1" + semver: "npm:^7.5.2" + shimmer: "npm:^1.2.1" + peerDependencies: + "@opentelemetry/api": ^1.3.0 + checksum: 10c0/79ca65b66357665d19f89da7027da25ea1c6b55ecdacb0a99534923743c80deb9282870db563de8ae284b13e7e0aab8413efa1937f199deeaef069e07c7e4875 + languageName: node + linkType: hard + +"@opentelemetry/redis-common@npm:^0.36.2": + version: 0.36.2 + resolution: "@opentelemetry/redis-common@npm:0.36.2" + checksum: 10c0/4cb831628551b9f13dca8d65897e300ff7be0e256b77f455a26fb053bbdfc7997b27d066ab1402ca929e7ac77598e0d593f91762d8af9f798c19ba1524e9d078 + languageName: node + linkType: hard + +"@opentelemetry/resources@npm:1.30.1, @opentelemetry/resources@npm:^1.30.1": + version: 1.30.1 + resolution: "@opentelemetry/resources@npm:1.30.1" + dependencies: + "@opentelemetry/core": "npm:1.30.1" + "@opentelemetry/semantic-conventions": "npm:1.28.0" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10c0/688e73258283c80662bfa9a858aaf73bf3b832a18d96e546d0dddfa6dcec556cdfa087a1d0df643435293406009e4122d7fb7eeea69aa87b539d3bab756fba74 + languageName: node + linkType: hard + +"@opentelemetry/sdk-trace-base@npm:^1.30.1": + version: 1.30.1 + resolution: "@opentelemetry/sdk-trace-base@npm:1.30.1" + dependencies: + "@opentelemetry/core": "npm:1.30.1" + "@opentelemetry/resources": "npm:1.30.1" + "@opentelemetry/semantic-conventions": "npm:1.28.0" + peerDependencies: + "@opentelemetry/api": ">=1.0.0 <1.10.0" + checksum: 10c0/77019dc3efaeceb41b4c54dd83b92f0ccd81ecceca544cbbe8e0aee4b2c8727724bdb9dcecfe00622c16d60946ae4beb69a5c0e7d85c4bc7ef425bd84f8b970c + languageName: node + linkType: hard + +"@opentelemetry/semantic-conventions@npm:1.28.0": + version: 1.28.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.28.0" + checksum: 10c0/deb8a0f744198071e70fea27143cf7c9f7ecb7e4d7b619488c917834ea09b31543c1c2bcea4ec5f3cf68797f0ef3549609c14e859013d9376400ac1499c2b9cb + languageName: node + linkType: hard + +"@opentelemetry/semantic-conventions@npm:^1.27.0, @opentelemetry/semantic-conventions@npm:^1.30.0": + version: 1.32.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.32.0" + checksum: 10c0/977c93225490f2456e8bb13b90a8627861207eb5eb4771d7565c2321be883ec711c1701485451f9e10b8d2a724525496c0e4441b43190a7a550bcf7c73f681cd + languageName: node + linkType: hard + +"@opentelemetry/sql-common@npm:^0.40.1": + version: 0.40.1 + resolution: "@opentelemetry/sql-common@npm:0.40.1" + dependencies: + "@opentelemetry/core": "npm:^1.1.0" + peerDependencies: + "@opentelemetry/api": ^1.1.0 + checksum: 10c0/60a70358f0c94f610e2995333e96b406626d67d03d38ed03b15a3461ad0f8d64afbf6275cca7cb58fe955ecdce832f3ffc9b73f9d88503bba5d2a620bbd6d351 + languageName: node + linkType: hard + "@openvaa/app-shared@workspace:^, @openvaa/app-shared@workspace:packages/app-shared": version: 0.0.0-use.local resolution: "@openvaa/app-shared@workspace:packages/app-shared" @@ -4018,6 +4543,7 @@ __metadata: "@openvaa/filters": "workspace:^" "@openvaa/matching": "workspace:^" "@openvaa/shared-config": "workspace:^" + "@sentry/sveltekit": "npm:^9" "@sveltejs/adapter-auto": "npm:^3.3.1" "@sveltejs/adapter-node": "npm:^5.2.11" "@sveltejs/kit": "npm:^2.15.2" @@ -4263,6 +4789,17 @@ __metadata: languageName: node linkType: hard +"@prisma/instrumentation@npm:6.5.0": + version: 6.5.0 + resolution: "@prisma/instrumentation@npm:6.5.0" + dependencies: + "@opentelemetry/instrumentation": "npm:^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" + peerDependencies: + "@opentelemetry/api": ^1.8 + checksum: 10c0/b9223ccc437d0f1f82f8ea8ce50befed18d5337b1079f7a652a0c4e6d9645bcae3ccaf124cc90b94d336b47f195f4bf7b1c4513fac3cb07a8952df576c5b891b + languageName: node + linkType: hard + "@radix-ui/number@npm:1.0.1": version: 1.0.1 resolution: "@radix-ui/number@npm:1.0.1" @@ -5519,43 +6056,217 @@ __metadata: languageName: node linkType: hard -"@rushstack/ts-command-line@npm:^4.12.2": - version: 4.23.2 - resolution: "@rushstack/ts-command-line@npm:4.23.2" - dependencies: - "@rushstack/terminal": "npm:0.14.4" - "@types/argparse": "npm:1.0.38" - argparse: "npm:~1.0.9" - string-argv: "npm:~0.3.1" - checksum: 10c0/33e9b65f42d8e3add8b428bd8a1052f66c95baa15d6f3b17962b8fb4fa1042ce6281acb07550adef084192a37e327ab00dd96ce5617431b26ded1940ec1563a9 +"@rushstack/ts-command-line@npm:^4.12.2": + version: 4.23.2 + resolution: "@rushstack/ts-command-line@npm:4.23.2" + dependencies: + "@rushstack/terminal": "npm:0.14.4" + "@types/argparse": "npm:1.0.38" + argparse: "npm:~1.0.9" + string-argv: "npm:~0.3.1" + checksum: 10c0/33e9b65f42d8e3add8b428bd8a1052f66c95baa15d6f3b17962b8fb4fa1042ce6281acb07550adef084192a37e327ab00dd96ce5617431b26ded1940ec1563a9 + languageName: node + linkType: hard + +"@sec-ant/readable-stream@npm:^0.4.1": + version: 0.4.1 + resolution: "@sec-ant/readable-stream@npm:0.4.1" + checksum: 10c0/64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af + languageName: node + linkType: hard + +"@selderee/plugin-htmlparser2@npm:^0.11.0": + version: 0.11.0 + resolution: "@selderee/plugin-htmlparser2@npm:0.11.0" + dependencies: + domhandler: "npm:^5.0.3" + selderee: "npm:^0.11.0" + checksum: 10c0/e938ba9aeb31a9cf30dcb2977ef41685c598bf744bedc88c57aa9e8b7e71b51781695cf99c08aac50773fd7714eba670bd2a079e46db0788abe40c6d220084eb + languageName: node + linkType: hard + +"@sentry-internal/browser-utils@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry-internal/browser-utils@npm:9.13.0" + dependencies: + "@sentry/core": "npm:9.13.0" + checksum: 10c0/d66703f64ea91f6a05a4ec8d96f35f9f89d9e5d9ca122d09dafb04f6af82b20214dc117f84aeca76adfed2155e2fda374336a1362ad31b6cc5e76ef5ae372d77 + languageName: node + linkType: hard + +"@sentry-internal/feedback@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry-internal/feedback@npm:9.13.0" + dependencies: + "@sentry/core": "npm:9.13.0" + checksum: 10c0/905b9a45f1c411b3a267f9a28fe8677fbab50819e8a35c4571cb9415088122dbf8e8649d65d608d00c2a0365d438faedcdbb709f77cf1fa141bbea0ee09a6899 + languageName: node + linkType: hard + +"@sentry-internal/replay-canvas@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry-internal/replay-canvas@npm:9.13.0" + dependencies: + "@sentry-internal/replay": "npm:9.13.0" + "@sentry/core": "npm:9.13.0" + checksum: 10c0/17586760e801044ed9c240f991a372f24647f8f720a1b5fecc8796e2a4205226905056327d5786864d42aa1f3f16592dbd7041637681358e9ed4b0fd1a1b05bd + languageName: node + linkType: hard + +"@sentry-internal/replay@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry-internal/replay@npm:9.13.0" + dependencies: + "@sentry-internal/browser-utils": "npm:9.13.0" + "@sentry/core": "npm:9.13.0" + checksum: 10c0/1a1441ca164ceea4aa30b5217acdd27a8f639d6670241ea24fbed7dcb8e61fefb7ac41543eecd61be620884fb205abacf90aa4efc909a9194b175586db3e628a + languageName: node + linkType: hard + +"@sentry-internal/tracing@npm:7.112.2": + version: 7.112.2 + resolution: "@sentry-internal/tracing@npm:7.112.2" + dependencies: + "@sentry/core": "npm:7.112.2" + "@sentry/types": "npm:7.112.2" + "@sentry/utils": "npm:7.112.2" + checksum: 10c0/bca1681cd5d687614ff1888fff227b41aa0e61a46895a673102bf6913595c8c6de7b71294422c9b50bfa07a66021c20aa4292c1d3a460bca4be27042cb549efe + languageName: node + linkType: hard + +"@sentry/babel-plugin-component-annotate@npm:3.2.4": + version: 3.2.4 + resolution: "@sentry/babel-plugin-component-annotate@npm:3.2.4" + checksum: 10c0/daa7ead153a4da2ec7686a61ab4730d38a5ac70749521a8c86658d56cb48b465a6beb5458d08446a178cdad6a25297b74461e6205abed64a469ea823f930065f + languageName: node + linkType: hard + +"@sentry/browser@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry/browser@npm:9.13.0" + dependencies: + "@sentry-internal/browser-utils": "npm:9.13.0" + "@sentry-internal/feedback": "npm:9.13.0" + "@sentry-internal/replay": "npm:9.13.0" + "@sentry-internal/replay-canvas": "npm:9.13.0" + "@sentry/core": "npm:9.13.0" + checksum: 10c0/0e1126be2546c9f99d2c883e8f1f1ede427e186d05f7d940f8e5374757a884d4e82a193da29face5cf07c3f1ec05206d09a04ceebd264b77419c92096de76162 + languageName: node + linkType: hard + +"@sentry/bundler-plugin-core@npm:3.2.4": + version: 3.2.4 + resolution: "@sentry/bundler-plugin-core@npm:3.2.4" + dependencies: + "@babel/core": "npm:^7.18.5" + "@sentry/babel-plugin-component-annotate": "npm:3.2.4" + "@sentry/cli": "npm:2.42.2" + dotenv: "npm:^16.3.1" + find-up: "npm:^5.0.0" + glob: "npm:^9.3.2" + magic-string: "npm:0.30.8" + unplugin: "npm:1.0.1" + checksum: 10c0/806b88d31c55ede33e5f9ace7e91037b181f94a551e5ce29d47ae82db3c70bc51257de87fed71f3d2aff8821ba92499b456e8b7e972a0fb40fe55c8269d62ea4 + languageName: node + linkType: hard + +"@sentry/cli-darwin@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-darwin@npm:2.42.2" + conditions: os=darwin + languageName: node + linkType: hard + +"@sentry/cli-linux-arm64@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-linux-arm64@npm:2.42.2" + conditions: (os=linux | os=freebsd) & cpu=arm64 + languageName: node + linkType: hard + +"@sentry/cli-linux-arm@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-linux-arm@npm:2.42.2" + conditions: (os=linux | os=freebsd) & cpu=arm + languageName: node + linkType: hard + +"@sentry/cli-linux-i686@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-linux-i686@npm:2.42.2" + conditions: (os=linux | os=freebsd) & (cpu=x86 | cpu=ia32) + languageName: node + linkType: hard + +"@sentry/cli-linux-x64@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-linux-x64@npm:2.42.2" + conditions: (os=linux | os=freebsd) & cpu=x64 languageName: node linkType: hard -"@sec-ant/readable-stream@npm:^0.4.1": - version: 0.4.1 - resolution: "@sec-ant/readable-stream@npm:0.4.1" - checksum: 10c0/64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af +"@sentry/cli-win32-i686@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-win32-i686@npm:2.42.2" + conditions: os=win32 & (cpu=x86 | cpu=ia32) languageName: node linkType: hard -"@selderee/plugin-htmlparser2@npm:^0.11.0": - version: 0.11.0 - resolution: "@selderee/plugin-htmlparser2@npm:0.11.0" +"@sentry/cli-win32-x64@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli-win32-x64@npm:2.42.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sentry/cli@npm:2.42.2": + version: 2.42.2 + resolution: "@sentry/cli@npm:2.42.2" dependencies: - domhandler: "npm:^5.0.3" - selderee: "npm:^0.11.0" - checksum: 10c0/e938ba9aeb31a9cf30dcb2977ef41685c598bf744bedc88c57aa9e8b7e71b51781695cf99c08aac50773fd7714eba670bd2a079e46db0788abe40c6d220084eb + "@sentry/cli-darwin": "npm:2.42.2" + "@sentry/cli-linux-arm": "npm:2.42.2" + "@sentry/cli-linux-arm64": "npm:2.42.2" + "@sentry/cli-linux-i686": "npm:2.42.2" + "@sentry/cli-linux-x64": "npm:2.42.2" + "@sentry/cli-win32-i686": "npm:2.42.2" + "@sentry/cli-win32-x64": "npm:2.42.2" + https-proxy-agent: "npm:^5.0.0" + node-fetch: "npm:^2.6.7" + progress: "npm:^2.0.3" + proxy-from-env: "npm:^1.1.0" + which: "npm:^2.0.2" + dependenciesMeta: + "@sentry/cli-darwin": + optional: true + "@sentry/cli-linux-arm": + optional: true + "@sentry/cli-linux-arm64": + optional: true + "@sentry/cli-linux-i686": + optional: true + "@sentry/cli-linux-x64": + optional: true + "@sentry/cli-win32-i686": + optional: true + "@sentry/cli-win32-x64": + optional: true + bin: + sentry-cli: bin/sentry-cli + checksum: 10c0/286910a194a386b9f21ef9e6dc171cbba35f1db09cb3bd53f19724ccf08b0819fb1c35e7fd2e7844da24a28428ca94ff3be7ae85f14056d6e6fc0193976d3815 languageName: node linkType: hard -"@sentry-internal/tracing@npm:7.112.2": - version: 7.112.2 - resolution: "@sentry-internal/tracing@npm:7.112.2" +"@sentry/cloudflare@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry/cloudflare@npm:9.13.0" dependencies: - "@sentry/core": "npm:7.112.2" - "@sentry/types": "npm:7.112.2" - "@sentry/utils": "npm:7.112.2" - checksum: 10c0/bca1681cd5d687614ff1888fff227b41aa0e61a46895a673102bf6913595c8c6de7b71294422c9b50bfa07a66021c20aa4292c1d3a460bca4be27042cb549efe + "@sentry/core": "npm:9.13.0" + peerDependencies: + "@cloudflare/workers-types": ^4.x + peerDependenciesMeta: + "@cloudflare/workers-types": + optional: true + checksum: 10c0/8df3620bfd7b204e3d0b86c48e1b1fd073c0d5555d32f001dd15eea09222fc6a5c8a1e5852c9d501edac0c990f4595b9dd5886ad479205175e8c7386857a2991 languageName: node linkType: hard @@ -5569,6 +6280,13 @@ __metadata: languageName: node linkType: hard +"@sentry/core@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry/core@npm:9.13.0" + checksum: 10c0/20f566732b8caa59dd5fb1841f3708f38740c4aa78746964a538381985d66d50e4904061ebec083f72092bc656750e51c44b1287282b3ed52b4107530bc49fdc + languageName: node + linkType: hard + "@sentry/integrations@npm:7.112.2": version: 7.112.2 resolution: "@sentry/integrations@npm:7.112.2" @@ -5594,6 +6312,101 @@ __metadata: languageName: node linkType: hard +"@sentry/node@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry/node@npm:9.13.0" + dependencies: + "@opentelemetry/api": "npm:^1.9.0" + "@opentelemetry/context-async-hooks": "npm:^1.30.1" + "@opentelemetry/core": "npm:^1.30.1" + "@opentelemetry/instrumentation": "npm:^0.57.2" + "@opentelemetry/instrumentation-amqplib": "npm:^0.46.1" + "@opentelemetry/instrumentation-connect": "npm:0.43.1" + "@opentelemetry/instrumentation-dataloader": "npm:0.16.1" + "@opentelemetry/instrumentation-express": "npm:0.47.1" + "@opentelemetry/instrumentation-fastify": "npm:0.44.2" + "@opentelemetry/instrumentation-fs": "npm:0.19.1" + "@opentelemetry/instrumentation-generic-pool": "npm:0.43.1" + "@opentelemetry/instrumentation-graphql": "npm:0.47.1" + "@opentelemetry/instrumentation-hapi": "npm:0.45.2" + "@opentelemetry/instrumentation-http": "npm:0.57.2" + "@opentelemetry/instrumentation-ioredis": "npm:0.47.1" + "@opentelemetry/instrumentation-kafkajs": "npm:0.7.1" + "@opentelemetry/instrumentation-knex": "npm:0.44.1" + "@opentelemetry/instrumentation-koa": "npm:0.47.1" + "@opentelemetry/instrumentation-lru-memoizer": "npm:0.44.1" + "@opentelemetry/instrumentation-mongodb": "npm:0.52.0" + "@opentelemetry/instrumentation-mongoose": "npm:0.46.1" + "@opentelemetry/instrumentation-mysql": "npm:0.45.1" + "@opentelemetry/instrumentation-mysql2": "npm:0.45.2" + "@opentelemetry/instrumentation-pg": "npm:0.51.1" + "@opentelemetry/instrumentation-redis-4": "npm:0.46.1" + "@opentelemetry/instrumentation-tedious": "npm:0.18.1" + "@opentelemetry/instrumentation-undici": "npm:0.10.1" + "@opentelemetry/resources": "npm:^1.30.1" + "@opentelemetry/sdk-trace-base": "npm:^1.30.1" + "@opentelemetry/semantic-conventions": "npm:^1.30.0" + "@prisma/instrumentation": "npm:6.5.0" + "@sentry/core": "npm:9.13.0" + "@sentry/opentelemetry": "npm:9.13.0" + import-in-the-middle: "npm:^1.13.0" + checksum: 10c0/6f6f2b3961c855409f30ab1cd068f499ef331fe58934c7af1bbb5bdd6209573a594d945a672c620c93255a4a009dcabe03554b1e9efa20e97b9b5ac05937a9ec + languageName: node + linkType: hard + +"@sentry/opentelemetry@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry/opentelemetry@npm:9.13.0" + dependencies: + "@sentry/core": "npm:9.13.0" + peerDependencies: + "@opentelemetry/api": ^1.9.0 + "@opentelemetry/context-async-hooks": ^1.30.1 + "@opentelemetry/core": ^1.30.1 + "@opentelemetry/instrumentation": ^0.57.1 + "@opentelemetry/sdk-trace-base": ^1.30.1 + "@opentelemetry/semantic-conventions": ^1.28.0 + checksum: 10c0/b57de896f5a76848f38a7af7ea63a6946150d56e7bf5cfdfefd09a44e7fb3b6af60e23ba75f2d14fba296ce8ed0fdb799508d7f7ec058a6b6c2bf37140a2434b + languageName: node + linkType: hard + +"@sentry/svelte@npm:9.13.0": + version: 9.13.0 + resolution: "@sentry/svelte@npm:9.13.0" + dependencies: + "@sentry/browser": "npm:9.13.0" + "@sentry/core": "npm:9.13.0" + magic-string: "npm:^0.30.0" + peerDependencies: + svelte: 3.x || 4.x || 5.x + checksum: 10c0/8ca21b17d93ec180e443b3a938f9441b9022b255d7b35cb7aead14028a26bcac6b580408f93820a39cf8b431490461681e1e13aabca39b8e7d9f17871bcbc47e + languageName: node + linkType: hard + +"@sentry/sveltekit@npm:^9": + version: 9.13.0 + resolution: "@sentry/sveltekit@npm:9.13.0" + dependencies: + "@babel/parser": "npm:7.26.9" + "@sentry/cloudflare": "npm:9.13.0" + "@sentry/core": "npm:9.13.0" + "@sentry/node": "npm:9.13.0" + "@sentry/opentelemetry": "npm:9.13.0" + "@sentry/svelte": "npm:9.13.0" + "@sentry/vite-plugin": "npm:3.2.4" + magic-string: "npm:0.30.7" + recast: "npm:0.23.11" + sorcery: "npm:1.0.0" + peerDependencies: + "@sveltejs/kit": 2.x + vite: "*" + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/8651ffa69e9bec88d64b8d5a697efec6f521cd4d0b2ed3e3e09b385bbda182104b48d4b74d53cfbbd8a9f2657f12ae295364fb3138c9939bc71e76c30c83b636 + languageName: node + linkType: hard + "@sentry/types@npm:7.112.2": version: 7.112.2 resolution: "@sentry/types@npm:7.112.2" @@ -5610,6 +6423,16 @@ __metadata: languageName: node linkType: hard +"@sentry/vite-plugin@npm:3.2.4": + version: 3.2.4 + resolution: "@sentry/vite-plugin@npm:3.2.4" + dependencies: + "@sentry/bundler-plugin-core": "npm:3.2.4" + unplugin: "npm:1.0.1" + checksum: 10c0/f9b4536dc8c43318ce87f8888c6edd546df0040a397c54d1a8cb48a69a2911d86ea0c11018020f91c0a191476a5d7d2dd51efe6c2e55642e4e09a0eed8c6407b + languageName: node + linkType: hard + "@simov/deep-extend@npm:^1.0.0": version: 1.0.0 resolution: "@simov/deep-extend@npm:1.0.0" @@ -8459,7 +9282,7 @@ __metadata: languageName: node linkType: hard -"@types/connect@npm:*": +"@types/connect@npm:*, @types/connect@npm:3.4.38": version: 3.4.38 resolution: "@types/connect@npm:3.4.38" dependencies: @@ -8810,6 +9633,15 @@ __metadata: languageName: node linkType: hard +"@types/mysql@npm:2.15.26": + version: 2.15.26 + resolution: "@types/mysql@npm:2.15.26" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/3cf279e7db05d56c0544532a4380b9079f579092379a04c8138bd5cf88dda5b31208ac2d23ce7dbf4e3a3f43aaeed44e72f9f19f726518f308efe95a7435619a + languageName: node + linkType: hard + "@types/node@npm:*": version: 22.10.2 resolution: "@types/node@npm:22.10.2" @@ -8851,6 +9683,37 @@ __metadata: languageName: node linkType: hard +"@types/pg-pool@npm:2.0.6": + version: 2.0.6 + resolution: "@types/pg-pool@npm:2.0.6" + dependencies: + "@types/pg": "npm:*" + checksum: 10c0/41965d4d0b677c54ce45d36add760e496d356b78019cb062d124af40287cf6b0fd4d86e3b0085f443856c185983a60c8b0795ff76d15683e2a93c62f5ac0125f + languageName: node + linkType: hard + +"@types/pg@npm:*": + version: 8.11.13 + resolution: "@types/pg@npm:8.11.13" + dependencies: + "@types/node": "npm:*" + pg-protocol: "npm:*" + pg-types: "npm:^4.0.1" + checksum: 10c0/a111989a223f21ff864e35150474409e9659766603e4f7a51f89ffc173292adcd895c1551f792aaf1cf94afe99e4bd1dbf7c740252c1dca2a5038f1fd2c6e0bd + languageName: node + linkType: hard + +"@types/pg@npm:8.6.1": + version: 8.6.1 + resolution: "@types/pg@npm:8.6.1" + dependencies: + "@types/node": "npm:*" + pg-protocol: "npm:*" + pg-types: "npm:^2.2.0" + checksum: 10c0/8d16660c9a4f050d6d5e391c59f9a62e9d377a2a6a7eb5865f8828082dbdfeab700fd707e585f42d67b29e796b32863aea5bd6d5cbb8ceda2d598da5d0c61693 + languageName: node + linkType: hard + "@types/progress-stream@npm:^2.0.5": version: 2.0.5 resolution: "@types/progress-stream@npm:2.0.5" @@ -8999,6 +9862,13 @@ __metadata: languageName: node linkType: hard +"@types/shimmer@npm:^1.2.0": + version: 1.2.0 + resolution: "@types/shimmer@npm:1.2.0" + checksum: 10c0/6f7bfe1b55601cfc3ae713fc74a03341f3834253b8b91cb2add926d5949e4a63f7e666f59c2a6e40a883a5f9e2f3e3af10f9d3aed9b60fced0bda87659e58d8d + languageName: node + linkType: hard + "@types/slice-ansi@npm:^4.0.0": version: 4.0.0 resolution: "@types/slice-ansi@npm:4.0.0" @@ -9020,6 +9890,15 @@ __metadata: languageName: node linkType: hard +"@types/tedious@npm:^4.0.14": + version: 4.0.14 + resolution: "@types/tedious@npm:4.0.14" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/d2914f8e9b5b998e4275ec5f0130cba1c2fb47e75616b5c125a65ef6c1db2f1dc3f978c7900693856a15d72bbb4f4e94f805537a4ecb6dc126c64415d31c0590 + languageName: node + linkType: hard + "@types/through@npm:*": version: 0.0.33 resolution: "@types/through@npm:0.0.33" @@ -9584,6 +10463,15 @@ __metadata: languageName: node linkType: hard +"acorn-import-attributes@npm:^1.9.5": + version: 1.9.5 + resolution: "acorn-import-attributes@npm:1.9.5" + peerDependencies: + acorn: ^8 + checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -9611,6 +10499,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.8.1": + version: 8.14.1 + resolution: "acorn@npm:8.14.1" + bin: + acorn: bin/acorn + checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + languageName: node + linkType: hard + "addressparser@npm:1.0.1": version: 1.0.1 resolution: "addressparser@npm:1.0.1" @@ -9989,6 +10886,15 @@ __metadata: languageName: node linkType: hard +"ast-types@npm:^0.16.1": + version: 0.16.1 + resolution: "ast-types@npm:0.16.1" + dependencies: + tslib: "npm:^2.0.1" + checksum: 10c0/abcc49e42eb921a7ebc013d5bec1154651fb6dbc3f497541d488859e681256901b2990b954d530ba0da4d0851271d484f7057d5eff5e07cb73e8b10909f711bf + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -10878,6 +11784,13 @@ __metadata: languageName: node linkType: hard +"cjs-module-lexer@npm:^1.2.2": + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be + languageName: node + linkType: hard + "clean-css@npm:^5.2.2": version: 5.3.3 resolution: "clean-css@npm:5.3.3" @@ -11736,7 +12649,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:~4.4.0": +"debug@npm:4, debug@npm:^4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.7, debug@npm:~4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" dependencies: @@ -12255,6 +13168,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^16.3.1": + version: 16.5.0 + resolution: "dotenv@npm:16.5.0" + checksum: 10c0/5bc94c919fbd955bf0ba44d33922a1e93d1078e64a1db5c30faeded1d996e7a83c55332cb8ea4fae5a9ca4d0be44cbceb95c5811e70f9f095298df09d1997dd9 + languageName: node + linkType: hard + "dotenv@npm:^16.4.7": version: 16.4.7 resolution: "dotenv@npm:16.4.7" @@ -13187,7 +14107,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -13770,6 +14690,13 @@ __metadata: languageName: node linkType: hard +"forwarded-parse@npm:2.1.2": + version: 2.1.2 + resolution: "forwarded-parse@npm:2.1.2" + checksum: 10c0/0c6b4c631775f272b4475e935108635495e8a5b261d1b4a5caef31c47c5a0b04134adc564e655aadfef366a02647fa3ae90a1d3ac19929f3ade47f9bed53036a + languageName: node + linkType: hard + "fraction.js@npm:^4.3.7": version: 4.3.7 resolution: "fraction.js@npm:4.3.7" @@ -14195,7 +15122,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^9.2.0": +"glob@npm:^9.2.0, glob@npm:^9.3.2": version: 9.3.5 resolution: "glob@npm:9.3.5" dependencies: @@ -14925,6 +15852,18 @@ __metadata: languageName: node linkType: hard +"import-in-the-middle@npm:^1.13.0, import-in-the-middle@npm:^1.8.1": + version: 1.13.1 + resolution: "import-in-the-middle@npm:1.13.1" + dependencies: + acorn: "npm:^8.14.0" + acorn-import-attributes: "npm:^1.9.5" + cjs-module-lexer: "npm:^1.2.2" + module-details-from-path: "npm:^1.0.3" + checksum: 10c0/4ef05a924c37ff718dd08654927c90d470d92fd9425d646b0d423aaddc89655848debd14761bcb6efa4f57870d63ff38109bab31ca8a1d9d5df2e7d84d2649cf + languageName: node + linkType: hard + "import-lazy@npm:~4.0.0": version: 4.0.0 resolution: "import-lazy@npm:4.0.0" @@ -17255,7 +18194,25 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.10, magic-string@npm:^0.30.12, magic-string@npm:^0.30.3, magic-string@npm:^0.30.4, magic-string@npm:^0.30.5": +"magic-string@npm:0.30.7": + version: 0.30.7 + resolution: "magic-string@npm:0.30.7" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10c0/d1d949f7a53c37c6e685f4ea7b2b151c2fe0cc5af8f1f979ecba916f7d60d58f35309aaf4c8b09ce1aef7c160b957be39a38b52b478a91650750931e4ddd5daf + languageName: node + linkType: hard + +"magic-string@npm:0.30.8": + version: 0.30.8 + resolution: "magic-string@npm:0.30.8" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10c0/51a1f06f678c082aceddfb5943de9b6bdb88f2ea1385a1c2adf116deb73dfcfa50df6c222901d691b529455222d4d68d0b28be5689ac6f69b3baa3462861f922 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.0, magic-string@npm:^0.30.10, magic-string@npm:^0.30.12, magic-string@npm:^0.30.3, magic-string@npm:^0.30.4, magic-string@npm:^0.30.5": version: 0.30.17 resolution: "magic-string@npm:0.30.17" dependencies: @@ -17919,6 +18876,13 @@ __metadata: languageName: node linkType: hard +"module-details-from-path@npm:^1.0.3": + version: 1.0.3 + resolution: "module-details-from-path@npm:1.0.3" + checksum: 10c0/3d881f3410c142e4c2b1307835a2862ba04e5b3ec6e90655614a0ee2c4b299b4c1d117fb525d2435bf436990026f18d338a197b54ad6bd36252f465c336ff423 + languageName: node + linkType: hard + "mri@npm:^1.1.0": version: 1.2.0 resolution: "mri@npm:1.2.0" @@ -18130,6 +19094,20 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + "node-gyp@npm:8.x": version: 8.4.1 resolution: "node-gyp@npm:8.4.1" @@ -18536,6 +19514,13 @@ __metadata: languageName: node linkType: hard +"obuf@npm:~1.1.2": + version: 1.1.2 + resolution: "obuf@npm:1.1.2" + checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 + languageName: node + linkType: hard + "on-finished@npm:^2.3.0": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -19178,6 +20163,13 @@ __metadata: languageName: node linkType: hard +"pg-numeric@npm:1.0.2": + version: 1.0.2 + resolution: "pg-numeric@npm:1.0.2" + checksum: 10c0/43dd9884e7b52c79ddc28d2d282d7475fce8bba13452d33c04ceb2e0a65f561edf6699694e8e1c832ff9093770496363183c950dd29608e1bdd98f344b25bca9 + languageName: node + linkType: hard + "pg-pool@npm:^3.7.0": version: 3.7.0 resolution: "pg-pool@npm:3.7.0" @@ -19187,6 +20179,13 @@ __metadata: languageName: node linkType: hard +"pg-protocol@npm:*": + version: 1.9.0 + resolution: "pg-protocol@npm:1.9.0" + checksum: 10c0/c37e61d7fafa97f22eabf12de69863f42fdabb3671df9cc2623bd0ffd6bdedc212e7e8460ad2c721c8a08d8477b4f128a923bf2381905d68a23a532ec7517c77 + languageName: node + linkType: hard + "pg-protocol@npm:^1.7.0": version: 1.7.0 resolution: "pg-protocol@npm:1.7.0" @@ -19194,7 +20193,7 @@ __metadata: languageName: node linkType: hard -"pg-types@npm:^2.1.0": +"pg-types@npm:^2.1.0, pg-types@npm:^2.2.0": version: 2.2.0 resolution: "pg-types@npm:2.2.0" dependencies: @@ -19207,6 +20206,21 @@ __metadata: languageName: node linkType: hard +"pg-types@npm:^4.0.1": + version: 4.0.2 + resolution: "pg-types@npm:4.0.2" + dependencies: + pg-int8: "npm:1.0.1" + pg-numeric: "npm:1.0.2" + postgres-array: "npm:~3.0.1" + postgres-bytea: "npm:~3.0.0" + postgres-date: "npm:~2.1.0" + postgres-interval: "npm:^3.0.0" + postgres-range: "npm:^1.1.1" + checksum: 10c0/780fccda2f3fa2a34e85a72e8e7dadb7d88fbe71ce88f126cb3313f333ad836d02488ec4ff3d94d0c1e5846f735d6e6c6281f8059e6b8919d2180429acaec3e2 + languageName: node + linkType: hard + "pg@npm:^8.13.1": version: 8.13.1 resolution: "pg@npm:8.13.1" @@ -19561,6 +20575,13 @@ __metadata: languageName: node linkType: hard +"postgres-array@npm:~3.0.1": + version: 3.0.4 + resolution: "postgres-array@npm:3.0.4" + checksum: 10c0/47f3e648da512bacdd6a5ed55cf770605ec271330789faeece0fd13805a49f376d6e5c9e0e353377be11a9545e727dceaa2473566c505432bf06366ccd04c6b2 + languageName: node + linkType: hard + "postgres-bytea@npm:~1.0.0": version: 1.0.0 resolution: "postgres-bytea@npm:1.0.0" @@ -19568,6 +20589,15 @@ __metadata: languageName: node linkType: hard +"postgres-bytea@npm:~3.0.0": + version: 3.0.0 + resolution: "postgres-bytea@npm:3.0.0" + dependencies: + obuf: "npm:~1.1.2" + checksum: 10c0/41c79cc48aa730c5ba3eda6ab989a940034f07a1f57b8f2777dce56f1b8cca16c5870582932b5b10cc605048aef9b6157e06253c871b4717cafc6d00f55376aa + languageName: node + linkType: hard + "postgres-date@npm:~1.0.4": version: 1.0.7 resolution: "postgres-date@npm:1.0.7" @@ -19575,6 +20605,13 @@ __metadata: languageName: node linkType: hard +"postgres-date@npm:~2.1.0": + version: 2.1.0 + resolution: "postgres-date@npm:2.1.0" + checksum: 10c0/00a7472c10788f6b0d08d24108bf1eb80858de1bd6317740198a564918ea4a69b80c98148167b92ae688abd606483020d0de0dd3a36f3ea9a3e26bbeef3464f4 + languageName: node + linkType: hard + "postgres-interval@npm:^1.1.0": version: 1.2.0 resolution: "postgres-interval@npm:1.2.0" @@ -19584,6 +20621,20 @@ __metadata: languageName: node linkType: hard +"postgres-interval@npm:^3.0.0": + version: 3.0.0 + resolution: "postgres-interval@npm:3.0.0" + checksum: 10c0/8b570b30ea37c685e26d136d34460f246f98935a1533defc4b53bb05ee23ae3dc7475b718ec7ea607a57894d8c6b4f1adf67ca9cc83a75bdacffd427d5c68de8 + languageName: node + linkType: hard + +"postgres-range@npm:^1.1.1": + version: 1.1.4 + resolution: "postgres-range@npm:1.1.4" + checksum: 10c0/254494ef81df208e0adeae6b66ce394aba37914ea14c7ece55a45fb6691b7db04bee74c825380a47c887a9f87158fd3d86f758f9cc60b76d3a38ce5aca7912e8 + languageName: node + linkType: hard + "prebuild-install@npm:^7.1.1": version: 7.1.2 resolution: "prebuild-install@npm:7.1.2" @@ -19807,6 +20858,13 @@ __metadata: languageName: node linkType: hard +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -20496,6 +21554,19 @@ __metadata: languageName: node linkType: hard +"recast@npm:0.23.11": + version: 0.23.11 + resolution: "recast@npm:0.23.11" + dependencies: + ast-types: "npm:^0.16.1" + esprima: "npm:~4.0.0" + source-map: "npm:~0.6.1" + tiny-invariant: "npm:^1.3.3" + tslib: "npm:^2.0.1" + checksum: 10c0/45b520a8f0868a5a24ecde495be9de3c48e69a54295d82a7331106554b75cfba75d16c909959d056e9ceed47a1be5e061e2db8b9ecbcd6ba44c2f3ef9a47bd18 + languageName: node + linkType: hard + "rechoir@npm:^0.8.0": version: 0.8.0 resolution: "rechoir@npm:0.8.0" @@ -20646,6 +21717,17 @@ __metadata: languageName: node linkType: hard +"require-in-the-middle@npm:^7.1.1": + version: 7.5.2 + resolution: "require-in-the-middle@npm:7.5.2" + dependencies: + debug: "npm:^4.3.5" + module-details-from-path: "npm:^1.0.3" + resolve: "npm:^1.22.8" + checksum: 10c0/43a2dac5520e39d13c413650895715e102d6802e6cc6ff322017bd948f12a9657fe28435f7cbbcba437b167f02e192ac7af29fa35cabd5d0c375d071c0605e01 + languageName: node + linkType: hard + "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -21208,6 +22290,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.5.2": + version: 7.7.1 + resolution: "semver@npm:7.7.1" + bin: + semver: bin/semver.js + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + languageName: node + linkType: hard + "sendmail@npm:^1.6.1": version: 1.6.1 resolution: "sendmail@npm:1.6.1" @@ -21344,6 +22435,13 @@ __metadata: languageName: node linkType: hard +"shimmer@npm:^1.2.1": + version: 1.2.1 + resolution: "shimmer@npm:1.2.1" + checksum: 10c0/ae8b27c389db2a00acfc8da90240f11577685a8f3e40008f826a3bea8b4f3b3ecd305c26be024b4a0fd3b123d132c1569d6e238097960a9a543b6c60760fb46a + languageName: node + linkType: hard + "side-channel-list@npm:^1.0.0": version: 1.0.0 resolution: "side-channel-list@npm:1.0.0" @@ -21631,6 +22729,19 @@ __metadata: languageName: node linkType: hard +"sorcery@npm:1.0.0": + version: 1.0.0 + resolution: "sorcery@npm:1.0.0" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + minimist: "npm:^1.2.0" + tiny-glob: "npm:^0.2.9" + bin: + sorcery: bin/sorcery + checksum: 10c0/773e36adc8847780d3e6ee24028556346b148c56745c1c98f047627608c3697aa69d87b9707c5334542586fb99e9f6627995a35a5b95db9ffd9ce74e479597cb + languageName: node + linkType: hard + "sorcery@npm:^0.11.0": version: 0.11.1 resolution: "sorcery@npm:0.11.1" @@ -22735,6 +23846,13 @@ __metadata: languageName: node linkType: hard +"tiny-invariant@npm:^1.3.3": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + "tiny-warning@npm:^1.0.2, tiny-warning@npm:^1.0.3": version: 1.0.3 resolution: "tiny-warning@npm:1.0.3" @@ -22908,6 +24026,13 @@ __metadata: languageName: node linkType: hard +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + "tree-kill@npm:^1.2.2": version: 1.2.2 resolution: "tree-kill@npm:1.2.2" @@ -23392,6 +24517,18 @@ __metadata: languageName: node linkType: hard +"unplugin@npm:1.0.1": + version: 1.0.1 + resolution: "unplugin@npm:1.0.1" + dependencies: + acorn: "npm:^8.8.1" + chokidar: "npm:^3.5.3" + webpack-sources: "npm:^3.2.3" + webpack-virtual-modules: "npm:^0.5.0" + checksum: 10c0/7d59b5a28abc1cdbd6356a10f273d1266f59c3be083ab0e659a37d02d047d5df1b435e0f40f5ec97517e8fc910d314592f0d197ccceb75ef47c71c1898ec7a05 + languageName: node + linkType: hard + "untildify@npm:^4.0.0": version: 4.0.0 resolution: "untildify@npm:4.0.0" @@ -23893,6 +25030,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + "webidl-conversions@npm:^7.0.0": version: 7.0.0 resolution: "webidl-conversions@npm:7.0.0" @@ -23968,6 +25112,13 @@ __metadata: languageName: node linkType: hard +"webpack-virtual-modules@npm:^0.5.0": + version: 0.5.0 + resolution: "webpack-virtual-modules@npm:0.5.0" + checksum: 10c0/0742e069cd49d91ccd0b59431b3666903d321582c1b1062fa6bdae005c3538af55ff8787ea5eafbf72662f3496d3a879e2c705d55ca0af8283548a925be18484 + languageName: node + linkType: hard + "webpack@npm:^5.90.3": version: 5.97.1 resolution: "webpack@npm:5.97.1" @@ -24030,6 +25181,16 @@ __metadata: languageName: node linkType: hard +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + "which-pm@npm:2.0.0": version: 2.0.0 resolution: "which-pm@npm:2.0.0" From 028c105308d2cc7adaa333ad596f33e2e25f8c5f Mon Sep 17 00:00:00 2001 From: Rina Shmeleva Date: Tue, 22 Apr 2025 23:03:32 +0200 Subject: [PATCH 3/4] Fix: API error --- frontend/src/hooks.server.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index f287c17ed..329e8ca8d 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -121,7 +121,7 @@ export const handle: Handle = sequence(Sentry.sentryHandle(), (async ({ event, r ); }) satisfies Handle); -export const handleError = (async ({ error, event }) => { +export const handleError = Sentry.handleErrorWithSentry((async ({ error, event }) => { const { locals } = event; const currentLocale = locals?.currentLocale; logDebugError('handleError', error); @@ -129,7 +129,7 @@ export const handleError = (async ({ error, event }) => { return { message: '500' }; -}) satisfies HandleServerError; +}) satisfies HandleServerError); /** Show debug message if `DEBUG` is `true` */ function debug(message: unknown, error?: unknown) { From 122d350c5041b93bd96eee72da4fc51dd62b5080 Mon Sep 17 00:00:00 2001 From: Egor Iakovlev Date: Sun, 1 Jun 2025 16:51:07 +0300 Subject: [PATCH 4/4] Make Sentry optional. --- README.md | 2 +- backend/vaa-strapi/config/plugins.ts | 3 +- frontend/package.json | 2 +- frontend/src/hooks.client.ts | 39 +- frontend/src/hooks.server.ts | 22 +- frontend/vite.config.ts | 3 +- .../app-shared/src/settings/staticSettings.ts | 3 +- .../src/settings/staticSettings.type.ts | 4 + yarn.lock | 406 ++++++++++-------- 9 files changed, 280 insertions(+), 204 deletions(-) diff --git a/README.md b/README.md index 43e51209d..3f3fe5e96 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ In order to install dependencies for all modules and build all modules (although ```bash yarn install -yarn workspaces foreach -A build +yarn workspaces foreach -A --topological run build ``` When adding interdependencies between the modules, use yarn’s `workspace:` syntax: diff --git a/backend/vaa-strapi/config/plugins.ts b/backend/vaa-strapi/config/plugins.ts index 6dc186d0b..a6eed05bf 100644 --- a/backend/vaa-strapi/config/plugins.ts +++ b/backend/vaa-strapi/config/plugins.ts @@ -1,3 +1,4 @@ +import { staticSettings } from '@openvaa/app-shared'; // eslint-disable-next-line @typescript-eslint/no-require-imports const aws = require('@aws-sdk/client-ses'); @@ -85,7 +86,7 @@ export default ({ env }) => { resolve: './src/plugins/openvaa-admin-tools' }, sentry: { - enabled: true, + enabled: staticSettings.analytics.sentryErrorReporting, config: { dsn: env('BACKEND_SENTRY_DSN'), environment: env('NODE_ENV'), diff --git a/frontend/package.json b/frontend/package.json index 83dd4fea6..2abc6b4ca 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -67,7 +67,7 @@ "@openvaa/data": "workspace:^", "@openvaa/filters": "workspace:^", "@openvaa/matching": "workspace:^", - "@sentry/sveltekit": "^9", + "@sentry/sveltekit": "^9.24.0", "@sveltekit-i18n/parser-icu": "^1.0.8", "intl-messageformat": "^10.7.11", "isomorphic-dompurify": "^2.19.0", diff --git a/frontend/src/hooks.client.ts b/frontend/src/hooks.client.ts index c22386b84..60729b6ce 100644 --- a/frontend/src/hooks.client.ts +++ b/frontend/src/hooks.client.ts @@ -1,23 +1,32 @@ -import { handleErrorWithSentry, replayIntegration } from '@sentry/sveltekit'; -import * as Sentry from '@sentry/sveltekit'; +import { staticSettings } from '@openvaa/app-shared'; import { constants } from '$lib/utils/constants'; -Sentry.init({ - dsn: constants.PUBLIC_FRONTEND_SENTRY_DSN, +let optionalHandleErrorWithSentry = () => {}; - tracesSampleRate: 1.0, +if (staticSettings.analytics.sentryErrorReporting) { + import('@sentry/sveltekit').then(Sentry => { + Sentry.init({ + dsn: constants.PUBLIC_FRONTEND_SENTRY_DSN, - // This sets the sample rate to be 10%. You may want this to be 100% while - // in development and sample at a lower rate in production - replaysSessionSampleRate: 0.1, + tracesSampleRate: 1.0, - // If the entire session is not sampled, use the below sample rate to sample - // sessions when an error occurs. - replaysOnErrorSampleRate: 1.0, + // This sets the sample rate to be 10%. You may want this to be 100% while + // in development and sample at a lower rate in production + replaysSessionSampleRate: 0.1, - // If you don't want to use Session Replay, just remove the line below: - integrations: [replayIntegration()] -}); + // If the entire session is not sampled, use the below sample rate to sample + // sessions when an error occurs. + replaysOnErrorSampleRate: 1.0, + + // If you don't want to use Session Replay, just remove the line below: + integrations: [Sentry.replayIntegration()] + }); + + optionalHandleErrorWithSentry = Sentry.handleErrorWithSentry() + }); +} // If you have a custom error handler, pass it to `handleErrorWithSentry` -export const handleError = handleErrorWithSentry(); +// Note, since optionalHandleErrorWithSentry is assigned in a promise, +// there might be a runtime delay before Sentry handler is used to handle errors. +export const handleError = optionalHandleErrorWithSentry; \ No newline at end of file diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index 329e8ca8d..2a99e19e1 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -1,4 +1,5 @@ import * as Sentry from '@sentry/sveltekit'; +import { staticSettings } from '@openvaa/app-shared'; import { sequence } from '@sveltejs/kit/hooks'; import { API_ROOT } from '$lib/api/adapters/apiRoute/apiRoutes'; import { defaultLocale, loadTranslations, locales } from '$lib/i18n'; @@ -7,17 +8,22 @@ import { constants } from '$lib/utils/constants'; import { logDebugError } from '$lib/utils/logger'; import type { Handle, HandleServerError } from '@sveltejs/kit'; -Sentry.init({ - dsn: constants.PUBLIC_FRONTEND_SENTRY_DSN, - tracesSampleRate: 1 -}); - +if (staticSettings.analytics.sentryErrorReporting) { + Sentry.init({ + dsn: constants.PUBLIC_FRONTEND_SENTRY_DSN, + tracesSampleRate: 1 + }); +} // Handle and handleError based on sveltekit-i18n examples: https://github.com/sveltekit-i18n/lib/blob/master/examples/locale-router-advanced/src/hooks.server.js /** Set to `true` to show debug log in console */ const DEBUG = false; -export const handle: Handle = sequence(Sentry.sentryHandle(), (async ({ event, resolve }) => { +const optionalSetryHandle: Handle = staticSettings.analytics.sentryErrorReporting ? Sentry.sentryHandle() : ({ event, resolve }) => { + return resolve(event); +}; + +export const handle: Handle = sequence(optionalSetryHandle, (async ({ event, resolve }) => { const { params, route, url, request, isDataRequest } = event; const { pathname, search } = url; const requestedLocale = params.lang; @@ -121,7 +127,7 @@ export const handle: Handle = sequence(Sentry.sentryHandle(), (async ({ event, r ); }) satisfies Handle); -export const handleError = Sentry.handleErrorWithSentry((async ({ error, event }) => { +export const handleError = staticSettings.analytics.sentryErrorReporting ? Sentry.handleErrorWithSentry((async ({ error, event }) => { const { locals } = event; const currentLocale = locals?.currentLocale; logDebugError('handleError', error); @@ -129,7 +135,7 @@ export const handleError = Sentry.handleErrorWithSentry((async ({ error, event } return { message: '500' }; -}) satisfies HandleServerError); +}) satisfies HandleServerError) : () => {}; /** Show debug message if `DEBUG` is `true` */ function debug(message: unknown, error?: unknown) { diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index d24c6717f..40fc520b2 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -1,4 +1,5 @@ import { sentrySvelteKit } from '@sentry/sveltekit'; +import { staticSettings } from '@openvaa/app-shared'; import { sveltekit } from '@sveltejs/kit/vite'; import viteTsConfigPaths from 'vite-tsconfig-paths'; import type { UserConfig } from 'vite'; @@ -9,7 +10,7 @@ const config: UserConfig = { }, plugins: [ - sentrySvelteKit({ + staticSettings.analytics.sentryErrorReporting && sentrySvelteKit({ sourceMapsUploadOptions: { org: 'openvaa', project: 'openvaa-frontend' diff --git a/packages/app-shared/src/settings/staticSettings.ts b/packages/app-shared/src/settings/staticSettings.ts index b42360a43..76ce84e89 100644 --- a/packages/app-shared/src/settings/staticSettings.ts +++ b/packages/app-shared/src/settings/staticSettings.ts @@ -58,7 +58,8 @@ export const staticSettings: StaticSettings = { } ], analytics: { - trackEvents: false + trackEvents: false, + sentryErrorReporting: false }, preRegistration: { enabled: false diff --git a/packages/app-shared/src/settings/staticSettings.type.ts b/packages/app-shared/src/settings/staticSettings.type.ts index e72ebb822..b01566eab 100644 --- a/packages/app-shared/src/settings/staticSettings.type.ts +++ b/packages/app-shared/src/settings/staticSettings.type.ts @@ -127,6 +127,10 @@ export type StaticSettings = { * Whether to collect anonymous usage data about all UI actions, including answers to statements. This will only have an effect if the analytics platform is defined. */ readonly trackEvents: boolean; + /** + * Whether to report application errors to Sentry. + */ + readonly sentryErrorReporting: boolean; }; /** * Settings related to Candidate App pre-registration. diff --git a/yarn.lock b/yarn.lock index 8eed1d993..2f429373c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1207,6 +1207,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.25.9": version: 7.26.3 resolution: "@babel/compat-data@npm:7.26.3" @@ -1214,10 +1225,10 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/compat-data@npm:7.26.8" - checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca +"@babel/compat-data@npm:^7.27.2": + version: 7.27.3 + resolution: "@babel/compat-data@npm:7.27.3" + checksum: 10c0/5736c42c98e38c788c1c53e9bc7c1aa42cb3dd907f3fa2c26c5a123bc957eb3df69acb2f4e96c2f208eb164410d5beddd8b4249353a7ef6e5d6e6eb4292c3587 languageName: node linkType: hard @@ -1245,25 +1256,25 @@ __metadata: linkType: hard "@babel/core@npm:^7.18.5": - version: 7.26.10 - resolution: "@babel/core@npm:7.26.10" + version: 7.27.4 + resolution: "@babel/core@npm:7.27.4" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.10" - "@babel/helper-compilation-targets": "npm:^7.26.5" - "@babel/helper-module-transforms": "npm:^7.26.0" - "@babel/helpers": "npm:^7.26.10" - "@babel/parser": "npm:^7.26.10" - "@babel/template": "npm:^7.26.9" - "@babel/traverse": "npm:^7.26.10" - "@babel/types": "npm:^7.26.10" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.27.3" + "@babel/helpers": "npm:^7.27.4" + "@babel/parser": "npm:^7.27.4" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.27.4" + "@babel/types": "npm:^7.27.3" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/e046e0e988ab53841b512ee9d263ca409f6c46e2a999fe53024688b92db394346fa3aeae5ea0866331f62133982eee05a675d22922a4603c3f603aa09a581d62 + checksum: 10c0/d2d17b106a8d91d3eda754bb3f26b53a12eb7646df73c2b2d2e9b08d90529186bc69e3823f70a96ec6e5719dc2372fb54e14ad499da47ceeb172d2f7008787b5 languageName: node linkType: hard @@ -1280,16 +1291,16 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/generator@npm:7.27.0" +"@babel/generator@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/generator@npm:7.27.3" dependencies: - "@babel/parser": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" + "@babel/parser": "npm:^7.27.3" + "@babel/types": "npm:^7.27.3" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^3.0.2" - checksum: 10c0/7cb10693d2b365c278f109a745dc08856cae139d262748b77b70ce1d97da84627f79648cab6940d847392c0e5d180441669ed958b3aee98d9c7d274b37c553bd + checksum: 10c0/341622e17c61d008fc746b655ab95ef7febb543df8efb4148f57cf06e60ade1abe091ed7d6811df17b064d04d64f69bb7f35ab0654137116d55c54a73145a61a languageName: node linkType: hard @@ -1306,16 +1317,16 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.26.5": - version: 7.27.0 - resolution: "@babel/helper-compilation-targets@npm:7.27.0" +"@babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.26.8" - "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/375c9f80e6540118f41bd53dd54d670b8bf91235d631bdead44c8b313b26e9cd89aed5c6df770ad13a87a464497b5346bb72b9462ba690473da422f5402618b6 + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 languageName: node linkType: hard @@ -1329,6 +1340,16 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" + dependencies: + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 + languageName: node + linkType: hard + "@babel/helper-module-transforms@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helper-module-transforms@npm:7.26.0" @@ -1342,6 +1363,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-module-transforms@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-module-transforms@npm:7.27.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/fccb4f512a13b4c069af51e1b56b20f54024bcf1591e31e978a30f3502567f34f90a80da6a19a6148c249216292a8074a0121f9e52602510ef0f32dbce95ca01 + languageName: node + linkType: hard + "@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.8.0": version: 7.25.9 resolution: "@babel/helper-plugin-utils@npm:7.25.9" @@ -1356,6 +1390,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-identifier@npm:7.25.9" @@ -1363,6 +1404,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" @@ -1370,6 +1418,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 + languageName: node + linkType: hard + "@babel/helpers@npm:^7.26.0": version: 7.26.0 resolution: "@babel/helpers@npm:7.26.0" @@ -1380,13 +1435,13 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.26.10": - version: 7.27.0 - resolution: "@babel/helpers@npm:7.27.0" +"@babel/helpers@npm:^7.27.4": + version: 7.27.4 + resolution: "@babel/helpers@npm:7.27.4" dependencies: - "@babel/template": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" - checksum: 10c0/a3c64fd2d8b164c041808826cc00769d814074ea447daaacaf2e3714b66d3f4237ef6e420f61d08f463d6608f3468c2ac5124ab7c68f704e20384def5ade95f4 + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.27.3" + checksum: 10c0/3463551420926b3f403c1a30d66ac67bba5c4f73539a8ccb71544da129c4709ac37c57fac740ed8a261b3e6bbbf353b05e03b36ea1a6bf1081604b2a94ca43c1 languageName: node linkType: hard @@ -1412,14 +1467,14 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/parser@npm:7.27.0" +"@babel/parser@npm:^7.27.2, @babel/parser@npm:^7.27.3, @babel/parser@npm:^7.27.4": + version: 7.27.4 + resolution: "@babel/parser@npm:7.27.4" dependencies: - "@babel/types": "npm:^7.27.0" + "@babel/types": "npm:^7.27.3" bin: parser: ./bin/babel-parser.js - checksum: 10c0/ba2ed3f41735826546a3ef2a7634a8d10351df221891906e59b29b0a0cd748f9b0e7a6f07576858a9de8e77785aad925c8389ddef146de04ea2842047c9d2859 + checksum: 10c0/d1bf17e7508585235e2a76594ba81828e48851877112bb8abbecd7161a31fb66654e993e458ddaedb18a3d5fa31970e5f3feca5ae2900f51e6d8d3d35da70dbf languageName: node linkType: hard @@ -1652,14 +1707,14 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/template@npm:7.27.0" +"@babel/template@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/parser": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" - checksum: 10c0/13af543756127edb5f62bf121f9b093c09a2b6fe108373887ccffc701465cfbcb17e07cf48aa7f440415b263f6ec006e9415c79dfc2e8e6010b069435f81f340 + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 languageName: node linkType: hard @@ -1678,18 +1733,18 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.26.10": - version: 7.27.0 - resolution: "@babel/traverse@npm:7.27.0" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3, @babel/traverse@npm:^7.27.4": + version: 7.27.4 + resolution: "@babel/traverse@npm:7.27.4" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.27.0" - "@babel/parser": "npm:^7.27.0" - "@babel/template": "npm:^7.27.0" - "@babel/types": "npm:^7.27.0" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.27.3" + "@babel/parser": "npm:^7.27.4" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.27.3" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/c7af29781960dacaae51762e8bc6c4b13d6ab4b17312990fbca9fc38e19c4ad7fecaae24b1cf52fb844e8e6cdc76c70ad597f90e496bcb3cc0a1d66b41a0aa5b + checksum: 10c0/6de8aa2a0637a6ee6d205bf48b9e923928a02415771fdec60085ed754dcdf605e450bb3315c2552fa51c31a4662275b45d5ae4ad527ce55a7db9acebdbbbb8ed languageName: node linkType: hard @@ -1703,13 +1758,13 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/types@npm:7.27.0" +"@babel/types@npm:^7.26.9, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/types@npm:7.27.3" dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/6f1592eabe243c89a608717b07b72969be9d9d2fce1dee21426238757ea1fa60fdfc09b29de9e48d8104311afc6e6fb1702565a9cc1e09bc1e76f2b2ddb0f6e1 + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/bafdfc98e722a6b91a783b6f24388f478fd775f0c0652e92220e08be2cc33e02d42088542f1953ac5e5ece2ac052172b3dadedf12bec9aae57899e92fb9a9757 languageName: node linkType: hard @@ -4166,19 +4221,6 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/instrumentation-fastify@npm:0.44.2": - version: 0.44.2 - resolution: "@opentelemetry/instrumentation-fastify@npm:0.44.2" - dependencies: - "@opentelemetry/core": "npm:^1.8.0" - "@opentelemetry/instrumentation": "npm:^0.57.1" - "@opentelemetry/semantic-conventions": "npm:^1.27.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/2306bbf9b59e5d29002b9c14493de92817e268c92587b285a0a4bbeece4a3f791db8e0d1be0e22ad9f6a97075071aa5c3269cf2d219e378480dc1ceafbf2927c - languageName: node - linkType: hard - "@opentelemetry/instrumentation-fs@npm:0.19.1": version: 0.19.1 resolution: "@opentelemetry/instrumentation-fs@npm:0.19.1" @@ -4462,10 +4504,10 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:^1.27.0, @opentelemetry/semantic-conventions@npm:^1.30.0": - version: 1.32.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.32.0" - checksum: 10c0/977c93225490f2456e8bb13b90a8627861207eb5eb4771d7565c2321be883ec711c1701485451f9e10b8d2a724525496c0e4441b43190a7a550bcf7c73f681cd +"@opentelemetry/semantic-conventions@npm:^1.27.0, @opentelemetry/semantic-conventions@npm:^1.34.0": + version: 1.34.0 + resolution: "@opentelemetry/semantic-conventions@npm:1.34.0" + checksum: 10c0/a51a32a5cf5c803bd2125a680d0abacbff632f3b255d0fe52379dac191114a0e8d72a34f9c46c5483ccfe91c4061c309f3cf61a19d11347e2a69779e82cfefd0 languageName: node linkType: hard @@ -4543,7 +4585,7 @@ __metadata: "@openvaa/filters": "workspace:^" "@openvaa/matching": "workspace:^" "@openvaa/shared-config": "workspace:^" - "@sentry/sveltekit": "npm:^9" + "@sentry/sveltekit": "npm:^9.24.0" "@sveltejs/adapter-auto": "npm:^3.3.1" "@sveltejs/adapter-node": "npm:^5.2.11" "@sveltejs/kit": "npm:^2.15.2" @@ -4789,14 +4831,14 @@ __metadata: languageName: node linkType: hard -"@prisma/instrumentation@npm:6.5.0": - version: 6.5.0 - resolution: "@prisma/instrumentation@npm:6.5.0" +"@prisma/instrumentation@npm:6.8.2": + version: 6.8.2 + resolution: "@prisma/instrumentation@npm:6.8.2" dependencies: "@opentelemetry/instrumentation": "npm:^0.52.0 || ^0.53.0 || ^0.54.0 || ^0.55.0 || ^0.56.0 || ^0.57.0" peerDependencies: "@opentelemetry/api": ^1.8 - checksum: 10c0/b9223ccc437d0f1f82f8ea8ce50befed18d5337b1079f7a652a0c4e6d9645bcae3ccaf124cc90b94d336b47f195f4bf7b1c4513fac3cb07a8952df576c5b891b + checksum: 10c0/cc57dfa205d98a6b0db33e19fc6f32b835cc3721726eef8dff19d7a96fd7ee976ec9fc34e7528e962a10bd42787b4773c95819d871572463d5a9a39ca4c487ec languageName: node linkType: hard @@ -6085,41 +6127,41 @@ __metadata: languageName: node linkType: hard -"@sentry-internal/browser-utils@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry-internal/browser-utils@npm:9.13.0" +"@sentry-internal/browser-utils@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry-internal/browser-utils@npm:9.24.0" dependencies: - "@sentry/core": "npm:9.13.0" - checksum: 10c0/d66703f64ea91f6a05a4ec8d96f35f9f89d9e5d9ca122d09dafb04f6af82b20214dc117f84aeca76adfed2155e2fda374336a1362ad31b6cc5e76ef5ae372d77 + "@sentry/core": "npm:9.24.0" + checksum: 10c0/7e69ce2dba1ae0cc45e0f8d3fad06c89e4a14c9b9f8a1a1d550a0b6078f71819442de59ec47fefdfb570ffc1b7140d5b4f417f49d12862f89f7924f54f4ebf75 languageName: node linkType: hard -"@sentry-internal/feedback@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry-internal/feedback@npm:9.13.0" +"@sentry-internal/feedback@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry-internal/feedback@npm:9.24.0" dependencies: - "@sentry/core": "npm:9.13.0" - checksum: 10c0/905b9a45f1c411b3a267f9a28fe8677fbab50819e8a35c4571cb9415088122dbf8e8649d65d608d00c2a0365d438faedcdbb709f77cf1fa141bbea0ee09a6899 + "@sentry/core": "npm:9.24.0" + checksum: 10c0/9847bf77fa5e7b2f492a019f5574ea7cc4a74253456e4a70c0c3395f283264cf0c088bde841ebfd6eb4663dbff6d4604c50128b46a1b9b88ca91291a49998fb2 languageName: node linkType: hard -"@sentry-internal/replay-canvas@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry-internal/replay-canvas@npm:9.13.0" +"@sentry-internal/replay-canvas@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry-internal/replay-canvas@npm:9.24.0" dependencies: - "@sentry-internal/replay": "npm:9.13.0" - "@sentry/core": "npm:9.13.0" - checksum: 10c0/17586760e801044ed9c240f991a372f24647f8f720a1b5fecc8796e2a4205226905056327d5786864d42aa1f3f16592dbd7041637681358e9ed4b0fd1a1b05bd + "@sentry-internal/replay": "npm:9.24.0" + "@sentry/core": "npm:9.24.0" + checksum: 10c0/0fb5a65d3b7b0b603a1b605a01da677bf2105fdbb3cc5a8fa391be10e947d4ef74cca64fb82c1ec1569b18e1d711d7c1a1b5d8ce9d557831e41787ae93022b46 languageName: node linkType: hard -"@sentry-internal/replay@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry-internal/replay@npm:9.13.0" +"@sentry-internal/replay@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry-internal/replay@npm:9.24.0" dependencies: - "@sentry-internal/browser-utils": "npm:9.13.0" - "@sentry/core": "npm:9.13.0" - checksum: 10c0/1a1441ca164ceea4aa30b5217acdd27a8f639d6670241ea24fbed7dcb8e61fefb7ac41543eecd61be620884fb205abacf90aa4efc909a9194b175586db3e628a + "@sentry-internal/browser-utils": "npm:9.24.0" + "@sentry/core": "npm:9.24.0" + checksum: 10c0/c08892a82e3822bd3cb1fb451c72ec6310d4e8593340b8a6e011214b0278cc27c91abb29d17f25defbf54227bebe2e0da5d436934867674a485791cc52faf8c4 languageName: node linkType: hard @@ -6141,16 +6183,16 @@ __metadata: languageName: node linkType: hard -"@sentry/browser@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry/browser@npm:9.13.0" +"@sentry/browser@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry/browser@npm:9.24.0" dependencies: - "@sentry-internal/browser-utils": "npm:9.13.0" - "@sentry-internal/feedback": "npm:9.13.0" - "@sentry-internal/replay": "npm:9.13.0" - "@sentry-internal/replay-canvas": "npm:9.13.0" - "@sentry/core": "npm:9.13.0" - checksum: 10c0/0e1126be2546c9f99d2c883e8f1f1ede427e186d05f7d940f8e5374757a884d4e82a193da29face5cf07c3f1ec05206d09a04ceebd264b77419c92096de76162 + "@sentry-internal/browser-utils": "npm:9.24.0" + "@sentry-internal/feedback": "npm:9.24.0" + "@sentry-internal/replay": "npm:9.24.0" + "@sentry-internal/replay-canvas": "npm:9.24.0" + "@sentry/core": "npm:9.24.0" + checksum: 10c0/f61097572e2427309b9f332bf25af98e97dcb2ae0e7782bbfc0174ac48dec555b2228745d1c8ff824a5dacfd6fc23ce9fada21774e17f3b418d2803c5c488f9a languageName: node linkType: hard @@ -6256,17 +6298,17 @@ __metadata: languageName: node linkType: hard -"@sentry/cloudflare@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry/cloudflare@npm:9.13.0" +"@sentry/cloudflare@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry/cloudflare@npm:9.24.0" dependencies: - "@sentry/core": "npm:9.13.0" + "@sentry/core": "npm:9.24.0" peerDependencies: "@cloudflare/workers-types": ^4.x peerDependenciesMeta: "@cloudflare/workers-types": optional: true - checksum: 10c0/8df3620bfd7b204e3d0b86c48e1b1fd073c0d5555d32f001dd15eea09222fc6a5c8a1e5852c9d501edac0c990f4595b9dd5886ad479205175e8c7386857a2991 + checksum: 10c0/520363b21ac9989ea980971fd182b4dfdbec755d9b35bb1f516df4b5fd963ae415c61f5a3cd9264d4227e5a2ee896a2c53d26d0917f3783b35e22b48a441d66b languageName: node linkType: hard @@ -6280,10 +6322,10 @@ __metadata: languageName: node linkType: hard -"@sentry/core@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry/core@npm:9.13.0" - checksum: 10c0/20f566732b8caa59dd5fb1841f3708f38740c4aa78746964a538381985d66d50e4904061ebec083f72092bc656750e51c44b1287282b3ed52b4107530bc49fdc +"@sentry/core@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry/core@npm:9.24.0" + checksum: 10c0/c507c85fa87d452dbe1b18f99fe3099e535ee2f58a0138321679e9ae4710af720501ee9ceb3ab8ccb20be99082929c391aa67c6d6ecf2a4ed8e295a5ff852bc5 languageName: node linkType: hard @@ -6312,9 +6354,9 @@ __metadata: languageName: node linkType: hard -"@sentry/node@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry/node@npm:9.13.0" +"@sentry/node@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry/node@npm:9.24.0" dependencies: "@opentelemetry/api": "npm:^1.9.0" "@opentelemetry/context-async-hooks": "npm:^1.30.1" @@ -6324,7 +6366,6 @@ __metadata: "@opentelemetry/instrumentation-connect": "npm:0.43.1" "@opentelemetry/instrumentation-dataloader": "npm:0.16.1" "@opentelemetry/instrumentation-express": "npm:0.47.1" - "@opentelemetry/instrumentation-fastify": "npm:0.44.2" "@opentelemetry/instrumentation-fs": "npm:0.19.1" "@opentelemetry/instrumentation-generic-pool": "npm:0.43.1" "@opentelemetry/instrumentation-graphql": "npm:0.47.1" @@ -6345,54 +6386,55 @@ __metadata: "@opentelemetry/instrumentation-undici": "npm:0.10.1" "@opentelemetry/resources": "npm:^1.30.1" "@opentelemetry/sdk-trace-base": "npm:^1.30.1" - "@opentelemetry/semantic-conventions": "npm:^1.30.0" - "@prisma/instrumentation": "npm:6.5.0" - "@sentry/core": "npm:9.13.0" - "@sentry/opentelemetry": "npm:9.13.0" - import-in-the-middle: "npm:^1.13.0" - checksum: 10c0/6f6f2b3961c855409f30ab1cd068f499ef331fe58934c7af1bbb5bdd6209573a594d945a672c620c93255a4a009dcabe03554b1e9efa20e97b9b5ac05937a9ec + "@opentelemetry/semantic-conventions": "npm:^1.34.0" + "@prisma/instrumentation": "npm:6.8.2" + "@sentry/core": "npm:9.24.0" + "@sentry/opentelemetry": "npm:9.24.0" + import-in-the-middle: "npm:^1.13.1" + minimatch: "npm:^9.0.0" + checksum: 10c0/c94a8f69b2431346c2897751ca7845341c1c5011f4148180192d2e15e937b178e0c66f8ecc74babcbfb3c2cdc88679a2aae489e5d1e18c63c4a7c8ff1748e16b languageName: node linkType: hard -"@sentry/opentelemetry@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry/opentelemetry@npm:9.13.0" +"@sentry/opentelemetry@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry/opentelemetry@npm:9.24.0" dependencies: - "@sentry/core": "npm:9.13.0" + "@sentry/core": "npm:9.24.0" peerDependencies: "@opentelemetry/api": ^1.9.0 - "@opentelemetry/context-async-hooks": ^1.30.1 - "@opentelemetry/core": ^1.30.1 - "@opentelemetry/instrumentation": ^0.57.1 - "@opentelemetry/sdk-trace-base": ^1.30.1 - "@opentelemetry/semantic-conventions": ^1.28.0 - checksum: 10c0/b57de896f5a76848f38a7af7ea63a6946150d56e7bf5cfdfefd09a44e7fb3b6af60e23ba75f2d14fba296ce8ed0fdb799508d7f7ec058a6b6c2bf37140a2434b + "@opentelemetry/context-async-hooks": ^1.30.1 || ^2.0.0 + "@opentelemetry/core": ^1.30.1 || ^2.0.0 + "@opentelemetry/instrumentation": ^0.57.1 || ^0.200.0 + "@opentelemetry/sdk-trace-base": ^1.30.1 || ^2.0.0 + "@opentelemetry/semantic-conventions": ^1.34.0 + checksum: 10c0/e748e16c2d1558c45d5931f1b05047fc263563f963d9e4b406a6954adb84d042882429f0e8d203b5acac9f9b433b0d55d29e6e706f0cd545ac5e94f728b09a05 languageName: node linkType: hard -"@sentry/svelte@npm:9.13.0": - version: 9.13.0 - resolution: "@sentry/svelte@npm:9.13.0" +"@sentry/svelte@npm:9.24.0": + version: 9.24.0 + resolution: "@sentry/svelte@npm:9.24.0" dependencies: - "@sentry/browser": "npm:9.13.0" - "@sentry/core": "npm:9.13.0" + "@sentry/browser": "npm:9.24.0" + "@sentry/core": "npm:9.24.0" magic-string: "npm:^0.30.0" peerDependencies: svelte: 3.x || 4.x || 5.x - checksum: 10c0/8ca21b17d93ec180e443b3a938f9441b9022b255d7b35cb7aead14028a26bcac6b580408f93820a39cf8b431490461681e1e13aabca39b8e7d9f17871bcbc47e + checksum: 10c0/73a1f401041ee4f331ea9d5575328d279e249d049ab160d19edbb7aec8237d8b9c102cb3fa5a829c8e4cb573d1591a5d5f072b81a211041d89a7925beefd2e9e languageName: node linkType: hard -"@sentry/sveltekit@npm:^9": - version: 9.13.0 - resolution: "@sentry/sveltekit@npm:9.13.0" +"@sentry/sveltekit@npm:^9.24.0": + version: 9.24.0 + resolution: "@sentry/sveltekit@npm:9.24.0" dependencies: "@babel/parser": "npm:7.26.9" - "@sentry/cloudflare": "npm:9.13.0" - "@sentry/core": "npm:9.13.0" - "@sentry/node": "npm:9.13.0" - "@sentry/opentelemetry": "npm:9.13.0" - "@sentry/svelte": "npm:9.13.0" + "@sentry/cloudflare": "npm:9.24.0" + "@sentry/core": "npm:9.24.0" + "@sentry/node": "npm:9.24.0" + "@sentry/opentelemetry": "npm:9.24.0" + "@sentry/svelte": "npm:9.24.0" "@sentry/vite-plugin": "npm:3.2.4" magic-string: "npm:0.30.7" recast: "npm:0.23.11" @@ -6403,7 +6445,7 @@ __metadata: peerDependenciesMeta: vite: optional: true - checksum: 10c0/8651ffa69e9bec88d64b8d5a697efec6f521cd4d0b2ed3e3e09b385bbda182104b48d4b74d53cfbbd8a9f2657f12ae295364fb3138c9939bc71e76c30c83b636 + checksum: 10c0/de9e16bd83155e85d6fadf1467606f2d01c9d37414ecb9748b104075072f4a5363fd0a941d52fe01d9e0a545f6a07a4ea01a4195c6b3f070d09594d06ac7a066 languageName: node linkType: hard @@ -9693,13 +9735,13 @@ __metadata: linkType: hard "@types/pg@npm:*": - version: 8.11.13 - resolution: "@types/pg@npm:8.11.13" + version: 8.15.2 + resolution: "@types/pg@npm:8.15.2" dependencies: "@types/node": "npm:*" pg-protocol: "npm:*" pg-types: "npm:^4.0.1" - checksum: 10c0/a111989a223f21ff864e35150474409e9659766603e4f7a51f89ffc173292adcd895c1551f792aaf1cf94afe99e4bd1dbf7c740252c1dca2a5038f1fd2c6e0bd + checksum: 10c0/e3bc75f02af897ed960e83d1af9bd0cba1ff41cd0cbae0eaee323eae84f55e6d433f620aa1c72f7bd5107c80b018185c0e47de553cfc5439514c3da98768ef6c languageName: node linkType: hard @@ -12649,7 +12691,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.7, debug@npm:~4.4.0": +"debug@npm:4, debug@npm:^4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:~4.4.0": version: 4.4.0 resolution: "debug@npm:4.4.0" dependencies: @@ -12682,6 +12724,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.5": + version: 4.4.1 + resolution: "debug@npm:4.4.1" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 + languageName: node + linkType: hard + "decimal.js@npm:10, decimal.js@npm:^10.4.3": version: 10.4.3 resolution: "decimal.js@npm:10.4.3" @@ -15852,15 +15906,15 @@ __metadata: languageName: node linkType: hard -"import-in-the-middle@npm:^1.13.0, import-in-the-middle@npm:^1.8.1": - version: 1.13.1 - resolution: "import-in-the-middle@npm:1.13.1" +"import-in-the-middle@npm:^1.13.1, import-in-the-middle@npm:^1.8.1": + version: 1.14.0 + resolution: "import-in-the-middle@npm:1.14.0" dependencies: acorn: "npm:^8.14.0" acorn-import-attributes: "npm:^1.9.5" cjs-module-lexer: "npm:^1.2.2" module-details-from-path: "npm:^1.0.3" - checksum: 10c0/4ef05a924c37ff718dd08654927c90d470d92fd9425d646b0d423aaddc89655848debd14761bcb6efa4f57870d63ff38109bab31ca8a1d9d5df2e7d84d2649cf + checksum: 10c0/7df8bff5cf8f3dc98d9e49b6e83b39bc5571d6afbeeaa7f783829e6f4a201329595f51f7c037ee7db395bb3866625d056edcd3f112a93f0e1f31930dbd8ec437 languageName: node linkType: hard @@ -18699,7 +18753,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -18877,9 +18931,9 @@ __metadata: linkType: hard "module-details-from-path@npm:^1.0.3": - version: 1.0.3 - resolution: "module-details-from-path@npm:1.0.3" - checksum: 10c0/3d881f3410c142e4c2b1307835a2862ba04e5b3ec6e90655614a0ee2c4b299b4c1d117fb525d2435bf436990026f18d338a197b54ad6bd36252f465c336ff423 + version: 1.0.4 + resolution: "module-details-from-path@npm:1.0.4" + checksum: 10c0/10863413e96dab07dee917eae07afe46f7bf853065cc75a7d2a718adf67574857fb64f8a2c0c9af12ac733a9a8cf652db7ed39b95f7a355d08106cb9cc50c83b languageName: node linkType: hard @@ -20180,9 +20234,9 @@ __metadata: linkType: hard "pg-protocol@npm:*": - version: 1.9.0 - resolution: "pg-protocol@npm:1.9.0" - checksum: 10c0/c37e61d7fafa97f22eabf12de69863f42fdabb3671df9cc2623bd0ffd6bdedc212e7e8460ad2c721c8a08d8477b4f128a923bf2381905d68a23a532ec7517c77 + version: 1.10.0 + resolution: "pg-protocol@npm:1.10.0" + checksum: 10c0/7d0d64fe9df50262d907fd476454e1e36f41f5f66044c3ba6aa773fb8add1d350a9c162306e5c33e99bdfbdcc1140dd4ca74f66eda41d0aaceb5853244dcdb65 languageName: node linkType: hard @@ -22291,11 +22345,11 @@ __metadata: linkType: hard "semver@npm:^7.5.2": - version: 7.7.1 - resolution: "semver@npm:7.7.1" + version: 7.7.2 + resolution: "semver@npm:7.7.2" bin: semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea languageName: node linkType: hard