diff --git a/package-lock.json b/package-lock.json index 666560b..ee193b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,10 +34,322 @@ "integrity": "sha512-Jy7QKahRQJgX6OFeuQvPXO0ejKfT9cQ8m3PFLBhbM04jjzFnaxlJJJ5+7qNHe3xdy40fMbMMe2SgAYPJ4gZ2Xw==", "license": "MIT" }, + "node_modules/@apexfusion/vector-mcp-builder": { + "resolved": "packages/builder", + "link": true + }, "node_modules/@apexfusion/vector-mcp-shared": { "resolved": "packages/shared", "link": true }, + "node_modules/@aws-sdk/checksums": { + "version": "3.1000.20", + "resolved": "https://registry.npmjs.org/@aws-sdk/checksums/-/checksums-3.1000.20.tgz", + "integrity": "sha512-uc5PMNcLcs+UBSLGsRjbMZKi3mgnPSalXpABw9Xjo0DMrv4gjIa/E4a02yJsuU4FF6Tmvis/JgGdKNIOoN4DQw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.1095.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1095.0.tgz", + "integrity": "sha512-eeobm3TKci47CTTHIxc5s5UDjLL0gTKfjlcyzKU+NMoeIJ3flKPq51Fhi2nUDiMNbzsY5HAynM3bHAQFHxRTUw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/checksums": "^3.1000.20", + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/credential-provider-node": "^3.972.72", + "@aws-sdk/middleware-sdk-s3": "^3.972.66", + "@aws-sdk/signature-v4-multi-region": "^3.996.42", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/fetch-http-handler": "^5.6.10", + "@smithy/node-http-handler": "^4.9.10", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.977.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.977.1.tgz", + "integrity": "sha512-KVtQRtc00ES/y+Sc3vYXeP6pCIcNlBJCZOwvqSy8ZpVGmbM5+IG+AfhuTKQ2oXmIVqZJewaGMMpzPkywC6xg0w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.974.2", + "@aws-sdk/xml-builder": "^3.972.37", + "@aws/lambda-invoke-store": "^0.3.0", + "@smithy/core": "^3.29.8", + "@smithy/signature-v4": "^5.6.9", + "@smithy/types": "^4.16.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.972.61", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.61.tgz", + "integrity": "sha512-qihs2ekMb89Nxd2JenCgVFhjbkb3EIo7HEBCBzyZACKVJdrLUZBLOmAE3xr0Sayml8n/jZSzwO/IufIiIzO7PQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.972.63", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.63.tgz", + "integrity": "sha512-yfozsS8wkWZEi/n6IsrodcFKBWZ0iNAezhJbTReMNc0z1Px17qdeAeuL1/wziCAmCZyXiW7QzP75ggJkBQv8jQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/fetch-http-handler": "^5.6.10", + "@smithy/node-http-handler": "^4.9.10", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.973.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.973.6.tgz", + "integrity": "sha512-jGLTW1bj148GL/6/IMlfY2fMYS9FtHOG+NahkFD4y0qkzYudNUahelxryY68/HGMslYuHClk1XaS/3b3eJzEkg==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/credential-provider-env": "^3.972.61", + "@aws-sdk/credential-provider-http": "^3.972.63", + "@aws-sdk/credential-provider-login": "^3.972.68", + "@aws-sdk/credential-provider-process": "^3.972.61", + "@aws-sdk/credential-provider-sso": "^3.973.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.67", + "@aws-sdk/nested-clients": "^3.997.35", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/credential-provider-imds": "^4.4.13", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-login": { + "version": "3.972.68", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.68.tgz", + "integrity": "sha512-w6tNci6g7RqFpLhj1f5xseBvaNojb4Pkgp5Jp5apl9hrJtaf2AA+rX9+qlhlWUK6kcyAFYPA7emO+55zj+S98Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/nested-clients": "^3.997.35", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.972.72", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.72.tgz", + "integrity": "sha512-blQ7F5QGzylnzeh5549zQLoCAiMHkXFLjFovEMaVy4b2X8JhUu+u9NXro1hyK95YHdVFNmBHKs2hIHtZchxKlQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "^3.972.61", + "@aws-sdk/credential-provider-http": "^3.972.63", + "@aws-sdk/credential-provider-ini": "^3.973.6", + "@aws-sdk/credential-provider-process": "^3.972.61", + "@aws-sdk/credential-provider-sso": "^3.973.5", + "@aws-sdk/credential-provider-web-identity": "^3.972.67", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/credential-provider-imds": "^4.4.13", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.972.61", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.61.tgz", + "integrity": "sha512-xzRuj+fUVO4nkafKQJVKAF97kGpeQbfjuwmRrtGZNf42/1dkmcz6o7dswBy7alY0htQn5sCL1GWQYEykviWZkA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.973.5", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.973.5.tgz", + "integrity": "sha512-fZRjjWhLFelsDoOYjqShQTrIGYC3Pf9Mx9Czf+1ikfQDgktxjze33dVo1q1/ZQ+T0qbtejVoHNHrfD5aJVpv/w==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/nested-clients": "^3.997.35", + "@aws-sdk/token-providers": "3.1095.0", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.972.67", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.67.tgz", + "integrity": "sha512-FTNZ05gkPBA6CKbU3N4zPgybV+stdazwMOya75CmGdcJL7p8Fw/BdHP8WVxJd0mvzyPK2cg/C3gli58Ir4HgCw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/nested-clients": "^3.997.35", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.972.66", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.66.tgz", + "integrity": "sha512-sTZKP1+SvyzWc/3alO8AM/PUiEzDCmn2P/KOcFFSk2UKzKZkB5ZxXdlHVtACE7DHaMFvx6DY0bognwHa1qTv4g==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/signature-v4-multi-region": "^3.996.42", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.997.35", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.997.35.tgz", + "integrity": "sha512-2MJfseVG/aXvIyOIBlYA/Oaf6qFDdsu4D8RKsEUdOQpVuLaor0BdxIBBtJLBNQQEe6Ku3YMvLljwb1MwVUpzRw==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/signature-v4-multi-region": "^3.996.42", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/fetch-http-handler": "^5.6.10", + "@smithy/node-http-handler": "^4.9.10", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.996.42", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.42.tgz", + "integrity": "sha512-DBV4naZP6HYBlAvPpoQzOP12Wvfou/5rN8yJPXjBTBylU5qwCbh/tXr2MddHoIjgoRkEl/eS+IljiUqvmwey1Q==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.974.2", + "@smithy/signature-v4": "^5.6.9", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.1095.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1095.0.tgz", + "integrity": "sha512-65SudS6y4nzaYHybtqcpm3sHe5jLhdMn68HRKS1nUx690BtQeaAQOoujQ+dpOjBATIVGVgKKjEP8tR+U06QJQA==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "^3.977.0", + "@aws-sdk/nested-clients": "^3.997.35", + "@aws-sdk/types": "^3.974.2", + "@smithy/core": "^3.29.8", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.974.2", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.974.2.tgz", + "integrity": "sha512-3W6IUtSxFbH6X7Wb7DzGCV5QiFQsd0g8bOfntpmDxQlzBoKWUMBu/JPQR0DwkE+Hpnxd6db1tXbOwdeHddG6cA==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.972.37", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.972.37.tgz", + "integrity": "sha512-zKq4HQum8JwDyEuyfuI4bbiAcU0KxP6qy+9PR/IsR92IyE/DaBAikzAS50tjxip4bqIIANpCcG+Yyj6CVhXupg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@aws/lambda-invoke-store": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.3.0.tgz", + "integrity": "sha512-sl4Bm6yiMNYrZKkqqDFWN0UfnWhlS8ivKxrYl+6t0gCLrqr8y3B2IqZZbFRkfaVVp7C/baApyh71P+LeE1A2sQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@biglup/is-cid": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@biglup/is-cid/-/is-cid-1.0.3.tgz", @@ -934,6 +1246,18 @@ "@harmoniclabs/plutus-data": "^1.2.4" } }, + "node_modules/@hono/node-server": { + "version": "1.19.17", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.17.tgz", + "integrity": "sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1176,6 +1500,46 @@ "bip39": "^3.1.0" } }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", + "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.9", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } + } + }, "node_modules/@multiformats/dns": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/@multiformats/dns/-/dns-1.0.13.tgz", @@ -1591,6 +1955,87 @@ "integrity": "sha512-Ul3YyOTU++to8cgNkttakC0dWvpERr6RYoHO2W47DLbFvrwBDJUY31B1sImH6JZSYc4Kt4PyHtoPNu+vL2r2dA==", "license": "MIT" }, + "node_modules/@smithy/core": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.30.0.tgz", + "integrity": "sha512-dl2yRglDxfzH9uJ4fSo4zTaAHa0zH7+V7BZMRWy8hEYIKT1BiqMUK/CN6T3ADQ3kbA5N1tmUulroJ2UtONS7Kw==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.4.14", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.4.14.tgz", + "integrity": "sha512-QgbuahIb2qxQeZQvNK0sw3aF3JH5zwH8j2lLp5DUasVXexGGMWULAR+7z0omPXFolCP/m5wN9M5lm9EGdSviTQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.30.0", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.6.11", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.6.11.tgz", + "integrity": "sha512-o0Zkj1nKqJAoq+a+BrkhU39tRftMNjLwpc/z06Frfl43wpbHrJMaSAVZE4vTqlxtVkNaGaT0bIDxOp7tkFTuQQ==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.30.0", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "4.9.11", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.9.11.tgz", + "integrity": "sha512-slbzbz8taEOzoXv/9y34YNBoE+ZHmddLykCgjDAjvMAsu2nM5s2Gzwa5OGF721tD8s+CKeFUBds5lSj9lcbuDg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.30.0", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "5.6.10", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.6.10.tgz", + "integrity": "sha512-EXhWePm3SXJAX38npIy4TXL2Aex/OVgCClTjelN2QHw/U+8CQUH8C7AaxsVzQcYieYPseywn48s89DmvuGjiAg==", + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.30.0", + "@smithy/types": "^4.16.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.16.1.tgz", + "integrity": "sha512-0JFs3V2y2M9tKW5na/qxe69Zv+uxLMO7QBbhxF/FHu/Gp2NFZAAL9tWl9PU02xxo07pb3G9FTyjNc6D5uZrJIg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@standard-schema/spec": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", @@ -1633,6 +2078,19 @@ "integrity": "sha512-fxqCblJiIPdSXIUrxI0PL+eJG49QdP9SQ70qtB65MVAoMr2rASlOyAbJFOylfB467F/f+5BCLJJq58RYi7mGfg==", "license": "Apache-2.0 OR MIT" }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", @@ -1646,6 +2104,39 @@ "node": ">=0.4.0" } }, + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -1717,6 +2208,49 @@ "nanoassert": "^2.0.0" } }, + "node_modules/body-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^2.0.0", + "debug": "^4.4.3", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", + "on-finished": "^2.4.1", + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/bowser": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.14.1.tgz", + "integrity": "sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==", + "license": "MIT" + }, "node_modules/bundle-require": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.1.0.tgz", @@ -1733,6 +2267,15 @@ "esbuild": ">=0.18" } }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -1878,12 +2421,69 @@ "node": "^14.18.0 || >=16.10.0" } }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/create-hash": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", @@ -1920,11 +2520,24 @@ "node-fetch": "^2.7.0" } }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -1955,6 +2568,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -1965,6 +2587,18 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -1979,6 +2613,12 @@ "node": ">= 0.4" } }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, "node_modules/effect": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/effect/-/effect-3.20.0.tgz", @@ -1989,6 +2629,15 @@ "fast-check": "^3.23.1" } }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -2061,12 +2710,110 @@ "@esbuild/win32-x64": "0.27.4" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/eventemitter3": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", "license": "MIT" }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", + "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.6.1.tgz", + "integrity": "sha512-0D493aP61w0TJ2A0wy27riRsO7FMQ7FK+KUHOKCSfPvYo0R55aiC6emCVgFUeShH0fq0ICPVzNcgoS+BsbXQCA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "ip-address": "^10.2.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, "node_modules/fast-check": { "version": "3.23.2", "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz", @@ -2089,6 +2836,28 @@ "node": ">=8.0.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.4.tgz", + "integrity": "sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fastq": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", @@ -2116,6 +2885,27 @@ } } }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/find-my-way-ts": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/find-my-way-ts/-/find-my-way-ts-0.1.6.tgz", @@ -2149,6 +2939,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fraction.js": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.0.1.tgz", @@ -2158,6 +2957,15 @@ "node": "*" } }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2325,6 +3133,35 @@ "node": ">= 0.4" } }, + "node_modules/hono": { + "version": "4.12.32", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.32.tgz", + "integrity": "sha512-XcuyW9qE2kJn07PkecMOBd5Vq/hMy7mmGw+idz1yblbg9N17ijJODrvPkn7/dwL3Kulj8LcRJ69DLOWf91dRUg==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/i": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/i/-/i-0.3.7.tgz", @@ -2333,12 +3170,46 @@ "node": ">=0.4" } }, + "node_modules/iconv-lite": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/ip-address": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.3.1.tgz", + "integrity": "sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-arguments": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", @@ -2386,6 +3257,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -2425,6 +3302,12 @@ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "license": "MIT" }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, "node_modules/iso-url": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", @@ -2443,6 +3326,15 @@ "ws": "*" } }, + "node_modules/jose": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.4.tgz", + "integrity": "sha512-N8acGzVsQy6M/fjFcxtysNc4Q379TcM5dM/qKkNtsHFji88yANnXTr7BLeP75iPnFwBfQzM/jg2BZ9+HZrHCZA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/joycon": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", @@ -2459,6 +3351,18 @@ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "license": "MIT" }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "license": "BSD-2-Clause" + }, "node_modules/libsodium-sumo": { "version": "0.7.16", "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.16.tgz", @@ -2546,6 +3450,56 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/media-typer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz", + "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/mlly": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.1.tgz", @@ -2563,7 +3517,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/multiformats": { @@ -2614,6 +3567,15 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -2815,22 +3777,20 @@ }, "node_modules/npm/node_modules/@colors/colors": { "version": "1.5.0", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.1.90" } }, "node_modules/npm/node_modules/@gar/promisify": { "version": "1.1.3", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/cliui": { "version": "8.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2847,7 +3807,6 @@ }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -2859,13 +3818,11 @@ }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2882,7 +3839,6 @@ }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -2897,13 +3853,11 @@ }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { "version": "6.5.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2950,7 +3904,6 @@ }, "node_modules/npm/node_modules/@npmcli/config": { "version": "6.4.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2969,7 +3922,6 @@ }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2981,7 +3933,6 @@ }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "3.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -2993,7 +3944,6 @@ }, "node_modules/npm/node_modules/@npmcli/git": { "version": "4.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3012,7 +3962,6 @@ }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "2.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3028,7 +3977,6 @@ }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { "version": "3.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3043,7 +3991,6 @@ }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { "version": "5.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3058,7 +4005,6 @@ }, "node_modules/npm/node_modules/@npmcli/move-file": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3071,7 +4017,6 @@ }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3080,7 +4025,6 @@ }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3089,7 +4033,6 @@ }, "node_modules/npm/node_modules/@npmcli/package-json": { "version": "4.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3107,7 +4050,6 @@ }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "6.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3119,7 +4061,6 @@ }, "node_modules/npm/node_modules/@npmcli/query": { "version": "3.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3131,7 +4072,6 @@ }, "node_modules/npm/node_modules/@npmcli/run-script": { "version": "6.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3147,16 +4087,15 @@ }, "node_modules/npm/node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=14" } }, "node_modules/npm/node_modules/@sigstore/bundle": { "version": "1.1.0", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -3168,7 +4107,6 @@ }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { "version": "0.2.1", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -3177,7 +4115,6 @@ }, "node_modules/npm/node_modules/@sigstore/sign": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -3191,7 +4128,6 @@ }, "node_modules/npm/node_modules/@sigstore/tuf": { "version": "1.0.3", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -3204,7 +4140,6 @@ }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3213,7 +4148,6 @@ }, "node_modules/npm/node_modules/@tufjs/canonical-json": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3222,7 +4156,6 @@ }, "node_modules/npm/node_modules/@tufjs/models": { "version": "1.0.4", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3235,7 +4168,6 @@ }, "node_modules/npm/node_modules/abbrev": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3244,7 +4176,6 @@ }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3256,7 +4187,6 @@ }, "node_modules/npm/node_modules/agentkeepalive": { "version": "4.5.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3268,7 +4198,6 @@ }, "node_modules/npm/node_modules/aggregate-error": { "version": "3.1.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3281,7 +4210,6 @@ }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3290,7 +4218,6 @@ }, "node_modules/npm/node_modules/ansi-styles": { "version": "4.3.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3305,19 +4232,16 @@ }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { "version": "4.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3326,13 +4250,11 @@ }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { "version": "4.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3347,7 +4269,6 @@ }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.2.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3356,7 +4277,6 @@ }, "node_modules/npm/node_modules/brace-expansion": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3365,7 +4285,6 @@ }, "node_modules/npm/node_modules/builtins": { "version": "5.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3374,7 +4293,6 @@ }, "node_modules/npm/node_modules/cacache": { "version": "17.1.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3397,7 +4315,6 @@ }, "node_modules/npm/node_modules/chalk": { "version": "5.3.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3409,7 +4326,6 @@ }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3418,7 +4334,6 @@ }, "node_modules/npm/node_modules/ci-info": { "version": "4.0.0", - "extraneous": true, "funding": [ { "type": "github", @@ -3433,7 +4348,6 @@ }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", - "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -3445,7 +4359,6 @@ }, "node_modules/npm/node_modules/clean-stack": { "version": "2.2.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3454,7 +4367,6 @@ }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3467,7 +4379,6 @@ }, "node_modules/npm/node_modules/cli-table3": { "version": "0.6.3", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3482,7 +4393,6 @@ }, "node_modules/npm/node_modules/clone": { "version": "1.0.4", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3491,7 +4401,6 @@ }, "node_modules/npm/node_modules/cmd-shim": { "version": "6.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3500,7 +4409,6 @@ }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3512,13 +4420,11 @@ }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/color-support": { "version": "1.1.3", - "extraneous": true, "inBundle": true, "license": "ISC", "bin": { @@ -3527,7 +4433,6 @@ }, "node_modules/npm/node_modules/columnify": { "version": "1.6.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3540,25 +4445,21 @@ }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/concat-map": { "version": "0.0.1", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/console-control-strings": { "version": "1.1.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/cross-spawn": { "version": "7.0.6", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3572,7 +4473,6 @@ }, "node_modules/npm/node_modules/cross-spawn/node_modules/which": { "version": "2.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3587,7 +4487,6 @@ }, "node_modules/npm/node_modules/cssesc": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "bin": { @@ -3599,7 +4498,6 @@ }, "node_modules/npm/node_modules/debug": { "version": "4.3.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3616,7 +4514,6 @@ }, "node_modules/npm/node_modules/defaults": { "version": "1.0.4", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3628,13 +4525,11 @@ }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/diff": { "version": "5.2.0", - "extraneous": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -3643,28 +4538,25 @@ }, "node_modules/npm/node_modules/eastasianwidth": { "version": "0.2.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3673,19 +4565,16 @@ }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/exponential-backoff": { "version": "3.1.1", - "extraneous": true, "inBundle": true, "license": "Apache-2.0" }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3694,7 +4583,6 @@ }, "node_modules/npm/node_modules/foreground-child": { "version": "3.1.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3710,7 +4598,6 @@ }, "node_modules/npm/node_modules/fs-minipass": { "version": "3.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3722,13 +4609,11 @@ }, "node_modules/npm/node_modules/fs.realpath": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/function-bind": { "version": "1.1.2", - "extraneous": true, "inBundle": true, "license": "MIT", "funding": { @@ -3737,7 +4622,6 @@ }, "node_modules/npm/node_modules/gauge": { "version": "5.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3756,7 +4640,6 @@ }, "node_modules/npm/node_modules/glob": { "version": "10.3.10", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3778,19 +4661,16 @@ }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.11", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hasown": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3802,7 +4682,6 @@ }, "node_modules/npm/node_modules/hosted-git-info": { "version": "6.1.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3814,13 +4693,11 @@ }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.1.1", - "extraneous": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3834,7 +4711,6 @@ }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3847,7 +4723,6 @@ }, "node_modules/npm/node_modules/humanize-ms": { "version": "1.2.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3856,9 +4731,9 @@ }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -3868,7 +4743,6 @@ }, "node_modules/npm/node_modules/ignore-walk": { "version": "6.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3880,7 +4754,6 @@ }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3889,7 +4762,6 @@ }, "node_modules/npm/node_modules/indent-string": { "version": "4.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3898,13 +4770,11 @@ }, "node_modules/npm/node_modules/infer-owner": { "version": "1.0.4", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3914,13 +4784,11 @@ }, "node_modules/npm/node_modules/inherits": { "version": "2.0.4", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/ini": { "version": "4.1.1", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -3929,7 +4797,6 @@ }, "node_modules/npm/node_modules/init-package-json": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -3947,7 +4814,6 @@ }, "node_modules/npm/node_modules/ip-address": { "version": "9.0.5", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3960,13 +4826,11 @@ }, "node_modules/npm/node_modules/ip-address/node_modules/sprintf-js": { "version": "1.1.3", - "extraneous": true, "inBundle": true, "license": "BSD-3-Clause" }, "node_modules/npm/node_modules/ip-regex": { "version": "4.3.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -3975,7 +4839,6 @@ }, "node_modules/npm/node_modules/is-cidr": { "version": "4.0.2", - "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -3987,7 +4850,6 @@ }, "node_modules/npm/node_modules/is-core-module": { "version": "2.13.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -3999,7 +4861,6 @@ }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -4008,19 +4869,16 @@ }, "node_modules/npm/node_modules/is-lambda": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/jackspeak": { "version": "2.3.6", - "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -4038,13 +4896,11 @@ }, "node_modules/npm/node_modules/jsbn": { "version": "1.1.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -4053,7 +4909,6 @@ }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", - "extraneous": true, "inBundle": true, "license": "ISC", "funding": { @@ -4065,25 +4920,21 @@ "engines": [ "node >= 0.2.0" ], - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { "version": "6.0.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "5.5.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "7.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4096,7 +4947,6 @@ }, "node_modules/npm/node_modules/libnpmdiff": { "version": "5.0.21", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4116,7 +4966,6 @@ }, "node_modules/npm/node_modules/libnpmexec": { "version": "6.0.5", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4138,7 +4987,6 @@ }, "node_modules/npm/node_modules/libnpmfund": { "version": "4.2.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4150,7 +4998,6 @@ }, "node_modules/npm/node_modules/libnpmhook": { "version": "9.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4163,7 +5010,6 @@ }, "node_modules/npm/node_modules/libnpmorg": { "version": "5.0.5", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4176,7 +5022,6 @@ }, "node_modules/npm/node_modules/libnpmpack": { "version": "5.0.21", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4191,7 +5036,6 @@ }, "node_modules/npm/node_modules/libnpmpublish": { "version": "7.5.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4210,7 +5054,6 @@ }, "node_modules/npm/node_modules/libnpmsearch": { "version": "6.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4222,7 +5065,6 @@ }, "node_modules/npm/node_modules/libnpmteam": { "version": "5.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4235,7 +5077,6 @@ }, "node_modules/npm/node_modules/libnpmversion": { "version": "4.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4251,7 +5092,6 @@ }, "node_modules/npm/node_modules/lru-cache": { "version": "7.18.3", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -4260,7 +5100,6 @@ }, "node_modules/npm/node_modules/make-fetch-happen": { "version": "11.1.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4286,7 +5125,6 @@ }, "node_modules/npm/node_modules/make-fetch-happen/node_modules/minipass": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -4295,7 +5133,6 @@ }, "node_modules/npm/node_modules/minimatch": { "version": "9.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4310,7 +5147,6 @@ }, "node_modules/npm/node_modules/minipass": { "version": "7.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -4319,7 +5155,6 @@ }, "node_modules/npm/node_modules/minipass-collect": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4331,7 +5166,6 @@ }, "node_modules/npm/node_modules/minipass-collect/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4343,7 +5177,6 @@ }, "node_modules/npm/node_modules/minipass-fetch": { "version": "3.0.4", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4360,7 +5193,6 @@ }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4372,7 +5204,6 @@ }, "node_modules/npm/node_modules/minipass-flush/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4384,7 +5215,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4394,7 +5224,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4406,7 +5235,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4418,7 +5246,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4430,7 +5257,6 @@ }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4442,7 +5268,6 @@ }, "node_modules/npm/node_modules/minipass-sized/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4454,7 +5279,6 @@ }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4467,7 +5291,6 @@ }, "node_modules/npm/node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4479,7 +5302,6 @@ }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", - "extraneous": true, "inBundle": true, "license": "MIT", "bin": { @@ -4491,13 +5313,11 @@ }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -4506,7 +5326,6 @@ }, "node_modules/npm/node_modules/negotiator": { "version": "0.6.3", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -4515,7 +5334,6 @@ }, "node_modules/npm/node_modules/node-gyp": { "version": "9.4.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4540,7 +5358,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { "version": "2.1.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4553,13 +5370,11 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { "version": "1.1.1", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4572,7 +5387,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { "version": "1.1.11", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4582,7 +5396,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { "version": "16.1.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4611,7 +5424,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4620,7 +5432,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/glob": { "version": "8.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4639,7 +5450,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minimatch": { "version": "5.1.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4651,7 +5461,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/fs-minipass": { "version": "2.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4663,7 +5472,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { "version": "4.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4682,7 +5490,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/glob": { "version": "7.2.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4702,7 +5509,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "10.2.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4729,7 +5535,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { "version": "3.1.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4741,7 +5546,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4753,7 +5557,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { "version": "2.1.2", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -4770,7 +5573,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4785,7 +5587,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { "version": "6.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4800,13 +5601,11 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": { "version": "3.0.7", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { "version": "9.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4818,7 +5617,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4830,7 +5628,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4842,7 +5639,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/which": { "version": "2.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4857,7 +5653,6 @@ }, "node_modules/npm/node_modules/nopt": { "version": "7.2.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4872,7 +5667,6 @@ }, "node_modules/npm/node_modules/normalize-package-data": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -4887,7 +5681,6 @@ }, "node_modules/npm/node_modules/npm-audit-report": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -4896,7 +5689,6 @@ }, "node_modules/npm/node_modules/npm-bundled": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4908,7 +5700,6 @@ }, "node_modules/npm/node_modules/npm-install-checks": { "version": "6.3.0", - "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -4920,7 +5711,6 @@ }, "node_modules/npm/node_modules/npm-normalize-package-bin": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -4929,7 +5719,6 @@ }, "node_modules/npm/node_modules/npm-package-arg": { "version": "10.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4944,7 +5733,6 @@ }, "node_modules/npm/node_modules/npm-packlist": { "version": "7.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4956,7 +5744,6 @@ }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "8.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4971,7 +5758,6 @@ }, "node_modules/npm/node_modules/npm-profile": { "version": "7.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -4984,7 +5770,6 @@ }, "node_modules/npm/node_modules/npm-registry-fetch": { "version": "14.0.5", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5002,7 +5787,6 @@ }, "node_modules/npm/node_modules/npm-registry-fetch/node_modules/minipass": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5011,7 +5795,6 @@ }, "node_modules/npm/node_modules/npm-user-validate": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "BSD-2-Clause", "engines": { @@ -5020,7 +5803,6 @@ }, "node_modules/npm/node_modules/npmlog": { "version": "7.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5035,7 +5817,6 @@ }, "node_modules/npm/node_modules/once": { "version": "1.4.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5044,7 +5825,6 @@ }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5059,7 +5839,6 @@ }, "node_modules/npm/node_modules/pacote": { "version": "15.2.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5091,7 +5870,6 @@ }, "node_modules/npm/node_modules/pacote/node_modules/minipass": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5100,7 +5878,6 @@ }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5114,7 +5891,6 @@ }, "node_modules/npm/node_modules/path-is-absolute": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5123,7 +5899,6 @@ }, "node_modules/npm/node_modules/path-key": { "version": "3.1.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5132,7 +5907,6 @@ }, "node_modules/npm/node_modules/path-scurry": { "version": "1.10.1", - "extraneous": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -5148,7 +5922,6 @@ }, "node_modules/npm/node_modules/path-scurry/node_modules/lru-cache": { "version": "10.2.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5157,7 +5930,6 @@ }, "node_modules/npm/node_modules/postcss-selector-parser": { "version": "6.0.15", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5170,7 +5942,6 @@ }, "node_modules/npm/node_modules/proc-log": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5179,7 +5950,6 @@ }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "funding": { @@ -5188,7 +5958,6 @@ }, "node_modules/npm/node_modules/promise-call-limit": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "funding": { @@ -5197,13 +5966,11 @@ }, "node_modules/npm/node_modules/promise-inflight": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5216,7 +5983,6 @@ }, "node_modules/npm/node_modules/promzard": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5228,7 +5994,6 @@ }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", - "extraneous": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" @@ -5236,7 +6001,6 @@ }, "node_modules/npm/node_modules/read": { "version": "2.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5248,7 +6012,6 @@ }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "4.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5257,7 +6020,6 @@ }, "node_modules/npm/node_modules/read-package-json": { "version": "6.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5272,7 +6034,6 @@ }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5285,7 +6046,6 @@ }, "node_modules/npm/node_modules/readable-stream": { "version": "3.6.2", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5299,7 +6059,6 @@ }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5308,7 +6067,6 @@ }, "node_modules/npm/node_modules/rimraf": { "version": "3.0.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5323,7 +6081,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5333,7 +6090,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/glob": { "version": "7.2.3", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5353,7 +6109,6 @@ }, "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5365,7 +6120,6 @@ }, "node_modules/npm/node_modules/safe-buffer": { "version": "5.2.1", - "extraneous": true, "funding": [ { "type": "github", @@ -5385,13 +6139,12 @@ }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/npm/node_modules/semver": { "version": "7.6.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5406,7 +6159,6 @@ }, "node_modules/npm/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5418,13 +6170,11 @@ }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5436,7 +6186,6 @@ }, "node_modules/npm/node_modules/shebang-regex": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5445,7 +6194,6 @@ }, "node_modules/npm/node_modules/signal-exit": { "version": "4.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5457,7 +6205,6 @@ }, "node_modules/npm/node_modules/sigstore": { "version": "1.9.0", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -5476,7 +6223,6 @@ }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5486,7 +6232,6 @@ }, "node_modules/npm/node_modules/socks": { "version": "2.8.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5500,7 +6245,6 @@ }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "7.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5514,7 +6258,6 @@ }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.2.0", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -5524,13 +6267,11 @@ }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.5.0", - "extraneous": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5540,13 +6281,11 @@ }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.17", - "extraneous": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/ssri": { "version": "10.0.5", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5558,7 +6297,6 @@ }, "node_modules/npm/node_modules/string_decoder": { "version": "1.3.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5567,7 +6305,6 @@ }, "node_modules/npm/node_modules/string-width": { "version": "4.2.3", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5582,7 +6319,6 @@ "node_modules/npm/node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5596,7 +6332,6 @@ }, "node_modules/npm/node_modules/strip-ansi": { "version": "6.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5609,7 +6344,6 @@ "node_modules/npm/node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5621,7 +6355,6 @@ }, "node_modules/npm/node_modules/supports-color": { "version": "9.4.0", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5633,7 +6366,6 @@ }, "node_modules/npm/node_modules/tar": { "version": "6.2.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5650,7 +6382,6 @@ }, "node_modules/npm/node_modules/tar/node_modules/fs-minipass": { "version": "2.1.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5662,7 +6393,6 @@ }, "node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5674,7 +6404,6 @@ }, "node_modules/npm/node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5683,19 +6412,16 @@ }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "engines": { @@ -5704,7 +6430,6 @@ }, "node_modules/npm/node_modules/tuf-js": { "version": "1.1.7", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5718,7 +6443,6 @@ }, "node_modules/npm/node_modules/unique-filename": { "version": "3.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5730,7 +6454,6 @@ }, "node_modules/npm/node_modules/unique-slug": { "version": "4.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5742,13 +6465,11 @@ }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -5758,7 +6479,6 @@ }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "5.0.0", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5770,13 +6490,11 @@ }, "node_modules/npm/node_modules/walk-up-path": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/wcwidth": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5785,7 +6503,6 @@ }, "node_modules/npm/node_modules/which": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5800,7 +6517,6 @@ }, "node_modules/npm/node_modules/wide-align": { "version": "1.1.5", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5809,7 +6525,6 @@ }, "node_modules/npm/node_modules/wrap-ansi": { "version": "8.1.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5827,7 +6542,6 @@ "node_modules/npm/node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5844,7 +6558,6 @@ }, "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5856,7 +6569,6 @@ }, "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", - "extraneous": true, "inBundle": true, "license": "MIT", "engines": { @@ -5868,13 +6580,11 @@ }, "node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "9.2.2", - "extraneous": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { "version": "5.1.2", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5891,7 +6601,6 @@ }, "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", - "extraneous": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -5906,13 +6615,11 @@ }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { "version": "5.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -5925,7 +6632,6 @@ }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", - "extraneous": true, "inBundle": true, "license": "ISC" }, @@ -5933,12 +6639,44 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/p-queue": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.1.0.tgz", @@ -5967,6 +6705,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -6021,6 +6787,15 @@ "node": ">= 6" } }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, "node_modules/pkg-types": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", @@ -6097,6 +6872,19 @@ "integrity": "sha512-MOzLIwhpt64KIVN64h1MwdKWiyKFNc/S6BoYKPIVUHFg0/eIEyBulhWCgn678v/4c0ri3FdGuzXymNCv02MUIw==", "license": "Apache-2.0 OR MIT" }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/pure-rand": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", @@ -6113,6 +6901,50 @@ ], "license": "MIT" }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz", + "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -6148,6 +6980,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -6236,6 +7077,22 @@ "fsevents": "~2.3.2" } }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -6273,6 +7130,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/serialize-error": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", @@ -6300,6 +7189,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -6317,6 +7225,12 @@ "node": ">= 0.4" } }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, "node_modules/sha.js": { "version": "2.4.12", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", @@ -6337,6 +7251,99 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/source-map": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", @@ -6353,6 +7360,15 @@ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "license": "BSD-3-Clause" }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -6458,6 +7474,15 @@ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -6496,6 +7521,12 @@ "integrity": "sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==", "license": "MIT" }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/tsup": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.5.1.tgz", @@ -6581,6 +7612,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/type-is": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", + "license": "MIT", + "dependencies": { + "content-type": "^2.0.0", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -6651,6 +7713,15 @@ "dev": true, "license": "MIT" }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/utf8-codec": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/utf8-codec/-/utf8-codec-1.0.0.tgz", @@ -6676,6 +7747,15 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/web-encoding": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", @@ -6704,6 +7784,21 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/which-typed-array": { "version": "1.1.20", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", @@ -6725,6 +7820,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, "node_modules/ws": { "version": "8.19.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", @@ -6747,6 +7848,41 @@ } } }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } + }, + "packages/builder": { + "name": "@apexfusion/vector-mcp-builder", + "version": "0.1.0", + "dependencies": { + "@apexfusion/vector-mcp-shared": "*", + "@aws-sdk/client-s3": "^3.1027.0", + "@lucid-evolution/lucid": "^0.4.29", + "@modelcontextprotocol/sdk": "^1.4.1", + "@noble/hashes": "^1.7.1", + "cross-fetch": "^4.0.0", + "dotenv": "^16.4.5", + "zod": "^3.24.1" + }, + "bin": { + "vector-mcp-builder": "build/index.js" + } + }, "packages/shared": { "name": "@apexfusion/vector-mcp-shared", "version": "0.1.0", diff --git a/packages/builder/package.json b/packages/builder/package.json new file mode 100644 index 0000000..28eb003 --- /dev/null +++ b/packages/builder/package.json @@ -0,0 +1,23 @@ +{ + "name": "@apexfusion/vector-mcp-builder", + "version": "0.1.0", + "private": false, + "type": "module", + "description": "MCP server for Vector - AI agent interface for the Apex Fusion eUTXO L2", + "bin": { "vector-mcp-builder": "./build/index.js" }, + "files": ["build"], + "scripts": { + "build": "tsup && chmod +x build/index.js", + "start": "node build/index.js" + }, + "dependencies": { + "@apexfusion/vector-mcp-shared": "*", + "@aws-sdk/client-s3": "^3.1027.0", + "@lucid-evolution/lucid": "^0.4.29", + "@modelcontextprotocol/sdk": "^1.4.1", + "@noble/hashes": "^1.7.1", + "cross-fetch": "^4.0.0", + "dotenv": "^16.4.5", + "zod": "^3.24.1" + } +} diff --git a/src/env.d.ts b/packages/builder/src/env.d.ts similarity index 100% rename from src/env.d.ts rename to packages/builder/src/env.d.ts diff --git a/src/index.ts b/packages/builder/src/index.ts similarity index 97% rename from src/index.ts rename to packages/builder/src/index.ts index 16205c3..418519e 100644 --- a/src/index.ts +++ b/packages/builder/src/index.ts @@ -9,7 +9,7 @@ const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); // Check for .env file -const envPath = resolve(__dirname, '../.env'); +const envPath = resolve(__dirname, '../../../.env'); console.error('Looking for .env file at:', envPath); console.error('.env file exists:', existsSync(envPath)); diff --git a/src/vector/agent-network.ts b/packages/builder/src/vector/agent-network.ts similarity index 92% rename from src/vector/agent-network.ts rename to packages/builder/src/vector/agent-network.ts index c2ddc19..5733450 100644 --- a/src/vector/agent-network.ts +++ b/packages/builder/src/vector/agent-network.ts @@ -4,16 +4,15 @@ import { z } from "zod/v4"; import { Lucid, fromText, toText, Data, Constr, validatorToAddress, validatorToScriptHash, getAddressDetails, credentialToAddress } from '@lucid-evolution/lucid'; import { blake2b } from '@noble/hashes/blake2b'; -import { OgmiosProvider } from './ogmios-provider.js'; +import { OgmiosProvider } from '@apexfusion/vector-mcp-shared/provider'; +import { metadataStr, lovelaceToAda, deriveNftAssetName } from '@apexfusion/vector-mcp-shared/tx'; +import { + VECTOR_OGMIOS_URL, VECTOR_SUBMIT_URL, VECTOR_KOIOS_URL, VECTOR_EXPLORER_URL, explorerTxLink, +} from '@apexfusion/vector-mcp-shared/config'; +export { deriveNftAssetName }; import { safetyLayer } from './safety.js'; import { rateLimiter } from './rate-limiter.js'; -// Env config (mirrors vector.ts) -const VECTOR_OGMIOS_URL = process.env.VECTOR_OGMIOS_URL || 'https://ogmios.vector.testnet.apexfusion.org'; -const VECTOR_SUBMIT_URL = process.env.VECTOR_SUBMIT_URL || 'https://submit.vector.testnet.apexfusion.org/api/submit/tx'; -const VECTOR_KOIOS_URL = process.env.VECTOR_KOIOS_URL || 'https://v2.koios.vector.testnet.apexfusion.org/'; -const VECTOR_EXPLORER_URL = process.env.VECTOR_EXPLORER_URL || 'https://vector.testnet.apexscan.org'; - // Registry constants - agent-registry v2 (audited, compliant) // Source blueprint: vector-ai-agents/agent-registry/deploy/agent-registry/plutus.json const REGISTRY_SCRIPT_CBOR = "5909d101010029800aba2aba1aba0aab9faab9eaab9dab9a4888888966003300130033754011370e90004dc3a40052300730080019180398041804000c8c01cc020c020c020c02000644b30010018a40011337009001198010011804800a00c91803980418041804000c88c8c8cc004004010896600200300389919912cc004cdc8803801456600266e3c01c00a20030064025133005005300f00440246eb8c020004dd598048009805800a01214bd6f7b630488c8cc00400400c896600200314a115980098019805000c528c4cc008008c02c00500520109ba5480026e1d2004488888888888a60026026019301200c912cc004c034c040dd5000c4c8c8cc004004dd6180b180b980b980b980b980b980b980b980b98099baa0042259800800c528456600266e3cdd7180b800801c528c4cc008008c060005012202a375c602860226ea8006294100f48966002601a60206ea800a2646464646464653001375a6036003375c603600d375c603600b37586036009375c6036007375c60360049111112cc004c08801e2646644b3001301d002899192cc004c09c00a0071640906eb8c094004c084dd5001c566002603800513232598009813801400e2c8120dd7181280098109baa0038b203e407c603c6ea80044c8cc00400401489660020030118991980180198130011bae30240014088604201b16407c301b001301a00130190013018001301700130160013011375400516403d259800980618079baa0018a518a504039300600691119199119801001000912cc00400600713233225980099b910070028acc004cdc78038014400600c80b226600a00a603800880b0dd7180a8009bad3016001301800140586601000800629000488c8cc00400400c896600200314c103d87a80008992cc004c0100062600e6602c00297ae0899801801980c001202430160014050911111114c004c0680226034603601125980099b89371a6eb8c048c060dd5000a41000915980099b89371a6eb8c044c060dd5000a41002115980099b89371a6eb8c040c060dd5000a41000515980099b89371a6eb8c06cc070c070c070c070c070c060dd5000a41001115980099b8930043758601c60306ea80052040899198008009bac300f3019375400444b30010018a518acc004cdc49b8d375c603a00290400144cc008008c078006294101820368a50405914a080b229410164528202c8a50405929800800d220100a44100400c9111192cc004c0600062646644b3001301b0018992cc004c090006264b3001301d30203754003132323322598009814801c0222c8130dd698130009bae302600230260013021375400316407c6046003164084603e6ea80222b3001301a0018acc004c07cdd5004400a2c81022c80e901d0992cc004c068c074dd5003c4c8cc89660026602a6eb0c090c084dd5008919baf30253022375400200915980099912cc0040060051598009813800c4c96600266e3cdd71811800802c4c07cdd69812000c52820443026001801204840902940cc058dd5980c98109baa011005899912cc0040060051598009813800c4c966002602c60466ea8006264660260022b300130123028302537540031598009980a00a981418129baa00189806000c52820468a50408c604e60486ea80062c8110c070c08cdd51813000c009024204814a064660020026eb0c06cc088dd5009112cc004006297ae0899912cc0056600266ebcc0a0c094dd5001002c566002b3001301730243754603c604a6ea800a294629410234566002604130013756603e604a6ea800a013006404113371290406d620498059bab301f3025375400514a0811a29410234528204689981380119802002000c4cc01001000502318130009813800a0488a50407d14a080f8dca1bb300130020033021301e375400f1332259800800c00a2b30013024001899192cc004cdc39bad30220024800626464b300130203023375400313259800980b98121baa0018991980a00089980a80b181498131baa00130283025375400316408c603a60486ea8c078c090dd5181398121baa0018a5040886601a6eb0c098c08cdd500992cc004cdd7981398121baa301e302437540020051301f98009bab301e30243754603c60486ea8006011003403d14a08110c01401a2c8100dd718100009811800c009021204214a0660266eacc058c078dd5007001203823011330203374a9001198101ba90014bd7019810260103d87a80004bd70180e1baa006375c603e60386ea80122b30013017001899199119912cc004c0740062b3001302137540150028b20448acc004c0700062b3001302137540150028b20448b203e407c2b3001301b301e3754003198009811180f9baa00191192cc004c078c084dd5000c4c094c088dd5180e18111baa30253022375400316408066016004466ebcc094c088dd500080148c966002603860406ea800626eb8c090c084dd5000c5901f181198101baa00191192cc004c078c084dd5000c4dd5980e18111baa301c30223754604a60446ea80062c8100cc02c0088cdd7981298111baa00100291192cc004c098006264b3001301e375a60460031375c6044003164084604a00316408c6602c004002911112cc004c080c08cdd5006c4c8cc88cc896600266030032605860526ea802a2b3001302432330010013758605a60546ea8068896600200314800226644b30013375e6060605a6ea8c09cc0b4dd5001004c4cdc0000a4005100140ac605c00266004004605e0028162264b30013026302937540031323259800980f18159baa0018991980d8008acc004cdc39bad3005302d37540026eb4c014c0b4dd5007456600260346060605a6ea80062b30013014001899b89301300730133756604e605a6ea800e294102b452820568a5040ac605e60586ea80062c8150c090c0acdd5000981698151baa0018a5040a0660266eb0c088c0a4dd500c92cc004cdd7981698151baa00100689812cc004dd5981218151baa001802c00d015452820508a50409d14a08138cc0100040088c0acc0b0c0b0c0b0c0b0c0b0c0b0004c010004cc00cdd6181418129baa015008330043758604e60486ea805001e26464b30013301501630293026375400f15980099912cc0040060051598009816000c4c96600266e3cdd7181400080244cdc39bad30290014800629410271815800c009029205214a0660366eacc078c098dd500b00144c9660026046604c6ea8006264660386eb0c084c0a0dd500c12cc004cdd7981618149baa302c30293754002605860526ea800a266e252080dac409300f3756604660526ea80062941027180d19814980d19814981518139baa0014bd7019814a6103d87a80004bd704528204a30293026375400f14a08122294102419801198019bac30283025375402a0100026006660086eb0c09cc090dd500a003a04445901d180f1baa008302000130203021001301c375400916406880d0c068dd500188a4d13656400401"; @@ -23,71 +22,10 @@ const AGENT_MESSAGE_LABEL = 674; // ─── Helpers ───────────────────────────────────────────────────────────────── -// Cardano metadata strings must be ≤ 64 bytes. Chunk long strings into arrays. -function metadataStr(s: string): string | string[] { - if (s.length <= 64) return s; - const chunks: string[] = []; - for (let i = 0; i < s.length; i += 64) { - chunks.push(s.slice(i, i + 64)); - } - return chunks; -} - -function lovelaceToAda(lovelace) { - return (Number(BigInt(String(lovelace))) / 1_000_000).toFixed(6); -} - -function explorerTxLink(txHash) { - return `${VECTOR_EXPLORER_URL}/transaction/${txHash}`; -} - function newProvider() { return new OgmiosProvider({ ogmiosUrl: VECTOR_OGMIOS_URL, submitUrl: VECTOR_SUBMIT_URL, koiosUrl: VECTOR_KOIOS_URL }); } -// Derive NFT asset name = blake2b_256(CBOR(OutputReference)) -// v2 (Conway) requires INDEFINITE-length CBOR for the constructor field array -// (`D8 79 9F … FF`), matching Aiken's `cbor.serialise`. Lucid's Data.to emits -// definite-length arrays (`D8 79 82 …`) which v2 rejects, so we hand-roll the -// outer constructor and let Lucid encode the inner fields. -function cborUint(n: bigint): Buffer { - if (n < 0n) throw new Error('output_index must be non-negative'); - if (n < 24n) return Buffer.from([Number(n)]); - if (n < 0x100n) return Buffer.from([0x18, Number(n)]); - if (n < 0x10000n) return Buffer.from([0x19, Number(n >> 8n) & 0xff, Number(n) & 0xff]); - if (n < 0x100000000n) { - const b = Buffer.alloc(5); b[0] = 0x1a; b.writeUInt32BE(Number(n), 1); return b; - } - const b = Buffer.alloc(9); b[0] = 0x1b; b.writeBigUInt64BE(n, 1); return b; -} - -function cborBytes(hex: string): Buffer { - const raw = Buffer.from(hex, 'hex'); - const len = raw.length; - let header: Buffer; - if (len < 24) header = Buffer.from([0x40 | len]); - else if (len < 0x100) header = Buffer.from([0x58, len]); - else if (len < 0x10000) { header = Buffer.alloc(3); header[0] = 0x59; header.writeUInt16BE(len, 1); } - else { header = Buffer.alloc(5); header[0] = 0x5a; header.writeUInt32BE(len, 1); } - return Buffer.concat([header, raw]); -} - -export function deriveNftAssetName(txHash: string, outputIndex: number): string { - // Constr 0 with indefinite-length inner array: - // D8 79 (tag 121 = constr 0) - // 9F (indefinite array begin) - // - // FF (break) - const outRefCbor = Buffer.concat([ - Buffer.from([0xd8, 0x79, 0x9f]), - cborBytes(txHash), - cborUint(BigInt(outputIndex)), - Buffer.from([0xff]), - ]); - const hashBytes = blake2b(outRefCbor, { dkLen: 32 }); - return Buffer.from(hashBytes).toString('hex'); -} - function buildAgentDatum(vkeyHash, name, description, capabilities, framework, endpoint, registeredAt) { return Data.to(new Constr(0, [ new Constr(0, [vkeyHash]), diff --git a/src/vector/index.ts b/packages/builder/src/vector/index.ts similarity index 88% rename from src/vector/index.ts rename to packages/builder/src/vector/index.ts index c1b48b2..6e4f96f 100644 --- a/src/vector/index.ts +++ b/packages/builder/src/vector/index.ts @@ -11,4 +11,4 @@ export type { VectorTransactionHistoryResult, VectorDeployContractResult, VectorInteractContractResult, -} from './types.js'; +} from '@apexfusion/vector-mcp-shared/types'; diff --git a/src/vector/rate-limiter.ts b/packages/builder/src/vector/rate-limiter.ts similarity index 100% rename from src/vector/rate-limiter.ts rename to packages/builder/src/vector/rate-limiter.ts diff --git a/src/vector/safety.ts b/packages/builder/src/vector/safety.ts similarity index 97% rename from src/vector/safety.ts rename to packages/builder/src/vector/safety.ts index c51fe49..b06cfb9 100644 --- a/src/vector/safety.ts +++ b/packages/builder/src/vector/safety.ts @@ -1,7 +1,7 @@ import { readFileSync, writeFileSync, existsSync } from 'fs'; import { resolve, dirname } from 'path'; import { fileURLToPath } from 'url'; -import type { SpendLimits, SpendStatus, AuditEntry } from './types.js'; +import type { SpendLimits, SpendStatus, AuditEntry } from '@apexfusion/vector-mcp-shared/types'; const VECTOR_SPEND_LIMIT_PER_TX = parseInt(process.env.VECTOR_SPEND_LIMIT_PER_TX || '100000000'); // 100 AP3X const VECTOR_SPEND_LIMIT_DAILY = parseInt(process.env.VECTOR_SPEND_LIMIT_DAILY || '500000000'); // 500 AP3X diff --git a/src/vector/self-improvement.ts b/packages/builder/src/vector/self-improvement.ts similarity index 98% rename from src/vector/self-improvement.ts rename to packages/builder/src/vector/self-improvement.ts index bc5fc66..1bbe97d 100644 --- a/src/vector/self-improvement.ts +++ b/packages/builder/src/vector/self-improvement.ts @@ -18,16 +18,13 @@ async function ensureSlotConfig(provider: OgmiosProvider): Promise { } import { blake2b } from '@noble/hashes/blake2b'; import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'; -import { OgmiosProvider } from './ogmios-provider.js'; +import { OgmiosProvider } from '@apexfusion/vector-mcp-shared/provider'; +import { + VECTOR_OGMIOS_URL, VECTOR_SUBMIT_URL, VECTOR_KOIOS_URL, VECTOR_EXPLORER_URL, explorerTxLink, +} from '@apexfusion/vector-mcp-shared/config'; import { safetyLayer } from './safety.js'; import { rateLimiter } from './rate-limiter.js'; -// Env config -const VECTOR_OGMIOS_URL = process.env.VECTOR_OGMIOS_URL || 'https://ogmios.vector.testnet.apexfusion.org'; -const VECTOR_SUBMIT_URL = process.env.VECTOR_SUBMIT_URL || 'https://submit.vector.testnet.apexfusion.org/api/submit/tx'; -const VECTOR_KOIOS_URL = process.env.VECTOR_KOIOS_URL || 'https://v2.koios.vector.testnet.apexfusion.org/'; -const VECTOR_EXPLORER_URL = process.env.VECTOR_EXPLORER_URL || 'https://vector.testnet.apexscan.org'; - // Agent Registry policy ID (shared across all modules) const AGENT_REGISTRY_POLICY = process.env.AGENT_REGISTRY_POLICY || 'be1a0a2912da180757ed3cd61b56bb8eab0188c19dc3c0e3912d2c01'; @@ -84,10 +81,6 @@ function newProvider() { return new OgmiosProvider({ ogmiosUrl: VECTOR_OGMIOS_URL, submitUrl: VECTOR_SUBMIT_URL, koiosUrl: VECTOR_KOIOS_URL }); } -function explorerTxLink(txHash: string) { - return `${VECTOR_EXPLORER_URL}/transaction/${txHash}`; -} - function lovelaceToApex(lovelace: number | bigint): string { return (Number(BigInt(String(lovelace))) / 1_000_000).toFixed(6); } diff --git a/src/vector/vector.ts b/packages/builder/src/vector/vector.ts similarity index 96% rename from src/vector/vector.ts rename to packages/builder/src/vector/vector.ts index 89941a3..5bef9e9 100644 --- a/src/vector/vector.ts +++ b/packages/builder/src/vector/vector.ts @@ -7,26 +7,24 @@ import * as dotenv from 'dotenv'; import { resolve } from 'path'; import { fileURLToPath } from 'url'; import { existsSync } from 'fs'; -import { OgmiosProvider } from './ogmios-provider.js'; +import { OgmiosProvider } from '@apexfusion/vector-mcp-shared/provider'; +import { lovelaceToAda, formatAssetName } from '@apexfusion/vector-mcp-shared/tx'; +import { + VECTOR_OGMIOS_URL, VECTOR_SUBMIT_URL, VECTOR_KOIOS_URL, VECTOR_EXPLORER_URL, explorerTxLink, +} from '@apexfusion/vector-mcp-shared/config'; import { safetyLayer } from './safety.js'; import { rateLimiter } from './rate-limiter.js'; import { registerAgentNetworkTools } from './agent-network.js'; import { registerSelfImprovementTools } from './self-improvement.js'; import type { - VectorToken, - VectorWalletInfo, - VectorAdaTransactionResult, - VectorTokenTransactionResult, - TxOutput, - VectorBuildTransactionResult, - VectorDryRunResult, - VectorDeployContractResult, + VectorToken, VectorWalletInfo, VectorAdaTransactionResult, VectorTokenTransactionResult, + TxOutput, VectorBuildTransactionResult, VectorDryRunResult, VectorDeployContractResult, VectorInteractContractResult, -} from './types.js'; +} from '@apexfusion/vector-mcp-shared/types'; // Direct .env loading const __filename = fileURLToPath(import.meta.url); -const projectRoot = resolve(__filename, '../../../..'); +const projectRoot = resolve(__filename, '../../../../..'); const envPath = resolve(projectRoot, '.env'); if (existsSync(envPath)) { @@ -36,39 +34,6 @@ if (existsSync(envPath)) { } } -// Configuration from environment variables -const VECTOR_OGMIOS_URL = process.env.VECTOR_OGMIOS_URL || 'https://ogmios.vector.testnet.apexfusion.org'; -const VECTOR_SUBMIT_URL = process.env.VECTOR_SUBMIT_URL || 'https://submit.vector.testnet.apexfusion.org/api/submit/tx'; -const VECTOR_KOIOS_URL = process.env.VECTOR_KOIOS_URL || 'https://v2.koios.vector.testnet.apexfusion.org/'; -const VECTOR_EXPLORER_URL = process.env.VECTOR_EXPLORER_URL || 'https://vector.testnet.apexscan.org'; - -// Helper function to format AP3X amounts -function lovelaceToAda(lovelace: string | number | bigint): string { - if (lovelace === undefined || lovelace === null) return '0.000000'; - try { - return (Number(BigInt(String(lovelace))) / 1_000_000).toFixed(6); - } catch { - return '0.000000'; - } -} - -// Helper function to format asset name -function formatAssetName(name: string): string { - try { - if (/^[0-9a-fA-F]+$/.test(name) && name.length > 0) { - return Buffer.from(name, 'hex').toString('utf8'); - } - return name; - } catch { - return name; - } -} - -// Explorer link helper -function explorerTxLink(txHash: string): string { - return `${VECTOR_EXPLORER_URL}/transaction/${txHash}`; -} - // Initialize Lucid instance with Ogmios provider async function initLucid(mnemonic: string, accountIndex: number = 0) { const provider = new OgmiosProvider({ diff --git a/test/integration/run.test.ts b/packages/builder/test/integration/run.test.ts similarity index 100% rename from test/integration/run.test.ts rename to packages/builder/test/integration/run.test.ts diff --git a/test/setup.ts b/packages/builder/test/setup.ts similarity index 100% rename from test/setup.ts rename to packages/builder/test/setup.ts diff --git a/test/smoke/tool-inventory.test.ts b/packages/builder/test/smoke/tool-inventory.test.ts similarity index 100% rename from test/smoke/tool-inventory.test.ts rename to packages/builder/test/smoke/tool-inventory.test.ts diff --git a/test/smoke/tool-schemas.snapshot.json b/packages/builder/test/smoke/tool-schemas.snapshot.json similarity index 100% rename from test/smoke/tool-schemas.snapshot.json rename to packages/builder/test/smoke/tool-schemas.snapshot.json diff --git a/packages/builder/tsconfig.json b/packages/builder/tsconfig.json new file mode 100644 index 0000000..7d1320a --- /dev/null +++ b/packages/builder/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "esnext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "strict": true, + "skipLibCheck": true, + "noEmit": true, + "allowJs": true, + "checkJs": false, + "resolveJsonModule": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "build"] +} diff --git a/tsup.config.ts b/packages/builder/tsup.config.ts similarity index 82% rename from tsup.config.ts rename to packages/builder/tsup.config.ts index 7ced406..3e364bc 100644 --- a/tsup.config.ts +++ b/packages/builder/tsup.config.ts @@ -7,5 +7,6 @@ export default defineConfig({ outDir: "build", clean: true, splitting: false, + noExternal: ["@apexfusion/vector-mcp-shared"], banner: { js: "#!/usr/bin/env node" }, }); diff --git a/packages/shared/src/config.ts b/packages/shared/src/config.ts index 7ccd5fe..942a2fe 100644 --- a/packages/shared/src/config.ts +++ b/packages/shared/src/config.ts @@ -1,7 +1,7 @@ // Vector network endpoints. Defaults target testnet; override via environment. export const VECTOR_OGMIOS_URL = process.env.VECTOR_OGMIOS_URL || 'https://ogmios.vector.testnet.apexfusion.org'; export const VECTOR_SUBMIT_URL = process.env.VECTOR_SUBMIT_URL || 'https://submit.vector.testnet.apexfusion.org/api/submit/tx'; -export const VECTOR_KOIOS_URL = process.env.VECTOR_KOIOS_URL || 'https://koios.vector.testnet.apexfusion.org/'; +export const VECTOR_KOIOS_URL = process.env.VECTOR_KOIOS_URL || 'https://v2.koios.vector.testnet.apexfusion.org/'; export const VECTOR_EXPLORER_URL = process.env.VECTOR_EXPLORER_URL || 'https://vector.testnet.apexscan.org'; export function explorerTxLink(txHash: string): string { diff --git a/test/unit/derive-asset-name.test.ts b/test/unit/derive-asset-name.test.ts deleted file mode 100644 index 4eb0d62..0000000 --- a/test/unit/derive-asset-name.test.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { describe, test } from 'node:test'; -import assert from 'node:assert/strict'; -import { deriveNftAssetName } from '../../src/vector/agent-network.ts'; - -// Parity vectors — verified against pycardano OutputReference.to_cbor() and -// agent-sdk-py plutus_serialise_data(0, [tx_hash_bytes, idx]). All three -// implementations produce identical bytes for the v2 contract on Conway. -// See plan file for the verification run output. -const VECTORS: Array<{ tx: string; idx: number; expected: string }> = [ - { - tx: '00'.repeat(32), - idx: 0, - expected: 'a2e5e227858e84f1a8f9b0c1246e6cbc9336d707d43ba43d0e1cb7c51c45f4c9', - }, - { - tx: '2703182e4d1151a32b7bcfc2362c91278bcac66a49a840d217ae5cb49f8b3649', - idx: 0, - expected: '24ed834d88890ce35e81a6b9c4f988fad3d8a0284db6f3e641416f44f5e95d75', - }, - { - tx: 'ff'.repeat(32), - idx: 23, - expected: 'df229a221c5a84f48c06d5b28a98deb6ea678c369ab166400e88dd3d2bdc7b9f', - }, - { - tx: 'ab'.repeat(32), - idx: 24, - expected: '3ddd07517205dd8a745887c33a09da0e4a5d63dca1f151ceeedaeeda0551c52b', - }, - { - tx: '01'.repeat(32), - idx: 256, - expected: 'e626a305779e4c1e74b7719d302d0fbc1b722ab33bd52da4c23e6b8cd1bd04ec', - }, -]; - -describe('deriveNftAssetName — Conway indefinite-CBOR parity', () => { - for (const { tx, idx, expected } of VECTORS) { - test(`tx=${tx.slice(0, 8)}… idx=${idx}`, () => { - assert.equal(deriveNftAssetName(tx, idx), expected); - }); - } -});