diff --git a/package-lock.json b/package-lock.json index c29c711a6..0e000dc9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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,42 +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/@chainsafe/as-chacha20poly1305": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@chainsafe/as-chacha20poly1305/-/as-chacha20poly1305-0.1.0.tgz", @@ -1431,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": { @@ -2778,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", @@ -5234,78 +5220,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", @@ -5808,90 +5734,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/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", @@ -5901,104 +5743,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", @@ -6023,26 +5767,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", @@ -6059,24 +5783,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", @@ -6922,17 +6628,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", @@ -7030,15 +6725,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", @@ -7063,12 +6749,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", @@ -7164,95 +6844,6 @@ "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==", - "license": "MIT", - "peer": true, - "dependencies": { - "@rdfjs/types": ">=1.0.0", - "@types/readable-stream": "*" - } - }, - "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==", - "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", @@ -7262,125 +6853,6 @@ "@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", @@ -7703,87 +7175,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", @@ -9031,13 +8428,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", @@ -10178,12 +9572,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", @@ -12502,22 +11890,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", @@ -13028,15 +12400,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", @@ -13781,18 +13144,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", @@ -14388,130 +13739,45 @@ "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-with-bigint": { - "version": "3.5.7", - "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.7.tgz", - "integrity": "sha512-7ei3MdAI5+fJPVnKlW77TKNKwQ5ppSzWvhPuSuINT/GYW9ZOC1eRKOuhV9yHG5aEsUPj9BBx5JIekkmoLHxZOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonld": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-9.0.0.tgz", - "integrity": "sha512-pjMIdkXfC1T2wrX9B9i2uXhGdyCmgec3qgMht+TDj+S0qX3bjWMQUfL7NeqEhuRTi8G5ESzmL9uGlST7nzSEWg==", - "license": "BSD-3-Clause", - "dependencies": { - "@digitalbazaar/http-client": "^4.2.0", - "canonicalize": "^2.1.0", - "lru-cache": "^6.0.0", - "rdf-canonize": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "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==", - "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" - }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/rubensworks/" - } - }, - "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==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/json-with-bigint": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.7.tgz", + "integrity": "sha512-7ei3MdAI5+fJPVnKlW77TKNKwQ5ppSzWvhPuSuINT/GYW9ZOC1eRKOuhV9yHG5aEsUPj9BBx5JIekkmoLHxZOw==", + "dev": true, "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==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "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" + "bin": { + "json5": "lib/cli.js" }, - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/rubensworks/" + "engines": { + "node": ">=6" } }, - "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", + "node_modules/jsonld": { + "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "@digitalbazaar/http-client": "^3.4.1", + "canonicalize": "^1.0.1", + "lru-cache": "^6.0.0", + "rdf-canonize": "^3.4.0" + }, + "engines": { + "node": ">=14" } }, - "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/jsonwebtoken": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", @@ -14624,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", @@ -15864,45 +15182,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", @@ -17627,15 +16906,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": { @@ -17651,29 +16930,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", @@ -17744,80 +17000,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/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", @@ -17958,16 +17140,6 @@ "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/relative-to-absolute-iri": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/relative-to-absolute-iri/-/relative-to-absolute-iri-1.0.8.tgz", - "integrity": "sha512-U1TmhrhCmXKkDL9mI8gBbF5TN6TKcuv28k5+H3gMCAjoz0TyyHAICHlaGDZsTEBSu2Y3HhDKc8e6X9n33qeIqA==", - "license": "MIT", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/rubensworks/" - } - }, "node_modules/release-it": { "version": "20.0.0", "resolved": "https://registry.npmjs.org/release-it/-/release-it-20.0.0.tgz", @@ -19088,40 +18260,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-concat": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-concat/-/stream-concat-1.0.0.tgz", @@ -20238,12 +19376,6 @@ "uuid": "dist/bin/uuid" } }, - "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", @@ -20798,12 +19930,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 4f689458f..a8f26eae7 100644 --- a/package.json +++ b/package.json @@ -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/database/ElasticSchemas.ts b/src/components/database/ElasticSchemas.ts index 09462ca31..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 @@ -97,9 +24,35 @@ export type ElasticsearchSchemas = { accessListSchema: ElasticsearchSchema } -const ddoSchemas = readElasticsearchJsonSchemas() +// "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' } + } + } + } + } + } + } + } +} + export const elasticSchemas: ElasticsearchSchemas = { - ddoSchemas, + ddoSchemas: [...(ddoElasticMappings as ElasticsearchSchema[]), ddoShortSchema], nonceSchemas: { index: 'nonce', body: { diff --git a/src/components/database/ElasticSearchDatabase.ts b/src/components/database/ElasticSearchDatabase.ts index a5f3d88df..0a4876276 100644 --- a/src/components/database/ElasticSearchDatabase.ts +++ b/src/components/database/ElasticSearchDatabase.ts @@ -484,10 +484,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[] }