CognxSafeTrack Claude Sonnet 4.6 commited on
Commit
83f9d2d
·
1 Parent(s): c3a9ec5

fix(worker): align BullMQ to v5, Fastify to v5, drop node-fetch v2 CVE

Browse files

API was on BullMQ 5.x while worker stayed on 4.x — jobs enqueued by the
API were silently unprocessable by the worker. Both now resolve to 5.69.3.
Fastify upgraded from 4.x to 5.x for consistency with the API container.
node-fetch v2 (CVE) removed; Node 20 native fetch used instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

apps/whatsapp-worker/package.json CHANGED
@@ -13,15 +13,14 @@
13
  "@repo/database": "workspace:*",
14
  "@repo/shared-types": "workspace:*",
15
  "axios": "^1.13.5",
16
- "bullmq": "^4.0.0",
17
  "cheerio": "^1.2.0",
18
  "dotenv": "^16.0.0",
19
- "fastify": "^4.24.3",
20
  "html-to-text": "^9.0.5",
21
  "ioredis": "^5.9.3",
22
  "lru-cache": "^11.3.5",
23
  "node-cron": "^4.2.1",
24
- "node-fetch": "^2.6.7",
25
  "pdf-parse": "^2.4.5",
26
  "sharp": "^0.34.5",
27
  "xlsx": "^0.18.5",
@@ -32,7 +31,6 @@
32
  "@types/html-to-text": "^9.0.4",
33
  "@types/node": "^20.0.0",
34
  "@types/node-cron": "^3.0.11",
35
- "@types/node-fetch": "^2.6.2",
36
  "tsx": "^3.0.0",
37
  "typescript": "^5.0.0",
38
  "vitest": "^1.0.0"
 
13
  "@repo/database": "workspace:*",
14
  "@repo/shared-types": "workspace:*",
15
  "axios": "^1.13.5",
16
+ "bullmq": "^5.0.0",
17
  "cheerio": "^1.2.0",
18
  "dotenv": "^16.0.0",
19
+ "fastify": "^5.0.0",
20
  "html-to-text": "^9.0.5",
21
  "ioredis": "^5.9.3",
22
  "lru-cache": "^11.3.5",
23
  "node-cron": "^4.2.1",
 
24
  "pdf-parse": "^2.4.5",
25
  "sharp": "^0.34.5",
26
  "xlsx": "^0.18.5",
 
31
  "@types/html-to-text": "^9.0.4",
32
  "@types/node": "^20.0.0",
33
  "@types/node-cron": "^3.0.11",
 
34
  "tsx": "^3.0.0",
35
  "typescript": "^5.0.0",
36
  "vitest": "^1.0.0"
apps/whatsapp-worker/src/handlers/EnrollHandler.ts CHANGED
@@ -4,7 +4,6 @@ import { JobHandler, JobData } from './types';
4
  import { prisma } from '../services/prisma';
5
  import { sendTextMessage } from '../whatsapp-cloud';
6
  import { getApiUrl, getAdminApiKey } from '../config';
7
- import fetch from 'node-fetch';
8
 
