This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

test tooling setup

+2217 -3
+2 -1
.gitignore
··· 1 1 .aider* 2 2 .DS_Store 3 3 node_modules 4 - dist/ 4 + dist/ 5 + .env*
+7
.vscode/settings.json
··· 1 + { 2 + "jest.runMode": { 3 + "type":"on-demand", 4 + }, 5 + "jest.jestCommandLine": "npm test --", 6 + } 7 +
+2190
package-lock.json
··· 19 19 "@atproto/xrpc-server": "^0.7.15", 20 20 "dotenv": "^16.5.0", 21 21 "express": "^5.1.0", 22 + "postgres": "^3.4.5", 22 23 "uuid": "^11.1.0" 23 24 }, 24 25 "devDependencies": { 25 26 "@atproto/lex-cli": "^0.8.0", 27 + "@testcontainers/postgresql": "^10.24.2", 26 28 "@types/express": "^5.0.1", 27 29 "@types/jest": "^29.5.14", 28 30 "@types/pg": "^8.11.13", 31 + "drizzle-kit": "^0.31.0", 29 32 "drizzle-orm": "^0.32.1", 30 33 "jest": "^29.7.0", 31 34 "pg": "^8.14.1", 35 + "testcontainers": "^10.24.2", 32 36 "ts-jest": "^29.3.2", 33 37 "typescript": "^5.8.3" 34 38 } ··· 1107 1111 "node": ">=6.9.0" 1108 1112 } 1109 1113 }, 1114 + "node_modules/@balena/dockerignore": { 1115 + "version": "1.0.2", 1116 + "resolved": "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz", 1117 + "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", 1118 + "dev": true 1119 + }, 1110 1120 "node_modules/@bcoe/v8-coverage": { 1111 1121 "version": "0.2.3", 1112 1122 "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", ··· 1185 1195 "win32" 1186 1196 ] 1187 1197 }, 1198 + "node_modules/@drizzle-team/brocli": { 1199 + "version": "0.10.2", 1200 + "resolved": "https://registry.npmjs.org/@drizzle-team/brocli/-/brocli-0.10.2.tgz", 1201 + "integrity": "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w==", 1202 + "dev": true 1203 + }, 1204 + "node_modules/@esbuild-kit/core-utils": { 1205 + "version": "3.3.2", 1206 + "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz", 1207 + "integrity": "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==", 1208 + "deprecated": "Merged into tsx: https://tsx.is", 1209 + "dev": true, 1210 + "dependencies": { 1211 + "esbuild": "~0.18.20", 1212 + "source-map-support": "^0.5.21" 1213 + } 1214 + }, 1215 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm": { 1216 + "version": "0.18.20", 1217 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 1218 + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 1219 + "cpu": [ 1220 + "arm" 1221 + ], 1222 + "dev": true, 1223 + "optional": true, 1224 + "os": [ 1225 + "android" 1226 + ], 1227 + "engines": { 1228 + "node": ">=12" 1229 + } 1230 + }, 1231 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm64": { 1232 + "version": "0.18.20", 1233 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 1234 + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 1235 + "cpu": [ 1236 + "arm64" 1237 + ], 1238 + "dev": true, 1239 + "optional": true, 1240 + "os": [ 1241 + "android" 1242 + ], 1243 + "engines": { 1244 + "node": ">=12" 1245 + } 1246 + }, 1247 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-x64": { 1248 + "version": "0.18.20", 1249 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 1250 + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 1251 + "cpu": [ 1252 + "x64" 1253 + ], 1254 + "dev": true, 1255 + "optional": true, 1256 + "os": [ 1257 + "android" 1258 + ], 1259 + "engines": { 1260 + "node": ">=12" 1261 + } 1262 + }, 1263 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/darwin-arm64": { 1264 + "version": "0.18.20", 1265 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 1266 + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 1267 + "cpu": [ 1268 + "arm64" 1269 + ], 1270 + "dev": true, 1271 + "optional": true, 1272 + "os": [ 1273 + "darwin" 1274 + ], 1275 + "engines": { 1276 + "node": ">=12" 1277 + } 1278 + }, 1279 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/darwin-x64": { 1280 + "version": "0.18.20", 1281 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 1282 + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 1283 + "cpu": [ 1284 + "x64" 1285 + ], 1286 + "dev": true, 1287 + "optional": true, 1288 + "os": [ 1289 + "darwin" 1290 + ], 1291 + "engines": { 1292 + "node": ">=12" 1293 + } 1294 + }, 1295 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/freebsd-arm64": { 1296 + "version": "0.18.20", 1297 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 1298 + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 1299 + "cpu": [ 1300 + "arm64" 1301 + ], 1302 + "dev": true, 1303 + "optional": true, 1304 + "os": [ 1305 + "freebsd" 1306 + ], 1307 + "engines": { 1308 + "node": ">=12" 1309 + } 1310 + }, 1311 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/freebsd-x64": { 1312 + "version": "0.18.20", 1313 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 1314 + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 1315 + "cpu": [ 1316 + "x64" 1317 + ], 1318 + "dev": true, 1319 + "optional": true, 1320 + "os": [ 1321 + "freebsd" 1322 + ], 1323 + "engines": { 1324 + "node": ">=12" 1325 + } 1326 + }, 1327 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-arm": { 1328 + "version": "0.18.20", 1329 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 1330 + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 1331 + "cpu": [ 1332 + "arm" 1333 + ], 1334 + "dev": true, 1335 + "optional": true, 1336 + "os": [ 1337 + "linux" 1338 + ], 1339 + "engines": { 1340 + "node": ">=12" 1341 + } 1342 + }, 1343 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-arm64": { 1344 + "version": "0.18.20", 1345 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 1346 + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 1347 + "cpu": [ 1348 + "arm64" 1349 + ], 1350 + "dev": true, 1351 + "optional": true, 1352 + "os": [ 1353 + "linux" 1354 + ], 1355 + "engines": { 1356 + "node": ">=12" 1357 + } 1358 + }, 1359 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-ia32": { 1360 + "version": "0.18.20", 1361 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 1362 + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 1363 + "cpu": [ 1364 + "ia32" 1365 + ], 1366 + "dev": true, 1367 + "optional": true, 1368 + "os": [ 1369 + "linux" 1370 + ], 1371 + "engines": { 1372 + "node": ">=12" 1373 + } 1374 + }, 1375 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-loong64": { 1376 + "version": "0.18.20", 1377 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 1378 + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 1379 + "cpu": [ 1380 + "loong64" 1381 + ], 1382 + "dev": true, 1383 + "optional": true, 1384 + "os": [ 1385 + "linux" 1386 + ], 1387 + "engines": { 1388 + "node": ">=12" 1389 + } 1390 + }, 1391 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-mips64el": { 1392 + "version": "0.18.20", 1393 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 1394 + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 1395 + "cpu": [ 1396 + "mips64el" 1397 + ], 1398 + "dev": true, 1399 + "optional": true, 1400 + "os": [ 1401 + "linux" 1402 + ], 1403 + "engines": { 1404 + "node": ">=12" 1405 + } 1406 + }, 1407 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-ppc64": { 1408 + "version": "0.18.20", 1409 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 1410 + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 1411 + "cpu": [ 1412 + "ppc64" 1413 + ], 1414 + "dev": true, 1415 + "optional": true, 1416 + "os": [ 1417 + "linux" 1418 + ], 1419 + "engines": { 1420 + "node": ">=12" 1421 + } 1422 + }, 1423 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-riscv64": { 1424 + "version": "0.18.20", 1425 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 1426 + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 1427 + "cpu": [ 1428 + "riscv64" 1429 + ], 1430 + "dev": true, 1431 + "optional": true, 1432 + "os": [ 1433 + "linux" 1434 + ], 1435 + "engines": { 1436 + "node": ">=12" 1437 + } 1438 + }, 1439 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-s390x": { 1440 + "version": "0.18.20", 1441 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 1442 + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 1443 + "cpu": [ 1444 + "s390x" 1445 + ], 1446 + "dev": true, 1447 + "optional": true, 1448 + "os": [ 1449 + "linux" 1450 + ], 1451 + "engines": { 1452 + "node": ">=12" 1453 + } 1454 + }, 1455 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-x64": { 1456 + "version": "0.18.20", 1457 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 1458 + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 1459 + "cpu": [ 1460 + "x64" 1461 + ], 1462 + "dev": true, 1463 + "optional": true, 1464 + "os": [ 1465 + "linux" 1466 + ], 1467 + "engines": { 1468 + "node": ">=12" 1469 + } 1470 + }, 1471 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/netbsd-x64": { 1472 + "version": "0.18.20", 1473 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 1474 + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 1475 + "cpu": [ 1476 + "x64" 1477 + ], 1478 + "dev": true, 1479 + "optional": true, 1480 + "os": [ 1481 + "netbsd" 1482 + ], 1483 + "engines": { 1484 + "node": ">=12" 1485 + } 1486 + }, 1487 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/openbsd-x64": { 1488 + "version": "0.18.20", 1489 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 1490 + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 1491 + "cpu": [ 1492 + "x64" 1493 + ], 1494 + "dev": true, 1495 + "optional": true, 1496 + "os": [ 1497 + "openbsd" 1498 + ], 1499 + "engines": { 1500 + "node": ">=12" 1501 + } 1502 + }, 1503 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/sunos-x64": { 1504 + "version": "0.18.20", 1505 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 1506 + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 1507 + "cpu": [ 1508 + "x64" 1509 + ], 1510 + "dev": true, 1511 + "optional": true, 1512 + "os": [ 1513 + "sunos" 1514 + ], 1515 + "engines": { 1516 + "node": ">=12" 1517 + } 1518 + }, 1519 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-arm64": { 1520 + "version": "0.18.20", 1521 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 1522 + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 1523 + "cpu": [ 1524 + "arm64" 1525 + ], 1526 + "dev": true, 1527 + "optional": true, 1528 + "os": [ 1529 + "win32" 1530 + ], 1531 + "engines": { 1532 + "node": ">=12" 1533 + } 1534 + }, 1535 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-ia32": { 1536 + "version": "0.18.20", 1537 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 1538 + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 1539 + "cpu": [ 1540 + "ia32" 1541 + ], 1542 + "dev": true, 1543 + "optional": true, 1544 + "os": [ 1545 + "win32" 1546 + ], 1547 + "engines": { 1548 + "node": ">=12" 1549 + } 1550 + }, 1551 + "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/win32-x64": { 1552 + "version": "0.18.20", 1553 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 1554 + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 1555 + "cpu": [ 1556 + "x64" 1557 + ], 1558 + "dev": true, 1559 + "optional": true, 1560 + "os": [ 1561 + "win32" 1562 + ], 1563 + "engines": { 1564 + "node": ">=12" 1565 + } 1566 + }, 1567 + "node_modules/@esbuild-kit/core-utils/node_modules/esbuild": { 1568 + "version": "0.18.20", 1569 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 1570 + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 1571 + "dev": true, 1572 + "hasInstallScript": true, 1573 + "bin": { 1574 + "esbuild": "bin/esbuild" 1575 + }, 1576 + "engines": { 1577 + "node": ">=12" 1578 + }, 1579 + "optionalDependencies": { 1580 + "@esbuild/android-arm": "0.18.20", 1581 + "@esbuild/android-arm64": "0.18.20", 1582 + "@esbuild/android-x64": "0.18.20", 1583 + "@esbuild/darwin-arm64": "0.18.20", 1584 + "@esbuild/darwin-x64": "0.18.20", 1585 + "@esbuild/freebsd-arm64": "0.18.20", 1586 + "@esbuild/freebsd-x64": "0.18.20", 1587 + "@esbuild/linux-arm": "0.18.20", 1588 + "@esbuild/linux-arm64": "0.18.20", 1589 + "@esbuild/linux-ia32": "0.18.20", 1590 + "@esbuild/linux-loong64": "0.18.20", 1591 + "@esbuild/linux-mips64el": "0.18.20", 1592 + "@esbuild/linux-ppc64": "0.18.20", 1593 + "@esbuild/linux-riscv64": "0.18.20", 1594 + "@esbuild/linux-s390x": "0.18.20", 1595 + "@esbuild/linux-x64": "0.18.20", 1596 + "@esbuild/netbsd-x64": "0.18.20", 1597 + "@esbuild/openbsd-x64": "0.18.20", 1598 + "@esbuild/sunos-x64": "0.18.20", 1599 + "@esbuild/win32-arm64": "0.18.20", 1600 + "@esbuild/win32-ia32": "0.18.20", 1601 + "@esbuild/win32-x64": "0.18.20" 1602 + } 1603 + }, 1604 + "node_modules/@esbuild-kit/core-utils/node_modules/source-map-support": { 1605 + "version": "0.5.21", 1606 + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1607 + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1608 + "dev": true, 1609 + "dependencies": { 1610 + "buffer-from": "^1.0.0", 1611 + "source-map": "^0.6.0" 1612 + } 1613 + }, 1614 + "node_modules/@esbuild-kit/esm-loader": { 1615 + "version": "2.6.5", 1616 + "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz", 1617 + "integrity": "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==", 1618 + "deprecated": "Merged into tsx: https://tsx.is", 1619 + "dev": true, 1620 + "dependencies": { 1621 + "@esbuild-kit/core-utils": "^3.3.2", 1622 + "get-tsconfig": "^4.7.0" 1623 + } 1624 + }, 1625 + "node_modules/@esbuild/aix-ppc64": { 1626 + "version": "0.25.3", 1627 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", 1628 + "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", 1629 + "cpu": [ 1630 + "ppc64" 1631 + ], 1632 + "dev": true, 1633 + "optional": true, 1634 + "os": [ 1635 + "aix" 1636 + ], 1637 + "engines": { 1638 + "node": ">=18" 1639 + } 1640 + }, 1641 + "node_modules/@esbuild/android-arm": { 1642 + "version": "0.25.3", 1643 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz", 1644 + "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", 1645 + "cpu": [ 1646 + "arm" 1647 + ], 1648 + "dev": true, 1649 + "optional": true, 1650 + "os": [ 1651 + "android" 1652 + ], 1653 + "engines": { 1654 + "node": ">=18" 1655 + } 1656 + }, 1657 + "node_modules/@esbuild/android-arm64": { 1658 + "version": "0.25.3", 1659 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", 1660 + "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", 1661 + "cpu": [ 1662 + "arm64" 1663 + ], 1664 + "dev": true, 1665 + "optional": true, 1666 + "os": [ 1667 + "android" 1668 + ], 1669 + "engines": { 1670 + "node": ">=18" 1671 + } 1672 + }, 1673 + "node_modules/@esbuild/android-x64": { 1674 + "version": "0.25.3", 1675 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz", 1676 + "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", 1677 + "cpu": [ 1678 + "x64" 1679 + ], 1680 + "dev": true, 1681 + "optional": true, 1682 + "os": [ 1683 + "android" 1684 + ], 1685 + "engines": { 1686 + "node": ">=18" 1687 + } 1688 + }, 1689 + "node_modules/@esbuild/darwin-arm64": { 1690 + "version": "0.25.3", 1691 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", 1692 + "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", 1693 + "cpu": [ 1694 + "arm64" 1695 + ], 1696 + "dev": true, 1697 + "optional": true, 1698 + "os": [ 1699 + "darwin" 1700 + ], 1701 + "engines": { 1702 + "node": ">=18" 1703 + } 1704 + }, 1705 + "node_modules/@esbuild/darwin-x64": { 1706 + "version": "0.25.3", 1707 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", 1708 + "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", 1709 + "cpu": [ 1710 + "x64" 1711 + ], 1712 + "dev": true, 1713 + "optional": true, 1714 + "os": [ 1715 + "darwin" 1716 + ], 1717 + "engines": { 1718 + "node": ">=18" 1719 + } 1720 + }, 1721 + "node_modules/@esbuild/freebsd-arm64": { 1722 + "version": "0.25.3", 1723 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", 1724 + "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", 1725 + "cpu": [ 1726 + "arm64" 1727 + ], 1728 + "dev": true, 1729 + "optional": true, 1730 + "os": [ 1731 + "freebsd" 1732 + ], 1733 + "engines": { 1734 + "node": ">=18" 1735 + } 1736 + }, 1737 + "node_modules/@esbuild/freebsd-x64": { 1738 + "version": "0.25.3", 1739 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", 1740 + "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", 1741 + "cpu": [ 1742 + "x64" 1743 + ], 1744 + "dev": true, 1745 + "optional": true, 1746 + "os": [ 1747 + "freebsd" 1748 + ], 1749 + "engines": { 1750 + "node": ">=18" 1751 + } 1752 + }, 1753 + "node_modules/@esbuild/linux-arm": { 1754 + "version": "0.25.3", 1755 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", 1756 + "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", 1757 + "cpu": [ 1758 + "arm" 1759 + ], 1760 + "dev": true, 1761 + "optional": true, 1762 + "os": [ 1763 + "linux" 1764 + ], 1765 + "engines": { 1766 + "node": ">=18" 1767 + } 1768 + }, 1769 + "node_modules/@esbuild/linux-arm64": { 1770 + "version": "0.25.3", 1771 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", 1772 + "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", 1773 + "cpu": [ 1774 + "arm64" 1775 + ], 1776 + "dev": true, 1777 + "optional": true, 1778 + "os": [ 1779 + "linux" 1780 + ], 1781 + "engines": { 1782 + "node": ">=18" 1783 + } 1784 + }, 1785 + "node_modules/@esbuild/linux-ia32": { 1786 + "version": "0.25.3", 1787 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", 1788 + "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", 1789 + "cpu": [ 1790 + "ia32" 1791 + ], 1792 + "dev": true, 1793 + "optional": true, 1794 + "os": [ 1795 + "linux" 1796 + ], 1797 + "engines": { 1798 + "node": ">=18" 1799 + } 1800 + }, 1801 + "node_modules/@esbuild/linux-loong64": { 1802 + "version": "0.25.3", 1803 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", 1804 + "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", 1805 + "cpu": [ 1806 + "loong64" 1807 + ], 1808 + "dev": true, 1809 + "optional": true, 1810 + "os": [ 1811 + "linux" 1812 + ], 1813 + "engines": { 1814 + "node": ">=18" 1815 + } 1816 + }, 1817 + "node_modules/@esbuild/linux-mips64el": { 1818 + "version": "0.25.3", 1819 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", 1820 + "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", 1821 + "cpu": [ 1822 + "mips64el" 1823 + ], 1824 + "dev": true, 1825 + "optional": true, 1826 + "os": [ 1827 + "linux" 1828 + ], 1829 + "engines": { 1830 + "node": ">=18" 1831 + } 1832 + }, 1833 + "node_modules/@esbuild/linux-ppc64": { 1834 + "version": "0.25.3", 1835 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", 1836 + "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", 1837 + "cpu": [ 1838 + "ppc64" 1839 + ], 1840 + "dev": true, 1841 + "optional": true, 1842 + "os": [ 1843 + "linux" 1844 + ], 1845 + "engines": { 1846 + "node": ">=18" 1847 + } 1848 + }, 1849 + "node_modules/@esbuild/linux-riscv64": { 1850 + "version": "0.25.3", 1851 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", 1852 + "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", 1853 + "cpu": [ 1854 + "riscv64" 1855 + ], 1856 + "dev": true, 1857 + "optional": true, 1858 + "os": [ 1859 + "linux" 1860 + ], 1861 + "engines": { 1862 + "node": ">=18" 1863 + } 1864 + }, 1865 + "node_modules/@esbuild/linux-s390x": { 1866 + "version": "0.25.3", 1867 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", 1868 + "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", 1869 + "cpu": [ 1870 + "s390x" 1871 + ], 1872 + "dev": true, 1873 + "optional": true, 1874 + "os": [ 1875 + "linux" 1876 + ], 1877 + "engines": { 1878 + "node": ">=18" 1879 + } 1880 + }, 1881 + "node_modules/@esbuild/linux-x64": { 1882 + "version": "0.25.3", 1883 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", 1884 + "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", 1885 + "cpu": [ 1886 + "x64" 1887 + ], 1888 + "dev": true, 1889 + "optional": true, 1890 + "os": [ 1891 + "linux" 1892 + ], 1893 + "engines": { 1894 + "node": ">=18" 1895 + } 1896 + }, 1897 + "node_modules/@esbuild/netbsd-arm64": { 1898 + "version": "0.25.3", 1899 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", 1900 + "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", 1901 + "cpu": [ 1902 + "arm64" 1903 + ], 1904 + "dev": true, 1905 + "optional": true, 1906 + "os": [ 1907 + "netbsd" 1908 + ], 1909 + "engines": { 1910 + "node": ">=18" 1911 + } 1912 + }, 1913 + "node_modules/@esbuild/netbsd-x64": { 1914 + "version": "0.25.3", 1915 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", 1916 + "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", 1917 + "cpu": [ 1918 + "x64" 1919 + ], 1920 + "dev": true, 1921 + "optional": true, 1922 + "os": [ 1923 + "netbsd" 1924 + ], 1925 + "engines": { 1926 + "node": ">=18" 1927 + } 1928 + }, 1929 + "node_modules/@esbuild/openbsd-arm64": { 1930 + "version": "0.25.3", 1931 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", 1932 + "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", 1933 + "cpu": [ 1934 + "arm64" 1935 + ], 1936 + "dev": true, 1937 + "optional": true, 1938 + "os": [ 1939 + "openbsd" 1940 + ], 1941 + "engines": { 1942 + "node": ">=18" 1943 + } 1944 + }, 1945 + "node_modules/@esbuild/openbsd-x64": { 1946 + "version": "0.25.3", 1947 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", 1948 + "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", 1949 + "cpu": [ 1950 + "x64" 1951 + ], 1952 + "dev": true, 1953 + "optional": true, 1954 + "os": [ 1955 + "openbsd" 1956 + ], 1957 + "engines": { 1958 + "node": ">=18" 1959 + } 1960 + }, 1961 + "node_modules/@esbuild/sunos-x64": { 1962 + "version": "0.25.3", 1963 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", 1964 + "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", 1965 + "cpu": [ 1966 + "x64" 1967 + ], 1968 + "dev": true, 1969 + "optional": true, 1970 + "os": [ 1971 + "sunos" 1972 + ], 1973 + "engines": { 1974 + "node": ">=18" 1975 + } 1976 + }, 1977 + "node_modules/@esbuild/win32-arm64": { 1978 + "version": "0.25.3", 1979 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", 1980 + "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", 1981 + "cpu": [ 1982 + "arm64" 1983 + ], 1984 + "dev": true, 1985 + "optional": true, 1986 + "os": [ 1987 + "win32" 1988 + ], 1989 + "engines": { 1990 + "node": ">=18" 1991 + } 1992 + }, 1993 + "node_modules/@esbuild/win32-ia32": { 1994 + "version": "0.25.3", 1995 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", 1996 + "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", 1997 + "cpu": [ 1998 + "ia32" 1999 + ], 2000 + "dev": true, 2001 + "optional": true, 2002 + "os": [ 2003 + "win32" 2004 + ], 2005 + "engines": { 2006 + "node": ">=18" 2007 + } 2008 + }, 2009 + "node_modules/@esbuild/win32-x64": { 2010 + "version": "0.25.3", 2011 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", 2012 + "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", 2013 + "cpu": [ 2014 + "x64" 2015 + ], 2016 + "dev": true, 2017 + "optional": true, 2018 + "os": [ 2019 + "win32" 2020 + ], 2021 + "engines": { 2022 + "node": ">=18" 2023 + } 2024 + }, 2025 + "node_modules/@fastify/busboy": { 2026 + "version": "2.1.1", 2027 + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", 2028 + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", 2029 + "dev": true, 2030 + "engines": { 2031 + "node": ">=14" 2032 + } 2033 + }, 2034 + "node_modules/@grpc/grpc-js": { 2035 + "version": "1.13.3", 2036 + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.3.tgz", 2037 + "integrity": "sha512-FTXHdOoPbZrBjlVLHuKbDZnsTxXv2BlHF57xw6LuThXacXvtkahEPED0CKMk6obZDf65Hv4k3z62eyPNpvinIg==", 2038 + "dev": true, 2039 + "dependencies": { 2040 + "@grpc/proto-loader": "^0.7.13", 2041 + "@js-sdsl/ordered-map": "^4.4.2" 2042 + }, 2043 + "engines": { 2044 + "node": ">=12.10.0" 2045 + } 2046 + }, 2047 + "node_modules/@grpc/proto-loader": { 2048 + "version": "0.7.15", 2049 + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", 2050 + "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", 2051 + "dev": true, 2052 + "dependencies": { 2053 + "lodash.camelcase": "^4.3.0", 2054 + "long": "^5.0.0", 2055 + "protobufjs": "^7.2.5", 2056 + "yargs": "^17.7.2" 2057 + }, 2058 + "bin": { 2059 + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" 2060 + }, 2061 + "engines": { 2062 + "node": ">=6" 2063 + } 2064 + }, 1188 2065 "node_modules/@ipld/dag-cbor": { 1189 2066 "version": "7.0.3", 1190 2067 "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", ··· 1194 2071 "multiformats": "^9.5.4" 1195 2072 } 1196 2073 }, 2074 + "node_modules/@isaacs/cliui": { 2075 + "version": "8.0.2", 2076 + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 2077 + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 2078 + "dev": true, 2079 + "dependencies": { 2080 + "string-width": "^5.1.2", 2081 + "string-width-cjs": "npm:string-width@^4.2.0", 2082 + "strip-ansi": "^7.0.1", 2083 + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 2084 + "wrap-ansi": "^8.1.0", 2085 + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 2086 + }, 2087 + "engines": { 2088 + "node": ">=12" 2089 + } 2090 + }, 2091 + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { 2092 + "version": "6.1.0", 2093 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 2094 + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 2095 + "dev": true, 2096 + "engines": { 2097 + "node": ">=12" 2098 + }, 2099 + "funding": { 2100 + "url": "https://github.com/chalk/ansi-regex?sponsor=1" 2101 + } 2102 + }, 2103 + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { 2104 + "version": "6.2.1", 2105 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 2106 + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 2107 + "dev": true, 2108 + "engines": { 2109 + "node": ">=12" 2110 + }, 2111 + "funding": { 2112 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2113 + } 2114 + }, 2115 + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { 2116 + "version": "9.2.2", 2117 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2118 + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2119 + "dev": true 2120 + }, 2121 + "node_modules/@isaacs/cliui/node_modules/string-width": { 2122 + "version": "5.1.2", 2123 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 2124 + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 2125 + "dev": true, 2126 + "dependencies": { 2127 + "eastasianwidth": "^0.2.0", 2128 + "emoji-regex": "^9.2.2", 2129 + "strip-ansi": "^7.0.1" 2130 + }, 2131 + "engines": { 2132 + "node": ">=12" 2133 + }, 2134 + "funding": { 2135 + "url": "https://github.com/sponsors/sindresorhus" 2136 + } 2137 + }, 2138 + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { 2139 + "version": "7.1.0", 2140 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 2141 + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 2142 + "dev": true, 2143 + "dependencies": { 2144 + "ansi-regex": "^6.0.1" 2145 + }, 2146 + "engines": { 2147 + "node": ">=12" 2148 + }, 2149 + "funding": { 2150 + "url": "https://github.com/chalk/strip-ansi?sponsor=1" 2151 + } 2152 + }, 2153 + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { 2154 + "version": "8.1.0", 2155 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 2156 + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 2157 + "dev": true, 2158 + "dependencies": { 2159 + "ansi-styles": "^6.1.0", 2160 + "string-width": "^5.0.1", 2161 + "strip-ansi": "^7.0.1" 2162 + }, 2163 + "engines": { 2164 + "node": ">=12" 2165 + }, 2166 + "funding": { 2167 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2168 + } 2169 + }, 1197 2170 "node_modules/@istanbuljs/load-nyc-config": { 1198 2171 "version": "1.1.0", 1199 2172 "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", ··· 1545 2518 "@jridgewell/sourcemap-codec": "^1.4.14" 1546 2519 } 1547 2520 }, 2521 + "node_modules/@js-sdsl/ordered-map": { 2522 + "version": "4.4.2", 2523 + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", 2524 + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", 2525 + "dev": true, 2526 + "funding": { 2527 + "type": "opencollective", 2528 + "url": "https://opencollective.com/js-sdsl" 2529 + } 2530 + }, 1548 2531 "node_modules/@noble/curves": { 1549 2532 "version": "1.8.2", 1550 2533 "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.2.tgz", ··· 1570 2553 "url": "https://paulmillr.com/funding/" 1571 2554 } 1572 2555 }, 2556 + "node_modules/@pkgjs/parseargs": { 2557 + "version": "0.11.0", 2558 + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 2559 + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 2560 + "dev": true, 2561 + "optional": true, 2562 + "engines": { 2563 + "node": ">=14" 2564 + } 2565 + }, 2566 + "node_modules/@protobufjs/aspromise": { 2567 + "version": "1.1.2", 2568 + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 2569 + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", 2570 + "dev": true 2571 + }, 2572 + "node_modules/@protobufjs/base64": { 2573 + "version": "1.1.2", 2574 + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 2575 + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", 2576 + "dev": true 2577 + }, 2578 + "node_modules/@protobufjs/codegen": { 2579 + "version": "2.0.4", 2580 + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 2581 + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", 2582 + "dev": true 2583 + }, 2584 + "node_modules/@protobufjs/eventemitter": { 2585 + "version": "1.1.0", 2586 + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 2587 + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", 2588 + "dev": true 2589 + }, 2590 + "node_modules/@protobufjs/fetch": { 2591 + "version": "1.1.0", 2592 + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 2593 + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", 2594 + "dev": true, 2595 + "dependencies": { 2596 + "@protobufjs/aspromise": "^1.1.1", 2597 + "@protobufjs/inquire": "^1.1.0" 2598 + } 2599 + }, 2600 + "node_modules/@protobufjs/float": { 2601 + "version": "1.0.2", 2602 + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 2603 + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", 2604 + "dev": true 2605 + }, 2606 + "node_modules/@protobufjs/inquire": { 2607 + "version": "1.1.0", 2608 + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 2609 + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", 2610 + "dev": true 2611 + }, 2612 + "node_modules/@protobufjs/path": { 2613 + "version": "1.1.2", 2614 + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 2615 + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", 2616 + "dev": true 2617 + }, 2618 + "node_modules/@protobufjs/pool": { 2619 + "version": "1.1.0", 2620 + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 2621 + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", 2622 + "dev": true 2623 + }, 2624 + "node_modules/@protobufjs/utf8": { 2625 + "version": "1.1.0", 2626 + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 2627 + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", 2628 + "dev": true 2629 + }, 1573 2630 "node_modules/@sinclair/typebox": { 1574 2631 "version": "0.27.8", 1575 2632 "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", ··· 1592 2649 "dev": true, 1593 2650 "dependencies": { 1594 2651 "@sinonjs/commons": "^3.0.0" 2652 + } 2653 + }, 2654 + "node_modules/@testcontainers/postgresql": { 2655 + "version": "10.24.2", 2656 + "resolved": "https://registry.npmjs.org/@testcontainers/postgresql/-/postgresql-10.24.2.tgz", 2657 + "integrity": "sha512-s4k/QVSmpXFzxNBeft84x172Hx5tNiGeDRWwU8iOAHjtcnyXd4aBORF0GruNojTo7TOIuAM0ArBZUMqRBLJKwQ==", 2658 + "dev": true, 2659 + "dependencies": { 2660 + "testcontainers": "^10.24.2" 1595 2661 } 1596 2662 }, 1597 2663 "node_modules/@ts-morph/common": { ··· 1687 2753 "dev": true, 1688 2754 "dependencies": { 1689 2755 "@types/node": "*" 2756 + } 2757 + }, 2758 + "node_modules/@types/docker-modem": { 2759 + "version": "3.0.6", 2760 + "resolved": "https://registry.npmjs.org/@types/docker-modem/-/docker-modem-3.0.6.tgz", 2761 + "integrity": "sha512-yKpAGEuKRSS8wwx0joknWxsmLha78wNMe9R2S3UNsVOkZded8UqOrV8KoeDXoXsjndxwyF3eIhyClGbO1SEhEg==", 2762 + "dev": true, 2763 + "dependencies": { 2764 + "@types/node": "*", 2765 + "@types/ssh2": "*" 2766 + } 2767 + }, 2768 + "node_modules/@types/dockerode": { 2769 + "version": "3.3.38", 2770 + "resolved": "https://registry.npmjs.org/@types/dockerode/-/dockerode-3.3.38.tgz", 2771 + "integrity": "sha512-nnrcfUe2iR+RyOuz0B4bZgQwD9djQa9ADEjp7OAgBs10pYT0KSCtplJjcmBDJz0qaReX5T7GbE5i4VplvzUHvA==", 2772 + "dev": true, 2773 + "dependencies": { 2774 + "@types/docker-modem": "*", 2775 + "@types/node": "*", 2776 + "@types/ssh2": "*" 1690 2777 } 1691 2778 }, 1692 2779 "node_modules/@types/express": { ··· 1877 2964 "@types/send": "*" 1878 2965 } 1879 2966 }, 2967 + "node_modules/@types/ssh2": { 2968 + "version": "1.15.5", 2969 + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-1.15.5.tgz", 2970 + "integrity": "sha512-N1ASjp/nXH3ovBHddRJpli4ozpk6UdDYIX4RJWFa9L1YKnzdhTlVmiGHm4DZnj/jLbqZpes4aeR30EFGQtvhQQ==", 2971 + "dev": true, 2972 + "dependencies": { 2973 + "@types/node": "^18.11.18" 2974 + } 2975 + }, 2976 + "node_modules/@types/ssh2-streams": { 2977 + "version": "0.1.12", 2978 + "resolved": "https://registry.npmjs.org/@types/ssh2-streams/-/ssh2-streams-0.1.12.tgz", 2979 + "integrity": "sha512-Sy8tpEmCce4Tq0oSOYdfqaBpA3hDM8SoxoFh5vzFsu2oL+znzGz8oVWW7xb4K920yYMUY+PIG31qZnFMfPWNCg==", 2980 + "dev": true, 2981 + "dependencies": { 2982 + "@types/node": "*" 2983 + } 2984 + }, 2985 + "node_modules/@types/ssh2/node_modules/@types/node": { 2986 + "version": "18.19.87", 2987 + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.87.tgz", 2988 + "integrity": "sha512-OIAAu6ypnVZHmsHCeJ+7CCSub38QNBS9uceMQeg7K5Ur0Jr+wG9wEOEvvMbhp09pxD5czIUy/jND7s7Tb6Nw7A==", 2989 + "dev": true, 2990 + "dependencies": { 2991 + "undici-types": "~5.26.4" 2992 + } 2993 + }, 2994 + "node_modules/@types/ssh2/node_modules/undici-types": { 2995 + "version": "5.26.5", 2996 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 2997 + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 2998 + "dev": true 2999 + }, 1880 3000 "node_modules/@types/stack-utils": { 1881 3001 "version": "2.0.3", 1882 3002 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", ··· 1992 3112 "node": ">= 8" 1993 3113 } 1994 3114 }, 3115 + "node_modules/archiver": { 3116 + "version": "7.0.1", 3117 + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", 3118 + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", 3119 + "dev": true, 3120 + "dependencies": { 3121 + "archiver-utils": "^5.0.2", 3122 + "async": "^3.2.4", 3123 + "buffer-crc32": "^1.0.0", 3124 + "readable-stream": "^4.0.0", 3125 + "readdir-glob": "^1.1.2", 3126 + "tar-stream": "^3.0.0", 3127 + "zip-stream": "^6.0.1" 3128 + }, 3129 + "engines": { 3130 + "node": ">= 14" 3131 + } 3132 + }, 3133 + "node_modules/archiver-utils": { 3134 + "version": "5.0.2", 3135 + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", 3136 + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", 3137 + "dev": true, 3138 + "dependencies": { 3139 + "glob": "^10.0.0", 3140 + "graceful-fs": "^4.2.0", 3141 + "is-stream": "^2.0.1", 3142 + "lazystream": "^1.0.0", 3143 + "lodash": "^4.17.15", 3144 + "normalize-path": "^3.0.0", 3145 + "readable-stream": "^4.0.0" 3146 + }, 3147 + "engines": { 3148 + "node": ">= 14" 3149 + } 3150 + }, 3151 + "node_modules/archiver-utils/node_modules/brace-expansion": { 3152 + "version": "2.0.1", 3153 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 3154 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 3155 + "dev": true, 3156 + "dependencies": { 3157 + "balanced-match": "^1.0.0" 3158 + } 3159 + }, 3160 + "node_modules/archiver-utils/node_modules/glob": { 3161 + "version": "10.4.5", 3162 + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 3163 + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 3164 + "dev": true, 3165 + "dependencies": { 3166 + "foreground-child": "^3.1.0", 3167 + "jackspeak": "^3.1.2", 3168 + "minimatch": "^9.0.4", 3169 + "minipass": "^7.1.2", 3170 + "package-json-from-dist": "^1.0.0", 3171 + "path-scurry": "^1.11.1" 3172 + }, 3173 + "bin": { 3174 + "glob": "dist/esm/bin.mjs" 3175 + }, 3176 + "funding": { 3177 + "url": "https://github.com/sponsors/isaacs" 3178 + } 3179 + }, 3180 + "node_modules/archiver-utils/node_modules/minimatch": { 3181 + "version": "9.0.5", 3182 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 3183 + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 3184 + "dev": true, 3185 + "dependencies": { 3186 + "brace-expansion": "^2.0.1" 3187 + }, 3188 + "engines": { 3189 + "node": ">=16 || 14 >=14.17" 3190 + }, 3191 + "funding": { 3192 + "url": "https://github.com/sponsors/isaacs" 3193 + } 3194 + }, 1995 3195 "node_modules/argparse": { 1996 3196 "version": "1.0.10", 1997 3197 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", ··· 2006 3206 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 2007 3207 "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" 2008 3208 }, 3209 + "node_modules/asn1": { 3210 + "version": "0.2.6", 3211 + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", 3212 + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", 3213 + "dev": true, 3214 + "dependencies": { 3215 + "safer-buffer": "~2.1.0" 3216 + } 3217 + }, 2009 3218 "node_modules/async": { 2010 3219 "version": "3.2.6", 2011 3220 "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", 2012 3221 "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", 2013 3222 "dev": true 2014 3223 }, 3224 + "node_modules/async-lock": { 3225 + "version": "1.4.1", 3226 + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", 3227 + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", 3228 + "dev": true 3229 + }, 2015 3230 "node_modules/atomic-sleep": { 2016 3231 "version": "1.0.0", 2017 3232 "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", ··· 2024 3239 "version": "2.2.2", 2025 3240 "resolved": "https://registry.npmjs.org/await-lock/-/await-lock-2.2.2.tgz", 2026 3241 "integrity": "sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw==" 3242 + }, 3243 + "node_modules/b4a": { 3244 + "version": "1.6.7", 3245 + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", 3246 + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", 3247 + "dev": true 2027 3248 }, 2028 3249 "node_modules/babel-jest": { 2029 3250 "version": "29.7.0", ··· 2141 3362 "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2142 3363 "dev": true 2143 3364 }, 3365 + "node_modules/bare-events": { 3366 + "version": "2.5.4", 3367 + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", 3368 + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", 3369 + "dev": true, 3370 + "optional": true 3371 + }, 3372 + "node_modules/bare-fs": { 3373 + "version": "4.1.3", 3374 + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.3.tgz", 3375 + "integrity": "sha512-OeEZYIg+2qepaWLyphaOXHAHKo3xkM8y3BeGAvHdMN8GNWvEAU1Yw6rYpGzu/wDDbKxgEjVeVDpgGhDzaeMpjg==", 3376 + "dev": true, 3377 + "optional": true, 3378 + "dependencies": { 3379 + "bare-events": "^2.5.4", 3380 + "bare-path": "^3.0.0", 3381 + "bare-stream": "^2.6.4" 3382 + }, 3383 + "engines": { 3384 + "bare": ">=1.16.0" 3385 + }, 3386 + "peerDependencies": { 3387 + "bare-buffer": "*" 3388 + }, 3389 + "peerDependenciesMeta": { 3390 + "bare-buffer": { 3391 + "optional": true 3392 + } 3393 + } 3394 + }, 3395 + "node_modules/bare-os": { 3396 + "version": "3.6.1", 3397 + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", 3398 + "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", 3399 + "dev": true, 3400 + "optional": true, 3401 + "engines": { 3402 + "bare": ">=1.14.0" 3403 + } 3404 + }, 3405 + "node_modules/bare-path": { 3406 + "version": "3.0.0", 3407 + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", 3408 + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", 3409 + "dev": true, 3410 + "optional": true, 3411 + "dependencies": { 3412 + "bare-os": "^3.0.1" 3413 + } 3414 + }, 3415 + "node_modules/bare-stream": { 3416 + "version": "2.6.5", 3417 + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", 3418 + "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", 3419 + "dev": true, 3420 + "optional": true, 3421 + "dependencies": { 3422 + "streamx": "^2.21.0" 3423 + }, 3424 + "peerDependencies": { 3425 + "bare-buffer": "*", 3426 + "bare-events": "*" 3427 + }, 3428 + "peerDependenciesMeta": { 3429 + "bare-buffer": { 3430 + "optional": true 3431 + }, 3432 + "bare-events": { 3433 + "optional": true 3434 + } 3435 + } 3436 + }, 2144 3437 "node_modules/base64-js": { 2145 3438 "version": "1.5.1", 2146 3439 "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", ··· 2160 3453 } 2161 3454 ] 2162 3455 }, 3456 + "node_modules/bcrypt-pbkdf": { 3457 + "version": "1.0.2", 3458 + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 3459 + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", 3460 + "dev": true, 3461 + "dependencies": { 3462 + "tweetnacl": "^0.14.3" 3463 + } 3464 + }, 3465 + "node_modules/bl": { 3466 + "version": "4.1.0", 3467 + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 3468 + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 3469 + "dev": true, 3470 + "dependencies": { 3471 + "buffer": "^5.5.0", 3472 + "inherits": "^2.0.4", 3473 + "readable-stream": "^3.4.0" 3474 + } 3475 + }, 3476 + "node_modules/bl/node_modules/buffer": { 3477 + "version": "5.7.1", 3478 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 3479 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 3480 + "dev": true, 3481 + "funding": [ 3482 + { 3483 + "type": "github", 3484 + "url": "https://github.com/sponsors/feross" 3485 + }, 3486 + { 3487 + "type": "patreon", 3488 + "url": "https://www.patreon.com/feross" 3489 + }, 3490 + { 3491 + "type": "consulting", 3492 + "url": "https://feross.org/support" 3493 + } 3494 + ], 3495 + "dependencies": { 3496 + "base64-js": "^1.3.1", 3497 + "ieee754": "^1.1.13" 3498 + } 3499 + }, 3500 + "node_modules/bl/node_modules/readable-stream": { 3501 + "version": "3.6.2", 3502 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 3503 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 3504 + "dev": true, 3505 + "dependencies": { 3506 + "inherits": "^2.0.3", 3507 + "string_decoder": "^1.1.1", 3508 + "util-deprecate": "^1.0.1" 3509 + }, 3510 + "engines": { 3511 + "node": ">= 6" 3512 + } 3513 + }, 2163 3514 "node_modules/body-parser": { 2164 3515 "version": "2.2.0", 2165 3516 "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", ··· 2277 3628 "ieee754": "^1.2.1" 2278 3629 } 2279 3630 }, 3631 + "node_modules/buffer-crc32": { 3632 + "version": "1.0.0", 3633 + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", 3634 + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", 3635 + "dev": true, 3636 + "engines": { 3637 + "node": ">=8.0.0" 3638 + } 3639 + }, 2280 3640 "node_modules/buffer-from": { 2281 3641 "version": "1.1.2", 2282 3642 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 2283 3643 "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 2284 3644 "dev": true 2285 3645 }, 3646 + "node_modules/buildcheck": { 3647 + "version": "0.0.6", 3648 + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", 3649 + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", 3650 + "dev": true, 3651 + "optional": true, 3652 + "engines": { 3653 + "node": ">=10.0.0" 3654 + } 3655 + }, 3656 + "node_modules/byline": { 3657 + "version": "5.0.0", 3658 + "resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz", 3659 + "integrity": "sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==", 3660 + "dev": true, 3661 + "engines": { 3662 + "node": ">=0.10.0" 3663 + } 3664 + }, 2286 3665 "node_modules/bytes": { 2287 3666 "version": "3.1.2", 2288 3667 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", ··· 2418 3797 "node": ">=10" 2419 3798 } 2420 3799 }, 3800 + "node_modules/chownr": { 3801 + "version": "1.1.4", 3802 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 3803 + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 3804 + "dev": true 3805 + }, 2421 3806 "node_modules/ci-info": { 2422 3807 "version": "3.9.0", 2423 3808 "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", ··· 2502 3887 "node": "^12.20.0 || >=14" 2503 3888 } 2504 3889 }, 3890 + "node_modules/compress-commons": { 3891 + "version": "6.0.2", 3892 + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", 3893 + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", 3894 + "dev": true, 3895 + "dependencies": { 3896 + "crc-32": "^1.2.0", 3897 + "crc32-stream": "^6.0.0", 3898 + "is-stream": "^2.0.1", 3899 + "normalize-path": "^3.0.0", 3900 + "readable-stream": "^4.0.0" 3901 + }, 3902 + "engines": { 3903 + "node": ">= 14" 3904 + } 3905 + }, 2505 3906 "node_modules/concat-map": { 2506 3907 "version": "0.0.1", 2507 3908 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ··· 2549 3950 "node": ">=6.6.0" 2550 3951 } 2551 3952 }, 3953 + "node_modules/core-util-is": { 3954 + "version": "1.0.3", 3955 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 3956 + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 3957 + "dev": true 3958 + }, 3959 + "node_modules/cpu-features": { 3960 + "version": "0.0.10", 3961 + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", 3962 + "integrity": "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==", 3963 + "dev": true, 3964 + "hasInstallScript": true, 3965 + "optional": true, 3966 + "dependencies": { 3967 + "buildcheck": "~0.0.6", 3968 + "nan": "^2.19.0" 3969 + }, 3970 + "engines": { 3971 + "node": ">=10.0.0" 3972 + } 3973 + }, 3974 + "node_modules/crc-32": { 3975 + "version": "1.2.2", 3976 + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", 3977 + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", 3978 + "dev": true, 3979 + "bin": { 3980 + "crc32": "bin/crc32.njs" 3981 + }, 3982 + "engines": { 3983 + "node": ">=0.8" 3984 + } 3985 + }, 3986 + "node_modules/crc32-stream": { 3987 + "version": "6.0.0", 3988 + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz", 3989 + "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==", 3990 + "dev": true, 3991 + "dependencies": { 3992 + "crc-32": "^1.2.0", 3993 + "readable-stream": "^4.0.0" 3994 + }, 3995 + "engines": { 3996 + "node": ">= 14" 3997 + } 3998 + }, 2552 3999 "node_modules/create-jest": { 2553 4000 "version": "29.7.0", 2554 4001 "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", ··· 2667 4114 "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2668 4115 } 2669 4116 }, 4117 + "node_modules/docker-compose": { 4118 + "version": "0.24.8", 4119 + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.24.8.tgz", 4120 + "integrity": "sha512-plizRs/Vf15H+GCVxq2EUvyPK7ei9b/cVesHvjnX4xaXjM9spHe2Ytq0BitndFgvTJ3E3NljPNUEl7BAN43iZw==", 4121 + "dev": true, 4122 + "dependencies": { 4123 + "yaml": "^2.2.2" 4124 + }, 4125 + "engines": { 4126 + "node": ">= 6.0.0" 4127 + } 4128 + }, 4129 + "node_modules/docker-modem": { 4130 + "version": "5.0.6", 4131 + "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-5.0.6.tgz", 4132 + "integrity": "sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==", 4133 + "dev": true, 4134 + "dependencies": { 4135 + "debug": "^4.1.1", 4136 + "readable-stream": "^3.5.0", 4137 + "split-ca": "^1.0.1", 4138 + "ssh2": "^1.15.0" 4139 + }, 4140 + "engines": { 4141 + "node": ">= 8.0" 4142 + } 4143 + }, 4144 + "node_modules/docker-modem/node_modules/readable-stream": { 4145 + "version": "3.6.2", 4146 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 4147 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 4148 + "dev": true, 4149 + "dependencies": { 4150 + "inherits": "^2.0.3", 4151 + "string_decoder": "^1.1.1", 4152 + "util-deprecate": "^1.0.1" 4153 + }, 4154 + "engines": { 4155 + "node": ">= 6" 4156 + } 4157 + }, 4158 + "node_modules/dockerode": { 4159 + "version": "4.0.6", 4160 + "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-4.0.6.tgz", 4161 + "integrity": "sha512-FbVf3Z8fY/kALB9s+P9epCpWhfi/r0N2DgYYcYpsAUlaTxPjdsitsFobnltb+lyCgAIvf9C+4PSWlTnHlJMf1w==", 4162 + "dev": true, 4163 + "dependencies": { 4164 + "@balena/dockerignore": "^1.0.2", 4165 + "@grpc/grpc-js": "^1.11.1", 4166 + "@grpc/proto-loader": "^0.7.13", 4167 + "docker-modem": "^5.0.6", 4168 + "protobufjs": "^7.3.2", 4169 + "tar-fs": "~2.1.2", 4170 + "uuid": "^10.0.0" 4171 + }, 4172 + "engines": { 4173 + "node": ">= 8.0" 4174 + } 4175 + }, 4176 + "node_modules/dockerode/node_modules/readable-stream": { 4177 + "version": "3.6.2", 4178 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 4179 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 4180 + "dev": true, 4181 + "dependencies": { 4182 + "inherits": "^2.0.3", 4183 + "string_decoder": "^1.1.1", 4184 + "util-deprecate": "^1.0.1" 4185 + }, 4186 + "engines": { 4187 + "node": ">= 6" 4188 + } 4189 + }, 4190 + "node_modules/dockerode/node_modules/tar-fs": { 4191 + "version": "2.1.2", 4192 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz", 4193 + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", 4194 + "dev": true, 4195 + "dependencies": { 4196 + "chownr": "^1.1.1", 4197 + "mkdirp-classic": "^0.5.2", 4198 + "pump": "^3.0.0", 4199 + "tar-stream": "^2.1.4" 4200 + } 4201 + }, 4202 + "node_modules/dockerode/node_modules/tar-stream": { 4203 + "version": "2.2.0", 4204 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 4205 + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 4206 + "dev": true, 4207 + "dependencies": { 4208 + "bl": "^4.0.3", 4209 + "end-of-stream": "^1.4.1", 4210 + "fs-constants": "^1.0.0", 4211 + "inherits": "^2.0.3", 4212 + "readable-stream": "^3.1.1" 4213 + }, 4214 + "engines": { 4215 + "node": ">=6" 4216 + } 4217 + }, 4218 + "node_modules/dockerode/node_modules/uuid": { 4219 + "version": "10.0.0", 4220 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", 4221 + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", 4222 + "dev": true, 4223 + "funding": [ 4224 + "https://github.com/sponsors/broofa", 4225 + "https://github.com/sponsors/ctavan" 4226 + ], 4227 + "bin": { 4228 + "uuid": "dist/bin/uuid" 4229 + } 4230 + }, 2670 4231 "node_modules/dotenv": { 2671 4232 "version": "16.5.0", 2672 4233 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", ··· 2678 4239 "url": "https://dotenvx.com" 2679 4240 } 2680 4241 }, 4242 + "node_modules/drizzle-kit": { 4243 + "version": "0.31.0", 4244 + "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.31.0.tgz", 4245 + "integrity": "sha512-pcKVT+GbfPA+bUovPIilgVOoq+onNBo/YQBG86sf3/GFHkN6lRJPm1l7dKN0IMAk57RQoIm4GUllRrasLlcaSg==", 4246 + "dev": true, 4247 + "dependencies": { 4248 + "@drizzle-team/brocli": "^0.10.2", 4249 + "@esbuild-kit/esm-loader": "^2.5.5", 4250 + "esbuild": "^0.25.2", 4251 + "esbuild-register": "^3.5.0" 4252 + }, 4253 + "bin": { 4254 + "drizzle-kit": "bin.cjs" 4255 + } 4256 + }, 2681 4257 "node_modules/drizzle-orm": { 2682 4258 "version": "0.32.2", 2683 4259 "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.32.2.tgz", ··· 2812 4388 "node": ">= 0.4" 2813 4389 } 2814 4390 }, 4391 + "node_modules/eastasianwidth": { 4392 + "version": "0.2.0", 4393 + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 4394 + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 4395 + "dev": true 4396 + }, 2815 4397 "node_modules/ee-first": { 2816 4398 "version": "1.1.1", 2817 4399 "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", ··· 2864 4446 "node": ">= 0.8" 2865 4447 } 2866 4448 }, 4449 + "node_modules/end-of-stream": { 4450 + "version": "1.4.4", 4451 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 4452 + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 4453 + "dev": true, 4454 + "dependencies": { 4455 + "once": "^1.4.0" 4456 + } 4457 + }, 2867 4458 "node_modules/error-ex": { 2868 4459 "version": "1.3.2", 2869 4460 "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", ··· 2898 4489 }, 2899 4490 "engines": { 2900 4491 "node": ">= 0.4" 4492 + } 4493 + }, 4494 + "node_modules/esbuild": { 4495 + "version": "0.25.3", 4496 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", 4497 + "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", 4498 + "dev": true, 4499 + "hasInstallScript": true, 4500 + "bin": { 4501 + "esbuild": "bin/esbuild" 4502 + }, 4503 + "engines": { 4504 + "node": ">=18" 4505 + }, 4506 + "optionalDependencies": { 4507 + "@esbuild/aix-ppc64": "0.25.3", 4508 + "@esbuild/android-arm": "0.25.3", 4509 + "@esbuild/android-arm64": "0.25.3", 4510 + "@esbuild/android-x64": "0.25.3", 4511 + "@esbuild/darwin-arm64": "0.25.3", 4512 + "@esbuild/darwin-x64": "0.25.3", 4513 + "@esbuild/freebsd-arm64": "0.25.3", 4514 + "@esbuild/freebsd-x64": "0.25.3", 4515 + "@esbuild/linux-arm": "0.25.3", 4516 + "@esbuild/linux-arm64": "0.25.3", 4517 + "@esbuild/linux-ia32": "0.25.3", 4518 + "@esbuild/linux-loong64": "0.25.3", 4519 + "@esbuild/linux-mips64el": "0.25.3", 4520 + "@esbuild/linux-ppc64": "0.25.3", 4521 + "@esbuild/linux-riscv64": "0.25.3", 4522 + "@esbuild/linux-s390x": "0.25.3", 4523 + "@esbuild/linux-x64": "0.25.3", 4524 + "@esbuild/netbsd-arm64": "0.25.3", 4525 + "@esbuild/netbsd-x64": "0.25.3", 4526 + "@esbuild/openbsd-arm64": "0.25.3", 4527 + "@esbuild/openbsd-x64": "0.25.3", 4528 + "@esbuild/sunos-x64": "0.25.3", 4529 + "@esbuild/win32-arm64": "0.25.3", 4530 + "@esbuild/win32-ia32": "0.25.3", 4531 + "@esbuild/win32-x64": "0.25.3" 4532 + } 4533 + }, 4534 + "node_modules/esbuild-register": { 4535 + "version": "3.6.0", 4536 + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", 4537 + "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", 4538 + "dev": true, 4539 + "dependencies": { 4540 + "debug": "^4.3.4" 4541 + }, 4542 + "peerDependencies": { 4543 + "esbuild": ">=0.12 <1" 2901 4544 } 2902 4545 }, 2903 4546 "node_modules/escalade": { ··· 3073 4716 "node": ">= 0.6" 3074 4717 } 3075 4718 }, 4719 + "node_modules/fast-fifo": { 4720 + "version": "1.3.2", 4721 + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", 4722 + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", 4723 + "dev": true 4724 + }, 3076 4725 "node_modules/fast-json-stable-stringify": { 3077 4726 "version": "2.1.0", 3078 4727 "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", ··· 3167 4816 "node": ">=8" 3168 4817 } 3169 4818 }, 4819 + "node_modules/foreground-child": { 4820 + "version": "3.3.1", 4821 + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", 4822 + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", 4823 + "dev": true, 4824 + "dependencies": { 4825 + "cross-spawn": "^7.0.6", 4826 + "signal-exit": "^4.0.1" 4827 + }, 4828 + "engines": { 4829 + "node": ">=14" 4830 + }, 4831 + "funding": { 4832 + "url": "https://github.com/sponsors/isaacs" 4833 + } 4834 + }, 4835 + "node_modules/foreground-child/node_modules/signal-exit": { 4836 + "version": "4.1.0", 4837 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 4838 + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 4839 + "dev": true, 4840 + "engines": { 4841 + "node": ">=14" 4842 + }, 4843 + "funding": { 4844 + "url": "https://github.com/sponsors/isaacs" 4845 + } 4846 + }, 3170 4847 "node_modules/forwarded": { 3171 4848 "version": "0.2.0", 3172 4849 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", ··· 3183 4860 "node": ">= 0.8" 3184 4861 } 3185 4862 }, 4863 + "node_modules/fs-constants": { 4864 + "version": "1.0.0", 4865 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 4866 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 4867 + "dev": true 4868 + }, 3186 4869 "node_modules/fs.realpath": { 3187 4870 "version": "1.0.0", 3188 4871 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", ··· 3261 4944 "node": ">=8.0.0" 3262 4945 } 3263 4946 }, 4947 + "node_modules/get-port": { 4948 + "version": "7.1.0", 4949 + "resolved": "https://registry.npmjs.org/get-port/-/get-port-7.1.0.tgz", 4950 + "integrity": "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==", 4951 + "dev": true, 4952 + "engines": { 4953 + "node": ">=16" 4954 + }, 4955 + "funding": { 4956 + "url": "https://github.com/sponsors/sindresorhus" 4957 + } 4958 + }, 3264 4959 "node_modules/get-proto": { 3265 4960 "version": "1.0.1", 3266 4961 "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", ··· 3283 4978 }, 3284 4979 "funding": { 3285 4980 "url": "https://github.com/sponsors/sindresorhus" 4981 + } 4982 + }, 4983 + "node_modules/get-tsconfig": { 4984 + "version": "4.10.0", 4985 + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", 4986 + "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", 4987 + "dev": true, 4988 + "dependencies": { 4989 + "resolve-pkg-maps": "^1.0.0" 4990 + }, 4991 + "funding": { 4992 + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 3286 4993 } 3287 4994 }, 3288 4995 "node_modules/glob": { ··· 3545 5252 "url": "https://github.com/sponsors/sindresorhus" 3546 5253 } 3547 5254 }, 5255 + "node_modules/isarray": { 5256 + "version": "1.0.0", 5257 + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 5258 + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 5259 + "dev": true 5260 + }, 3548 5261 "node_modules/isexe": { 3549 5262 "version": "2.0.0", 3550 5263 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", ··· 3632 5345 }, 3633 5346 "engines": { 3634 5347 "node": ">=8" 5348 + } 5349 + }, 5350 + "node_modules/jackspeak": { 5351 + "version": "3.4.3", 5352 + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 5353 + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 5354 + "dev": true, 5355 + "dependencies": { 5356 + "@isaacs/cliui": "^8.0.2" 5357 + }, 5358 + "funding": { 5359 + "url": "https://github.com/sponsors/isaacs" 5360 + }, 5361 + "optionalDependencies": { 5362 + "@pkgjs/parseargs": "^0.11.0" 3635 5363 } 3636 5364 }, 3637 5365 "node_modules/jake": { ··· 4285 6013 "node": ">=6" 4286 6014 } 4287 6015 }, 6016 + "node_modules/lazystream": { 6017 + "version": "1.0.1", 6018 + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", 6019 + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", 6020 + "dev": true, 6021 + "dependencies": { 6022 + "readable-stream": "^2.0.5" 6023 + }, 6024 + "engines": { 6025 + "node": ">= 0.6.3" 6026 + } 6027 + }, 6028 + "node_modules/lazystream/node_modules/readable-stream": { 6029 + "version": "2.3.8", 6030 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 6031 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 6032 + "dev": true, 6033 + "dependencies": { 6034 + "core-util-is": "~1.0.0", 6035 + "inherits": "~2.0.3", 6036 + "isarray": "~1.0.0", 6037 + "process-nextick-args": "~2.0.0", 6038 + "safe-buffer": "~5.1.1", 6039 + "string_decoder": "~1.1.1", 6040 + "util-deprecate": "~1.0.1" 6041 + } 6042 + }, 6043 + "node_modules/lazystream/node_modules/safe-buffer": { 6044 + "version": "5.1.2", 6045 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 6046 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 6047 + "dev": true 6048 + }, 6049 + "node_modules/lazystream/node_modules/string_decoder": { 6050 + "version": "1.1.1", 6051 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 6052 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 6053 + "dev": true, 6054 + "dependencies": { 6055 + "safe-buffer": "~5.1.0" 6056 + } 6057 + }, 4288 6058 "node_modules/leven": { 4289 6059 "version": "3.1.0", 4290 6060 "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", ··· 4312 6082 "node": ">=8" 4313 6083 } 4314 6084 }, 6085 + "node_modules/lodash": { 6086 + "version": "4.17.21", 6087 + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 6088 + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 6089 + "dev": true 6090 + }, 6091 + "node_modules/lodash.camelcase": { 6092 + "version": "4.3.0", 6093 + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", 6094 + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", 6095 + "dev": true 6096 + }, 4315 6097 "node_modules/lodash.memoize": { 4316 6098 "version": "4.1.2", 4317 6099 "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", 4318 6100 "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", 6101 + "dev": true 6102 + }, 6103 + "node_modules/long": { 6104 + "version": "5.3.2", 6105 + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", 6106 + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", 4319 6107 "dev": true 4320 6108 }, 4321 6109 "node_modules/lru-cache": { ··· 4469 6257 "engines": { 4470 6258 "node": "*" 4471 6259 } 6260 + }, 6261 + "node_modules/minipass": { 6262 + "version": "7.1.2", 6263 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 6264 + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 6265 + "dev": true, 6266 + "engines": { 6267 + "node": ">=16 || 14 >=14.17" 6268 + } 6269 + }, 6270 + "node_modules/mkdirp": { 6271 + "version": "1.0.4", 6272 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 6273 + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 6274 + "dev": true, 6275 + "bin": { 6276 + "mkdirp": "bin/cmd.js" 6277 + }, 6278 + "engines": { 6279 + "node": ">=10" 6280 + } 6281 + }, 6282 + "node_modules/mkdirp-classic": { 6283 + "version": "0.5.3", 6284 + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 6285 + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 6286 + "dev": true 4472 6287 }, 4473 6288 "node_modules/ms": { 4474 6289 "version": "2.1.3", ··· 4480 6295 "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 4481 6296 "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 4482 6297 }, 6298 + "node_modules/nan": { 6299 + "version": "2.22.2", 6300 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", 6301 + "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", 6302 + "dev": true, 6303 + "optional": true 6304 + }, 4483 6305 "node_modules/natural-compare": { 4484 6306 "version": "1.4.0", 4485 6307 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", ··· 4685 6507 "node": ">=6" 4686 6508 } 4687 6509 }, 6510 + "node_modules/package-json-from-dist": { 6511 + "version": "1.0.1", 6512 + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 6513 + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 6514 + "dev": true 6515 + }, 4688 6516 "node_modules/parse-json": { 4689 6517 "version": "5.2.0", 4690 6518 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", ··· 4750 6578 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 4751 6579 "dev": true 4752 6580 }, 6581 + "node_modules/path-scurry": { 6582 + "version": "1.11.1", 6583 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 6584 + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 6585 + "dev": true, 6586 + "dependencies": { 6587 + "lru-cache": "^10.2.0", 6588 + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 6589 + }, 6590 + "engines": { 6591 + "node": ">=16 || 14 >=14.18" 6592 + }, 6593 + "funding": { 6594 + "url": "https://github.com/sponsors/isaacs" 6595 + } 6596 + }, 4753 6597 "node_modules/path-to-regexp": { 4754 6598 "version": "8.2.0", 4755 6599 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", ··· 4930 6774 "node": ">=8" 4931 6775 } 4932 6776 }, 6777 + "node_modules/postgres": { 6778 + "version": "3.4.5", 6779 + "resolved": "https://registry.npmjs.org/postgres/-/postgres-3.4.5.tgz", 6780 + "integrity": "sha512-cDWgoah1Gez9rN3H4165peY9qfpEo+SA61oQv65O3cRUE1pOEoJWwddwcqKE8XZYjbblOJlYDlLV4h67HrEVDg==", 6781 + "engines": { 6782 + "node": ">=12" 6783 + }, 6784 + "funding": { 6785 + "type": "individual", 6786 + "url": "https://github.com/sponsors/porsager" 6787 + } 6788 + }, 4933 6789 "node_modules/postgres-array": { 4934 6790 "version": "2.0.0", 4935 6791 "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", ··· 5024 6880 "node": ">= 0.6.0" 5025 6881 } 5026 6882 }, 6883 + "node_modules/process-nextick-args": { 6884 + "version": "2.0.1", 6885 + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 6886 + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 6887 + "dev": true 6888 + }, 5027 6889 "node_modules/process-warning": { 5028 6890 "version": "3.0.0", 5029 6891 "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", ··· 5042 6904 "node": ">= 6" 5043 6905 } 5044 6906 }, 6907 + "node_modules/proper-lockfile": { 6908 + "version": "4.1.2", 6909 + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", 6910 + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", 6911 + "dev": true, 6912 + "dependencies": { 6913 + "graceful-fs": "^4.2.4", 6914 + "retry": "^0.12.0", 6915 + "signal-exit": "^3.0.2" 6916 + } 6917 + }, 6918 + "node_modules/properties-reader": { 6919 + "version": "2.3.0", 6920 + "resolved": "https://registry.npmjs.org/properties-reader/-/properties-reader-2.3.0.tgz", 6921 + "integrity": "sha512-z597WicA7nDZxK12kZqHr2TcvwNU1GCfA5UwfDY/HDp3hXPoPlb5rlEx9bwGTiJnc0OqbBTkU975jDToth8Gxw==", 6922 + "dev": true, 6923 + "dependencies": { 6924 + "mkdirp": "^1.0.4" 6925 + }, 6926 + "engines": { 6927 + "node": ">=14" 6928 + }, 6929 + "funding": { 6930 + "type": "github", 6931 + "url": "https://github.com/steveukx/properties?sponsor=1" 6932 + } 6933 + }, 6934 + "node_modules/protobufjs": { 6935 + "version": "7.5.0", 6936 + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.0.tgz", 6937 + "integrity": "sha512-Z2E/kOY1QjoMlCytmexzYfDm/w5fKAiRwpSzGtdnXW1zC88Z2yXazHHrOtwCzn+7wSxyE8PYM4rvVcMphF9sOA==", 6938 + "dev": true, 6939 + "hasInstallScript": true, 6940 + "dependencies": { 6941 + "@protobufjs/aspromise": "^1.1.2", 6942 + "@protobufjs/base64": "^1.1.2", 6943 + "@protobufjs/codegen": "^2.0.4", 6944 + "@protobufjs/eventemitter": "^1.1.0", 6945 + "@protobufjs/fetch": "^1.1.0", 6946 + "@protobufjs/float": "^1.0.2", 6947 + "@protobufjs/inquire": "^1.1.0", 6948 + "@protobufjs/path": "^1.1.2", 6949 + "@protobufjs/pool": "^1.1.0", 6950 + "@protobufjs/utf8": "^1.1.0", 6951 + "@types/node": ">=13.7.0", 6952 + "long": "^5.0.0" 6953 + }, 6954 + "engines": { 6955 + "node": ">=12.0.0" 6956 + } 6957 + }, 5045 6958 "node_modules/proxy-addr": { 5046 6959 "version": "2.0.7", 5047 6960 "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", ··· 5073 6986 "url": "https://github.com/sponsors/lupomontero" 5074 6987 } 5075 6988 }, 6989 + "node_modules/pump": { 6990 + "version": "3.0.2", 6991 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", 6992 + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", 6993 + "dev": true, 6994 + "dependencies": { 6995 + "end-of-stream": "^1.1.0", 6996 + "once": "^1.3.1" 6997 + } 6998 + }, 5076 6999 "node_modules/punycode": { 5077 7000 "version": "2.3.1", 5078 7001 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", ··· 5164 7087 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 5165 7088 } 5166 7089 }, 7090 + "node_modules/readdir-glob": { 7091 + "version": "1.1.3", 7092 + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", 7093 + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", 7094 + "dev": true, 7095 + "dependencies": { 7096 + "minimatch": "^5.1.0" 7097 + } 7098 + }, 7099 + "node_modules/readdir-glob/node_modules/brace-expansion": { 7100 + "version": "2.0.1", 7101 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 7102 + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 7103 + "dev": true, 7104 + "dependencies": { 7105 + "balanced-match": "^1.0.0" 7106 + } 7107 + }, 7108 + "node_modules/readdir-glob/node_modules/minimatch": { 7109 + "version": "5.1.6", 7110 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", 7111 + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", 7112 + "dev": true, 7113 + "dependencies": { 7114 + "brace-expansion": "^2.0.1" 7115 + }, 7116 + "engines": { 7117 + "node": ">=10" 7118 + } 7119 + }, 5167 7120 "node_modules/real-require": { 5168 7121 "version": "0.2.0", 5169 7122 "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", ··· 5222 7175 "node": ">=8" 5223 7176 } 5224 7177 }, 7178 + "node_modules/resolve-pkg-maps": { 7179 + "version": "1.0.0", 7180 + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 7181 + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 7182 + "dev": true, 7183 + "funding": { 7184 + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 7185 + } 7186 + }, 5225 7187 "node_modules/resolve.exports": { 5226 7188 "version": "2.0.3", 5227 7189 "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", ··· 5229 7191 "dev": true, 5230 7192 "engines": { 5231 7193 "node": ">=10" 7194 + } 7195 + }, 7196 + "node_modules/retry": { 7197 + "version": "0.12.0", 7198 + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 7199 + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 7200 + "dev": true, 7201 + "engines": { 7202 + "node": ">= 4" 5232 7203 } 5233 7204 }, 5234 7205 "node_modules/router": { ··· 5483 7454 "source-map": "^0.6.0" 5484 7455 } 5485 7456 }, 7457 + "node_modules/split-ca": { 7458 + "version": "1.0.1", 7459 + "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", 7460 + "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", 7461 + "dev": true 7462 + }, 5486 7463 "node_modules/split2": { 5487 7464 "version": "4.2.0", 5488 7465 "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", ··· 5497 7474 "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 5498 7475 "dev": true 5499 7476 }, 7477 + "node_modules/ssh-remote-port-forward": { 7478 + "version": "1.0.4", 7479 + "resolved": "https://registry.npmjs.org/ssh-remote-port-forward/-/ssh-remote-port-forward-1.0.4.tgz", 7480 + "integrity": "sha512-x0LV1eVDwjf1gmG7TTnfqIzf+3VPRz7vrNIjX6oYLbeCrf/PeVY6hkT68Mg+q02qXxQhrLjB0jfgvhevoCRmLQ==", 7481 + "dev": true, 7482 + "dependencies": { 7483 + "@types/ssh2": "^0.5.48", 7484 + "ssh2": "^1.4.0" 7485 + } 7486 + }, 7487 + "node_modules/ssh-remote-port-forward/node_modules/@types/ssh2": { 7488 + "version": "0.5.52", 7489 + "resolved": "https://registry.npmjs.org/@types/ssh2/-/ssh2-0.5.52.tgz", 7490 + "integrity": "sha512-lbLLlXxdCZOSJMCInKH2+9V/77ET2J6NPQHpFI0kda61Dd1KglJs+fPQBchizmzYSOJBgdTajhPqBO1xxLywvg==", 7491 + "dev": true, 7492 + "dependencies": { 7493 + "@types/node": "*", 7494 + "@types/ssh2-streams": "*" 7495 + } 7496 + }, 7497 + "node_modules/ssh2": { 7498 + "version": "1.16.0", 7499 + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.16.0.tgz", 7500 + "integrity": "sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==", 7501 + "dev": true, 7502 + "hasInstallScript": true, 7503 + "dependencies": { 7504 + "asn1": "^0.2.6", 7505 + "bcrypt-pbkdf": "^1.0.2" 7506 + }, 7507 + "engines": { 7508 + "node": ">=10.16.0" 7509 + }, 7510 + "optionalDependencies": { 7511 + "cpu-features": "~0.0.10", 7512 + "nan": "^2.20.0" 7513 + } 7514 + }, 5500 7515 "node_modules/stack-utils": { 5501 7516 "version": "2.0.6", 5502 7517 "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", ··· 5517 7532 "node": ">= 0.8" 5518 7533 } 5519 7534 }, 7535 + "node_modules/streamx": { 7536 + "version": "2.22.0", 7537 + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", 7538 + "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", 7539 + "dev": true, 7540 + "dependencies": { 7541 + "fast-fifo": "^1.3.2", 7542 + "text-decoder": "^1.1.0" 7543 + }, 7544 + "optionalDependencies": { 7545 + "bare-events": "^2.2.0" 7546 + } 7547 + }, 5520 7548 "node_modules/string_decoder": { 5521 7549 "version": "1.3.0", 5522 7550 "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", ··· 5552 7580 "node": ">=8" 5553 7581 } 5554 7582 }, 7583 + "node_modules/string-width-cjs": { 7584 + "name": "string-width", 7585 + "version": "4.2.3", 7586 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 7587 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 7588 + "dev": true, 7589 + "dependencies": { 7590 + "emoji-regex": "^8.0.0", 7591 + "is-fullwidth-code-point": "^3.0.0", 7592 + "strip-ansi": "^6.0.1" 7593 + }, 7594 + "engines": { 7595 + "node": ">=8" 7596 + } 7597 + }, 5555 7598 "node_modules/strip-ansi": { 5556 7599 "version": "6.0.1", 5557 7600 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", ··· 5564 7607 "node": ">=8" 5565 7608 } 5566 7609 }, 7610 + "node_modules/strip-ansi-cjs": { 7611 + "name": "strip-ansi", 7612 + "version": "6.0.1", 7613 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 7614 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 7615 + "dev": true, 7616 + "dependencies": { 7617 + "ansi-regex": "^5.0.1" 7618 + }, 7619 + "engines": { 7620 + "node": ">=8" 7621 + } 7622 + }, 5567 7623 "node_modules/strip-bom": { 5568 7624 "version": "4.0.0", 5569 7625 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", ··· 5618 7674 "url": "https://github.com/sponsors/ljharb" 5619 7675 } 5620 7676 }, 7677 + "node_modules/tar-fs": { 7678 + "version": "3.0.8", 7679 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz", 7680 + "integrity": "sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==", 7681 + "dev": true, 7682 + "dependencies": { 7683 + "pump": "^3.0.0", 7684 + "tar-stream": "^3.1.5" 7685 + }, 7686 + "optionalDependencies": { 7687 + "bare-fs": "^4.0.1", 7688 + "bare-path": "^3.0.0" 7689 + } 7690 + }, 7691 + "node_modules/tar-stream": { 7692 + "version": "3.1.7", 7693 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", 7694 + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", 7695 + "dev": true, 7696 + "dependencies": { 7697 + "b4a": "^1.6.4", 7698 + "fast-fifo": "^1.2.0", 7699 + "streamx": "^2.15.0" 7700 + } 7701 + }, 5621 7702 "node_modules/test-exclude": { 5622 7703 "version": "6.0.0", 5623 7704 "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", ··· 5632 7713 "node": ">=8" 5633 7714 } 5634 7715 }, 7716 + "node_modules/testcontainers": { 7717 + "version": "10.24.2", 7718 + "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.24.2.tgz", 7719 + "integrity": "sha512-Don3EXEQuSw14+nFG9pj48fL9ck/jXDfR9Rb0K3acOyn/gg97+gsnfZaLzpdejl9GcPJVKxACNRe3SYVC2uWqg==", 7720 + "dev": true, 7721 + "dependencies": { 7722 + "@balena/dockerignore": "^1.0.2", 7723 + "@types/dockerode": "^3.3.35", 7724 + "archiver": "^7.0.1", 7725 + "async-lock": "^1.4.1", 7726 + "byline": "^5.0.0", 7727 + "debug": "^4.3.5", 7728 + "docker-compose": "^0.24.8", 7729 + "dockerode": "^4.0.5", 7730 + "get-port": "^7.1.0", 7731 + "proper-lockfile": "^4.1.2", 7732 + "properties-reader": "^2.3.0", 7733 + "ssh-remote-port-forward": "^1.0.4", 7734 + "tar-fs": "^3.0.7", 7735 + "tmp": "^0.2.3", 7736 + "undici": "^5.28.5" 7737 + } 7738 + }, 7739 + "node_modules/testcontainers/node_modules/undici": { 7740 + "version": "5.29.0", 7741 + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", 7742 + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", 7743 + "dev": true, 7744 + "dependencies": { 7745 + "@fastify/busboy": "^2.0.0" 7746 + }, 7747 + "engines": { 7748 + "node": ">=14.0" 7749 + } 7750 + }, 7751 + "node_modules/text-decoder": { 7752 + "version": "1.2.3", 7753 + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", 7754 + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", 7755 + "dev": true, 7756 + "dependencies": { 7757 + "b4a": "^1.6.4" 7758 + } 7759 + }, 5635 7760 "node_modules/thread-stream": { 5636 7761 "version": "2.7.0", 5637 7762 "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", ··· 5688 7813 "integrity": "sha512-ZmyVB9DAw+FFTmLElGYJgdZFsKLYd/I59Bg9NHkCGPwAbVZNRilFWDMAdX8UG+bHuv7kfursd5XGqo/9wi26lA==", 5689 7814 "bin": { 5690 7815 "tlds": "bin.js" 7816 + } 7817 + }, 7818 + "node_modules/tmp": { 7819 + "version": "0.2.3", 7820 + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", 7821 + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", 7822 + "dev": true, 7823 + "engines": { 7824 + "node": ">=14.14" 5691 7825 } 5692 7826 }, 5693 7827 "node_modules/tmpl": { ··· 5799 7933 "code-block-writer": "^13.0.3" 5800 7934 } 5801 7935 }, 7936 + "node_modules/tweetnacl": { 7937 + "version": "0.14.5", 7938 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 7939 + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", 7940 + "dev": true 7941 + }, 5802 7942 "node_modules/type-detect": { 5803 7943 "version": "4.0.8", 5804 7944 "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", ··· 5925 8065 "browserslist": ">= 4.21.0" 5926 8066 } 5927 8067 }, 8068 + "node_modules/util-deprecate": { 8069 + "version": "1.0.2", 8070 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 8071 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 8072 + "dev": true 8073 + }, 5928 8074 "node_modules/utils-merge": { 5929 8075 "version": "1.0.1", 5930 8076 "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", ··· 6013 8159 "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 6014 8160 } 6015 8161 }, 8162 + "node_modules/wrap-ansi-cjs": { 8163 + "name": "wrap-ansi", 8164 + "version": "7.0.0", 8165 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 8166 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 8167 + "dev": true, 8168 + "dependencies": { 8169 + "ansi-styles": "^4.0.0", 8170 + "string-width": "^4.1.0", 8171 + "strip-ansi": "^6.0.0" 8172 + }, 8173 + "engines": { 8174 + "node": ">=10" 8175 + }, 8176 + "funding": { 8177 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 8178 + } 8179 + }, 6016 8180 "node_modules/wrappy": { 6017 8181 "version": "1.0.2", 6018 8182 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", ··· 6075 8239 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 6076 8240 "dev": true 6077 8241 }, 8242 + "node_modules/yaml": { 8243 + "version": "2.7.1", 8244 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.1.tgz", 8245 + "integrity": "sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==", 8246 + "dev": true, 8247 + "bin": { 8248 + "yaml": "bin.mjs" 8249 + }, 8250 + "engines": { 8251 + "node": ">= 14" 8252 + } 8253 + }, 6078 8254 "node_modules/yargs": { 6079 8255 "version": "17.7.2", 6080 8256 "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", ··· 6118 8294 }, 6119 8295 "funding": { 6120 8296 "url": "https://github.com/sponsors/sindresorhus" 8297 + } 8298 + }, 8299 + "node_modules/zip-stream": { 8300 + "version": "6.0.1", 8301 + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", 8302 + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", 8303 + "dev": true, 8304 + "dependencies": { 8305 + "archiver-utils": "^5.0.0", 8306 + "compress-commons": "^6.0.2", 8307 + "readable-stream": "^4.0.0" 8308 + }, 8309 + "engines": { 8310 + "node": ">= 14" 6121 8311 } 6122 8312 }, 6123 8313 "node_modules/zod": {
+4 -2
package.json
··· 26 26 "@atproto/xrpc-server": "^0.7.15", 27 27 "dotenv": "^16.5.0", 28 28 "express": "^5.1.0", 29 - "postgres": "^3.4.3", 29 + "postgres": "^3.4.5", 30 30 "uuid": "^11.1.0" 31 31 }, 32 32 "devDependencies": { 33 33 "@atproto/lex-cli": "^0.8.0", 34 + "@testcontainers/postgresql": "^10.24.2", 34 35 "@types/express": "^5.0.1", 35 36 "@types/jest": "^29.5.14", 36 37 "@types/pg": "^8.11.13", 38 + "drizzle-kit": "^0.31.0", 37 39 "drizzle-orm": "^0.32.1", 38 40 "jest": "^29.7.0", 39 41 "pg": "^8.14.1", 40 - "testcontainers": "^10.7.1", 42 + "testcontainers": "^10.24.2", 41 43 "ts-jest": "^29.3.2", 42 44 "typescript": "^5.8.3" 43 45 }
+14
src/modules/annotations/infrastructure/repositories/assertDockerDaemon.ts
··· 1 + import { exec } from "child_process"; 2 + import { promisify } from "util"; 3 + 4 + const execAsync = promisify(exec); 5 + 6 + export async function assertDockerIsRunning() { 7 + try { 8 + await execAsync("docker info"); 9 + } catch (err) { 10 + throw new Error( 11 + "Docker daemon is not running. Please start Docker before running the tests." 12 + ); 13 + } 14 + }