api: pull in awk, multer, multer-s3
Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago
c74790e9b8565fd1c4db09f2743077a96c6abb36 Browse filesParents
bbb8003Changed files
2
Additions
+942
Deletions
-2
api/package-lock.json
1 1
{
2 2
"name": "orbit-api",
3 3
"version": "0.0.0",
4 4
"lockfileVersion": 3,
5 5
"requires": true,
7 7
"": {
8 8
"name": "orbit-api",
9 9
"version": "0.0.0",
10 10
"license": "ISC",
11 11
"dependencies": {
12 +
"@aws-sdk/client-s3": "^3.1048.0",
12 13
"@prisma/adapter-better-sqlite3": "^7.5.0",
13 14
"@prisma/adapter-pg": "^7.7.0",
14 15
"@prisma/client": "^7.5.0",
15 16
"@types/cors": "^2.8.19",
16 17
"@types/jsonwebtoken": "^9.0.10",
21 22
"cors": "^2.8.6",
22 23
"date-fns": "^4.1.0",
23 24
"express": "^5.2.1",
24 25
"jsonwebtoken": "^9.0.3",
25 26
"morgan": "^1.10.1",
27 +
"multer": "^2.1.1",
28 +
"multer-s3": "^3.0.1",
26 29
"pg": "^8.20.0",
27 30
"resend": "^6.12.3",
28 31
"zod": "^4.4.3"
29 32
},
30 33
"devDependencies": {
31 34
"@ava/typescript": "^6.0.0",
32 35
"@types/better-sqlite3": "^7.6.13",
33 36
"@types/express": "^5.0.6",
34 37
"@types/morgan": "^1.9.10",
38 +
"@types/multer": "^2.1.0",
39 +
"@types/multer-s3": "^3.0.3",
35 40
"@types/node": "^25.5.2",
36 41
"ava": "^6.4.1",
37 42
"cross-var": "^1.1.0",
38 43
"dotenv-cli": "^11.0.0",
39 44
"nodemon": "^3.1.14",
58 63
},
59 64
"engines": {
60 65
"node": "^20.8 || ^22 || >=24"
61 66
}
62 67
},
68 +
"node_modules/@aws-crypto/crc32": {
69 +
"version": "5.2.0",
70 +
"resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz",
71 +
"integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==",
72 +
"license": "Apache-2.0",
73 +
"dependencies": {
74 +
"@aws-crypto/util": "^5.2.0",
75 +
"@aws-sdk/types": "^3.222.0",
76 +
"tslib": "^2.6.2"
77 +
},
78 +
"engines": {
79 +
"node": ">=16.0.0"
80 +
}
81 +
},
82 +
"node_modules/@aws-crypto/crc32c": {
83 +
"version": "5.2.0",
84 +
"resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz",
85 +
"integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==",
86 +
"license": "Apache-2.0",
87 +
"dependencies": {
88 +
"@aws-crypto/util": "^5.2.0",
89 +
"@aws-sdk/types": "^3.222.0",
90 +
"tslib": "^2.6.2"
91 +
}
92 +
},
93 +
"node_modules/@aws-crypto/sha1-browser": {
94 +
"version": "5.2.0",
95 +
"resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz",
96 +
"integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==",
97 +
"license": "Apache-2.0",
98 +
"dependencies": {
99 +
"@aws-crypto/supports-web-crypto": "^5.2.0",
100 +
"@aws-crypto/util": "^5.2.0",
101 +
"@aws-sdk/types": "^3.222.0",
102 +
"@aws-sdk/util-locate-window": "^3.0.0",
103 +
"@smithy/util-utf8": "^2.0.0",
104 +
"tslib": "^2.6.2"
105 +
}
106 +
},
107 +
"node_modules/@aws-crypto/sha256-browser": {
108 +
"version": "5.2.0",
109 +
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
110 +
"integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
111 +
"license": "Apache-2.0",
112 +
"dependencies": {
113 +
"@aws-crypto/sha256-js": "^5.2.0",
114 +
"@aws-crypto/supports-web-crypto": "^5.2.0",
115 +
"@aws-crypto/util": "^5.2.0",
116 +
"@aws-sdk/types": "^3.222.0",
117 +
"@aws-sdk/util-locate-window": "^3.0.0",
118 +
"@smithy/util-utf8": "^2.0.0",
119 +
"tslib": "^2.6.2"
120 +
}
121 +
},
122 +
"node_modules/@aws-crypto/sha256-js": {
123 +
"version": "5.2.0",
124 +
"resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
125 +
"integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
126 +
"license": "Apache-2.0",
127 +
"dependencies": {
128 +
"@aws-crypto/util": "^5.2.0",
129 +
"@aws-sdk/types": "^3.222.0",
130 +
"tslib": "^2.6.2"
131 +
},
132 +
"engines": {
133 +
"node": ">=16.0.0"
134 +
}
135 +
},
136 +
"node_modules/@aws-crypto/supports-web-crypto": {
137 +
"version": "5.2.0",
138 +
"resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
139 +
"integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
140 +
"license": "Apache-2.0",
141 +
"dependencies": {
142 +
"tslib": "^2.6.2"
143 +
}
144 +
},
145 +
"node_modules/@aws-crypto/util": {
146 +
"version": "5.2.0",
147 +
"resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
148 +
"integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
149 +
"license": "Apache-2.0",
150 +
"dependencies": {
151 +
"@aws-sdk/types": "^3.222.0",
152 +
"@smithy/util-utf8": "^2.0.0",
153 +
"tslib": "^2.6.2"
154 +
}
155 +
},
156 +
"node_modules/@aws-sdk/client-s3": {
157 +
"version": "3.1048.0",
158 +
"resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1048.0.tgz",
159 +
"integrity": "sha512-SrJn5FteqqtcDBgQIvqLKk3Qn/2vSsi5XR03I53EDDR4CbCdLysVSNgUnjVncEECMua9Pz+nxO0/lEx3TP+6mA==",
160 +
"license": "Apache-2.0",
161 +
"dependencies": {
162 +
"@aws-crypto/sha1-browser": "5.2.0",
163 +
"@aws-crypto/sha256-browser": "5.2.0",
164 +
"@aws-crypto/sha256-js": "5.2.0",
165 +
"@aws-sdk/core": "^3.974.11",
166 +
"@aws-sdk/credential-provider-node": "^3.972.42",
167 +
"@aws-sdk/middleware-bucket-endpoint": "^3.972.13",
168 +
"@aws-sdk/middleware-expect-continue": "^3.972.12",
169 +
"@aws-sdk/middleware-flexible-checksums": "^3.974.19",
170 +
"@aws-sdk/middleware-location-constraint": "^3.972.10",
171 +
"@aws-sdk/middleware-sdk-s3": "^3.972.40",
172 +
"@aws-sdk/middleware-ssec": "^3.972.10",
173 +
"@aws-sdk/signature-v4-multi-region": "^3.996.27",
174 +
"@aws-sdk/types": "^3.973.8",
175 +
"@smithy/core": "^3.24.2",
176 +
"@smithy/fetch-http-handler": "^5.4.2",
177 +
"@smithy/node-http-handler": "^4.7.2",
178 +
"@smithy/types": "^4.14.1",
179 +
"tslib": "^2.6.2"
180 +
},
181 +
"engines": {
182 +
"node": ">=20.0.0"
183 +
}
184 +
},
185 +
"node_modules/@aws-sdk/core": {
186 +
"version": "3.974.11",
187 +
"resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.974.11.tgz",
188 +
"integrity": "sha512-QpnINq5FZH6EOaDEkmHdT7eUunbvD27pDNQypaWjFyYz7Zl1q3UCMQErBZxpmfGfI7MvI2TlK8KTkgNpv8b1ug==",
189 +
"license": "Apache-2.0",
190 +
"dependencies": {
191 +
"@aws-sdk/types": "^3.973.8",
192 +
"@aws-sdk/xml-builder": "^3.972.24",
193 +
"@aws/lambda-invoke-store": "^0.2.2",
194 +
"@smithy/core": "^3.24.2",
195 +
"@smithy/signature-v4": "^5.4.2",
196 +
"@smithy/types": "^4.14.1",
197 +
"bowser": "^2.11.0",
198 +
"tslib": "^2.6.2"
199 +
},
200 +
"engines": {
201 +
"node": ">=20.0.0"
202 +
}
203 +
},
204 +
"node_modules/@aws-sdk/crc64-nvme": {
205 +
"version": "3.972.8",
206 +
"resolved": "https://registry.npmjs.org/@aws-sdk/crc64-nvme/-/crc64-nvme-3.972.8.tgz",
207 +
"integrity": "sha512-fVfUCL/Xh2zINYMPZvj+iBn6XWouQf0DAnjaWCI9MkmqXzL2Iy5FoQB8O7syFe6gN6AH1ecDDU58T51Ou0kFkA==",
208 +
"license": "Apache-2.0",
209 +
"dependencies": {
210 +
"@smithy/types": "^4.14.1",
211 +
"tslib": "^2.6.2"
212 +
},
213 +
"engines": {
214 +
"node": ">=20.0.0"
215 +
}
216 +
},
217 +
"node_modules/@aws-sdk/credential-provider-env": {
218 +
"version": "3.972.37",
219 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.37.tgz",
220 +
"integrity": "sha512-/jpPvEh6f7ntmIzf7dNxoNX6Q8vt8UpesCjbW6mFfk4V1NW6bIy9qxcQ6WbA8As5yQhsZOe+xeNd4xHX8kdY2Q==",
221 +
"license": "Apache-2.0",
222 +
"dependencies": {
223 +
"@aws-sdk/core": "^3.974.11",
224 +
"@aws-sdk/types": "^3.973.8",
225 +
"@smithy/core": "^3.24.2",
226 +
"@smithy/types": "^4.14.1",
227 +
"tslib": "^2.6.2"
228 +
},
229 +
"engines": {
230 +
"node": ">=20.0.0"
231 +
}
232 +
},
233 +
"node_modules/@aws-sdk/credential-provider-http": {
234 +
"version": "3.972.39",
235 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.39.tgz",
236 +
"integrity": "sha512-pIgTpisWyWg7X1bUbzSjuUYosYTD0Ghz2M0hkSTmb3a6i3qV3uU+NYJPI/E2XSC0HcsZh5rsLPzeXrkb2DS0Cg==",
237 +
"license": "Apache-2.0",
238 +
"dependencies": {
239 +
"@aws-sdk/core": "^3.974.11",
240 +
"@aws-sdk/types": "^3.973.8",
241 +
"@smithy/core": "^3.24.2",
242 +
"@smithy/fetch-http-handler": "^5.4.2",
243 +
"@smithy/node-http-handler": "^4.7.2",
244 +
"@smithy/types": "^4.14.1",
245 +
"tslib": "^2.6.2"
246 +
},
247 +
"engines": {
248 +
"node": ">=20.0.0"
249 +
}
250 +
},
251 +
"node_modules/@aws-sdk/credential-provider-ini": {
252 +
"version": "3.972.41",
253 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.41.tgz",
254 +
"integrity": "sha512-u2tyjaxJJzW8UtW4SM1ZcPMDwO6y+kV+llvou+Adts0FAKyzes5jG4izQN+KX3yE8ZROpS5y1LJ//xL2iSf76w==",
255 +
"license": "Apache-2.0",
256 +
"dependencies": {
257 +
"@aws-sdk/core": "^3.974.11",
258 +
"@aws-sdk/credential-provider-env": "^3.972.37",
259 +
"@aws-sdk/credential-provider-http": "^3.972.39",
260 +
"@aws-sdk/credential-provider-login": "^3.972.41",
261 +
"@aws-sdk/credential-provider-process": "^3.972.37",
262 +
"@aws-sdk/credential-provider-sso": "^3.972.41",
263 +
"@aws-sdk/credential-provider-web-identity": "^3.972.41",
264 +
"@aws-sdk/nested-clients": "^3.997.9",
265 +
"@aws-sdk/types": "^3.973.8",
266 +
"@smithy/core": "^3.24.2",
267 +
"@smithy/credential-provider-imds": "^4.3.2",
268 +
"@smithy/types": "^4.14.1",
269 +
"tslib": "^2.6.2"
270 +
},
271 +
"engines": {
272 +
"node": ">=20.0.0"
273 +
}
274 +
},
275 +
"node_modules/@aws-sdk/credential-provider-login": {
276 +
"version": "3.972.41",
277 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.41.tgz",
278 +
"integrity": "sha512-0LBitxXiAiaE5nlFPfpNIww/8FRY/I7WIndWsc9GmNFOM7cE1wNpVNQEGEk9Outg5l8xl+3vybxFyUy4l9q/LQ==",
279 +
"license": "Apache-2.0",
280 +
"dependencies": {
281 +
"@aws-sdk/core": "^3.974.11",
282 +
"@aws-sdk/nested-clients": "^3.997.9",
283 +
"@aws-sdk/types": "^3.973.8",
284 +
"@smithy/core": "^3.24.2",
285 +
"@smithy/types": "^4.14.1",
286 +
"tslib": "^2.6.2"
287 +
},
288 +
"engines": {
289 +
"node": ">=20.0.0"
290 +
}
291 +
},
292 +
"node_modules/@aws-sdk/credential-provider-node": {
293 +
"version": "3.972.42",
294 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.42.tgz",
295 +
"integrity": "sha512-D4oon2zbqqsWOJUM99Gm3/ZyJ0IJvTXVN3PyloGb3kQEyI36fjCZheZj422lAgTWWd6TSHgiImLt3RIaLdv3dQ==",
296 +
"license": "Apache-2.0",
297 +
"dependencies": {
298 +
"@aws-sdk/credential-provider-env": "^3.972.37",
299 +
"@aws-sdk/credential-provider-http": "^3.972.39",
300 +
"@aws-sdk/credential-provider-ini": "^3.972.41",
301 +
"@aws-sdk/credential-provider-process": "^3.972.37",
302 +
"@aws-sdk/credential-provider-sso": "^3.972.41",
303 +
"@aws-sdk/credential-provider-web-identity": "^3.972.41",
304 +
"@aws-sdk/types": "^3.973.8",
305 +
"@smithy/core": "^3.24.2",
306 +
"@smithy/credential-provider-imds": "^4.3.2",
307 +
"@smithy/types": "^4.14.1",
308 +
"tslib": "^2.6.2"
309 +
},
310 +
"engines": {
311 +
"node": ">=20.0.0"
312 +
}
313 +
},
314 +
"node_modules/@aws-sdk/credential-provider-process": {
315 +
"version": "3.972.37",
316 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.37.tgz",
317 +
"integrity": "sha512-7nVaHBUaWIddASYfVaA9O4D5ZVjewU3sCol9WqZPGfW0nR+0WqE0xHZnD/U2L33PlOB8KNXGKZ6wOES/QijKzg==",
318 +
"license": "Apache-2.0",
319 +
"dependencies": {
320 +
"@aws-sdk/core": "^3.974.11",
321 +
"@aws-sdk/types": "^3.973.8",
322 +
"@smithy/core": "^3.24.2",
323 +
"@smithy/types": "^4.14.1",
324 +
"tslib": "^2.6.2"
325 +
},
326 +
"engines": {
327 +
"node": ">=20.0.0"
328 +
}
329 +
},
330 +
"node_modules/@aws-sdk/credential-provider-sso": {
331 +
"version": "3.972.41",
332 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.41.tgz",
333 +
"integrity": "sha512-IOWAWEHe5LkjSKkkUUX9ciV6Y1scHTsnfEkdt5yyC4Slrc7AGbkLPrpntjqh18ksJAMOaVhoBsO8p2WyTcY2wQ==",
334 +
"license": "Apache-2.0",
335 +
"dependencies": {
336 +
"@aws-sdk/core": "^3.974.11",
337 +
"@aws-sdk/nested-clients": "^3.997.9",
338 +
"@aws-sdk/token-providers": "3.1048.0",
339 +
"@aws-sdk/types": "^3.973.8",
340 +
"@smithy/core": "^3.24.2",
341 +
"@smithy/types": "^4.14.1",
342 +
"tslib": "^2.6.2"
343 +
},
344 +
"engines": {
345 +
"node": ">=20.0.0"
346 +
}
347 +
},
348 +
"node_modules/@aws-sdk/credential-provider-web-identity": {
349 +
"version": "3.972.41",
350 +
"resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.41.tgz",
351 +
"integrity": "sha512-mbACk9Yypa8nm4iGZLs0PofOXEcTDOUw6wDnsPXNDNSd2WNXs1tSo+6nc/fh0jLYdfVZThhBL98PHW4aXFsG5A==",
352 +
"license": "Apache-2.0",
353 +
"dependencies": {
354 +
"@aws-sdk/core": "^3.974.11",
355 +
"@aws-sdk/nested-clients": "^3.997.9",
356 +
"@aws-sdk/types": "^3.973.8",
357 +
"@smithy/core": "^3.24.2",
358 +
"@smithy/types": "^4.14.1",
359 +
"tslib": "^2.6.2"
360 +
},
361 +
"engines": {
362 +
"node": ">=20.0.0"
363 +
}
364 +
},
365 +
"node_modules/@aws-sdk/lib-storage": {
366 +
"version": "3.1048.0",
367 +
"resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.1048.0.tgz",
368 +
"integrity": "sha512-3u+Ycwo84crWoyPU4DrZgv6GO92cUE4CX5/h32vmSMeG8e93XgB40Jz2PqPim/r73IYRuQUrZY8E1P1MHvXZqw==",
369 +
"license": "Apache-2.0",
370 +
"dependencies": {
371 +
"@smithy/core": "^3.24.2",
372 +
"@smithy/types": "^4.14.1",
373 +
"buffer": "5.6.0",
374 +
"events": "3.3.0",
375 +
"stream-browserify": "3.0.0",
376 +
"tslib": "^2.6.2"
377 +
},
378 +
"engines": {
379 +
"node": ">=20.0.0"
380 +
},
381 +
"peerDependencies": {
382 +
"@aws-sdk/client-s3": "^3.1048.0"
383 +
}
384 +
},
385 +
"node_modules/@aws-sdk/lib-storage/node_modules/buffer": {
386 +
"version": "5.6.0",
387 +
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
388 +
"integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
389 +
"license": "MIT",
390 +
"dependencies": {
391 +
"base64-js": "^1.0.2",
392 +
"ieee754": "^1.1.4"
393 +
}
394 +
},
395 +
"node_modules/@aws-sdk/middleware-bucket-endpoint": {
396 +
"version": "3.972.13",
397 +
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.972.13.tgz",
398 +
"integrity": "sha512-JDaukix+kt5KwF7FzNSkfZHpqiPJajVkKJLJexF6z5B44+CN70BXGiQaCEAiCtKtRZNvC16eF3SY9L0bDJPlbA==",
399 +
"license": "Apache-2.0",
400 +
"dependencies": {
401 +
"@aws-sdk/core": "^3.974.11",
402 +
"@aws-sdk/types": "^3.973.8",
403 +
"@smithy/core": "^3.24.2",
404 +
"@smithy/types": "^4.14.1",
405 +
"tslib": "^2.6.2"
406 +
},
407 +
"engines": {
408 +
"node": ">=20.0.0"
409 +
}
410 +
},
411 +
"node_modules/@aws-sdk/middleware-expect-continue": {
412 +
"version": "3.972.12",
413 +
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.972.12.tgz",
414 +
"integrity": "sha512-dA5pKTom/Ls9mgeyeaRBNQrRIVOLVjv4AmKOB0/e4yaiXEUy0gSz2d3liP8JHtYoCAEWySU1jWnyzwLOREN+4g==",
415 +
"license": "Apache-2.0",
416 +
"dependencies": {
417 +
"@aws-sdk/types": "^3.973.8",
418 +
"@smithy/core": "^3.24.2",
419 +
"@smithy/types": "^4.14.1",
420 +
"tslib": "^2.6.2"
421 +
},
422 +
"engines": {
423 +
"node": ">=20.0.0"
424 +
}
425 +
},
426 +
"node_modules/@aws-sdk/middleware-flexible-checksums": {
427 +
"version": "3.974.19",
428 +
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.974.19.tgz",
429 +
"integrity": "sha512-GLciZVIvWM3C+ffuqnUqlAZwRjQdLt+KXiqr9+aRwZyKVyF2J5lrJAzzSqwweNl9hUWBN00BhilWXdMI5DjNcw==",
430 +
"license": "Apache-2.0",
431 +
"dependencies": {
432 +
"@aws-crypto/crc32": "5.2.0",
433 +
"@aws-crypto/crc32c": "5.2.0",
434 +
"@aws-crypto/util": "5.2.0",
435 +
"@aws-sdk/core": "^3.974.11",
436 +
"@aws-sdk/crc64-nvme": "^3.972.8",
437 +
"@aws-sdk/types": "^3.973.8",
438 +
"@smithy/core": "^3.24.2",
439 +
"@smithy/types": "^4.14.1",
440 +
"tslib": "^2.6.2"
441 +
},
442 +
"engines": {
443 +
"node": ">=20.0.0"
444 +
}
445 +
},
446 +
"node_modules/@aws-sdk/middleware-location-constraint": {
447 +
"version": "3.972.10",
448 +
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.972.10.tgz",
449 +
"integrity": "sha512-rI3NZvJcEvjoD0+0PI0iUAwlPw2IlSlhyvgBK/3WkKJQE/YiKFedd9dMN2lVacdNxPNhxL/jzQaKQdrGtQagjQ==",
450 +
"license": "Apache-2.0",
451 +
"dependencies": {
452 +
"@aws-sdk/types": "^3.973.8",
453 +
"@smithy/types": "^4.14.1",
454 +
"tslib": "^2.6.2"
455 +
},
456 +
"engines": {
457 +
"node": ">=20.0.0"
458 +
}
459 +
},
460 +
"node_modules/@aws-sdk/middleware-sdk-s3": {
461 +
"version": "3.972.40",
462 +
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.40.tgz",
463 +
"integrity": "sha512-vyFY4EsAGySqqd87Z7n4qcCYXJO3QArB8VIJzuupY5XuLHIp579HTZldIUGGABvAOzLptfPb9+lJBJcB+3/cvA==",
464 +
"license": "Apache-2.0",
465 +
"dependencies": {
466 +
"@aws-sdk/core": "^3.974.11",
467 +
"@aws-sdk/signature-v4-multi-region": "^3.996.27",
468 +
"@aws-sdk/types": "^3.973.8",
469 +
"@smithy/core": "^3.24.2",
470 +
"@smithy/signature-v4": "^5.4.2",
471 +
"@smithy/types": "^4.14.1",
472 +
"tslib": "^2.6.2"
473 +
},
474 +
"engines": {
475 +
"node": ">=20.0.0"
476 +
}
477 +
},
478 +
"node_modules/@aws-sdk/middleware-ssec": {
479 +
"version": "3.972.10",
480 +
"resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.972.10.tgz",
481 +
"integrity": "sha512-Gli9A0u8EVVb+5bFDGS/QbSVg28w/wpEidg1ggVcSj65BDTdGR6punsOcVjqdiu1i42WHWo51MCvARPIIz9juw==",
482 +
"license": "Apache-2.0",
483 +
"dependencies": {
484 +
"@aws-sdk/types": "^3.973.8",
485 +
"@smithy/types": "^4.14.1",
486 +
"tslib": "^2.6.2"
487 +
},
488 +
"engines": {
489 +
"node": ">=20.0.0"
490 +
}
491 +
},
492 +
"node_modules/@aws-sdk/nested-clients": {
493 +
"version": "3.997.9",
494 +
"resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.9.tgz",
495 +
"integrity": "sha512-jPR3rnmRI4hWYyzfmTGBr7NblMp8QYYeflHXba1H6+7CGrWVqWKQzaXFQ4qbExqPRsXN3T3L3JxFhr6aouXUGQ==",
496 +
"license": "Apache-2.0",
497 +
"dependencies": {
498 +
"@aws-crypto/sha256-browser": "5.2.0",
499 +
"@aws-crypto/sha256-js": "5.2.0",
500 +
"@aws-sdk/core": "^3.974.11",
501 +
"@aws-sdk/signature-v4-multi-region": "^3.996.27",
502 +
"@aws-sdk/types": "^3.973.8",
503 +
"@smithy/core": "^3.24.2",
504 +
"@smithy/fetch-http-handler": "^5.4.2",
505 +
"@smithy/node-http-handler": "^4.7.2",
506 +
"@smithy/types": "^4.14.1",
507 +
"tslib": "^2.6.2"
508 +
},
509 +
"engines": {
510 +
"node": ">=20.0.0"
511 +
}
512 +
},
513 +
"node_modules/@aws-sdk/signature-v4-multi-region": {
514 +
"version": "3.996.27",
515 +
"resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.27.tgz",
516 +
"integrity": "sha512-0Phbz4t6HI3D3skxvG2uI+VWU034/nSIw1T8d+FPzzQG9EQTrw94o9mOKO2Gv3n3Oc8P7JD7RAUxkoneLWv5Eg==",
517 +
"license": "Apache-2.0",
518 +
"dependencies": {
519 +
"@aws-sdk/types": "^3.973.8",
520 +
"@smithy/core": "^3.24.2",
521 +
"@smithy/signature-v4": "^5.4.2",
522 +
"@smithy/types": "^4.14.1",
523 +
"tslib": "^2.6.2"
524 +
},
525 +
"engines": {
526 +
"node": ">=20.0.0"
527 +
}
528 +
},
529 +
"node_modules/@aws-sdk/token-providers": {
530 +
"version": "3.1048.0",
531 +
"resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1048.0.tgz",
532 +
"integrity": "sha512-k0y/GcuesuSfWyUM0WamrGyeZmltRYaPbHO82UDA6mZ/doB+FOHKutikPAtSXMn/hDz970cF+iRuuiYO9VEbAA==",
533 +
"license": "Apache-2.0",
534 +
"dependencies": {
535 +
"@aws-sdk/core": "^3.974.11",
536 +
"@aws-sdk/nested-clients": "^3.997.9",
537 +
"@aws-sdk/types": "^3.973.8",
538 +
"@smithy/core": "^3.24.2",
539 +
"@smithy/types": "^4.14.1",
540 +
"tslib": "^2.6.2"
541 +
},
542 +
"engines": {
543 +
"node": ">=20.0.0"
544 +
}
545 +
},
546 +
"node_modules/@aws-sdk/types": {
547 +
"version": "3.973.8",
548 +
"resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.973.8.tgz",
549 +
"integrity": "sha512-gjlAdtHMbtR9X5iIhVUvbVcy55KnznpC6bkDUWW9z915bi0ckdUr5cjf16Kp6xq0bP5HBD2xzgbL9F9Quv5vUw==",
550 +
"license": "Apache-2.0",
551 +
"dependencies": {
552 +
"@smithy/types": "^4.14.1",
553 +
"tslib": "^2.6.2"
554 +
},
555 +
"engines": {
556 +
"node": ">=20.0.0"
557 +
}
558 +
},
559 +
"node_modules/@aws-sdk/util-locate-window": {
560 +
"version": "3.965.5",
561 +
"resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.965.5.tgz",
562 +
"integrity": "sha512-WhlJNNINQB+9qtLtZJcpQdgZw3SCDCpXdUJP7cToGwHbCWCnRckGlc6Bx/OhWwIYFNAn+FIydY8SZ0QmVu3xTQ==",
563 +
"license": "Apache-2.0",
564 +
"dependencies": {
565 +
"tslib": "^2.6.2"
566 +
},
567 +
"engines": {
568 +
"node": ">=20.0.0"
569 +
}
570 +
},
571 +
"node_modules/@aws-sdk/xml-builder": {
572 +
"version": "3.972.24",
573 +
"resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.24.tgz",
574 +
"integrity": "sha512-V8z5YcDPfsvzrBlj0xR1vhRtocblhYbqdreCJB/voGd4Sr5zjNAeWxexbnqVtskTJe0vFb5KMqbSL++ePl+zRw==",
575 +
"license": "Apache-2.0",
576 +
"dependencies": {
577 +
"@nodable/entities": "2.1.0",
578 +
"@smithy/types": "^4.14.1",
579 +
"fast-xml-parser": "5.7.3",
580 +
"tslib": "^2.6.2"
581 +
},
582 +
"engines": {
583 +
"node": ">=20.0.0"
584 +
}
585 +
},
586 +
"node_modules/@aws/lambda-invoke-store": {
587 +
"version": "0.2.4",
588 +
"resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.4.tgz",
589 +
"integrity": "sha512-iY8yvjE0y651BixKNPgmv1WrQc+GZ142sb0z4gYnChDDY2YqI4P/jsSopBWrKfAt7LOJAkOXt7rC/hms+WclQQ==",
590 +
"license": "Apache-2.0",
591 +
"engines": {
592 +
"node": ">=18.0.0"
593 +
}
594 +
},
63 595
"node_modules/@chevrotain/cst-dts-gen": {
64 596
"version": "10.5.0",
65 597
"resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.5.0.tgz",
66 598
"integrity": "sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==",
67 599
"devOptional": true,
810 1342
},
811 1343
"funding": {
812 1344
"url": "https://paulmillr.com/funding/"
813 1345
}
814 1346
},
1347 +
"node_modules/@nodable/entities": {
1348 +
"version": "2.1.0",
1349 +
"resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz",
1350 +
"integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==",
1351 +
"funding": [
1352 +
{
1353 +
"type": "github",
1354 +
"url": "https://github.com/sponsors/nodable"
1355 +
}
1356 +
],
1357 +
"license": "MIT"
1358 +
},
815 1359
"node_modules/@nodelib/fs.scandir": {
816 1360
"version": "2.1.5",
817 1361
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
818 1362
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
819 1363
"dev": true,
1126 1670
},
1127 1671
"funding": {
1128 1672
"url": "https://github.com/sponsors/sindresorhus"
1129 1673
}
1130 1674
},
1675 +
"node_modules/@smithy/core": {
1676 +
"version": "3.24.3",
1677 +
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.24.3.tgz",
1678 +
"integrity": "sha512-Ep/7tPamGY8mgESE3LyLKtxJyy6U52WWAqr/3wial47Sj4u3PiIF73AOGI27UyLy9duTkhZbgzodOfLV4TduZg==",
1679 +
"license": "Apache-2.0",
1680 +
"dependencies": {
1681 +
"@aws-crypto/crc32": "5.2.0",
1682 +
"@smithy/types": "^4.14.2",
1683 +
"tslib": "^2.6.2"
1684 +
},
1685 +
"engines": {
1686 +
"node": ">=18.0.0"
1687 +
}
1688 +
},
1689 +
"node_modules/@smithy/credential-provider-imds": {
1690 +
"version": "4.3.3",
1691 +
"resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.3.3.tgz",
1692 +
"integrity": "sha512-I2Bti0DKFo2IJyN28ijCsx51BAumEYR4/1yZ1FXyBygy9MqbnMqCev4JPth/MbpRfBSRAX35hITSnAdJRo1u5w==",
1693 +
"license": "Apache-2.0",
1694 +
"dependencies": {
1695 +
"@smithy/core": "^3.24.3",
1696 +
"@smithy/types": "^4.14.2",
1697 +
"tslib": "^2.6.2"
1698 +
},
1699 +
"engines": {
1700 +
"node": ">=18.0.0"
1701 +
}
1702 +
},
1703 +
"node_modules/@smithy/fetch-http-handler": {
1704 +
"version": "5.4.3",
1705 +
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.4.3.tgz",
1706 +
"integrity": "sha512-F+DRf8IJazRJgYog2A/yJK7eYVc0rqTlRzO+5ZxjJd4WkZoKz0IJRncf7G6t1pdVT3kryJcwuTFhN1c5m6N47A==",
1707 +
"license": "Apache-2.0",
1708 +
"dependencies": {
1709 +
"@smithy/core": "^3.24.3",
1710 +
"@smithy/types": "^4.14.2",
1711 +
"tslib": "^2.6.2"
1712 +
},
1713 +
"engines": {
1714 +
"node": ">=18.0.0"
1715 +
}
1716 +
},
1717 +
"node_modules/@smithy/is-array-buffer": {
1718 +
"version": "2.2.0",
1719 +
"resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
1720 +
"integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
1721 +
"license": "Apache-2.0",
1722 +
"dependencies": {
1723 +
"tslib": "^2.6.2"
1724 +
},
1725 +
"engines": {
1726 +
"node": ">=14.0.0"
1727 +
}
1728 +
},
1729 +
"node_modules/@smithy/node-http-handler": {
1730 +
"version": "4.7.3",
1731 +
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.7.3.tgz",
1732 +
"integrity": "sha512-/jPhevcTFPMVl6KNjbaI47iOg1zxC7IsnX4PQDGVZKMFceOXtB8IEYaB7a9VvkP/3oC60WzTeKocvSI7vLT0vA==",
1733 +
"license": "Apache-2.0",
1734 +
"dependencies": {
1735 +
"@smithy/core": "^3.24.3",
1736 +
"@smithy/types": "^4.14.2",
1737 +
"tslib": "^2.6.2"
1738 +
},
1739 +
"engines": {
1740 +
"node": ">=18.0.0"
1741 +
}
1742 +
},
1743 +
"node_modules/@smithy/signature-v4": {
1744 +
"version": "5.4.3",
1745 +
"resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.4.3.tgz",
1746 +
"integrity": "sha512-53+75QuPl6DL+ct6vVEB51FDO5oulXr20TPV46VvJZg76lIlXNWfxi8j+G2V/t0I2qxCBOa3vX/8bmjrpFVo9g==",
1747 +
"license": "Apache-2.0",
1748 +
"dependencies": {
1749 +
"@smithy/core": "^3.24.3",
1750 +
"@smithy/types": "^4.14.2",
1751 +
"tslib": "^2.6.2"
1752 +
},
1753 +
"engines": {
1754 +
"node": ">=18.0.0"
1755 +
}
1756 +
},
1757 +
"node_modules/@smithy/types": {
1758 +
"version": "4.14.2",
1759 +
"resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.14.2.tgz",
1760 +
"integrity": "sha512-P+otAxbV4CqBybp7EkcJCrig63yE2E7PuNVOmilVMRcx/O+QDzGULTrKsq4DV13gSfak9ObPrWaHl/9bL5YcWw==",
1761 +
"license": "Apache-2.0",
1762 +
"dependencies": {
1763 +
"tslib": "^2.6.2"
1764 +
},
1765 +
"engines": {
1766 +
"node": ">=18.0.0"
1767 +
}
1768 +
},
1769 +
"node_modules/@smithy/util-buffer-from": {
1770 +
"version": "2.2.0",
1771 +
"resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
1772 +
"integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
1773 +
"license": "Apache-2.0",
1774 +
"dependencies": {
1775 +
"@smithy/is-array-buffer": "^2.2.0",
1776 +
"tslib": "^2.6.2"
1777 +
},
1778 +
"engines": {
1779 +
"node": ">=14.0.0"
1780 +
}
1781 +
},
1782 +
"node_modules/@smithy/util-utf8": {
1783 +
"version": "2.3.0",
1784 +
"resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
1785 +
"integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
1786 +
"license": "Apache-2.0",
1787 +
"dependencies": {
1788 +
"@smithy/util-buffer-from": "^2.2.0",
1789 +
"tslib": "^2.6.2"
1790 +
},
1791 +
"engines": {
1792 +
"node": ">=14.0.0"
1793 +
}
1794 +
},
1131 1795
"node_modules/@stablelib/base64": {
1132 1796
"version": "1.0.1",
1133 1797
"resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz",
1134 1798
"integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==",
1135 1799
"license": "MIT"
1271 1935
"node_modules/@types/ms": {
1272 1936
"version": "2.1.0",
1273 1937
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
1274 1938
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
1275 1939
"license": "MIT"
1940 +
},
1941 +
"node_modules/@types/multer": {
1942 +
"version": "2.1.0",
1943 +
"resolved": "https://registry.npmjs.org/@types/multer/-/multer-2.1.0.tgz",
1944 +
"integrity": "sha512-zYZb0+nJhOHtPpGDb3vqPjwpdeGlGC157VpkqNQL+UU2qwoacoQ7MpsAmUptI/0Oa127X32JzWDqQVEXp2RcIA==",
1945 +
"dev": true,
1946 +
"license": "MIT",
1947 +
"dependencies": {
1948 +
"@types/express": "*"
1949 +
}
1950 +
},
1951 +
"node_modules/@types/multer-s3": {
1952 +
"version": "3.0.3",
1953 +
"resolved": "https://registry.npmjs.org/@types/multer-s3/-/multer-s3-3.0.3.tgz",
1954 +
"integrity": "sha512-VgWygI9UwyS7loLithUUi0qAMIDWdNrERS2Sb06UuPYiLzKuIFn2NgL7satyl4v8sh/LLoU7DiPanvbQaRg9Yg==",
1955 +
"dev": true,
1956 +
"license": "MIT",
1957 +
"dependencies": {
1958 +
"@aws-sdk/client-s3": "^3.0.0",
1959 +
"@types/multer": "*",
1960 +
"@types/node": "*"
1961 +
}
1276 1962
},
1277 1963
"node_modules/@types/node": {
1278 1964
"version": "25.5.2",
1279 1965
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz",
1280 1966
"integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==",
1486 2172
"node": ">=8.6"
1487 2173
},
1488 2174
"funding": {
1489 2175
"url": "https://github.com/sponsors/jonschlinkert"
1490 2176
}
2177 +
},
2178 +
"node_modules/append-field": {
2179 +
"version": "1.0.0",
2180 +
"resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
2181 +
"integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==",
2182 +
"license": "MIT"
1491 2183
},
1492 2184
"node_modules/arg": {
1493 2185
"version": "4.1.3",
1494 2186
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
1495 2187
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
2809 3501
"funding": {
2810 3502
"type": "opencollective",
2811 3503
"url": "https://opencollective.com/express"
2812 3504
}
2813 3505
},
3506 +
"node_modules/bowser": {
3507 +
"version": "2.14.1",
3508 +
"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz",
3509 +
"integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==",
3510 +
"license": "MIT"
3511 +
},
2814 3512
"node_modules/brace-expansion": {
2815 3513
"version": "2.0.2",
2816 3514
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
2817 3515
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
2818 3516
"dev": true,
2862 3560
"version": "1.0.1",
2863 3561
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
2864 3562
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==",
2865 3563
"license": "BSD-3-Clause"
2866 3564
},
3565 +
"node_modules/buffer-from": {
3566 +
"version": "1.1.2",
3567 +
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
3568 +
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
3569 +
"license": "MIT"
3570 +
},
2867 3571
"node_modules/bullmq": {
2868 3572
"version": "5.76.7",
2869 3573
"resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.76.7.tgz",
2870 3574
"integrity": "sha512-gIvW1FlRYY+QeVe4HIgzxzty8uT9Au0NmGW2yGzGagcsgMyfz0IUtUk0gZPrl5ADXAcO31bauRJ06YwvXDzf6w==",
2871 3575
"license": "MIT",
2879 3583
},
2880 3584
"engines": {
2881 3585
"node": ">=12.22.0"
2882 3586
}
2883 3587
},
3588 +
"node_modules/busboy": {
3589 +
"version": "1.6.0",
3590 +
"resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
3591 +
"integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
3592 +
"dependencies": {
3593 +
"streamsearch": "^1.1.0"
3594 +
},
3595 +
"engines": {
3596 +
"node": ">=10.16.0"
3597 +
}
3598 +
},
2884 3599
"node_modules/bytes": {
2885 3600
"version": "3.1.2",
2886 3601
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
2887 3602
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
2888 3603
"license": "MIT",
3271 3986
"version": "0.0.1",
3272 3987
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
3273 3988
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
3274 3989
"dev": true,
3275 3990
"license": "MIT"
3991 +
},
3992 +
"node_modules/concat-stream": {
3993 +
"version": "2.0.0",
3994 +
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
3995 +
"integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
3996 +
"engines": [
3997 +
"node >= 6.0"
3998 +
],
3999 +
"license": "MIT",
4000 +
"dependencies": {
4001 +
"buffer-from": "^1.0.0",
4002 +
"inherits": "^2.0.3",
4003 +
"readable-stream": "^3.0.2",
4004 +
"typedarray": "^0.0.6"
4005 +
}
3276 4006
},
3277 4007
"node_modules/concordance": {
3278 4008
"version": "5.0.4",
3279 4009
"resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz",
3280 4010
"integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==",
4029 4759
"license": "MIT",
4030 4760
"engines": {
4031 4761
"node": ">= 0.6"
4032 4762
}
4033 4763
},
4764 +
"node_modules/events": {
4765 +
"version": "3.3.0",
4766 +
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
4767 +
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
4768 +
"license": "MIT",
4769 +
"engines": {
4770 +
"node": ">=0.8.x"
4771 +
}
4772 +
},
4034 4773
"node_modules/execa": {
4035 4774
"version": "9.6.1",
4036 4775
"resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz",
4037 4776
"integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==",
4038 4777
"dev": true,
4197 4936
"version": "1.3.0",
4198 4937
"resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz",
4199 4938
"integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==",
4200 4939
"license": "Unlicense"
4201 4940
},
4941 +
"node_modules/fast-xml-builder": {
4942 +
"version": "1.2.0",
4943 +
"resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz",
4944 +
"integrity": "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==",
4945 +
"funding": [
4946 +
{
4947 +
"type": "github",
4948 +
"url": "https://github.com/sponsors/NaturalIntelligence"
4949 +
}
4950 +
],
4951 +
"license": "MIT",
4952 +
"dependencies": {
4953 +
"path-expression-matcher": "^1.5.0",
4954 +
"xml-naming": "^0.1.0"
4955 +
}
4956 +
},
4957 +
"node_modules/fast-xml-parser": {
4958 +
"version": "5.7.3",
4959 +
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.3.tgz",
4960 +
"integrity": "sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==",
4961 +
"funding": [
4962 +
{
4963 +
"type": "github",
4964 +
"url": "https://github.com/sponsors/NaturalIntelligence"
4965 +
}
4966 +
],
4967 +
"license": "MIT",
4968 +
"dependencies": {
4969 +
"@nodable/entities": "^2.1.0",
4970 +
"fast-xml-builder": "^1.1.7",
4971 +
"path-expression-matcher": "^1.5.0",
4972 +
"strnum": "^2.2.3"
4973 +
},
4974 +
"bin": {
4975 +
"fxparser": "src/cli/cli.js"
4976 +
}
4977 +
},
4202 4978
"node_modules/fastq": {
4203 4979
"version": "1.19.1",
4204 4980
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
4205 4981
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
4206 4982
"dev": true,
4221 4997
"engines": {
4222 4998
"node": ">=18"
4223 4999
},
4224 5000
"funding": {
4225 5001
"url": "https://github.com/sponsors/sindresorhus"
5002 +
}
5003 +
},
5004 +
"node_modules/file-type": {
5005 +
"version": "3.9.0",
5006 +
"resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
5007 +
"integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==",
5008 +
"license": "MIT",
5009 +
"engines": {
5010 +
"node": ">=0.10.0"
4226 5011
}
4227 5012
},
4228 5013
"node_modules/file-uri-to-path": {
4229 5014
"version": "1.0.0",
4230 5015
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
4724 5509
"devOptional": true,
4725 5510
"license": "MIT",
4726 5511
"engines": {
4727 5512
"node": ">=16.9.0"
4728 5513
}
5514 +
},
5515 +
"node_modules/html-comment-regex": {
5516 +
"version": "1.1.2",
5517 +
"resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
5518 +
"integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
5519 +
"license": "MIT"
4729 5520
},
4730 5521
"node_modules/http-errors": {
4731 5522
"version": "2.0.1",
4732 5523
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
4733 5524
"integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
5659 6450
"@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
5660 6451
"@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
5661 6452
"@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
5662 6453
}
5663 6454
},
6455 +
"node_modules/multer": {
6456 +
"version": "2.1.1",
6457 +
"resolved": "https://registry.npmjs.org/multer/-/multer-2.1.1.tgz",
6458 +
"integrity": "sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==",
6459 +
"license": "MIT",
6460 +
"dependencies": {
6461 +
"append-field": "^1.0.0",
6462 +
"busboy": "^1.6.0",
6463 +
"concat-stream": "^2.0.0",
6464 +
"type-is": "^1.6.18"
6465 +
},
6466 +
"engines": {
6467 +
"node": ">= 10.16.0"
6468 +
},
6469 +
"funding": {
6470 +
"type": "opencollective",
6471 +
"url": "https://opencollective.com/express"
6472 +
}
6473 +
},
6474 +
"node_modules/multer-s3": {
6475 +
"version": "3.0.1",
6476 +
"resolved": "https://registry.npmjs.org/multer-s3/-/multer-s3-3.0.1.tgz",
6477 +
"integrity": "sha512-BFwSO80a5EW4GJRBdUuSHblz2jhVSAze33ZbnGpcfEicoT0iRolx4kWR+AJV07THFRCQ78g+kelKFdjkCCaXeQ==",
6478 +
"license": "MIT",
6479 +
"dependencies": {
6480 +
"@aws-sdk/lib-storage": "^3.46.0",
6481 +
"file-type": "^3.3.0",
6482 +
"html-comment-regex": "^1.1.2",
6483 +
"run-parallel": "^1.1.6"
6484 +
},
6485 +
"engines": {
6486 +
"node": ">= 12.0.0"
6487 +
},
6488 +
"peerDependencies": {
6489 +
"@aws-sdk/client-s3": "^3.0.0"
6490 +
}
6491 +
},
6492 +
"node_modules/multer/node_modules/media-typer": {
6493 +
"version": "0.3.0",
6494 +
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
6495 +
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
6496 +
"license": "MIT",
6497 +
"engines": {
6498 +
"node": ">= 0.6"
6499 +
}
6500 +
},
6501 +
"node_modules/multer/node_modules/mime-db": {
6502 +
"version": "1.52.0",
6503 +
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
6504 +
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
6505 +
"license": "MIT",
6506 +
"engines": {
6507 +
"node": ">= 0.6"
6508 +
}
6509 +
},
6510 +
"node_modules/multer/node_modules/mime-types": {
6511 +
"version": "2.1.35",
6512 +
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
6513 +
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
6514 +
"license": "MIT",
6515 +
"dependencies": {
6516 +
"mime-db": "1.52.0"
6517 +
},
6518 +
"engines": {
6519 +
"node": ">= 0.6"
6520 +
}
6521 +
},
6522 +
"node_modules/multer/node_modules/type-is": {
6523 +
"version": "1.6.18",
6524 +
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
6525 +
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
6526 +
"license": "MIT",
6527 +
"dependencies": {
6528 +
"media-typer": "0.3.0",
6529 +
"mime-types": "~2.1.24"
6530 +
},
6531 +
"engines": {
6532 +
"node": ">= 0.6"
6533 +
}
6534 +
},
5664 6535
"node_modules/mylas": {
5665 6536
"version": "2.1.14",
5666 6537
"resolved": "https://registry.npmjs.org/mylas/-/mylas-2.1.14.tgz",
5667 6538
"integrity": "sha512-BzQguy9W9NJgoVn2mRWzbFrFWWztGCcng2QI9+41frfk+Athwgx3qhqhvStz7ExeUUu7Kzw427sNzHpEZNINog==",
5668 6539
"dev": true,
6162 7033
"license": "MIT",
6163 7034
"engines": {
6164 7035
"node": ">= 0.8"
6165 7036
}
6166 7037
},
7038 +
"node_modules/path-expression-matcher": {
7039 +
"version": "1.5.0",
7040 +
"resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.5.0.tgz",
7041 +
"integrity": "sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==",
7042 +
"funding": [
7043 +
{
7044 +
"type": "github",
7045 +
"url": "https://github.com/sponsors/NaturalIntelligence"
7046 +
}
7047 +
],
7048 +
"license": "MIT",
7049 +
"engines": {
7050 +
"node": ">=14.0.0"
7051 +
}
7052 +
},
6167 7053
"node_modules/path-is-absolute": {
6168 7054
"version": "1.0.1",
6169 7055
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
6170 7056
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
6171 7057
"dev": true,
6635 7521
},
6636 7522
"node_modules/queue-microtask": {
6637 7523
"version": "1.2.3",
6638 7524
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
6639 7525
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
6640 -
"dev": true,
6641 7526
"funding": [
6642 7527
{
6643 7528
"type": "github",
6644 7529
"url": "https://github.com/sponsors/feross"
6645 7530
},
6978 7863
},
6979 7864
"node_modules/run-parallel": {
6980 7865
"version": "1.2.0",
6981 7866
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
6982 7867
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
6983 -
"dev": true,
6984 7868
"funding": [
6985 7869
{
6986 7870
"type": "github",
6987 7871
"url": "https://github.com/sponsors/feross"
6988 7872
},
7406 8290
"resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
7407 8291
"integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
7408 8292
"devOptional": true,
7409 8293
"license": "MIT"
7410 8294
},
8295 +
"node_modules/stream-browserify": {
8296 +
"version": "3.0.0",
8297 +
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
8298 +
"integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
8299 +
"license": "MIT",
8300 +
"dependencies": {
8301 +
"inherits": "~2.0.4",
8302 +
"readable-stream": "^3.5.0"
8303 +
}
8304 +
},
8305 +
"node_modules/streamsearch": {
8306 +
"version": "1.1.0",
8307 +
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
8308 +
"integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
8309 +
"engines": {
8310 +
"node": ">=10.0.0"
8311 +
}
8312 +
},
7411 8313
"node_modules/string_decoder": {
7412 8314
"version": "1.3.0",
7413 8315
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
7414 8316
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
7415 8317
"license": "MIT",
7561 8463
"license": "MIT",
7562 8464
"engines": {
7563 8465
"node": ">=0.10.0"
7564 8466
}
7565 8467
},
8468 +
"node_modules/strnum": {
8469 +
"version": "2.3.0",
8470 +
"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz",
8471 +
"integrity": "sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==",
8472 +
"funding": [
8473 +
{
8474 +
"type": "github",
8475 +
"url": "https://github.com/sponsors/NaturalIntelligence"
8476 +
}
8477 +
],
8478 +
"license": "MIT"
8479 +
},
7566 8480
"node_modules/superagent": {
7567 8481
"version": "10.2.3",
7568 8482
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.3.tgz",
7569 8483
"integrity": "sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==",
7570 8484
"dev": true,
8013 8927
},
8014 8928
"engines": {
8015 8929
"node": ">= 0.6"
8016 8930
}
8017 8931
},
8932 +
"node_modules/typedarray": {
8933 +
"version": "0.0.6",
8934 +
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
8935 +
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
8936 +
"license": "MIT"
8937 +
},
8018 8938
"node_modules/typescript": {
8019 8939
"version": "6.0.2",
8020 8940
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.2.tgz",
8021 8941
"integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
8022 8942
"devOptional": true,
8294 9214
"imurmurhash": "^0.1.4",
8295 9215
"signal-exit": "^4.0.1"
8296 9216
},
8297 9217
"engines": {
8298 9218
"node": "^18.17.0 || >=20.5.0"
9219 +
}
9220 +
},
9221 +
"node_modules/xml-naming": {
9222 +
"version": "0.1.0",
9223 +
"resolved": "https://registry.npmjs.org/xml-naming/-/xml-naming-0.1.0.tgz",
9224 +
"integrity": "sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==",
9225 +
"funding": [
9226 +
{
9227 +
"type": "github",
9228 +
"url": "https://github.com/sponsors/NaturalIntelligence"
9229 +
}
9230 +
],
9231 +
"license": "MIT",
9232 +
"engines": {
9233 +
"node": ">=16.0.0"
8299 9234
}
8300 9235
},
8301 9236
"node_modules/xtend": {
8302 9237
"version": "4.0.2",
8303 9238
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
8454 9389
"url": "https://github.com/sponsors/colinhacks"
8455 9390
}
8456 9391
}
8457 9392
}
8458 9393
}
api/package.json
1 1
{
2 2
"name": "orbit-api",
3 3
"version": "0.0.0",
4 4
"description": "",
5 5
"license": "ISC",
17 17
"test:setup:migrate": "dotenv -e .env.test -o -- npx prisma db push",
18 18
"test:watch": "npm run test:setup && NODE_ENV=test npx ava --watch",
19 19
"dev": "prisma generate && prisma migrate deploy && npm run start"
20 20
},
21 21
"dependencies": {
22 +
"@aws-sdk/client-s3": "^3.1048.0",
22 23
"@prisma/adapter-better-sqlite3": "^7.5.0",
23 24
"@prisma/adapter-pg": "^7.7.0",
24 25
"@prisma/client": "^7.5.0",
25 26
"@types/cors": "^2.8.19",
26 27
"@types/jsonwebtoken": "^9.0.10",
31 32
"cors": "^2.8.6",
32 33
"date-fns": "^4.1.0",
33 34
"express": "^5.2.1",
34 35
"jsonwebtoken": "^9.0.3",
35 36
"morgan": "^1.10.1",
37 +
"multer": "^2.1.1",
38 +
"multer-s3": "^3.0.1",
36 39
"pg": "^8.20.0",
37 40
"resend": "^6.12.3",
38 41
"zod": "^4.4.3"
39 42
},
40 43
"devDependencies": {
41 44
"@ava/typescript": "^6.0.0",
42 45
"@types/better-sqlite3": "^7.6.13",
43 46
"@types/express": "^5.0.6",
44 47
"@types/morgan": "^1.9.10",
48 +
"@types/multer": "^2.1.0",
49 +
"@types/multer-s3": "^3.0.3",
45 50
"@types/node": "^25.5.2",
46 51
"ava": "^6.4.1",
47 52
"cross-var": "^1.1.0",
48 53
"dotenv-cli": "^11.0.0",
49 54
"nodemon": "^3.1.14",
54 59
"tsconfig-paths": "^4.2.0",
55 60
"tsx": "^4.21.0",
56 61
"typescript": "^6.0.2"
57 62
}
58 63
}