9
  interface TenantConfig {
10
  accessToken: string;
 
4
  import { prisma } from '../services/prisma';
5
  import { sendTextMessage } from '../whatsapp-cloud';
6
  import { getApiUrl, getAdminApiKey } from '../config';
 
7
 
8
  interface TenantConfig {
9
  accessToken: string;
apps/whatsapp-worker/src/handlers/MediaHandler.ts CHANGED
@@ -7,7 +7,6 @@ import { downloadMedia, sendTextMessage } from '../whatsapp-cloud';
7
  import { getApiUrl, getAdminApiKey } from '../config';
8
  import { normalizeWolof } from '../normalizeWolof';
9
  import { WhatsAppLogic } from '../services/whatsapp-logic';
10
- import fetch from 'node-fetch';
11
 
12
  interface TenantConfig {
13
  accessToken: string;
 
7
  import { getApiUrl, getAdminApiKey } from '../config';
8
  import { normalizeWolof } from '../normalizeWolof';
9
  import { WhatsAppLogic } from '../services/whatsapp-logic';
 
10
 
11
  interface TenantConfig {
12
  accessToken: string;
apps/whatsapp-worker/src/services/ai-pedagogy.ts CHANGED
@@ -1,6 +1,5 @@
1
  import { logger } from '../logger';
2
  import { getApiUrl, getAdminApiKey } from '../config';
3
- import fetch from 'node-fetch';
4
 
5
  export interface PersonalizeParams {
6
  lessonText: string;
 
1
  import { logger } from '../logger';
2
  import { getApiUrl, getAdminApiKey } from '../config';
 
3
 
4
  export interface PersonalizeParams {
5
  lessonText: string;
pnpm-lock.yaml CHANGED
@@ -184,6 +184,9 @@ importers:
184
  stripe:
185
  specifier: ^20.3.1
186
  version: 20.3.1(@types/node@20.19.33)
 
 
 
187
  xlsx:
188
  specifier: ^0.18.5
189
  version: 0.18.5
@@ -209,6 +212,9 @@ importers:
209
  '@types/node-cron':
210
  specifier: ^3.0.11
211
  version: 3.0.11
 
 
 
212
  '@vitest/ui':
213
  specifier: ^4.0.18
214
  version: 4.0.18(vitest@4.0.18)
@@ -283,8 +289,8 @@ importers:
283
  specifier: ^1.13.5
284
  version: 1.13.5
285
  bullmq:
286
- specifier: ^4.0.0
287
- version: 4.18.3
288
  cheerio:
289
  specifier: ^1.2.0
290
  version: 1.2.0
@@ -292,8 +298,8 @@ importers:
292
  specifier: ^16.0.0
293
  version: 16.6.1
294
  fastify:
295
- specifier: ^4.24.3
296
- version: 4.29.1
297
  html-to-text:
298
  specifier: ^9.0.5
299
  version: 9.0.5
@@ -306,9 +312,6 @@ importers:
306
  node-cron:
307
  specifier: ^4.2.1
308
  version: 4.2.1
309
- node-fetch:
310
- specifier: ^2.6.7
311
- version: 2.7.0
312
  pdf-parse:
313
  specifier: ^2.4.5
314
  version: 2.4.5
@@ -334,9 +337,6 @@ importers:
334
  '@types/node-cron':
335
  specifier: ^3.0.11
336
  version: 3.0.11
337
- '@types/node-fetch':
338
- specifier: ^2.6.2
339
- version: 2.6.13
340
  tsx:
341
  specifier: ^3.0.0
342
  version: 3.14.0
@@ -1106,9 +1106,6 @@ packages:
1106
  '@fastify/accept-negotiator@2.0.1':
1107
  resolution: {integrity: sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==}
1108
 
1109
- '@fastify/ajv-compiler@3.6.0':
1110
- resolution: {integrity: sha512-LwdXQJjmMD+GwLOkP7TVC68qa+pSSogeWWmznRJ/coyTcfe9qA05AHFSe1eZFwK6q+xVRpChnvFUkf1iYaSZsQ==}
1111
-
1112
  '@fastify/ajv-compiler@4.0.5':
1113
  resolution: {integrity: sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==}
1114
 
@@ -1121,15 +1118,9 @@ packages:
1121
  '@fastify/deepmerge@3.2.1':
1122
  resolution: {integrity: sha512-N5Oqvltoa2r9z1tbx4xjky0oRR60v+T47Ic4J1ukoVQcptLOrIdRnCSdTGmOmajZuHVKlTnfcmrjyqsGEW1ztA==}
1123
 
1124
- '@fastify/error@3.4.1':
1125
- resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==}
1126
-
1127
  '@fastify/error@4.2.0':
1128
  resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==}
1129
 
1130
- '@fastify/fast-json-stringify-compiler@4.3.0':
1131
- resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==}
1132
-
1133
  '@fastify/fast-json-stringify-compiler@5.0.3':
1134
  resolution: {integrity: sha512-uik7yYHkLr6fxd8hJSZ8c+xF4WafPK+XzneQDPU+D10r5X19GW8lJcom2YijX2+qtFF1ENJlHXKFM9ouXNJYgQ==}
1135
 
@@ -1139,9 +1130,6 @@ packages:
1139
  '@fastify/jwt@9.1.0':
1140
  resolution: {integrity: sha512-CiGHCnS5cPMdb004c70sUWhQTfzrJHAeTywt7nVw6dAiI0z1o4WRvU94xfijhkaId4bIxTCOjFgn4sU+Gvk43w==}
1141
 
1142
- '@fastify/merge-json-schemas@0.1.1':
1143
- resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==}
1144
-
1145
  '@fastify/merge-json-schemas@0.2.1':
1146
  resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==}
1147
 
@@ -1990,6 +1978,9 @@ packages:
1990
  '@types/use-sync-external-store@0.0.6':
1991
  resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
1992
 
 
 
 
1993
  '@types/yauzl@2.10.3':
1994
  resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
1995
 
@@ -2076,14 +2067,6 @@ packages:
2076
  resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
2077
  engines: {node: '>= 8.0.0'}
2078
 
2079
- ajv-formats@2.1.1:
2080
- resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
2081
- peerDependencies:
2082
- ajv: ^8.0.0
2083
- peerDependenciesMeta:
2084
- ajv:
2085
- optional: true
2086
-
2087
  ajv-formats@3.0.1:
2088
  resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
2089
  peerDependencies:
@@ -2168,9 +2151,6 @@ packages:
2168
  peerDependencies:
2169
  postcss: ^8.1.0
2170
 
2171
- avvio@8.4.0:
2172
- resolution: {integrity: sha512-CDSwaxINFy59iNwhYnkvALBwZiTydGkOecZyPkqBpABYR1KqGEsET0VOOYDwtleZSUIdeY36DC2bSZ24CO1igA==}
2173
-
2174
  avvio@9.2.0:
2175
  resolution: {integrity: sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ==}
2176
 
@@ -2282,6 +2262,9 @@ packages:
2282
  buffer-crc32@0.2.13:
2283
  resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
2284
 
 
 
 
2285
  buffer-from@1.1.2:
2286
  resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
2287
 
@@ -2291,9 +2274,6 @@ packages:
2291
  buffer@6.0.3:
2292
  resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
2293
 
2294
- bullmq@4.18.3:
2295
- resolution: {integrity: sha512-H8t9vhfHEbJDaXp7aalSTe+Do+tR1nvr+lsT+jQxLhy+FFfFj/0p4aYJzADTNLdEqltuxneLVxCGVg92GkQx4w==}
2296
-
2297
  bullmq@5.69.3:
2298
  resolution: {integrity: sha512-P9uLsR7fDvejH/1m6uur6j7U9mqY6nNt+XvhlhStOUe7jdwbZoP/c2oWNtE+8ljOlubw4pRUKymtRqkyvloc4A==}
2299
 
@@ -2409,10 +2389,6 @@ packages:
2409
  convert-source-map@2.0.0:
2410
  resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
2411
 
2412
- cookie@0.7.2:
2413
- resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
2414
- engines: {node: '>= 0.6'}
2415
-
2416
  cookie@1.1.1:
2417
  resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
2418
  engines: {node: '>=18'}
@@ -2767,9 +2743,6 @@ packages:
2767
  extrareqp2@1.0.0:
2768
  resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==}
2769
 
2770
- fast-content-type-parse@1.1.0:
2771
- resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==}
2772
-
2773
  fast-copy@4.0.2:
2774
  resolution: {integrity: sha512-ybA6PDXIXOXivLJK/z9e+Otk7ve13I4ckBvGO5I2RRmBU1gMHLVDJYEuJYhGwez7YNlYji2M2DvVU+a9mSFDlw==}
2775
 
@@ -2789,9 +2762,6 @@ packages:
2789
  fast-json-patch@3.1.1:
2790
  resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==}
2791
 
2792
- fast-json-stringify@5.16.1:
2793
- resolution: {integrity: sha512-KAdnLvy1yu/XrRtP+LJnxbBGrhN+xXu+gt3EUvZhYGKCr3lFHq/7UFJHHFgmJKoqlh6B40bZLEv7w46B0mqn1g==}
2794
-
2795
  fast-json-stringify@6.3.0:
2796
  resolution: {integrity: sha512-oRCntNDY/329HJPlmdNLIdogNtt6Vyjb1WuT01Soss3slIdyUp8kAcDU3saQTOquEK8KFVfwIIF7FebxUAu+yA==}
2797
 
@@ -2808,9 +2778,6 @@ packages:
2808
  fast-safe-stringify@2.1.1:
2809
  resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
2810
 
2811
- fast-uri@2.4.0:
2812
- resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==}
2813
-
2814
  fast-uri@3.1.0:
2815
  resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
2816
 
@@ -2832,9 +2799,6 @@ packages:
2832
  fastify-plugin@5.1.0:
2833
  resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==}
2834
 
2835
- fastify@4.29.1:
2836
- resolution: {integrity: sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==}
2837
-
2838
  fastify@5.8.5:
2839
  resolution: {integrity: sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==}
2840
 
@@ -2869,10 +2833,6 @@ packages:
2869
  resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
2870
  engines: {node: '>=8'}
2871
 
2872
- find-my-way@8.2.2:
2873
- resolution: {integrity: sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==}
2874
- engines: {node: '>=14'}
2875
-
2876
  find-my-way@9.5.0:
2877
  resolution: {integrity: sha512-VW2RfnmscZO5KgBY5XVyKREMW5nMZcxDy+buTOsL+zIPnBlbKm+00sgzoQzq1EVh4aALZLfKdwv6atBGcjvjrQ==}
2878
  engines: {node: '>=20'}
@@ -2904,10 +2864,6 @@ packages:
2904
  resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
2905
  engines: {node: '>= 12.20'}
2906
 
2907
- forwarded@0.2.0:
2908
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
2909
- engines: {node: '>= 0.6'}
2910
-
2911
  frac@1.1.2:
2912
  resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==}
2913
  engines: {node: '>=0.8'}
@@ -2929,9 +2885,6 @@ packages:
2929
  react-dom:
2930
  optional: true
