{"_id":"@bytebitlabs/nest-qdrant","_rev":"7-51969e19e3b4ab581fdc01de466b6698","name":"@bytebitlabs/nest-qdrant","dist-tags":{"latest":"1.1.0"},"versions":{"0.1.0":{"name":"@bytebitlabs/nest-qdrant","version":"0.1.0","license":"MIT","_id":"@bytebitlabs/nest-qdrant@0.1.0","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"dist":{"shasum":"74c6deadaf03c677e96afc58f1d5453a37384382","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-0.1.0.tgz","fileCount":20,"integrity":"sha512-450lV7Pd0xVkOpilCosJiMYmYQxMe/vwmgi/V8L+Xx3hIiBMj5dGyEil2n/7llwVIyraktK8njlKwg/QzTy1lg==","signatures":[{"sig":"MEQCIGkjHvSWAAEKogokRftFmpYSZ8gva8z3s/iblshbyE4YAiBCs4uguSFJsgcsoRUxNNSxh6Mt3YALOXqISGEv3/stkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11196},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"7ef6f8df4e9fdc0b5484ffb606791b86197af767","typings":"./src/index.d.ts","_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"_npmVersion":"10.5.2","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","directories":{},"_nodeVersion":"20.13.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nest-qdrant_0.1.0_1723730106708_0.33301226081665836","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@bytebitlabs/nest-qdrant","version":"0.1.1","license":"MIT","_id":"@bytebitlabs/nest-qdrant@0.1.1","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"dist":{"shasum":"2fab1c3ee8af47feabd7d159ea93b2411c0cb152","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-0.1.1.tgz","fileCount":20,"integrity":"sha512-FyLzb4Z/pXLymJXMrK7MR4zEFiYNg7N3a+o7p2i56Spg8cITA4ugaTyrK1+EaZ2wcsukHttbuP2T5TjuzGZTGg==","signatures":[{"sig":"MEYCIQC3syqwE975osyhgDkdjxVVOkkn9WnIO020rcg74hvKvwIhANj/zKa0S5ih/sS5FlkBtLqTzoeSuvkczOfKEeUPqKZG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11196},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"9ac581ff68f03d00df4a88865f2f1744a9ed2656","typings":"./src/index.d.ts","_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"_npmVersion":"10.5.2","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","directories":{},"_nodeVersion":"20.13.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nest-qdrant_0.1.1_1723745046086_0.7820177491581786","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@bytebitlabs/nest-qdrant","version":"0.1.3","license":"MIT","_id":"@bytebitlabs/nest-qdrant@0.1.3","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"dist":{"shasum":"2cda9ebf302114939c218f76d268d63414406fb3","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-0.1.3.tgz","fileCount":20,"integrity":"sha512-QLQdGwAabzYrZ3FQ7ZgNAt7Idonm3bRS2K4yDpwaaybarLtOqaBylm90Uuu7Xufw+u7eBBcXDa696knrHT62BQ==","signatures":[{"sig":"MEQCIEB99tIsYDUXTPWIFBmt8OQLNwDIprBILdJbpolePTkmAiBb+nqUADUmPhXymDVC+EAjOvgj5kBn2SA9FZVhzHz8BQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11196},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"bd1b5bf77c1e81013bb06d56f6d802aea7440d43","typings":"./src/index.d.ts","_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"_npmVersion":"10.5.2","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","directories":{},"_nodeVersion":"20.13.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nest-qdrant_0.1.3_1727159150419_0.7203966754792275","host":"s3://npm-registry-packages"}},"1.0.0-0":{"name":"@bytebitlabs/nest-qdrant","version":"1.0.0-0","license":"MIT","_id":"@bytebitlabs/nest-qdrant@1.0.0-0","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"dist":{"shasum":"ecb4f9813e7be899f27e4d754b011b9a06b36818","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-1.0.0-0.tgz","fileCount":20,"integrity":"sha512-lENT9obKqJ5OKzTukwuSlF5xCq7xO/RCfkClDYfKduzBHyalUlhQOidOBnrehmNiyb05IEVLH4mnTjsPRFG98Q==","signatures":[{"sig":"MEUCIQC0czjZFXn07SjxdTfg6qml9+RN8vp9edV1YXG+jqxTxgIgaFnb83yjtw7jg5jY51JCvbvttyQxbUdWV3W19XeyNPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11198},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"ba9fcdf8beb2775837215e03b516a4157388989a","typings":"./src/index.d.ts","_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"_npmVersion":"10.5.2","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","directories":{},"_nodeVersion":"20.13.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nest-qdrant_1.0.0-0_1731382848627_0.5272017062576648","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@bytebitlabs/nest-qdrant","version":"1.0.0","license":"MIT","_id":"@bytebitlabs/nest-qdrant@1.0.0","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"dist":{"shasum":"b43f8d7515dcfa44d4702c357c5ff2234697d3f3","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-1.0.0.tgz","fileCount":20,"integrity":"sha512-qgK/UjJ8567hhLC0P94yc+xi/cS44XOXLReXlSGbV0y4IQAcz2PH/5NdXQpdFndp3z3XCa+jRCAAu6wbZvdVpg==","signatures":[{"sig":"MEYCIQCyk2QZkorke6F9iG0RgpSGluUkUlLaehcR6qN0joTSBAIhAMRhL9YSckJkWO0rmqgf8rGUtDtkAN9DIhEWXRqR9eRA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11196},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"b2be2b59aa13ee02489dfa1745f08fe31fe3b14f","typings":"./src/index.d.ts","_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"_npmVersion":"10.5.2","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","directories":{},"_nodeVersion":"20.13.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nest-qdrant_1.0.0_1735549387597_0.9282096353562641","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bytebitlabs/nest-qdrant","version":"1.0.1","license":"MIT","_id":"@bytebitlabs/nest-qdrant@1.0.1","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"dist":{"shasum":"3c4bc0a4aa1d7ced524b548f0ae6a6c0ca497576","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-1.0.1.tgz","fileCount":20,"integrity":"sha512-GIohq8GNT5uc9ZJrvnjvbVHXPrRKF/lj+0sq4P/PR8w2Oq6pp3c9tavH/iNJ3l2kDrB5Thodunx6j3T6xzKVLQ==","signatures":[{"sig":"MEQCIAk7QSYZQHCFxy0eL+XQZctxgy6myOp1GTcDx3MWnqlgAiATbUwj0gRvEXIvaP76XSt4AR9wa7AwCaj4tYj8l9iv7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11196},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"e3e3e03a508e6b132b6a366cd0bd02e9d01594cb","typings":"./src/index.d.ts","_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"_npmVersion":"10.5.2","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","directories":{},"_nodeVersion":"20.13.1","dependencies":{"tslib":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nest-qdrant_1.0.1_1737347962228_0.49038832243872355","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bytebitlabs/nest-qdrant","version":"1.1.0","license":"MIT","dependencies":{"tslib":"^2.3.0"},"type":"commonjs","main":"./src/index.js","typings":"./src/index.d.ts","publishConfig":{"access":"public"},"types":"./src/index.d.ts","_id":"@bytebitlabs/nest-qdrant@1.1.0","gitHead":"e82f08bce74eb7b91dfd7fd7ffc0423f08ccaec5","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-XVEFHU2NV/XWDhC4u/AEJECAwWpmcUEAib0D4P76fCoDHSFMYFDoQMKUrjzl/ULhzdXantSuWBvyF+q39+Q7Tg==","shasum":"73c8f1ba421d806d413671a1f1729ec19bd1e48b","tarball":"https://registry.npmjs.org/@bytebitlabs/nest-qdrant/-/nest-qdrant-1.1.0.tgz","fileCount":20,"unpackedSize":11202,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEz8aeuBUk+OCFyFoxR9jUlwHuxYryCFl9Hswn3AkrnIAiAqVHVHMBf0yAsq74UchhL88ldkatjMqA7XTJ8Y/alm/Q=="}]},"_npmUser":{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"},"directories":{},"maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nest-qdrant_1.1.0_1741581823753_0.4548722417429416"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-15T13:55:06.622Z","modified":"2025-03-10T04:43:44.127Z","0.1.0":"2024-08-15T13:55:06.839Z","0.1.1":"2024-08-15T18:04:06.247Z","0.1.3":"2024-09-24T06:25:50.596Z","1.0.0-0":"2024-11-12T03:40:48.827Z","1.0.0":"2024-12-30T09:03:07.751Z","1.0.1":"2025-01-20T04:39:22.498Z","1.1.0":"2025-03-10T04:43:43.916Z"},"license":"MIT","description":"<p align=\"center\">   <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a> </p>","maintainers":[{"name":"bytebitlabs","email":"0xnairb@bytebitlabs.com"}],"readme":"# nest-qdrant\n\n<p align=\"center\">\n  <a href=\"https://bytebitlabs.com/\" target=\"_blank\"><img src=\"https://gravatar.com/avatar/61c80d73dfe4c4231e77940cf80fd410?size=256\" width=\"256\" alt=\"ByteBitLabs logo\" /></a>\n</p>\n\n<p align=\"center\">Qdrant module for nestjs</p>\n    <p align=\"center\">\n<a href=\"https://www.npmjs.com/package/@bytebitlabs/nest-qdrant\"><img src=\"https://img.shields.io/npm/v/@bytebitlabs/nest-qdrant\" alt=\"NPM Version\" /></a>\n<a href=\"https://www.npmjs.com/package/@bytebitlabs/nest-qdrant\"><img src=\"https://img.shields.io/npm/l/@bytebitlabs/nest-qdrant\" alt=\"Package License\" /></a>\n<a href=\"https://www.npmjs.com/package/@bytebitlabs/nest-qdrant\"><img src=\"https://img.shields.io/npm/dm/@bytebitlabs/nest-qdrant\" alt=\"NPM Downloads\" /></a>\n</p>\n\n## Description\n\nQdrant module for [Nest](https://github.com/nestjs/nest) based on the official [@qdrant/js-client-rest\n](https://www.npmjs.com/package/@qdrant/js-client-rest) package.\n\n## Installation\n\n```bash\n$ npm i --save @bytebitlabs/nest-qdrant @qdrant/js-client-rest\n\n```\n\n## Usage\n\nImport `QdrantModule`:\n\n```typescript\n@Module({\n  imports: [QdrantModule.register({\n    url: 'http://127.0.0.1:6333',\n  })],\n  providers: [...],\n})\nexport class VectorStoreModule {}\n```\n\nInject `QdrantService`:\n\n```typescript\n@Injectable()\nexport class VectorStoreService {\n  constructor(private readonly qdrantService: QdrantService) {}\n}\n```\n\n## Async options\n\nQuite often you might want to asynchronously pass your module options instead of passing them beforehand. In such case, use `registerAsync()` method, that provides a couple of various ways to deal with async data.\n\n**1. Use factory**\n\n```typescript\nQdrantModule.registerAsync({\n  useFactory: () => ({\n    url: 'http://127.0.0.1:6333'\n  })\n});\n```\n\nObviously, our factory behaves like every other one (might be `async` and is able to inject dependencies through `inject`).\n\n```typescript\nQdrantModule.registerAsync({\n  imports: [ConfigModule],\n  useFactory: async (configService: ConfigService) => ({\n    url: configService.get('QDRANT_URL'),\n  }),\n  inject: [ConfigService],\n}),\n```\n\n**2. Use class**\n\n```typescript\nQdrantModule.registerAsync({\n  useClass: QdrantConfigService\n});\n```\n\nAbove construction will instantiate `QdrantConfigService` inside `QdrantModule` and will leverage it to create options object.\n\n```typescript\nclass QdrantConfigService implements QdrantOptionsFactory {\n  createQdrantOptions(): QdrantModuleOptions {\n    return {\n      url: 'http://127.0.0.1:6333'\n    };\n  }\n}\n```\n\n**3. Use existing**\n\n```typescript\nQdrantModule.registerAsync({\n  imports: [ConfigModule],\n  useExisting: ConfigService,\n}),\n```\n\nIt works the same as `useClass` with one critical difference - `QdrantModule` will lookup imported modules to reuse already created `ConfigService`, instead of instantiating it on its own.\n\n## API Spec\n\nThe `QdrantService` wraps the `QdrantClient` from the official [@qdrant/js-client-rest\n](https://www.npmjs.com/package/@qdrant/js-client-rest) methods. The `QdrantModule.register()` takes `options` object as an argument, [read more](https://qdrant.tech/documentation/quickstart/).\n","readmeFilename":"README.md"}