├── out └── .gitkeep ├── image ├── Doremon.jpg ├── Nobita.png ├── elonmusk.jpg ├── Abdul-kalam.jpg └── NarendraModi.jpg ├── test └── wp2153297.jpg ├── src ├── check-schema.js ├── create-schema.js ├── client.js ├── add-images.js └── search.js ├── model └── Image.js ├── .prettierignore ├── docker-compose.yml ├── package.json ├── README.md ├── .gitignore └── yarn.lock /out/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /image/Doremon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/innovatorved/VectorBase/HEAD/image/Doremon.jpg -------------------------------------------------------------------------------- /image/Nobita.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/innovatorved/VectorBase/HEAD/image/Nobita.png -------------------------------------------------------------------------------- /image/elonmusk.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/innovatorved/VectorBase/HEAD/image/elonmusk.jpg -------------------------------------------------------------------------------- /test/wp2153297.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/innovatorved/VectorBase/HEAD/test/wp2153297.jpg -------------------------------------------------------------------------------- /image/Abdul-kalam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/innovatorved/VectorBase/HEAD/image/Abdul-kalam.jpg -------------------------------------------------------------------------------- /image/NarendraModi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/innovatorved/VectorBase/HEAD/image/NarendraModi.jpg -------------------------------------------------------------------------------- /src/check-schema.js: -------------------------------------------------------------------------------- 1 | import client from "./client.js"; 2 | 3 | const ReadSchema = await client.schema.getter().do(); 4 | console.log(ReadSchema); 5 | -------------------------------------------------------------------------------- /src/create-schema.js: -------------------------------------------------------------------------------- 1 | import Schema from "../model/Image.js"; 2 | import client from "./client.js"; 3 | 4 | await client.schema.classCreator().withClass(Schema).do(); 5 | -------------------------------------------------------------------------------- /src/client.js: -------------------------------------------------------------------------------- 1 | import weaviate from "weaviate-ts-client"; 2 | 3 | const client = weaviate.client({ 4 | scheme: "http", 5 | host: "localhost:8080", 6 | }); 7 | 8 | export default client; 9 | -------------------------------------------------------------------------------- /model/Image.js: -------------------------------------------------------------------------------- 1 | const config = { 2 | class: "imgsearch", 3 | vectorizer: "img2vec-neural", 4 | vectorIndexType: "hnsw", 5 | moduleConfig: { 6 | "img2vec-neural": { 7 | imageFields: ["image"], 8 | }, 9 | }, 10 | properties: [ 11 | { 12 | name: "image", 13 | dataType: ["blob"], 14 | }, 15 | { 16 | name: "text", 17 | dataType: ["string"], 18 | }, 19 | ], 20 | }; 21 | 22 | export default config; 23 | -------------------------------------------------------------------------------- /src/add-images.js: -------------------------------------------------------------------------------- 1 | import { readdirSync, readFileSync } from "fs"; 2 | import path from "path"; 3 | import client from "./client.js"; 4 | 5 | const __dirname = path.dirname(new URL(import.meta.url).pathname); 6 | const imageDir = path.join(__dirname, "..", "image"); 7 | const imageFiles = readdirSync(imageDir); 8 | 9 | for (const file of imageFiles) { 10 | const img = readFileSync(path.join(imageDir, file)); 11 | const b64 = Buffer.from(img).toString("base64"); 12 | const img_name = path.parse(file).name; 13 | 14 | await client.data 15 | .creator() 16 | .withClassName("imgsearch") 17 | .withProperties({ 18 | image: b64, 19 | text: img_name, 20 | }) 21 | .do(); 22 | } 23 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore gitignored files 2 | .gitignored 3 | # Ignore node_modules directory 4 | node_modules 5 | # Ignore coverage reports 6 | coverage 7 | # Ignore build artifacts 8 | build 9 | dist 10 | # Ignore log files 11 | *.log 12 | # Ignore binary files 13 | *.jpg 14 | *.jpeg 15 | *.png 16 | *.gif 17 | # Ignore fonts and icons 18 | *.eot 19 | *.ttf 20 | *.woff 21 | *.woff2 22 | *.svg 23 | # Ignore generated files 24 | *.min.js 25 | *.min.css 26 | *.map 27 | # Ignore files starting with a dot 28 | .* 29 | # Ignore test fixtures 30 | __fixtures__ 31 | # Ignore test snapshots 32 | __snapshots__ 33 | # Ignore ESLint cache files 34 | .eslintcache 35 | # Ignore TypeScript cache files 36 | *.tsbuildinfo 37 | 38 | # DockerFile 39 | docker-compose.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: '3.4' 3 | services: 4 | weaviate: 5 | command: 6 | - --host 7 | - 0.0.0.0 8 | - --port 9 | - '8080' 10 | - --scheme 11 | - http 12 | image: semitechnologies/weaviate:1.18.3 13 | ports: 14 | - 8080:8080 15 | restart: on-failure:0 16 | environment: 17 | IMAGE_INFERENCE_API: 'http://i2v-neural:8080' 18 | QUERY_DEFAULTS_LIMIT: 25 19 | AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' 20 | PERSISTENCE_DATA_PATH: '/var/lib/weaviate' 21 | DEFAULT_VECTORIZER_MODULE: 'img2vec-neural' 22 | ENABLE_MODULES: 'img2vec-neural' 23 | CLUSTER_HOSTNAME: 'node1' 24 | i2v-neural: 25 | image: semitechnologies/img2vec-pytorch:resnet50 26 | environment: 27 | ENABLE_CUDA: '0' 28 | ... -------------------------------------------------------------------------------- /src/search.js: -------------------------------------------------------------------------------- 1 | import { readdirSync, readFileSync, writeFileSync } from "fs"; 2 | import path from "path"; 3 | 4 | import client from "./client.js"; 5 | 6 | const __dirname = path.dirname(new URL(import.meta.url).pathname); 7 | const outDir = path.join(__dirname, "..", "out"); 8 | const testDir = path.join(__dirname, "..", "test"); 9 | const testFile = readdirSync(testDir)[0]; 10 | 11 | const test = Buffer.from(readFileSync(path.join(testDir, testFile))).toString( 12 | "base64" 13 | ); 14 | let limit = 1; 15 | 16 | const resImage = await client.graphql 17 | .get() 18 | .withClassName("Imgsearch") 19 | .withFields(["image"]) 20 | .withNearImage({ image: test }) 21 | .withLimit(limit) 22 | .do(); 23 | const result = resImage.data.Get.Imgsearch[0].image; 24 | writeFileSync(path.join(outDir, `result-${0}.jpg`), result, "base64"); 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vector-base", 3 | "version": "1.0.0", 4 | "description": "VectorBase is a vector image search engine shared on GitHub. It uses vector databases for quick, accurate image search. Its interface and advanced algorithms make it perfect for personal use. Find the ideal vector image for your project in seconds with VectorBase.", 5 | "main": "index.js", 6 | "type": "module", 7 | "scripts": { 8 | "check-schema": "node ./src/check-schema.js", 9 | "add-imgs": "node ./src/add-images.js", 10 | "search": "node ./src/search.js", 11 | "create-schema": "node ./src/create-schema.js", 12 | "prettier": "prettier --write ." 13 | }, 14 | "repository": "https://github.com/innovatorved/VectorBase", 15 | "author": "Ved Gupta ", 16 | "license": "MIT", 17 | "dependencies": { 18 | "graphql": "^16.6.0", 19 | "weaviate-ts-client": "^1.0.0" 20 | }, 21 | "devDependencies": { 22 | "prettier": "^2.8.7" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VectorBase 2 | 3 | ### A Powerful and Accurate Search Engine for Your Image Collection 4 | 5 | Our powerful image search engine uses vector databases to store and search for similar images. Upload your images and use an input image to quickly identify the closest matches. With our app, you can easily organize and search your image collection with speed and accuracy. Try it today! 6 | 7 | ## Run `DockerCompose` file 8 | 9 | ```bash 10 | docker-compose up -d 11 | ``` 12 | 13 | ## Create schema for vector databases 14 | 15 | ```bash 16 | yarn run create-schema 17 | ``` 18 | 19 | ## Add Images 20 | 21 | Add Images to `images` folder with proper `filename` that consist details about image and run the program to index them. 22 | 23 | ```bash 24 | yarn run add-imgs 25 | ``` 26 | 27 | ## Run the program to search for images 28 | 29 | Note : Please make sure before searching an same likely image please add you test image in to `test` folder. 30 | 31 | ```bash 32 | yarn run search 33 | ``` 34 | 35 | ## Reference 36 | 37 | - [https://learn.microsoft.com/en-us/semantic-kernel/concepts-ai/vectordb](https://learn.microsoft.com/en-us/semantic-kernel/concepts-ai/vectordb) 38 | - [https://weaviate.io/developers/wcs](https://weaviate.io/developers/wcs) 39 | 40 | ## Authors 41 | 42 | - [Ved Gupta](https://www.github.com/innovatorved) 43 | 44 | ## 🚀 About Me 45 | 46 | I'm a Developer i will feel the code then write . 47 | 48 | ## Support 49 | 50 | For support, email vedgupta@protonmail.com 51 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | 106 | # ignore output 107 | out/*.jpg 108 | out/*.png 109 | out/*.gif -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@graphql-typed-document-node/core@^3.1.1": 6 | version "3.2.0" 7 | resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" 8 | integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== 9 | 10 | asynckit@^0.4.0: 11 | version "0.4.0" 12 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 13 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 14 | 15 | chownr@^2.0.0: 16 | version "2.0.0" 17 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" 18 | integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== 19 | 20 | combined-stream@^1.0.8: 21 | version "1.0.8" 22 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 23 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 24 | dependencies: 25 | delayed-stream "~1.0.0" 26 | 27 | cross-fetch@^3.1.5: 28 | version "3.1.5" 29 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" 30 | integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== 31 | dependencies: 32 | node-fetch "2.6.7" 33 | 34 | delayed-stream@~1.0.0: 35 | version "1.0.0" 36 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 37 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 38 | 39 | extract-files@^9.0.0: 40 | version "9.0.0" 41 | resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" 42 | integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== 43 | 44 | form-data@^3.0.0: 45 | version "3.0.1" 46 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 47 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 48 | dependencies: 49 | asynckit "^0.4.0" 50 | combined-stream "^1.0.8" 51 | mime-types "^2.1.12" 52 | 53 | fs-minipass@^2.0.0: 54 | version "2.1.0" 55 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" 56 | integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== 57 | dependencies: 58 | minipass "^3.0.0" 59 | 60 | graphql-request@^5.1.0: 61 | version "5.2.0" 62 | resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-5.2.0.tgz#a05fb54a517d91bb2d7aefa17ade4523dc5ebdca" 63 | integrity sha512-pLhKIvnMyBERL0dtFI3medKqWOz/RhHdcgbZ+hMMIb32mEPa5MJSzS4AuXxfI4sRAu6JVVk5tvXuGfCWl9JYWQ== 64 | dependencies: 65 | "@graphql-typed-document-node/core" "^3.1.1" 66 | cross-fetch "^3.1.5" 67 | extract-files "^9.0.0" 68 | form-data "^3.0.0" 69 | 70 | graphql@^16.6.0: 71 | version "16.6.0" 72 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" 73 | integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== 74 | 75 | isomorphic-fetch@^3.0.0: 76 | version "3.0.0" 77 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" 78 | integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== 79 | dependencies: 80 | node-fetch "^2.6.1" 81 | whatwg-fetch "^3.4.1" 82 | 83 | mime-db@1.52.0: 84 | version "1.52.0" 85 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 86 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 87 | 88 | mime-types@^2.1.12: 89 | version "2.1.35" 90 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 91 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 92 | dependencies: 93 | mime-db "1.52.0" 94 | 95 | minipass@^3.0.0: 96 | version "3.3.6" 97 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" 98 | integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== 99 | dependencies: 100 | yallist "^4.0.0" 101 | 102 | minipass@^4.0.0: 103 | version "4.2.5" 104 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" 105 | integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== 106 | 107 | minizlib@^2.1.1: 108 | version "2.1.2" 109 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" 110 | integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== 111 | dependencies: 112 | minipass "^3.0.0" 113 | yallist "^4.0.0" 114 | 115 | mkdirp@^1.0.3: 116 | version "1.0.4" 117 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 118 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 119 | 120 | node-fetch@2.6.7: 121 | version "2.6.7" 122 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 123 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 124 | dependencies: 125 | whatwg-url "^5.0.0" 126 | 127 | node-fetch@^2.6.1: 128 | version "2.6.9" 129 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" 130 | integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== 131 | dependencies: 132 | whatwg-url "^5.0.0" 133 | 134 | prettier@^2.8.7: 135 | version "2.8.7" 136 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" 137 | integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== 138 | 139 | tar@^6.1.13: 140 | version "6.1.13" 141 | resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" 142 | integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== 143 | dependencies: 144 | chownr "^2.0.0" 145 | fs-minipass "^2.0.0" 146 | minipass "^4.0.0" 147 | minizlib "^2.1.1" 148 | mkdirp "^1.0.3" 149 | yallist "^4.0.0" 150 | 151 | tr46@~0.0.3: 152 | version "0.0.3" 153 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 154 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 155 | 156 | weaviate-ts-client@^1.0.0: 157 | version "1.0.0" 158 | resolved "https://registry.yarnpkg.com/weaviate-ts-client/-/weaviate-ts-client-1.0.0.tgz#500428a1349f7ee93f667f8c3857d19dd3149ad8" 159 | integrity sha512-p2OdWyv5m4MmF3XV2lXqVufA9ak8p7eJDcjmvIoGiVeLnQoQCn7aLgKbb72BvszXkii6FCOgqhklQ33qezNGHg== 160 | dependencies: 161 | graphql-request "^5.1.0" 162 | isomorphic-fetch "^3.0.0" 163 | tar "^6.1.13" 164 | 165 | webidl-conversions@^3.0.0: 166 | version "3.0.1" 167 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 168 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 169 | 170 | whatwg-fetch@^3.4.1: 171 | version "3.6.2" 172 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" 173 | integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== 174 | 175 | whatwg-url@^5.0.0: 176 | version "5.0.0" 177 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 178 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 179 | dependencies: 180 | tr46 "~0.0.3" 181 | webidl-conversions "^3.0.0" 182 | 183 | yallist@^4.0.0: 184 | version "4.0.0" 185 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 186 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 187 | --------------------------------------------------------------------------------