2931
 
2932
- fs.realpath@1.0.0:
2933
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
2934
-
2935
  fs@0.0.1-security:
2936
  resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==}
2937
 
@@ -3006,11 +2959,6 @@ packages:
3006
  resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
3007
  engines: {node: 18 || 20 || >=22}
3008
 
3009
- glob@8.1.0:
3010
- resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
3011
- engines: {node: '>=12'}
3012
- deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
3013
-
3014
  gopd@1.2.0:
3015
  resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
3016
  engines: {node: '>= 0.4'}
@@ -3055,6 +3003,10 @@ packages:
3055
  resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
3056
  engines: {node: '>= 14'}
3057
 
 
 
 
 
3058
  https-proxy-agent@7.0.6:
3059
  resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
3060
  engines: {node: '>= 14'}
@@ -3109,10 +3061,6 @@ packages:
3109
  resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
3110
  engines: {node: '>=6'}
3111
 
3112
- inflight@1.0.6:
3113
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
3114
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
3115
-
3116
  inherits@2.0.3:
3117
  resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
3118
 
@@ -3138,10 +3086,6 @@ packages:
3138
  resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==}
3139
  engines: {node: '>= 12'}
3140
 
3141
- ipaddr.js@1.9.1:
3142
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
3143
- engines: {node: '>= 0.10'}
3144
-
3145
  ipaddr.js@2.3.0:
3146
  resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==}
3147
  engines: {node: '>= 10'}
@@ -3216,9 +3160,6 @@ packages:
3216
  json-parse-even-better-errors@2.3.1:
3217
  resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
3218
 
3219
- json-schema-ref-resolver@1.0.1:
3220
- resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==}
3221
-
3222
  json-schema-ref-resolver@3.0.0:
3223
  resolution: {integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==}
3224
 
@@ -3236,15 +3177,18 @@ packages:
3236
  jszip@3.10.1:
3237
  resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
3238
 
 
 
 
 
 
 
3239
  leac@0.6.0:
3240
  resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==}
3241
 
3242
  lie@3.3.0:
3243
  resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
3244
 
3245
- light-my-request@5.14.0:
3246
- resolution: {integrity: sha512-aORPWntbpH5esaYpGOOmri0OHDOe3wC5M2MQxZ9dvMLZm6DnaAn0kJlcbU9hwsQgLzmZyReKwFwwPkR+nHu5kA==}
3247
-
3248
  light-my-request@6.6.0:
3249
  resolution: {integrity: sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==}
3250
 
@@ -3341,10 +3285,6 @@ packages:
3341
  resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
3342
  engines: {node: 18 || 20 || >=22}
3343
 
3344
- minimatch@5.1.6:
3345
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
3346
- engines: {node: '>=10'}
3347
-
3348
  minimatch@9.0.9:
3349
  resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
3350
  engines: {node: '>=16 || 14 >=14.17'}
@@ -3393,9 +3333,6 @@ packages:
3393
  msgpackr@1.11.5:
3394
  resolution: {integrity: sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==}
3395
 
3396
- msgpackr@1.11.8:
3397
- resolution: {integrity: sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==}
3398
-
3399
  mute-stream@0.0.8:
3400
  resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
3401
 
@@ -3609,9 +3546,6 @@ packages:
3609
  pino-abstract-transport@1.2.0:
3610
  resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
3611
 
3612
- pino-abstract-transport@2.0.0:
3613
- resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
3614
-
3615
  pino-abstract-transport@3.0.0:
3616
  resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==}
3617
 
@@ -3626,10 +3560,6 @@ packages:
3626
  resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==}
3627
  hasBin: true
3628
 
3629
- pino@9.14.0:
3630
- resolution: {integrity: sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==}
3631
- hasBin: true
3632
-
3633
  pirates@4.0.7:
3634
  resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
3635
  engines: {node: '>= 6'}
@@ -3727,9 +3657,6 @@ packages:
3727
  process-nextick-args@2.0.1:
3728
  resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
3729
 
3730
- process-warning@3.0.0:
3731
- resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==}
3732
-
3733
  process-warning@4.0.1:
3734
  resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
3735
 
@@ -3747,10 +3674,6 @@ packages:
3747
  promptly@2.2.0:
3748
  resolution: {integrity: sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==}
3749
 
3750
- proxy-addr@2.0.7:
3751
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
3752
- engines: {node: '>= 0.10'}
3753
-
3754
  proxy-agent@6.4.0:
3755
  resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
3756
  engines: {node: '>= 14'}
@@ -3917,10 +3840,6 @@ packages:
3917
  engines: {node: '>= 0.4'}
3918
  hasBin: true
3919
 
3920
- ret@0.4.3:
3921
- resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==}
3922
- engines: {node: '>=10'}
3923
-
3924
  ret@0.5.0:
3925
  resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==}
3926
  engines: {node: '>=10'}
@@ -3949,9 +3868,6 @@ packages:
3949
  safe-buffer@5.2.1:
3950
  resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
3951
 
3952
- safe-regex2@3.1.0:
3953
- resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==}
3954
-
3955
  safe-regex2@5.1.1:
3956
  resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==}
3957
  hasBin: true
@@ -3970,9 +3886,6 @@ packages:
3970
  scheduler@0.23.2:
3971
  resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
3972
 
3973
- secure-json-parse@2.7.0:
3974
- resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
3975
-
3976
  secure-json-parse@4.1.0:
3977
  resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==}
3978
 
@@ -4179,9 +4092,6 @@ packages:
4179
  thenify@3.3.1:
4180
  resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
4181
 
4182
- thread-stream@3.1.0:
4183
- resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
4184
-
4185
  thread-stream@4.0.0:
4186
  resolution: {integrity: sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==}
4187
  engines: {node: '>=20'}
@@ -4341,10 +4251,6 @@ packages:
4341
  resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
4342
  hasBin: true
4343
 
4344
- uuid@9.0.1:
4345
- resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
4346
- hasBin: true
4347
-
4348
  victory-vendor@37.3.6:
4349
  resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==}
4350
 
@@ -4491,6 +4397,11 @@ packages:
4491
  resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
4492
  engines: {node: '>=0.10.0'}
4493
 
 
 
 
 
 
4494
  web-streams-polyfill@4.0.0-beta.3:
4495
  resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
4496
  engines: {node: '>= 14'}
@@ -5450,12 +5361,6 @@ snapshots:
5450
 
5451
  '@fastify/accept-negotiator@2.0.1': {}
5452
 
5453
- '@fastify/ajv-compiler@3.6.0':
5454
- dependencies:
5455
- ajv: 8.18.0
5456
- ajv-formats: 2.1.1(ajv@8.18.0)
5457
- fast-uri: 2.4.0
5458
-
5459
  '@fastify/ajv-compiler@4.0.5':
5460
  dependencies:
5461
  ajv: 8.18.0
@@ -5471,14 +5376,8 @@ snapshots:
5471
 
5472
  '@fastify/deepmerge@3.2.1': {}
5473
 
5474
- '@fastify/error@3.4.1': {}
5475
-
5476
  '@fastify/error@4.2.0': {}
5477
 
