From f012768b0e4506eeb1dda142a2d209df94eb038a Mon Sep 17 00:00:00 2001 From: AdriGeorge Date: Wed, 20 May 2026 11:01:03 +0300 Subject: [PATCH] chore: sync 3.2.0 --- package-lock.json | 1362 ++--------------- package.json | 4 +- src/components/c2d/compute_engine_docker.ts | 50 +- src/components/database/ElasticSchemas.ts | 131 +- .../database/ElasticSearchDatabase.ts | 17 + src/test/unit/buildImage.test.ts | 10 +- 6 files changed, 289 insertions(+), 1285 deletions(-) diff --git a/package-lock.json b/package-lock.json index e3e39a9f6..0dbf0a9b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ocean-node", - "version": "3.1.12", + "version": "3.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ocean-node", - "version": "3.1.12", + "version": "3.2.0", "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { @@ -36,7 +36,7 @@ "@libp2p/websockets": "^10.1.2", "@multiformats/multiaddr": "^12.2.3", "@oceanprotocol/contracts": "^2.7.0", - "@oceanprotocol/ddo-js": "^0.2.0", + "@oceanprotocol/ddo-js": "^0.4.0", "axios": "^1.15.0", "base58-js": "^2.0.0", "basic-ftp": "^5.3.1", @@ -1305,62 +1305,6 @@ "integrity": "sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==", "license": "Apache-2.0" }, - "node_modules/@bergos/jsonparse": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@bergos/jsonparse/-/jsonparse-1.4.2.tgz", - "integrity": "sha512-qUt0QNJjvg4s1zk+AuLM6s/zcsQ8MvGn7+1f0vPuxvpCYa08YtTryuDInngbEyW5fNGGYe2znKt61RMGd5HnXg==", - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3" - } - }, - "node_modules/@bergos/jsonparse/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/@bergos/jsonparse/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/@chainsafe/as-chacha20poly1305": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@chainsafe/as-chacha20poly1305/-/as-chacha20poly1305-0.1.0.tgz", @@ -1451,16 +1395,29 @@ } }, "node_modules/@digitalbazaar/http-client": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-4.3.0.tgz", - "integrity": "sha512-6lMpxpt9BOmqHKGs9Xm6DP4LlZTBFer/ZjHvP3FcW3IaUWYIWC7dw5RFZnvw4fP57kAVcm1dp3IF+Y50qhBvAw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", + "integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==", "license": "BSD-3-Clause", "dependencies": { - "ky": "^1.14.2", - "undici": "^6.23.0" + "ky": "^0.33.3", + "ky-universal": "^0.11.0", + "undici": "^5.21.2" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/@digitalbazaar/http-client/node_modules/undici": { + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^2.0.0" }, "engines": { - "node": ">=18.0" + "node": ">=14.0" } }, "node_modules/@dnsquery/dns-packet": { @@ -2798,6 +2755,15 @@ "@ethersproject/strings": "^5.8.0" } }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/@gar/promise-retry": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", @@ -5242,78 +5208,18 @@ "license": "Apache-2.0" }, "node_modules/@oceanprotocol/ddo-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@oceanprotocol/ddo-js/-/ddo-js-0.2.0.tgz", - "integrity": "sha512-Qy6mRY72KBf7k8u/sbbvm7TT+0d686Pn4ICg6VskzMfPnfFg9ObBCf0ejon6yyx1gMwQ+h5/8NYX51NdYPcEVw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@oceanprotocol/ddo-js/-/ddo-js-0.4.0.tgz", + "integrity": "sha512-/jlWOl4FkTwymSLTiqu/iQUXaY2f+viUsNfeakWOGIx34g7+KBq3isOODyq8eC18Zmo7JmgUjZPLbkn2oe9EVA==", "license": "Apache-2.0", "dependencies": { - "@rdfjs/formats-common": "^3.1.0", - "@types/rdfjs__formats-common": "^3.1.5", - "@zazuko/env-node": "^2.1.4", - "chai": "^5.1.2", "ethers": "^6.15.0", + "jsonld": "^8.3.3", + "n3": "^1.23.1", "rdf-literal": "^2.0.0", "rdf-validate-shacl": "^0.5.6" } }, - "node_modules/@oceanprotocol/ddo-js/node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/@oceanprotocol/ddo-js/node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@oceanprotocol/ddo-js/node_modules/check-error": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", - "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "node_modules/@oceanprotocol/ddo-js/node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@oceanprotocol/ddo-js/node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "license": "MIT" - }, - "node_modules/@oceanprotocol/ddo-js/node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, "node_modules/@octokit/auth-token": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", @@ -5815,110 +5721,6 @@ "integrity": "sha512-+S5YjSvfoQR5r7YQCRCCVHvIEyrWia7FJv2gqM3s5EDfotoAQmFeBagApa9c/eQFi5EiNhmBECE5nB8LIxTaHg==", "license": "MIT" }, - "node_modules/@rdfjs/fetch-lite": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@rdfjs/fetch-lite/-/fetch-lite-3.3.0.tgz", - "integrity": "sha512-K3hZC4+Ch0UmYA1w0Xv/8cCVPD5ulKwRa6A/iTn3BFbZpVAb5KoBfOfnOhe6VJEa50raUvTHR1gp1YdvUnYt9g==", - "license": "MIT", - "dependencies": { - "is-stream": "^4.0.1", - "nodeify-fetch": "^3.1.0", - "readable-stream": "^4.5.2" - } - }, - "node_modules/@rdfjs/formats": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@rdfjs/formats/-/formats-4.0.1.tgz", - "integrity": "sha512-Rg53vP+x1bnGAqJNKgEzJEUPDhj+tCpzb6wdmfLoVFq4XoZ589+cg2ScFDUMMyAVsgKXvSWjDhQ9f9ab254ZxA==", - "license": "MIT", - "dependencies": { - "@rdfjs/parser-jsonld": "^2.1.0", - "@rdfjs/parser-n3": "^2.0.1", - "@rdfjs/serializer-jsonld": "^2.0.0", - "@rdfjs/serializer-jsonld-ext": "^4.0.0", - "@rdfjs/serializer-ntriples": "^2.0.0", - "@rdfjs/serializer-turtle": "^1.1.1", - "@rdfjs/sink-map": "^2.0.0", - "rdfxml-streaming-parser": "^3.0.1" - } - }, - "node_modules/@rdfjs/formats-common": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rdfjs/formats-common/-/formats-common-3.1.0.tgz", - "integrity": "sha512-wgz5za/Uls+pttLdLl/aH0m0LQNgjqpWwk9exNs2Smmb2CosynRo4S0+CxeNOVZh4zeUm7oAlr1CK/tyg4Ff6g==", - "license": "MIT", - "dependencies": { - "@rdfjs/parser-jsonld": "^2.0.0", - "@rdfjs/parser-n3": "^2.0.0", - "@rdfjs/serializer-jsonld": "^2.0.0", - "@rdfjs/serializer-ntriples": "^2.0.0", - "@rdfjs/sink-map": "^2.0.0", - "rdfxml-streaming-parser": "^2.2.0" - } - }, - "node_modules/@rdfjs/formats/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/@rdfjs/formats/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/@rdfjs/formats/node_modules/rdfxml-streaming-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-3.2.0.tgz", - "integrity": "sha512-SgQGK0EkbXd0jQ1PZk7dEpfDxf4CZpezkO6cTuGWesa9twdWaaW5elMoNBcbMT+2tOZC1EYZjs0JaXx0HnifcQ==", - "license": "MIT", - "dependencies": { - "@rubensworks/saxes": "^6.0.1", - "@types/readable-stream": "^4.0.18", - "buffer": "^6.0.3", - "rdf-data-factory": "^2.0.2", - "readable-stream": "^4.4.2", - "relative-to-absolute-iri": "^1.0.0", - "validate-iri": "^1.0.0" - }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/rubensworks/" - } - }, "node_modules/@rdfjs/namespace": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@rdfjs/namespace/-/namespace-2.0.1.tgz", @@ -5928,104 +5730,6 @@ "@rdfjs/data-model": "^2.0.1" } }, - "node_modules/@rdfjs/parser-jsonld": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@rdfjs/parser-jsonld/-/parser-jsonld-2.1.3.tgz", - "integrity": "sha512-VYnPEwVdqFAPTo9F8XIN4UpGPdNzhBaCFv5b5OT74pA7H8so4aTno3Yd6M5I9bhTrUoCQjpjgr+ugYlvWxdBIA==", - "license": "MIT", - "dependencies": { - "@rdfjs/data-model": "^2.0.2", - "@rdfjs/sink": "^2.0.1", - "duplex-to": "^2.0.0", - "jsonld-streaming-parser": "^5.0.0", - "readable-stream": "^4.5.2" - } - }, - "node_modules/@rdfjs/parser-n3": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@rdfjs/parser-n3/-/parser-n3-2.1.0.tgz", - "integrity": "sha512-/DiosB+0vPzgAs1WXcCB8MbA5hqq0fIh9VhMg7fBmoJ/I8Xl6Op/AOxVu9x1XZCHSNwO/VsJT/HYKEctZVRKSQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/data-model": "^2.0.2", - "@rdfjs/sink": "^2.0.1", - "duplex-to": "^2.0.0", - "n3": "^1.17.2", - "readable-stream": "^4.5.2" - } - }, - "node_modules/@rdfjs/prefix-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@rdfjs/prefix-map/-/prefix-map-0.1.2.tgz", - "integrity": "sha512-qapFYVPYyYepg0sFy7T512667iZsN9a3RNcyNBTBV+O8wrU3v/URQZOipCTNrEm1BXzZ7KCK1Yi8HrE1y+uRuQ==", - "license": "MIT", - "dependencies": { - "readable-stream": "^4.3.0" - } - }, - "node_modules/@rdfjs/serializer-jsonld": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@rdfjs/serializer-jsonld/-/serializer-jsonld-2.0.1.tgz", - "integrity": "sha512-O8WzdY7THsse/nMsrMLd2e51ADHO2SIUrkiZ9Va/8W3lXeeeiwDRPMppWy/i9yL4q6EM8iMW1riV7E0mK3fsBQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/sink": "^2.0.1", - "readable-stream": "^4.5.2" - } - }, - "node_modules/@rdfjs/serializer-jsonld-ext": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rdfjs/serializer-jsonld-ext/-/serializer-jsonld-ext-4.0.2.tgz", - "integrity": "sha512-l/A6gQgKWYYGOPbcVZWnaamqWPtShL4FDrEqh5F85Fw0PdSca7q0YOBpB8ihxKmiGmfXa+SB4M8l9iyEegcp7Q==", - "license": "MIT", - "dependencies": { - "@rdfjs/sink": "^2.0.1", - "jsonld": "^9.0.0", - "readable-stream": "^4.7.0", - "stream-chunks": "^1.0.0" - } - }, - "node_modules/@rdfjs/serializer-ntriples": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@rdfjs/serializer-ntriples/-/serializer-ntriples-2.0.1.tgz", - "integrity": "sha512-G1ZI0qaN/MUHxeCwr59JscO2LdyIb6MNQdXOv7NFBZuodyHsxxhJRFmMVn+3SEXeNJbVeEEbWBrLglCUgJ8XjQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/sink": "^2.0.1", - "@rdfjs/to-ntriples": "^3.0.1", - "duplex-to": "^2.0.0", - "readable-stream": "^4.5.2" - } - }, - "node_modules/@rdfjs/serializer-turtle": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@rdfjs/serializer-turtle/-/serializer-turtle-1.1.5.tgz", - "integrity": "sha512-uvIFUOuMuk8JrJnng/tWKIQ+8XI6YLEms75YdvZ49LtIyyfbDqKz76EybgnD/zZYfMhVVkguKtheBC9h08g1PQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/data-model": "^2.0.1", - "@rdfjs/namespace": "^2.0.0", - "@rdfjs/prefix-map": "^0.1.1", - "@rdfjs/sink": "^2.0.0", - "@rdfjs/term-map": "^2.0.0", - "@rdfjs/to-ntriples": "^3.0.1", - "@rdfjs/tree": "^0.2.1", - "readable-stream": "^4.3.0", - "stream-chunks": "^1.0.0" - } - }, - "node_modules/@rdfjs/sink": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@rdfjs/sink/-/sink-2.0.1.tgz", - "integrity": "sha512-smzIFGF6EH1sLAJR9F3p2wMNrN44JjPeYAoITTJLqtuNC319K7IXaJ+qNLBGTtapZ/jvpx2Tks0TjcH9KrAvEA==", - "license": "MIT" - }, - "node_modules/@rdfjs/sink-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@rdfjs/sink-map/-/sink-map-2.0.1.tgz", - "integrity": "sha512-BwCTTsMN/tfQl6QzD2oHn9A08e4af+hlzAz/d5XXrlOkYMEDUAqFuh2Odj9EbayhAEeN4wA743Mj2yC0/s69rg==", - "license": "MIT" - }, "node_modules/@rdfjs/term-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@rdfjs/term-map/-/term-map-2.0.2.tgz", @@ -6050,26 +5754,6 @@ "integrity": "sha512-gjoPAvh4j7AbGMjcDn/8R4cW+d/FPtbfbMM0uQXkyfBFtNUW2iVgrqsgJ65roLc54Y9A2TTFaeeTGSvY9a0HCQ==", "license": "MIT" }, - "node_modules/@rdfjs/traverser": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@rdfjs/traverser/-/traverser-0.1.4.tgz", - "integrity": "sha512-53QYlxiQIxH8k4jutjet1EjdZfyKCDSsfqnj2YejAJ1X8mLDMSOsneMM5savBwBR0ROfAhKVtZVb+pego+JLiw==", - "license": "MIT", - "dependencies": { - "@rdfjs/to-ntriples": "^3.0.1" - } - }, - "node_modules/@rdfjs/tree": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@rdfjs/tree/-/tree-0.2.1.tgz", - "integrity": "sha512-J70CQ7R8Ivfs1FFUxtFN7ADb5wTMgbhn0O558NXSXQHItmSavT6cXmQlIokbmboU+grhu56iR/8Bl9do8LCq+w==", - "license": "MIT", - "dependencies": { - "@rdfjs/namespace": "^2.0.0", - "@rdfjs/term-map": "^2.0.0", - "@rdfjs/term-set": "^2.0.1" - } - }, "node_modules/@rdfjs/types": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-2.0.1.tgz", @@ -6086,24 +5770,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@rubensworks/saxes": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@rubensworks/saxes/-/saxes-6.0.1.tgz", - "integrity": "sha512-UW4OTIsOtJ5KSXo2Tchi4lhZqu+tlHrOAs4nNti7CrtB53kAZl3/hyrTi6HkMihxdbDM6m2Zc3swc/ZewEe1xw==", - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.12" - } - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "license": "MIT" - }, "node_modules/@sindresorhus/fnv1a": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@sindresorhus/fnv1a/-/fnv1a-3.1.0.tgz", @@ -6956,17 +6622,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/clownface": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/clownface/-/clownface-2.0.10.tgz", - "integrity": "sha512-Vz48oQux0YArQ66wfRp54NlxvEmpyTqbFIH435AsgN7C+p4MXao/rjXUisULL6436bxjFk4VluZr7J2HQkBHmQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": ">=1", - "@types/rdfjs__environment": "*" - } - }, "node_modules/@types/command-line-args": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz", @@ -7064,15 +6719,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/http-link-header": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.7.tgz", - "integrity": "sha512-snm5oLckop0K3cTDAiBnZDy6ncx9DJ3mCRDvs42C884MbVYPP74Tiq2hFsSDRTyjK6RyDYDIulPiW23ge+g5Lw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/ip": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@types/ip/-/ip-1.1.3.tgz", @@ -7097,12 +6743,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/jsonld": { - "version": "1.5.15", - "resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.15.tgz", - "integrity": "sha512-PlAFPZjL+AuGYmwlqwKEL0IMP8M8RexH0NIPGfCVWSQ041H2rR/8OlyZSD7KsCVoN8vCfWdtWDBxX8yBVP+xow==", - "license": "MIT" - }, "node_modules/@types/jsonwebtoken": { "version": "9.0.10", "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz", @@ -7198,230 +6838,22 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/rdf-dataset-ext": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/rdf-dataset-ext/-/rdf-dataset-ext-1.0.8.tgz", - "integrity": "sha512-ngMGOzAm+yvrfTzFhlmPNa9lfWO72IkdqYRR+HNIPX3x+RPLf6qRpAi8GAZCg0rkpGt2JJqDQF3FgVxE6ykr/w==", + "node_modules/@types/rdfjs__namespace": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/rdfjs__namespace/-/rdfjs__namespace-2.0.10.tgz", + "integrity": "sha512-xoVzEIOxcpyteEmzaj94MSBbrBFs+vqv05joMhzLEiPRwsBBDnhkdBCaaDxR1Tf7wOW0kB2R1IYe4C3vEBFPgA==", "license": "MIT", - "peer": true, "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/readable-stream": "*" + "@rdfjs/types": "*" } }, - "node_modules/@types/rdfjs__data-model": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/rdfjs__data-model/-/rdfjs__data-model-2.0.9.tgz", - "integrity": "sha512-rgQSlM9jr7XMZdC0xUIr0zsxf5FvdB4cxxzv+MlHm6uJGip5qi0q+BluNhakAzaM2I56nKLDqSE3I/XuOaHGnA==", + "node_modules/@types/secp256k1": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.7.tgz", + "integrity": "sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==", "license": "MIT", - "peer": true, "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__dataset": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/rdfjs__dataset/-/rdfjs__dataset-2.0.7.tgz", - "integrity": "sha512-+GaYIL9C7N1N0HyH+obU4IXuL7DX+fXuf827aUQ2Vx2UghO47+OTxo2v3seEQj/1YHoHBfQFk5Y4P6Q7Ht4Hqw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__environment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/rdfjs__environment/-/rdfjs__environment-1.0.0.tgz", - "integrity": "sha512-MDcnv3qfJvbHoEpUQXj5muT8g3e+xz1D8sGevrq3+Q4TzeEvQf5ijGX5l8485XFYrN/OBApgzXkHMZC04/kd5w==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/node": "*" - } - }, - "node_modules/@types/rdfjs__fetch-lite": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/rdfjs__fetch-lite/-/rdfjs__fetch-lite-3.0.11.tgz", - "integrity": "sha512-1bHxBn62bmTPq/HY9Jr+iKCdBp8RTEJ4WA0ycihghRF8zWQfw6T7E5CqdPi4nncmgF70LOz7jF/4jeLGdb6H2A==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*", - "@types/node": "*", - "@types/rdfjs__formats": "*" - } - }, - "node_modules/@types/rdfjs__formats": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/rdfjs__formats/-/rdfjs__formats-4.0.1.tgz", - "integrity": "sha512-Zj7hQEn5HeCj+pJCWshY2gqBcdBdwyc2j20Ht3PH91pkdRuG2AlGDD3N9PQ1oZ3+J6Q96rAlhxUbjQUp9+s3FQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/node": "*", - "@types/rdfjs__parser-jsonld": "*", - "@types/rdfjs__parser-n3": "*", - "@types/rdfjs__serializer-jsonld": "*", - "@types/rdfjs__serializer-jsonld-ext": "*", - "@types/rdfjs__serializer-ntriples": "*", - "@types/rdfjs__serializer-turtle": "*", - "@types/rdfjs__sink-map": "*", - "rdfxml-streaming-parser": ">=2" - } - }, - "node_modules/@types/rdfjs__formats-common": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@types/rdfjs__formats-common/-/rdfjs__formats-common-3.1.5.tgz", - "integrity": "sha512-Zt74nSd9NemOq90/2cMrBVwnHJIXHFFDS7tkY4Slei1eRoQJpws059Lx9O+mqaFspkD3r81Enu/5CiNfQg9V7g==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/node": "*", - "@types/rdfjs__parser-jsonld": "*", - "@types/rdfjs__parser-n3": "*", - "@types/rdfjs__serializer-jsonld": "*", - "@types/rdfjs__serializer-ntriples": "*", - "@types/rdfjs__sink-map": "*", - "rdfxml-streaming-parser": ">=2" - } - }, - "node_modules/@types/rdfjs__namespace": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/rdfjs__namespace/-/rdfjs__namespace-2.0.10.tgz", - "integrity": "sha512-xoVzEIOxcpyteEmzaj94MSBbrBFs+vqv05joMhzLEiPRwsBBDnhkdBCaaDxR1Tf7wOW0kB2R1IYe4C3vEBFPgA==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__parser-jsonld": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@types/rdfjs__parser-jsonld/-/rdfjs__parser-jsonld-2.1.7.tgz", - "integrity": "sha512-n35K+c1Y95580N202Jxly6xjFE953FF+Y2mwxok6zLfMo4rgIfgMBElnNwpja0IeYXTuzGm1tEz7va3lItGrTg==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/jsonld": "*" - } - }, - "node_modules/@types/rdfjs__parser-n3": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/rdfjs__parser-n3/-/rdfjs__parser-n3-2.0.6.tgz", - "integrity": "sha512-VHfdq7BDV6iMCtHkzTFSOuUWnqGlMUmEF0UZyK4+g9SzLWvc6TMcU5TYwQPQIz/e0s7dZ+xomxx6mVtIzsRQ/A==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": ">=1.0.0" - } - }, - "node_modules/@types/rdfjs__prefix-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@types/rdfjs__prefix-map/-/rdfjs__prefix-map-0.1.5.tgz", - "integrity": "sha512-RAwyS/2dT9X79QwM0F8KLweTfuBoe6xtiAlU7wKPB+/t/sfk6A50LYtAWaDVP5qBjcu50UkKkZT+VR47CiLkfg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__serializer-jsonld": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/rdfjs__serializer-jsonld/-/rdfjs__serializer-jsonld-2.0.5.tgz", - "integrity": "sha512-ubdLD9QgZzAt+65NSPzh2qWCPWcGYlHEWgkP6uRwfm7JC48Xh/QjzwOTG13MTomOkQqcN4R7PIG0j3Ca8iyNWQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": ">=1.0.0" - } - }, - "node_modules/@types/rdfjs__serializer-jsonld-ext": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/rdfjs__serializer-jsonld-ext/-/rdfjs__serializer-jsonld-ext-4.0.1.tgz", - "integrity": "sha512-jgbQ/1kV7nESKG7SY8FJED6K4OFznr6Sz3ybF1ncpBR7TUBTuy3InpZOVRK4Wjpy2zi84iIAzJ1CIIo9NZh2Xw==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/jsonld": "*", - "@types/node": "*" - } - }, - "node_modules/@types/rdfjs__serializer-ntriples": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/rdfjs__serializer-ntriples/-/rdfjs__serializer-ntriples-2.0.6.tgz", - "integrity": "sha512-Nn3e3eyuymLvbI5MFzI7ODD/X6ZGpbB9fLaWOB00RtFHd2vttk3wQL2fzzsZZQPJ/ihC/xlFE4cNQkO6SoHa7w==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": ">=1.0.0" - } - }, - "node_modules/@types/rdfjs__serializer-turtle": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@types/rdfjs__serializer-turtle/-/rdfjs__serializer-turtle-1.1.0.tgz", - "integrity": "sha512-NGHnbz5985UwS/YS6WL/FkS94B+QiVTdsfvJCqPwLmY3E7UeClw91c2KbiphZUR/uh7uwLwxeKKhV2T1gYgT5Q==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/node": "*", - "@types/rdfjs__prefix-map": "*" - } - }, - "node_modules/@types/rdfjs__sink-map": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/rdfjs__sink-map/-/rdfjs__sink-map-2.0.5.tgz", - "integrity": "sha512-ycUBlOMbp9YpjrBrMwGv3uiqulOWgodess06cinYLxomOTc2ET9rEQklgM5rJqnu5WMsVP8SFG3fFw36/5hADQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__term-map": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/rdfjs__term-map/-/rdfjs__term-map-2.0.10.tgz", - "integrity": "sha512-YlpYkya+Xq9fmcw+BMi1SCh+w2sBu7G0/qd2+ZhB4QIK3V1xq2o3EOAZnlahyQdwrW9t5+Ihw8IVVvZsJvDOTA==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__term-set": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/rdfjs__term-set/-/rdfjs__term-set-2.0.9.tgz", - "integrity": "sha512-RRXs5DwFGanZyT705f7KLSiN68gUVUtGWTp508CXJhLfD7AWmilqc1BLgLUoac48h3pnh9w5lRhwFm6fj1ZE5Q==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/rdfjs__traverser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@types/rdfjs__traverser/-/rdfjs__traverser-0.1.5.tgz", - "integrity": "sha512-tTpiM6lAddw+bGRDjhzwdpo1EQK73m8gYgMVNfO4OsevnuLZvQJeCJBckpuDC4H5HVAEwCapI0UlH9dVnZ9u5g==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": "*" - } - }, - "node_modules/@types/readable-stream": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.23.tgz", - "integrity": "sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/secp256k1": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.7.tgz", - "integrity": "sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" + "@types/node": "*" } }, "node_modules/@types/semver": { @@ -7737,87 +7169,12 @@ "@rdfjs/types": "^2.0.0" } }, - "node_modules/@zazuko/env": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/@zazuko/env/-/env-2.5.3.tgz", - "integrity": "sha512-kivvYoXGFjva1CuXeK/jaaWMy9eXhhFmuSfSJGVW2wH7XbcZehJObjPXEVlZ3kKLCFhuv96j8Ot3SkbYaOtuLA==", - "license": "MIT", - "dependencies": { - "@rdfjs/data-model": "^2.0.1", - "@rdfjs/dataset": "^2.0.1", - "@rdfjs/formats": "^4.0.0", - "@rdfjs/namespace": "^2.0.0", - "@rdfjs/term-map": "^2.0.0", - "@rdfjs/term-set": "^2.0.1", - "@rdfjs/traverser": "^0.1.2", - "@tpluscode/rdf-ns-builders": "^4.1.0", - "@zazuko/env-core": "^1.1.2", - "@zazuko/prefixes": "^2.1.0", - "clownface": "^2.0.2", - "get-stream": "^9.0.1", - "rdf-dataset-ext": "^1.1.0" - }, - "peerDependencies": { - "@rdfjs/types": "^2", - "@types/clownface": "^2.0.0", - "@types/rdf-dataset-ext": "^1.0.8", - "@types/rdfjs__data-model": "^2.0.9", - "@types/rdfjs__dataset": "^2.0.7", - "@types/rdfjs__environment": "^1.0.0", - "@types/rdfjs__formats": "^4.0.1", - "@types/rdfjs__namespace": "^2.0.10", - "@types/rdfjs__term-map": "^2.0.10", - "@types/rdfjs__term-set": "^2.0.9", - "@types/rdfjs__traverser": "^0.1.5" - } - }, - "node_modules/@zazuko/env-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@zazuko/env-core/-/env-core-1.1.2.tgz", - "integrity": "sha512-mnLG40utuT7jPBPLs6fJ0puhfagnXSj+S8t9+zUGs3YlrOq/7b2zr64Hi3p3etwDdApaQ0VgQuNIY9doaruS1Q==", - "dependencies": { - "@rdfjs/environment": "^1.0.0" - }, - "peerDependencies": { - "@types/rdfjs__environment": "^1.0.0" - } - }, - "node_modules/@zazuko/env-node": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@zazuko/env-node/-/env-node-2.1.5.tgz", - "integrity": "sha512-qYrePSWiz9XOB5R0NfvuaogmPP8gLcMsl18G7sYW1h6RB4l3aiofAr4YAKTK+bpJgGjeivDDi64lsQjF2F6p0g==", - "license": "MIT", - "dependencies": { - "@rdfjs/fetch-lite": "^3.2.2", - "@rdfjs/formats": "^4.0.0", - "@zazuko/env": "^2.5.3", - "@zazuko/rdf-utils-fs": "^3.3.0" - }, - "peerDependencies": { - "@types/rdfjs__fetch-lite": "^3.0.11", - "@types/rdfjs__formats": "^4.0.1" - } - }, "node_modules/@zazuko/prefixes": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@zazuko/prefixes/-/prefixes-2.6.1.tgz", "integrity": "sha512-fbOadP7twxt0ZYT9mgIC+xQMk6f3pYYLI5a/2UJ/mc/ygqb/NoVv2ryK3lTtoi74xwkdpUeDwIuFQSosowzUgg==", "license": "MIT" }, - "node_modules/@zazuko/rdf-utils-fs": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@zazuko/rdf-utils-fs/-/rdf-utils-fs-3.3.1.tgz", - "integrity": "sha512-4HjTbJUwiCFanMMcaaZkLIkWUdVjXSQstAyxnfzsUOmh8Q43iVBL+mYAl17zoi47III0POL6hitRsN1JJ5tUFg==", - "license": "MIT", - "dependencies": { - "readable-stream": ">=3.6.0" - }, - "peerDependencies": { - "@rdfjs/types": "*", - "@types/rdfjs__environment": "0 - 1", - "@types/rdfjs__formats": "^4" - } - }, "node_modules/abbrev": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", @@ -7887,26 +7244,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/abstract-level/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -9100,13 +8437,10 @@ "license": "CC-BY-4.0" }, "node_modules/canonicalize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.1.0.tgz", - "integrity": "sha512-F705O3xrsUtgt98j7leetNhTWPe+5S72rlL5O4jA1pKqBVQ/dT1O1D6PFxmSXvc0SUOinWS57DKx0I3CHrXJHQ==", - "license": "Apache-2.0", - "bin": { - "canonicalize": "bin/canonicalize.js" - } + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", + "license": "Apache-2.0" }, "node_modules/cborg": { "version": "4.5.8", @@ -10260,12 +9594,6 @@ "node": ">= 0.4" } }, - "node_modules/duplex-to": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/duplex-to/-/duplex-to-2.0.0.tgz", - "integrity": "sha512-f2nMnk11mwDptEFBTv2mcWHpF4ENAbuQ63yTiSy/99rG4Exsxsf0GJhJYq/AHF2cdMYswSx23LPuoijBflpquQ==", - "license": "MIT" - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -12575,22 +11903,6 @@ "node": ">= 0.4" } }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "license": "MIT", - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", @@ -13095,15 +12407,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/http-link-header": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.1.3.tgz", - "integrity": "sha512-3cZ0SRL8fb9MUlU3mKM61FcQvPfXx2dBrZW3Vbg5CXa8jFlK8OaEpePenLe1oEXQduhz8b0QjsqfS59QP4AJDQ==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -13183,9 +12486,23 @@ } }, "node_modules/ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "BSD-3-Clause" }, "node_modules/ignore": { @@ -13834,18 +13151,6 @@ "protocols": "^2.0.1" } }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-string": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", @@ -14459,161 +13764,56 @@ } }, "node_modules/jsonld": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-9.0.0.tgz", - "integrity": "sha512-pjMIdkXfC1T2wrX9B9i2uXhGdyCmgec3qgMht+TDj+S0qX3bjWMQUfL7NeqEhuRTi8G5ESzmL9uGlST7nzSEWg==", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.3.tgz", + "integrity": "sha512-9YcilrF+dLfg9NTEof/mJLMtbdX1RJ8dbWtJgE00cMOIohb1lIyJl710vFiTaiHTl6ZYODJuBd32xFvUhmv3kg==", "license": "BSD-3-Clause", "dependencies": { - "@digitalbazaar/http-client": "^4.2.0", - "canonicalize": "^2.1.0", + "@digitalbazaar/http-client": "^3.4.1", + "canonicalize": "^1.0.1", "lru-cache": "^6.0.0", - "rdf-canonize": "^5.0.0" + "rdf-canonize": "^3.4.0" }, "engines": { - "node": ">=18" + "node": ">=14" } }, - "node_modules/jsonld-context-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-3.1.0.tgz", - "integrity": "sha512-BfgNJ/t9jjK7Lun9XRCJM6YeNqDk8B6/lg+KS8rzhXAOtS0FvoClSmtLvF24V1M2CDYRy2LcEBt0ilxqSX93WA==", + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", "license": "MIT", "dependencies": { - "@types/http-link-header": "^1.0.1", - "@types/node": "^18.0.0", - "http-link-header": "^1.0.2", - "relative-to-absolute-iri": "^1.0.5" - }, - "bin": { - "jsonld-context-parse": "bin/jsonld-context-parse.js" + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/rubensworks/" + "engines": { + "node": ">=12", + "npm": ">=6" } }, - "node_modules/jsonld-context-parser/node_modules/@types/node": { - "version": "18.19.130", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.130.tgz", - "integrity": "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/jsonld-context-parser/node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/jsonld-streaming-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-5.0.1.tgz", - "integrity": "sha512-Rf230DRAWe5p1H4e7phk1vo4FHEMOmC5xVcIywKJBBcwy6zaJWFcAvPcwngufNTdJs7dpTMbKQDjp4TYDpMKUQ==", - "license": "MIT", - "dependencies": { - "@bergos/jsonparse": "^1.4.0", - "@types/http-link-header": "^1.0.1", - "@types/readable-stream": "^4.0.0", - "buffer": "^6.0.3", - "canonicalize": "^1.0.1", - "http-link-header": "^1.0.2", - "jsonld-context-parser": "^3.1.0", - "rdf-data-factory": "^2.0.0", - "readable-stream": "^4.0.0" - }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/rubensworks/" - } - }, - "node_modules/jsonld-streaming-parser/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/jsonld-streaming-parser/node_modules/canonicalize": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", - "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", - "license": "Apache-2.0" - }, - "node_modules/jsonld-streaming-parser/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/jsonwebtoken": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", - "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", - "license": "MIT", - "dependencies": { - "jws": "^4.0.1", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" } }, "node_modules/just-extend": { @@ -14690,17 +13890,69 @@ "license": "MIT" }, "node_modules/ky": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", - "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==", + "version": "0.33.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz", + "integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==", "license": "MIT", "engines": { - "node": ">=18" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sindresorhus/ky?sponsor=1" } }, + "node_modules/ky-universal": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.11.0.tgz", + "integrity": "sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "node-fetch": "^3.2.10" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/ky-universal?sponsor=1" + }, + "peerDependencies": { + "ky": ">=0.31.4", + "web-streams-polyfill": ">=3.2.1" + }, + "peerDependenciesMeta": { + "web-streams-polyfill": { + "optional": true + } + } + }, + "node_modules/ky-universal/node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ky-universal/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/level": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/level/-/level-10.0.0.tgz", @@ -14765,26 +14017,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/level-transcoder/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -15622,26 +14854,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/n3/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/nan": { "version": "2.14.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", @@ -15942,45 +15154,6 @@ "dev": true, "license": "MIT" }, - "node_modules/nodeify-fetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nodeify-fetch/-/nodeify-fetch-3.1.0.tgz", - "integrity": "sha512-ZV81vM//sEgTgXwVZlOONzcOCdTGQ53mV65FVSNXgPQHa8oCwRLtLbnGxL/1S/Yw90bcXUDKMz00jEnaeazo+A==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.21", - "node-fetch": "^3.2.10", - "readable-stream": "^4.2.0", - "stream-chunks": "^1.0.0" - } - }, - "node_modules/nodeify-fetch/node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/nodeify-fetch/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "license": "MIT", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/nopt": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", @@ -17704,15 +16877,15 @@ } }, "node_modules/rdf-canonize": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-5.0.0.tgz", - "integrity": "sha512-g8OUrgMXAR9ys/ZuJVfBr05sPPoMA7nHIVs8VEvg9QwM5W4GR2qSFEEHjsyHF1eWlBaf8Ev40WNjQFQ+nJTO3w==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", + "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", "license": "BSD-3-Clause", "dependencies": { "setimmediate": "^1.0.5" }, "engines": { - "node": ">=18" + "node": ">=12" } }, "node_modules/rdf-data-factory": { @@ -17728,29 +16901,6 @@ "url": "https://github.com/sponsors/rubensworks/" } }, - "node_modules/rdf-dataset-ext": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/rdf-dataset-ext/-/rdf-dataset-ext-1.1.0.tgz", - "integrity": "sha512-CH85RfRKN9aSlbju8T7aM8hgCSWMBsh2eh/tGxUUtWMN+waxi6iFDt8/r4PAEmKaEA82guimZJ4ISbmJ2rvWQg==", - "deprecated": "rdf-dataset-ext is deprecated. Switching to rdf-ext is recommended.", - "license": "MIT", - "dependencies": { - "rdf-canonize": "^3.0.0", - "readable-stream": "3 - 4" - } - }, - "node_modules/rdf-dataset-ext/node_modules/rdf-canonize": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", - "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", - "license": "BSD-3-Clause", - "dependencies": { - "setimmediate": "^1.0.5" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/rdf-literal": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-2.0.0.tgz", @@ -17821,100 +16971,6 @@ "rdf-data-factory": "^1.1.0" } }, - "node_modules/rdfxml-streaming-parser": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-2.4.0.tgz", - "integrity": "sha512-f+tdI1wxOiPzMbFWRtOwinwPsqac0WIN80668yFKcVdFCSTGOWTM70ucQGUSdDZZo7pce/UvZgV0C3LDj0P7tg==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": "*", - "@rubensworks/saxes": "^6.0.1", - "@types/readable-stream": "^2.3.13", - "buffer": "^6.0.3", - "rdf-data-factory": "^1.1.0", - "readable-stream": "^4.4.2", - "relative-to-absolute-iri": "^1.0.0", - "validate-iri": "^1.0.0" - } - }, - "node_modules/rdfxml-streaming-parser/node_modules/@rdfjs/types": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.1.2.tgz", - "integrity": "sha512-wqpOJK1QCbmsGNtyzYnojPU8gRDPid2JO0Q0kMtb4j65xhCK880cnKAfEOwC+dX85VJcCByQx5zOwyyfCjDJsg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/rdfxml-streaming-parser/node_modules/@types/readable-stream": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", - "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/rdfxml-streaming-parser/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/rdfxml-streaming-parser/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/rdfxml-streaming-parser/node_modules/rdf-data-factory": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.3.tgz", - "integrity": "sha512-ny6CI7m2bq4lfQQmDYvcb2l1F9KtGwz9chipX4oWu2aAtVoXjb7k3d8J1EsgAsEbMXnBipB/iuRen5H2fwRWWQ==", - "license": "MIT", - "dependencies": { - "@rdfjs/types": "^1.0.0" - } - }, - "node_modules/rdfxml-streaming-parser/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -17962,26 +17018,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/readable-stream/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/readdirp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", @@ -18075,12 +17111,6 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/relative-to-absolute-iri": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.7.tgz", - "integrity": "sha512-Xjyl4HmIzg2jzK/Un2gELqbcE8Fxy85A/aLSHE6PE/3+OGsFwmKVA1vRyGaz6vLWSqLDMHA+5rjD/xbibSQN1Q==", - "license": "MIT" - }, "node_modules/release-it": { "version": "20.0.0", "resolved": "https://registry.npmjs.org/release-it/-/release-it-20.0.0.tgz", @@ -19212,60 +18242,6 @@ "node": ">= 6" } }, - "node_modules/stream-chunks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-chunks/-/stream-chunks-1.0.0.tgz", - "integrity": "sha512-/G+kinLx3pKXChtuko82taA4gZo56zFG2b2BbhmugmS0TUPBL40c5b2vjonS+gAHYK/cSKM9m0WTvAJYgDUeNw==", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "string_decoder": "^1.3.0" - } - }, - "node_modules/stream-chunks/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/stream-chunks/node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, "node_modules/stream-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-concat/-/stream-concat-1.0.0.tgz", @@ -20375,12 +19351,6 @@ "node": ">= 0.4.0" } }, - "node_modules/validate-iri": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/validate-iri/-/validate-iri-1.0.1.tgz", - "integrity": "sha512-gLXi7351CoyVVQw8XE5sgpYawRKatxE7kj/xmCxXOZS1kMdtcqC0ILIqLuVEVnAUQSL/evOGG3eQ+8VgbdnstA==", - "license": "MIT" - }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -20942,12 +19912,6 @@ "node": ">=4.0" } }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "license": "MIT" - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index fd00bd054..d32e99312 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ocean-node", - "version": "3.1.12", + "version": "3.2.0", "description": "Ocean Node is used to run all core services in the Ocean stack", "author": "Ocean Protocol Foundation", "license": "Apache-2.0", @@ -74,7 +74,7 @@ "@libp2p/websockets": "^10.1.2", "@multiformats/multiaddr": "^12.2.3", "@oceanprotocol/contracts": "^2.7.0", - "@oceanprotocol/ddo-js": "^0.2.0", + "@oceanprotocol/ddo-js": "^0.4.0", "axios": "^1.15.0", "base58-js": "^2.0.0", "basic-ftp": "^5.3.1", diff --git a/src/components/c2d/compute_engine_docker.ts b/src/components/c2d/compute_engine_docker.ts index 4daa31449..bde2b8fcc 100755 --- a/src/components/c2d/compute_engine_docker.ts +++ b/src/components/c2d/compute_engine_docker.ts @@ -88,6 +88,7 @@ export class C2DEngineDocker extends C2DEngine { private trivyCachePath: string private cpuAllocations: Map = new Map() private envCpuCoresMap: Map = new Map() + private activeBuildAborts: Map = new Map() public constructor( clusterConfig: C2DClusterInfo, @@ -1730,6 +1731,41 @@ export class C2DEngineDocker extends C2DEngine { - delete the container - delete the volume */ + + if ( + job.status === C2DStatusNumber.BuildImage || + job.status === C2DStatusNumber.PullImage + ) { + // In-process build/pull: abort if stop was requested, then let the + // existing catch handler finalize. Otherwise let it run. + const activeBuildAbort = this.activeBuildAborts.get(job.jobId) + if (activeBuildAbort) { + if (job.stopRequested === true) { + activeBuildAbort.abort() + } + return + } + + // No active build abort → orphan (the process running build/pull died). + const isBuild = job.status === C2DStatusNumber.BuildImage + const nowSec = Date.now() / 1000 + job.status = isBuild + ? C2DStatusNumber.BuildImageFailed + : C2DStatusNumber.PullImageFailed + job.statusText = isBuild + ? C2DStatusText.BuildImageFailed + : C2DStatusText.PullImageFailed + job.isRunning = false + if (isBuild) { + job.buildStopTimestamp = String(nowSec) + } + job.dateFinished = String(nowSec) + + await this.db.updateJob(job) + await this.cleanupJob(job) + return + } + if (job.status === C2DStatusNumber.JobQueued) { // check if we can start the job now const now = String(Date.now() / 1000) @@ -2516,6 +2552,9 @@ export class C2DEngineDocker extends C2DEngine { private async pullImage(originaljob: DBComputeJob) { const job = JSON.parse(JSON.stringify(originaljob)) as DBComputeJob const imageLogFile = this.getStoragePath() + '/' + job.jobId + '/data/logs/image.log' + const controller = new AbortController() + const timer = setTimeout(() => controller.abort(), this.getImagePullTimeoutMs()) + this.activeBuildAborts.set(job.jobId, controller) try { // Get registry auth for the image const { registry } = this.parseImage(job.containerImage) @@ -2559,8 +2598,7 @@ export class C2DEngineDocker extends C2DEngine { `Using docker registry auth for ${registry} to pull image ${job.containerImage}` ) } - pullOptions.abortSignal = AbortSignal.timeout(this.getImagePullTimeoutMs()) - + pullOptions.abortSignal = controller.signal const pullStream = await this.docker.pull(job.containerImage, pullOptions) await new Promise((resolve, reject) => { let wroteStatusBanner = false @@ -2609,6 +2647,9 @@ export class C2DEngineDocker extends C2DEngine { job.dateFinished = String(Date.now() / 1000) await this.db.updateJob(job) await this.cleanupJob(job) + } finally { + clearTimeout(timer) + this.activeBuildAborts.delete(job.jobId) } } @@ -2617,11 +2658,11 @@ export class C2DEngineDocker extends C2DEngine { additionalDockerFiles: { [key: string]: any } ) { const job = JSON.parse(JSON.stringify(originaljob)) as DBComputeJob - const imageLogFile = - this.getC2DConfig().tempFolder + '/' + job.jobId + '/data/logs/image.log' + const imageLogFile = this.getStoragePath() + '/' + job.jobId + '/data/logs/image.log' const controller = new AbortController() const timeoutMs = job.maxJobDuration * 1000 const timer = setTimeout(() => controller.abort(), timeoutMs) + this.activeBuildAborts.set(job.jobId, controller) try { const pack = tarStream.pack() @@ -2760,6 +2801,7 @@ export class C2DEngineDocker extends C2DEngine { await this.cleanupJob(job) } finally { clearTimeout(timer) + this.activeBuildAborts.delete(job.jobId) } } diff --git a/src/components/database/ElasticSchemas.ts b/src/components/database/ElasticSchemas.ts index 6f3b5b6f9..9e2064fb4 100644 --- a/src/components/database/ElasticSchemas.ts +++ b/src/components/database/ElasticSchemas.ts @@ -1,8 +1,4 @@ -import fs from 'fs' -import path, { dirname, resolve } from 'path' -import { fileURLToPath } from 'url' -import { DATABASE_LOGGER } from '../../utils/logging/common.js' -import { LOG_LEVELS_STR } from '../../utils/logging/Logger.js' +import { ddoElasticMappings } from '@oceanprotocol/ddo-js' export type ElasticsearchSchema = { index: string @@ -18,75 +14,6 @@ export type ElasticsearchSchema = { } } -export function readElasticsearchJsonSchemas(): ElasticsearchSchema[] { - const jsonDocuments: ElasticsearchSchema[] = [] - const pathToSchemaDir: string = '../../../schemas' - const currentModulePath = fileURLToPath(import.meta.url) - - try { - const currentDirectory = dirname(currentModulePath) - const schemaFilePath = resolve(currentDirectory, pathToSchemaDir) - const jsonFiles = fs - .readdirSync(schemaFilePath) - .filter((file) => path.extname(file) === '.json') - - if (jsonFiles.length === 0) { - DATABASE_LOGGER.log( - LOG_LEVELS_STR.LEVEL_ERROR, - `No JSON files found in the schemas directory ${schemaFilePath}.`, - true - ) - return [] - } else { - jsonFiles.forEach((file) => { - const fileData = fs.readFileSync(path.join(schemaFilePath, file), 'utf-8') - const jsonFile = JSON.parse(fileData.toString()) - - const esSchema: ElasticsearchSchema = { - index: jsonFile.name, - body: { - mappings: { - properties: jsonFile.fields.reduce((acc: any, field: any) => { - acc[field.name] = { type: convertToElasticsearchType(field.type) } - if (field.sort) { - acc[field.name].index = true - } - if (field.optional) { - acc[field.name].null_value = null - } - if (field.enum) { - acc[field.name].enum = field.enum - } - return acc - }, {}) - } - } - } - - jsonDocuments.push(esSchema) - }) - return jsonDocuments - } - } catch (error) { - DATABASE_LOGGER.log( - LOG_LEVELS_STR.LEVEL_ERROR, - `JSON mappings could not be loaded in Elasticsearch database. - Error: ${error}`, - true - ) - } - return [] -} - -function convertToElasticsearchType(typesenseType: string): string { - const typeMapping: { [key: string]: string } = { - int64: 'long', - string: 'keyword', - bool: 'boolean' - } - return typeMapping[typesenseType] || 'text' -} - export type ElasticsearchSchemas = { ddoSchemas: ElasticsearchSchema[] nonceSchemas: ElasticsearchSchema @@ -94,11 +21,38 @@ export type ElasticsearchSchemas = { logSchemas: ElasticsearchSchema orderSchema: ElasticsearchSchema ddoStateSchema: ElasticsearchSchema + accessListSchema: ElasticsearchSchema +} + +// "op_ddo_short" is a node-side index for deprecated DDOs (state !== 0). +// Not part of the DDO spec, so it stays here rather than in @oceanprotocol/ddo-js. +const ddoShortSchema: ElasticsearchSchema = { + index: 'op_ddo_short', + body: { + mappings: { + properties: { + id: { type: 'keyword' }, + version: { type: 'keyword' }, + chainId: { type: 'long' }, + nftAddress: { type: 'keyword' }, + indexedMetadata: { + type: 'object', + properties: { + nft: { + type: 'object', + properties: { + state: { type: 'integer' } + } + } + } + } + } + } + } } -const ddoSchemas = readElasticsearchJsonSchemas() export const elasticSchemas: ElasticsearchSchemas = { - ddoSchemas, + ddoSchemas: [...(ddoElasticMappings as ElasticsearchSchema[]), ddoShortSchema], nonceSchemas: { index: 'nonce', body: { @@ -164,5 +118,30 @@ export const elasticSchemas: ElasticsearchSchemas = { } } } + }, + accessListSchema: { + index: 'access_list', + body: { + mappings: { + properties: { + chainId: { type: 'integer' }, + contractAddress: { type: 'keyword' }, + name: { type: 'keyword' }, + symbol: { type: 'keyword' }, + transferable: { type: 'boolean' }, + users: { + type: 'nested', + properties: { + wallet: { type: 'keyword' }, + tokenId: { type: 'long' }, + block: { type: 'long' }, + txId: { type: 'keyword' } + } + }, + deploymentBlock: { type: 'long' }, + deploymentTxId: { type: 'keyword' } + } + } + } } } diff --git a/src/components/database/ElasticSearchDatabase.ts b/src/components/database/ElasticSearchDatabase.ts index 8918d112d..09e47ca03 100644 --- a/src/components/database/ElasticSearchDatabase.ts +++ b/src/components/database/ElasticSearchDatabase.ts @@ -485,10 +485,27 @@ export class ElasticsearchDdoDatabase extends AbstractDdoDatabase { return (async (): Promise => { this.client = await createElasticsearchClientWithRetry(config) + await this.initializeIndexes() return this })() as unknown as ElasticsearchDdoDatabase } + private async initializeIndexes() { + for (const schema of this.getSchemas()) { + try { + const exists = await this.client.indices.exists({ index: schema.index }) + if (!exists) { + await this.client.indices.create({ + index: schema.index, + body: schema.body as any + }) + } + } catch (e) { + DATABASE_LOGGER.error(`Failed to create DDO index ${schema.index}: ${e.message}`) + } + } + } + getSchemas(): ElasticsearchSchema[] { return this.schemas as ElasticsearchSchema[] } diff --git a/src/test/unit/buildImage.test.ts b/src/test/unit/buildImage.test.ts index caafbc234..51c3b94eb 100644 --- a/src/test/unit/buildImage.test.ts +++ b/src/test/unit/buildImage.test.ts @@ -110,8 +110,9 @@ describe('C2DEngineDocker.buildImage', () => { const { engine, db } = await makeEngine({ tempFolder }) const job = makeJob() - mkdirSync(path.join(tempFolder, job.jobId, 'data', 'logs'), { recursive: true }) - + mkdirSync(path.join((engine as any).getStoragePath(), job.jobId, 'data', 'logs'), { + recursive: true + }) const buildStream = new Readable({ read() {} }) ;(engine as any).docker = { buildImage: sinon.stub().resolves(buildStream), @@ -135,8 +136,9 @@ describe('C2DEngineDocker.buildImage', () => { const { engine, db } = await makeEngine({ tempFolder }) const job = makeJob({ containerImage: 'ocean-node-test:job-123-success' }) - mkdirSync(path.join(tempFolder, job.jobId, 'data', 'logs'), { recursive: true }) - + mkdirSync(path.join((engine as any).getStoragePath(), job.jobId, 'data', 'logs'), { + recursive: true + }) const buildStream = new Readable({ read() {} }) ;(engine as any).docker = { buildImage: sinon.stub().resolves(buildStream),