5478
- '@fastify/fast-json-stringify-compiler@4.3.0':
5479
- dependencies:
5480
- fast-json-stringify: 5.16.1
5481
-
5482
  '@fastify/fast-json-stringify-compiler@5.0.3':
5483
  dependencies:
5484
  fast-json-stringify: 6.3.0
@@ -5493,10 +5392,6 @@ snapshots:
5493
  fastify-plugin: 5.1.0
5494
  steed: 1.1.3
5495
 
5496
- '@fastify/merge-json-schemas@0.1.1':
5497
- dependencies:
5498
- fast-deep-equal: 3.1.3
5499
-
5500
  '@fastify/merge-json-schemas@0.2.1':
5501
  dependencies:
5502
  dequal: 2.0.3
@@ -6425,6 +6320,10 @@ snapshots:
6425
 
6426
  '@types/use-sync-external-store@0.0.6': {}
6427
 
 
 
 
 
6428
  '@types/yauzl@2.10.3':
6429
  dependencies:
6430
  '@types/node': 20.19.33
@@ -6541,10 +6440,6 @@ snapshots:
6541
  dependencies:
6542
  humanize-ms: 1.2.1
6543
 
6544
- ajv-formats@2.1.1(ajv@8.18.0):
6545
- optionalDependencies:
6546
- ajv: 8.18.0
6547
-
6548
  ajv-formats@3.0.1(ajv@8.18.0):
6549
  optionalDependencies:
6550
  ajv: 8.18.0
@@ -6619,11 +6514,6 @@ snapshots:
6619
  postcss: 8.5.6
6620
  postcss-value-parser: 4.2.0
6621
 
6622
- avvio@8.4.0:
6623
- dependencies:
6624
- '@fastify/error': 3.4.1
6625
- fastq: 1.20.1
6626
-
6627
  avvio@9.2.0:
6628
  dependencies:
6629
  '@fastify/error': 4.2.0
@@ -6724,6 +6614,8 @@ snapshots:
6724
 
6725
  buffer-crc32@0.2.13: {}
6726
 
 
 
6727
  buffer-from@1.1.2: {}
6728
 
6729
  buffer@5.7.1:
@@ -6736,20 +6628,6 @@ snapshots:
6736
  base64-js: 1.5.1
6737
  ieee754: 1.2.1
6738
 
6739
- bullmq@4.18.3:
6740
- dependencies:
6741
- cron-parser: 4.9.0
6742
- glob: 8.1.0
6743
- ioredis: 5.9.3
6744
- lodash: 4.17.23
6745
- msgpackr: 1.11.8
6746
- node-abort-controller: 3.1.1
6747
- semver: 7.7.4
6748
- tslib: 2.8.1
6749
- uuid: 9.0.1
6750
- transitivePeerDependencies:
6751
- - supports-color
6752
-
6753
  bullmq@5.69.3:
6754
  dependencies:
6755
  cron-parser: 4.9.0
@@ -6887,8 +6765,6 @@ snapshots:
6887
 
6888
  convert-source-map@2.0.0: {}
6889
 
6890
- cookie@0.7.2: {}
6891
-
6892
  cookie@1.1.1: {}
6893
 
6894
  core-util-is@1.0.3: {}
@@ -7254,8 +7130,6 @@ snapshots:
7254
  transitivePeerDependencies:
7255
  - debug
7256
 
7257
- fast-content-type-parse@1.1.0: {}
7258
-
7259
  fast-copy@4.0.2: {}
7260
 
7261
  fast-decode-uri-component@1.0.1: {}
@@ -7274,16 +7148,6 @@ snapshots:
7274
 
7275
  fast-json-patch@3.1.1: {}
7276
 
7277
- fast-json-stringify@5.16.1:
7278
- dependencies:
7279
- '@fastify/merge-json-schemas': 0.1.1
7280
- ajv: 8.18.0
7281
- ajv-formats: 3.0.1(ajv@8.18.0)
7282
- fast-deep-equal: 3.1.3
7283
- fast-uri: 2.4.0
7284
- json-schema-ref-resolver: 1.0.1
7285
- rfdc: 1.4.1
7286
-
7287
  fast-json-stringify@6.3.0:
7288
  dependencies:
7289
  '@fastify/merge-json-schemas': 0.2.1
@@ -7310,8 +7174,6 @@ snapshots:
7310
 
7311
  fast-safe-stringify@2.1.1: {}
7312
 
7313
- fast-uri@2.4.0: {}
7314
-
7315
  fast-uri@3.1.0: {}
7316
 
7317
  fast-xml-parser@5.3.6:
@@ -7328,25 +7190,6 @@ snapshots:
7328
 
7329
  fastify-plugin@5.1.0: {}
7330
 
7331
- fastify@4.29.1:
7332
- dependencies:
7333
- '@fastify/ajv-compiler': 3.6.0
7334
- '@fastify/error': 3.4.1
7335
- '@fastify/fast-json-stringify-compiler': 4.3.0
7336
- abstract-logging: 2.0.1
7337
- avvio: 8.4.0
7338
- fast-content-type-parse: 1.1.0
7339
- fast-json-stringify: 5.16.1
7340
- find-my-way: 8.2.2
7341
- light-my-request: 5.14.0
7342
- pino: 9.14.0
7343
- process-warning: 3.0.0
7344
- proxy-addr: 2.0.7
7345
- rfdc: 1.4.1
7346
- secure-json-parse: 2.7.0
7347
- semver: 7.7.4
7348
- toad-cache: 3.7.0
7349
-
7350
  fastify@5.8.5:
7351
  dependencies:
7352
  '@fastify/ajv-compiler': 4.0.5
@@ -7395,12 +7238,6 @@ snapshots:
7395
  dependencies:
7396
  to-regex-range: 5.0.1
7397
 
7398
- find-my-way@8.2.2:
7399
- dependencies:
7400
- fast-deep-equal: 3.1.3
7401
- fast-querystring: 1.1.2
7402
- safe-regex2: 3.1.0
7403
-
7404
  find-my-way@9.5.0:
7405
  dependencies:
7406
  fast-deep-equal: 3.1.3
@@ -7433,8 +7270,6 @@ snapshots:
7433
  node-domexception: 1.0.0
7434
  web-streams-polyfill: 4.0.0-beta.3
7435
 
7436
- forwarded@0.2.0: {}
7437
-
7438
  frac@1.1.2: {}
7439
 
7440
  fraction.js@5.3.4: {}
@@ -7448,8 +7283,6 @@ snapshots:
7448
  react: 18.3.1
7449
  react-dom: 18.3.1(react@18.3.1)
7450
 
7451
- fs.realpath@1.0.0: {}
7452
-
7453
  fs@0.0.1-security: {}
7454
 
7455
  fsevents@2.3.3:
@@ -7528,14 +7361,6 @@ snapshots:
7528
  minipass: 7.1.3
7529
  path-scurry: 2.0.2
7530
 
7531
- glob@8.1.0:
7532
- dependencies:
7533
- fs.realpath: 1.0.0
7534
- inflight: 1.0.6
7535
- inherits: 2.0.4
7536
- minimatch: 5.1.6
7537
- once: 1.4.0
7538
-
7539
  gopd@1.2.0: {}
7540
 
7541
  has-flag@4.0.0: {}
@@ -7593,6 +7418,8 @@ snapshots:
7593
  transitivePeerDependencies:
7594
  - supports-color
7595
 
 
 
7596
  https-proxy-agent@7.0.6:
7597
  dependencies:
7598
  agent-base: 7.1.4
@@ -7641,11 +7468,6 @@ snapshots:
7641
  parent-module: 1.0.1
7642
  resolve-from: 4.0.0
7643
 
7644
- inflight@1.0.6:
7645
- dependencies:
7646
- once: 1.4.0
7647
- wrappy: 1.0.2
7648
-
7649
  inherits@2.0.3: {}
7650
 
7651
  inherits@2.0.4: {}
@@ -7684,8 +7506,6 @@ snapshots:
7684
 
7685
  ip-address@10.1.0: {}
7686
 
7687
- ipaddr.js@1.9.1: {}
7688
-
7689
  ipaddr.js@2.3.0: {}
7690
 
7691
  is-arrayish@0.2.1: {}
@@ -7741,10 +7561,6 @@ snapshots:
7741
 
7742
  json-parse-even-better-errors@2.3.1: {}
7743
 
7744
- json-schema-ref-resolver@1.0.1:
7745
- dependencies:
7746
- fast-deep-equal: 3.1.3
7747
-
7748
  json-schema-ref-resolver@3.0.0:
7749
  dependencies:
7750
  dequal: 2.0.3
@@ -7763,18 +7579,23 @@ snapshots:
7763
  readable-stream: 2.3.8
7764
  setimmediate: 1.0.5
7765
 
 
 
 
 
 
 
 
 
 
 
 
7766
  leac@0.6.0: {}
7767
 
7768
  lie@3.3.0:
7769
  dependencies:
7770
  immediate: 3.0.6
7771
 
7772
- light-my-request@5.14.0:
7773
- dependencies:
7774
- cookie: 0.7.2
7775
- process-warning: 3.0.0
7776
- set-cookie-parser: 2.7.2
7777
-
7778
  light-my-request@6.6.0:
7779
  dependencies:
7780
  cookie: 1.1.1
@@ -7853,10 +7674,6 @@ snapshots:
7853
  dependencies:
7854
  brace-expansion: 5.0.5
7855
 
7856
- minimatch@5.1.6:
7857
- dependencies:
7858
- brace-expansion: 2.0.2
7859
-
7860
  minimatch@9.0.9:
7861
  dependencies:
7862
  brace-expansion: 2.0.2
@@ -7908,10 +7725,6 @@ snapshots:
7908
  optionalDependencies:
7909
  msgpackr-extract: 3.0.3
7910
 
7911
- msgpackr@1.11.8:
7912
- optionalDependencies:
7913
- msgpackr-extract: 3.0.3
7914
-
7915
  mute-stream@0.0.8: {}
7916
 
7917
  mz@2.7.0:
@@ -8110,10 +7923,6 @@ snapshots:
8110
  readable-stream: 4.7.0
8111
  split2: 4.2.0
8112
 
8113
- pino-abstract-transport@2.0.0:
8114
- dependencies:
8115
- split2: 4.2.0
8116
-
8117
  pino-abstract-transport@3.0.0:
8118
  dependencies:
8119
  split2: 4.2.0
@@ -8150,20 +7959,6 @@ snapshots:
8150
  sonic-boom: 4.2.1
8151
  thread-stream: 4.0.0
8152
 
8153
- pino@9.14.0:
8154
- dependencies:
8155
- '@pinojs/redact': 0.4.0
8156
- atomic-sleep: 1.0.0
8157
- on-exit-leak-free: 2.1.2
8158
- pino-abstract-transport: 2.0.0
8159
- pino-std-serializers: 7.1.0
8160
- process-warning: 5.0.0
8161
- quick-format-unescaped: 4.0.4
8162
- real-require: 0.2.0
8163
- safe-stable-stringify: 2.5.0
8164
- sonic-boom: 4.2.1
8165
- thread-stream: 3.1.0
8166
-
8167
  pirates@4.0.7: {}
8168
 
8169
  pkg-types@1.3.1:
@@ -8305,8 +8100,6 @@ snapshots:
8305
 
8306
  process-nextick-args@2.0.1: {}
8307
 
8308
- process-warning@3.0.0: {}
8309
-
8310
  process-warning@4.0.1: {}
8311
 
8312
  process-warning@5.0.0: {}
@@ -8319,11 +8112,6 @@ snapshots:
8319
  dependencies:
8320
  read: 1.0.7
8321
 
8322
- proxy-addr@2.0.7:
8323
- dependencies:
8324
- forwarded: 0.2.0
8325
- ipaddr.js: 1.9.1
8326
-
8327
  proxy-agent@6.4.0:
8328
  dependencies:
8329
  agent-base: 7.1.4
@@ -8533,8 +8321,6 @@ snapshots:
8533
  path-parse: 1.0.7
8534
  supports-preserve-symlinks-flag: 1.0.0
8535
 
8536
- ret@0.4.3: {}
8537
-
8538
  ret@0.5.0: {}
8539
 
8540
  reusify@1.1.0: {}
@@ -8582,10 +8368,6 @@ snapshots:
8582
 
8583
  safe-buffer@5.2.1: {}
8584
 
8585
- safe-regex2@3.1.0:
8586
- dependencies:
8587
- ret: 0.4.3
8588
-
8589
  safe-regex2@5.1.1:
8590
  dependencies:
8591
  ret: 0.5.0
@@ -8600,8 +8382,6 @@ snapshots:
8600
  dependencies:
8601
  loose-envify: 1.4.0
8602
 
8603
- secure-json-parse@2.7.0: {}
8604
-
8605
  secure-json-parse@4.1.0: {}
8606
 
8607
  selderee@0.11.0:
@@ -8864,10 +8644,6 @@ snapshots:
8864
  dependencies:
8865
  any-promise: 1.3.0
8866
 
8867
- thread-stream@3.1.0:
8868
- dependencies:
8869
- real-require: 0.2.0
8870
-
8871
  thread-stream@4.0.0:
8872
  dependencies:
8873
  real-require: 0.2.0
@@ -8990,8 +8766,6 @@ snapshots:
8990
 
8991
  uuid@11.1.0: {}
8992
 
8993
- uuid@9.0.1: {}
8994
-
8995
  victory-vendor@37.3.6:
8996
  dependencies:
8997
  '@types/d3-array': 3.2.2
@@ -9140,6 +8914,16 @@ snapshots:
9140
 
9141
  void-elements@3.1.0: {}
9142
 
 
 
 
 
 
 
 
 
 
 
9143
  web-streams-polyfill@4.0.0-beta.3: {}
9144
 
9145
  webidl-conversions@3.0.1: {}
 
184
  stripe:
185
  specifier: ^20.3.1
186
  version: 20.3.1(@types/node@20.19.33)
187
+ web-push:
188
+ specifier: ^3.6.7
189
+ version: 3.6.7
190
  xlsx:
191
  specifier: ^0.18.5
192
  version: 0.18.5
 
212
  '@types/node-cron':
213
  specifier: ^3.0.11
214
  version: 3.0.11
215
+ '@types/web-push':
216
+ specifier: ^3.6.4
217
+ version: 3.6.4
218
  '@vitest/ui':
219
  specifier: ^4.0.18
220
  version: 4.0.18(vitest@4.0.18)
 
289
  specifier: ^1.13.5
290
  version: 1.13.5
291
  bullmq:
292
+ specifier: ^5.0.0
293
+ version: 5.69.3
294
  cheerio:
295
  specifier: ^1.2.0
296
  version: 1.2.0
 
298
  specifier: ^16.0.0
299
  version: 16.6.1
300
  fastify:
301
+ specifier: ^5.0.0
302
+ version: 5.8.5
303
  html-to-text:
304
  specifier: ^9.0.5
305
  version: 9.0.5
 
312
  node-cron:
313
  specifier: ^4.2.1
314
  version: 4.2.1
 
 
 
315
  pdf-parse:
316
  specifier: ^2.4.5
317
  version: 2.4.5
 
337
  '@types/node-cron':
338
  specifier: ^3.0.11
339
  version: 3.0.11
 
 
 
340
  tsx:
341
  specifier: ^3.0.0
342
  version: 3.14.0
 
1106
  '@fastify/accept-negotiator@2.0.1':
1107
  resolution: {integrity: sha512-/c/TW2bO/v9JeEgoD/g1G5GxGeCF1Hafdf79WPmUlgYiBXummY0oX3VVq4yFkKKVBKDNlaDUYoab7g38RpPqCQ==}
1108
 
 
 
 
1109
  '@fastify/ajv-compiler@4.0.5':
1110
  resolution: {integrity: sha512-KoWKW+MhvfTRWL4qrhUwAAZoaChluo0m0vbiJlGMt2GXvL4LVPQEjt8kSpHI3IBq5Rez8fg+XeH3cneztq+C7A==}
1111
 
 
1118
  '@fastify/deepmerge@3.2.1':
1119
  resolution: {integrity: sha512-N5Oqvltoa2r9z1tbx4xjky0oRR60v+T47Ic4J1ukoVQcptLOrIdRnCSdTGmOmajZuHVKlTnfcmrjyqsGEW1ztA==}
1120
 
 
 
 
1121
  '@fastify/error@4.2.0':
1122
  resolution: {integrity: sha512-RSo3sVDXfHskiBZKBPRgnQTtIqpi/7zhJOEmAxCiBcM7d0uwdGdxLlsCaLzGs8v8NnxIRlfG0N51p5yFaOentQ==}
1123
 
 
 
 
1124
  '@fastify/fast-json-stringify-compiler@5.0.3':
1125
  resolution: {integrity: sha512-uik7yYHkLr6fxd8hJSZ8c+xF4WafPK+XzneQDPU+D10r5X19GW8lJcom2YijX2+qtFF1ENJlHXKFM9ouXNJYgQ==}
1126
 
 
1130
  '@fastify/jwt@9.1.0':
1131
  resolution: {integrity: sha512-CiGHCnS5cPMdb004c70sUWhQTfzrJHAeTywt7nVw6dAiI0z1o4WRvU94xfijhkaId4bIxTCOjFgn4sU+Gvk43w==}
1132
 
 
 
 
1133
  '@fastify/merge-json-schemas@0.2.1':
1134
  resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==}
1135
 
 
1978
  '@types/use-sync-external-store@0.0.6':
1979
  resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
1980
 
1981
+ '@types/web-push@3.6.4':
1982
+ resolution: {integrity: sha512-GnJmSr40H3RAnj0s34FNTcJi1hmWFV5KXugE0mYWnYhgTAHLJ/dJKAwDmvPJYMke0RplY2XE9LnM4hqSqKIjhQ==}
1983
+
1984
  '@types/yauzl@2.10.3':
1985
  resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
1986
 
 
2067
  resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==}
2068
  engines: {node: '>= 8.0.0'}
2069
 
 
 
 
 
 
 
 
 
2070
  ajv-formats@3.0.1:
2071
  resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
2072
  peerDependencies:
 
2151
  peerDependencies:
2152
  postcss: ^8.1.0
2153
 
 
 
 
2154
  avvio@9.2.0:
2155
  resolution: {integrity: sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ==}
2156
 
 
2262
  buffer-crc32@0.2.13:
2263
  resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
2264
 
2265
+ buffer-equal-constant-time@1.0.1:
2266
+ resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
2267
+
2268
  buffer-from@1.1.2:
2269
  resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
2270
 
 
2274
  buffer@6.0.3:
2275
  resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
2276
 
 
 
 
2277
  bullmq@5.69.3:
2278
  resolution: {integrity: sha512-P9uLsR7fDvejH/1m6uur6j7U9mqY6nNt+XvhlhStOUe7jdwbZoP/c2oWNtE+8ljOlubw4pRUKymtRqkyvloc4A==}
2279
 
 
2389
  convert-source-map@2.0.0:
2390
  resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
2391
 
 
 
 
 
2392
  cookie@1.1.1:
2393
  resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
2394
  engines: {node: '>=18'}
 
2743
  extrareqp2@1.0.0:
2744
  resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==}
2745
 
 
 
 
2746
  fast-copy@4.0.2:
2747
  resolution: {integrity: sha512-ybA6PDXIXOXivLJK/z9e+Otk7ve13I4ckBvGO5I2RRmBU1gMHLVDJYEuJYhGwez7YNlYji2M2DvVU+a9mSFDlw==}
2748
 
 
2762
  fast-json-patch@3.1.1:
2763
  resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==}
2764
 
 
 
 
2765
  fast-json-stringify@6.3.0:
2766
  resolution: {integrity: sha512-oRCntNDY/329HJPlmdNLIdogNtt6Vyjb1WuT01Soss3slIdyUp8kAcDU3saQTOquEK8KFVfwIIF7FebxUAu+yA==}
2767
 
 
2778
  fast-safe-stringify@2.1.1:
2779
  resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
2780
 
 
 
 
2781
  fast-uri@3.1.0:
2782
  resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
2783
 
 
2799
  fastify-plugin@5.1.0:
2800
  resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==}
2801
 
 
 
 
2802
  fastify@5.8.5:
2803
  resolution: {integrity: sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==}
2804
 
 
2833
  resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
2834
  engines: {node: '>=8'}
2835
 
 
 
 
 
2836
  find-my-way@9.5.0:
2837
  resolution: {integrity: sha512-VW2RfnmscZO5KgBY5XVyKREMW5nMZcxDy+buTOsL+zIPnBlbKm+00sgzoQzq1EVh4aALZLfKdwv6atBGcjvjrQ==}
2838
  engines: {node: '>=20'}
 
2864
  resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==}
2865
  engines: {node: '>= 12.20'}
2866
 
 
 
 
 
2867
  frac@1.1.2:
2868
  resolution: {integrity: sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==}
2869
  engines: {node: '>=0.8'}
 
2885
  react-dom:
2886
  optional: true
2887
 
 
 
 
2888
  fs@0.0.1-security:
2889
  resolution: {integrity: sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==}
2890
 
 
2959
  resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==}
2960
  engines: {node: 18 || 20 || >=22}
2961
 
 
 
 
 
 
2962
  gopd@1.2.0:
2963
  resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
2964
  engines: {node: '>= 0.4'}
 
3003
  resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
3004
  engines: {node: '>= 14'}
3005
 
3006
+ http_ece@1.2.0:
3007
+ resolution: {integrity: sha512-JrF8SSLVmcvc5NducxgyOrKXe3EsyHMgBFgSaIUGmArKe+rwr0uphRkRXvwiom3I+fpIfoItveHrfudL8/rxuA==}
3008
+ engines: {node: '>=16'}
3009
+
3010
  https-proxy-agent@7.0.6:
3011
  resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
3012
  engines: {node: '>= 14'}
 
3061
  resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
3062
  engines: {node: '>=6'}
3063
 
 
 
 
 
3064
  inherits@2.0.3:
3065
  resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
3066
 
 
3086
  resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==}
3087
  engines: {node: '>= 12'}
3088
 
 
 
 
 
3089
  ipaddr.js@2.3.0:
3090
  resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==}
3091
  engines: {node: '>= 10'}
 
3160
  json-parse-even-better-errors@2.3.1:
3161
  resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
3162
 
 
 
 
3163
  json-schema-ref-resolver@3.0.0:
3164
  resolution: {integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==}
3165
 
 
3177
  jszip@3.10.1:
3178
  resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
3179
 
3180
+ jwa@2.0.1:
3181
+ resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==}
3182
+
3183
+ jws@4.0.1:
3184
+ resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==}
3185
+
3186
  leac@0.6.0:
3187
  resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==}
3188
 
3189
  lie@3.3.0:
3190
  resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
3191
 
 
 
 
3192
  light-my-request@6.6.0:
3193
  resolution: {integrity: sha512-CHYbu8RtboSIoVsHZ6Ye4cj4Aw/yg2oAFimlF7mNvfDV192LR7nDiKtSIfCuLT7KokPSTn/9kfVLm5OGN0A28A==}
3194
 
 
3285
  resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
3286
  engines: {node: 18 || 20 || >=22}
3287
 
 
 
 
 
3288
  minimatch@9.0.9:
3289
  resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==}
3290
  engines: {node: '>=16 || 14 >=14.17'}
 
3333
  msgpackr@1.11.5:
3334
  resolution: {integrity: sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==}
3335
 
 
 
 
3336
  mute-stream@0.0.8:
3337
  resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
3338
 
 
3546
  pino-abstract-transport@1.2.0:
3547
  resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==}
3548
 
 
 
 
3549
  pino-abstract-transport@3.0.0:
3550
  resolution: {integrity: sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==}
3551
 
 
3560
  resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==}
3561
  hasBin: true
3562
 
 
 
 
 
3563
  pirates@4.0.7:
3564
  resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==}
3565
  engines: {node: '>= 6'}
 
3657
  process-nextick-args@2.0.1:
3658
  resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
3659
 
 
 
 
3660
  process-warning@4.0.1:
3661
  resolution: {integrity: sha512-3c2LzQ3rY9d0hc1emcsHhfT9Jwz0cChib/QN89oME2R451w5fy3f0afAhERFZAwrbDU43wk12d0ORBpDVME50Q==}
3662
 
 
3674
  promptly@2.2.0:
3675
  resolution: {integrity: sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==}
3676
 
 
 
 
 
3677
  proxy-agent@6.4.0:
3678
  resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
3679
  engines: {node: '>= 14'}
 
3840
  engines: {node: '>= 0.4'}
3841
  hasBin: true
3842
 
 
 
 
 
3843
  ret@0.5.0:
3844
  resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==}
3845
  engines: {node: '>=10'}
 
3868
  safe-buffer@5.2.1:
3869
  resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
3870
 
 
 
 
3871
  safe-regex2@5.1.1:
3872
  resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==}
3873
  hasBin: true
 
3886
  scheduler@0.23.2:
3887
  resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
3888
 
 
 
 
3889
  secure-json-parse@4.1.0:
3890
  resolution: {integrity: sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==}
3891
 
 
4092
  thenify@3.3.1:
4093
  resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
4094
 
 
 
 
4095
  thread-stream@4.0.0:
4096
  resolution: {integrity: sha512-4iMVL6HAINXWf1ZKZjIPcz5wYaOdPhtO8ATvZ+Xqp3BTdaqtAwQkNmKORqcIo5YkQqGXq5cwfswDwMqqQNrpJA==}
4097
  engines: {node: '>=20'}
 
4251
  resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
4252
  hasBin: true
4253
 
 
 
 
 
4254
  victory-vendor@37.3.6:
4255
  resolution: {integrity: sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==}
4256
 
 
4397
  resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
4398
  engines: {node: '>=0.10.0'}
4399
 
4400
+ web-push@3.6.7:
4401
+ resolution: {integrity: sha512-OpiIUe8cuGjrj3mMBFWY+e4MMIkW3SVT+7vEIjvD9kejGUypv8GPDf84JdPWskK8zMRIJ6xYGm+Kxr8YkPyA0A==}
4402
+ engines: {node: '>= 16'}
4403
+ hasBin: true
4404
+
4405
  web-streams-polyfill@4.0.0-beta.3:
4406
  resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==}
4407
  engines: {node: '>= 14'}
 
5361
 
5362
  '@fastify/accept-negotiator@2.0.1': {}
5363
 
 
 
 
 
 
 
5364
  '@fastify/ajv-compiler@4.0.5':
5365
  dependencies:
5366
  ajv: 8.18.0
 
5376
 
5377
  '@fastify/deepmerge@3.2.1': {}
5378
 
 
 
5379
  '@fastify/error@4.2.0': {}
5380
 
 
 
 
 
5381
  '@fastify/fast-json-stringify-compiler@5.0.3':
5382
  dependencies:
5383
  fast-json-stringify: 6.3.0
 
5392
  fastify-plugin: 5.1.0
5393
  steed: 1.1.3
5394
 
 
 
 
 
5395
  '@fastify/merge-json-schemas@0.2.1':
5396
  dependencies:
5397
  dequal: 2.0.3
 
6320
 
6321
  '@types/use-sync-external-store@0.0.6': {}
6322
 
6323
+ '@types/web-push@3.6.4':
6324
+ dependencies:
6325
+ '@types/node': 20.19.33
6326
+
6327
  '@types/yauzl@2.10.3':
6328
  dependencies:
6329
  '@types/node': 20.19.33
 
6440
  dependencies:
6441
  humanize-ms: 1.2.1
6442
 
 
 
 
 
6443
  ajv-formats@3.0.1(ajv@8.18.0):
6444
  optionalDependencies:
6445
  ajv: 8.18.0
 
6514
  postcss: 8.5.6
6515
  postcss-value-parser: 4.2.0
6516
 
 
 
 
 
 
6517
  avvio@9.2.0:
6518
  dependencies:
6519
  '@fastify/error': 4.2.0
 
6614
 
6615
  buffer-crc32@0.2.13: {}
6616
 
6617
+ buffer-equal-constant-time@1.0.1: {}
6618
+
6619
  buffer-from@1.1.2: {}
6620
 
6621
  buffer@5.7.1:
 
6628
  base64-js: 1.5.1
6629
  ieee754: 1.2.1
6630
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6631
  bullmq@5.69.3:
6632
  dependencies:
6633
  cron-parser: 4.9.0
 
6765
 
6766
  convert-source-map@2.0.0: {}
6767
 
 
 
6768
  cookie@1.1.1: {}
6769
 
6770
  core-util-is@1.0.3: {}
 
7130
  transitivePeerDependencies:
7131
  - debug
7132
 
 
 
7133
  fast-copy@4.0.2: {}
7134
 
7135
  fast-decode-uri-component@1.0.1: {}
 
7148
 
7149
  fast-json-patch@3.1.1: {}
7150
 
 
 
 
 
 
 
 
 
 
 
7151
  fast-json-stringify@6.3.0:
7152
  dependencies:
7153
  '@fastify/merge-json-schemas': 0.2.1
 
7174
 
7175
  fast-safe-stringify@2.1.1: {}
7176
 
 
 
7177
  fast-uri@3.1.0: {}
7178
 
7179
  fast-xml-parser@5.3.6:
 
7190
 
7191
  fastify-plugin@5.1.0: {}
7192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7193
  fastify@5.8.5:
7194
  dependencies:
7195
  '@fastify/ajv-compiler': 4.0.5
 
7238
  dependencies:
7239
  to-regex-range: 5.0.1
7240
 
 
 
 
 
 
 
7241
  find-my-way@9.5.0:
7242
  dependencies:
7243
  fast-deep-equal: 3.1.3
 
7270
  node-domexception: 1.0.0
7271
  web-streams-polyfill: 4.0.0-beta.3
7272
 
 
 
7273
  frac@1.1.2: {}
7274
 
7275
  fraction.js@5.3.4: {}
 
7283
  react: 18.3.1
7284
  react-dom: 18.3.1(react@18.3.1)
7285
 
 
 
7286
  fs@0.0.1-security: {}
7287
 
7288
  fsevents@2.3.3:
 
7361
  minipass: 7.1.3
7362
  path-scurry: 2.0.2
7363
 
 
 
 
 
 
 
 
 
7364
  gopd@1.2.0: {}
7365
 
7366
  has-flag@4.0.0: {}
 
7418
  transitivePeerDependencies:
7419
  - supports-color
7420
 
7421
+ http_ece@1.2.0: {}
7422
+
7423
  https-proxy-agent@7.0.6:
7424
  dependencies:
7425
  agent-base: 7.1.4
 
7468
  parent-module: 1.0.1
7469
  resolve-from: 4.0.0
7470
 
 
 
 
 
 
7471
  inherits@2.0.3: {}
7472
 
7473
  inherits@2.0.4: {}
 
7506
 
7507
  ip-address@10.1.0: {}
7508
 
 
 
7509
  ipaddr.js@2.3.0: {}
7510
 
7511
  is-arrayish@0.2.1: {}
 
7561
 
7562
  json-parse-even-better-errors@2.3.1: {}
7563
 
 
 
 
 
7564
  json-schema-ref-resolver@3.0.0:
7565
  dependencies:
7566
  dequal: 2.0.3
 
7579
  readable-stream: 2.3.8
7580
  setimmediate: 1.0.5
7581
 
7582
+ jwa@2.0.1:
7583
+ dependencies:
7584
+ buffer-equal-constant-time: 1.0.1
7585
+ ecdsa-sig-formatter: 1.0.11
7586
+ safe-buffer: 5.2.1
7587
+
7588
+ jws@4.0.1:
7589
+ dependencies:
7590
+ jwa: 2.0.1
7591
+ safe-buffer: 5.2.1
7592
+
7593
  leac@0.6.0: {}
7594
 
7595
  lie@3.3.0:
7596
  dependencies:
7597
  immediate: 3.0.6
7598
 
 
 
 
 
 
 
7599
  light-my-request@6.6.0:
7600
  dependencies:
7601
  cookie: 1.1.1
 
7674
  dependencies:
7675
  brace-expansion: 5.0.5
7676
 
 
 
 
 
7677
  minimatch@9.0.9:
7678
  dependencies:
7679
  brace-expansion: 2.0.2
 
7725
  optionalDependencies:
7726
  msgpackr-extract: 3.0.3
7727
 
 
 
 
 
7728
  mute-stream@0.0.8: {}
7729
 
7730
  mz@2.7.0:
 
7923
  readable-stream: 4.7.0
7924
  split2: 4.2.0
7925
 
 
 
 
 
7926
  pino-abstract-transport@3.0.0:
7927
  dependencies:
7928
  split2: 4.2.0
 
7959
  sonic-boom: 4.2.1
7960
  thread-stream: 4.0.0
7961
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7962
  pirates@4.0.7: {}
7963
 
7964
  pkg-types@1.3.1:
 
8100
 
8101
  process-nextick-args@2.0.1: {}
8102
 
 
 
8103
  process-warning@4.0.1: {}
8104
 
8105
  process-warning@5.0.0: {}
 
8112
  dependencies:
8113
  read: 1.0.7
8114
 
 
 
 
 
 
8115
  proxy-agent@6.4.0:
8116
  dependencies:
8117
  agent-base: 7.1.4
 
8321
  path-parse: 1.0.7
8322
  supports-preserve-symlinks-flag: 1.0.0
8323
 
 
 
8324
  ret@0.5.0: {}
8325
 
8326
  reusify@1.1.0: {}
 
8368
 
8369
  safe-buffer@5.2.1: {}
8370
 
 
 
 
 
8371
  safe-regex2@5.1.1:
8372
  dependencies:
8373
  ret: 0.5.0
 
8382
  dependencies:
8383
  loose-envify: 1.4.0
8384
 
 
 
8385
  secure-json-parse@4.1.0: {}
8386
 
8387
  selderee@0.11.0:
 
8644
  dependencies:
8645
  any-promise: 1.3.0
8646
 
 
 
 
 
8647
  thread-stream@4.0.0:
8648
  dependencies:
8649
  real-require: 0.2.0
 
8766
 
8767
  uuid@11.1.0: {}
8768
 
 
 
8769
  victory-vendor@37.3.6:
8770
  dependencies:
8771
  '@types/d3-array': 3.2.2
 
8914
 
8915
  void-elements@3.1.0: {}
8916
 
8917
+ web-push@3.6.7:
8918
+ dependencies:
8919
+ asn1.js: 5.4.1
8920
+ http_ece: 1.2.0
8921
+ https-proxy-agent: 7.0.6
8922
+ jws: 4.0.1
8923
+ minimist: 1.2.8
8924
+ transitivePeerDependencies:
8925
+ - supports-color
8926
+
8927
  web-streams-polyfill@4.0.0-beta.3: {}
8928
 
8929
  webidl-conversions@3.0.1: {}