endee 1.0.3 → 1.0.4-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,6 +7,7 @@ Endee is a TypeScript client for a vector database designed for maximum speed an
7
7
  - **TypeScript First**: Full type safety and IntelliSense support
8
8
  - **Fast ANN Searches**: Efficient similarity searches on vector data
9
9
  - **Multiple Distance Metrics**: Support for cosine, L2, and inner product distance metrics
10
+ - **Hybrid Indexes**: Support for dense vectors, sparse vectors, and hybrid (dense + sparse) searches
10
11
  - **Metadata Support**: Attach and search with metadata and filters
11
12
  - **Client-Side Encryption**: Optional AES-256 encryption for your metadata
12
13
  - **High Performance**: Optimized for speed and efficiency
@@ -29,7 +30,7 @@ npm install endee
29
30
  ## Quick Start
30
31
 
31
32
  ```typescript
32
- import { Endee } from "endee";
33
+ import { Endee, Precision } from "endee";
33
34
 
34
35
  // Initialize client with your Auth token
35
36
  const endee = new Endee("<auth-token>");
@@ -83,6 +84,8 @@ const endee = new Endee();
83
84
  ### Managing Indexes
84
85
 
85
86
  ```typescript
87
+ import { Precision } from "endee";
88
+
86
89
  // List all indexes
87
90
  const indexes = await endee.listIndexes();
88
91
 
@@ -93,7 +96,8 @@ await endee.createIndex({
93
96
  spaceType: "l2", // space type (cosine, l2, ip)
94
97
  M: 32, // M: Graph connectivity parameter
95
98
  efCon: 256, // efCon: Construction-time parameter
96
- precision: "medium" // precision: "medium" | "high" | "ultra-high" | "fp16"
99
+ precision: Precision.INT8D // Quantization precision (default: Precision.INT8D)
100
+ sparseDimension: 1000 // Optional: Enable hybrid index with sparse dimension
97
101
  });
98
102
 
99
103
  // Delete an index
@@ -142,6 +146,142 @@ const description = await index.describe();
142
146
  console.log(description);
143
147
  ```
144
148
 
149
+ ## Hybrid Indexes
150
+
151
+ Endee supports **Hybrid Indexes** that combine dense vectors with sparse vectors, enabling powerful search capabilities. Hybrid indexes allow you to:
152
+
153
+ - Store both dense embeddings (e.g., from neural networks) and sparse features (e.g., keyword frequencies, categorical encodings)
154
+ - Perform dense-only searches (traditional vector similarity)
155
+ - Perform sparse-only searches (keyword/feature matching)
156
+ - Perform hybrid searches (combining both dense and sparse signals)
157
+
158
+ ### Creating a Hybrid Index
159
+
160
+ To create a hybrid index, specify the `sparseDimension` parameter when creating an index:
161
+
162
+ ```typescript
163
+ // Create a hybrid index with dense dimension 384 and sparse dimension 10000
164
+ await endee.createIndex({
165
+ name: "hybrid_index",
166
+ dimension: 384, // Dense vector dimension
167
+ sparseDimension: 10000, // Sparse vector dimension (max index value)
168
+ spaceType: "cosine",
169
+ precision: "medium"
170
+ });
171
+
172
+ // Get the hybrid index reference
173
+ const index = await endee.getIndex("hybrid_index");
174
+
175
+ // Check if index is hybrid
176
+ const description = index.describe();
177
+ console.log(description.isHybrid); // true
178
+ console.log(description.sparseDimension); // 10000
179
+ ```
180
+
181
+ ### Upserting Vectors with Sparse Data
182
+
183
+ When working with a hybrid index, you can insert vectors with both dense and sparse components:
184
+
185
+ ```typescript
186
+ // Insert vectors with both dense and sparse components (hybrid index only)
187
+ await index.upsert([
188
+ {
189
+ id: "doc2",
190
+ vector: [0.2, 0.3, 0.4, /* ... 384 dimensions */], // Dense vector
191
+ sparseIndices: [5, 42, 100, 500], // Sparse feature indices
192
+ sparseValues: [0.8, 0.6, 0.9, 0.7], // Sparse feature values
193
+ meta: { title: "Document 2", category: "tech" }
194
+ },
195
+ {
196
+ id: "doc3",
197
+ vector: [0.3, 0.4, 0.5, /* ... 384 dimensions */],
198
+ sparseIndices: [10, 25, 200],
199
+ sparseValues: [0.5, 0.4, 0.6],
200
+ meta: { title: "Document 3", category: "science" }
201
+ }
202
+ ]);
203
+ ```
204
+
205
+ **Important Notes:**
206
+ - `sparseIndices` and `sparseValues` must have the same length
207
+ - Sparse indices must be in the range `[0, sparseDimension)`
208
+ - Both `sparseIndices` and `sparseValues` must be provided together (or both omitted)
209
+ - You cannot insert sparse data into a dense-only index (one created without `sparseDimension`)
210
+
211
+ ### Querying Hybrid Indexes
212
+
213
+ Hybrid indexes support three types of searches:
214
+
215
+ #### 1. Dense Search (Traditional Vector Similarity)
216
+
217
+ Search using only the dense vector component:
218
+
219
+ ```typescript
220
+ const results = await index.query({
221
+ vector: [0.2, 0.3, 0.4, /* ... 384 dimensions */], // Query dense vector
222
+ topK: 10,
223
+ ef: 128
224
+ });
225
+
226
+ // Results are ranked by dense vector similarity
227
+ for (const item of results) {
228
+ console.log(`ID: ${item.id}, Similarity: ${item.similarity}`);
229
+ }
230
+ ```
231
+
232
+ #### 2. Sparse Search (Keyword/Feature Matching)
233
+
234
+ Search using only the sparse component:
235
+
236
+ ```typescript
237
+ const results = await index.query({
238
+ sparseIndices: [5, 42, 100], // Query sparse feature indices
239
+ sparseValues: [0.8, 0.6, 0.9], // Query sparse feature values
240
+ topK: 10,
241
+ ef: 128
242
+ });
243
+
244
+ // Results are ranked by sparse vector similarity
245
+ for (const item of results) {
246
+ console.log(`ID: ${item.id}, Similarity: ${item.similarity}`);
247
+ }
248
+ ```
249
+
250
+ #### 3. Hybrid Search (Combined Dense + Sparse)
251
+
252
+ Search using both dense and sparse components for the most powerful results:
253
+
254
+ ```typescript
255
+ const results = await index.query({
256
+ vector: [0.2, 0.3, 0.4, /* ... 384 dimensions */], // Dense query
257
+ sparseIndices: [5, 42, 100], // Sparse query indices
258
+ sparseValues: [0.8, 0.6, 0.9], // Sparse query values
259
+ topK: 10,
260
+ ef: 128
261
+ });
262
+
263
+ // Results combine both dense and sparse signals
264
+ for (const item of results) {
265
+ console.log(`ID: ${item.id}, Similarity: ${item.similarity}`);
266
+ }
267
+ ```
268
+
269
+ ### Use Cases for Hybrid Indexes
270
+
271
+ Hybrid indexes are ideal for scenarios where you want to combine:
272
+
273
+ - **Semantic similarity** (dense embeddings from transformers) with **keyword matching** (sparse TF-IDF or BM25 features)
274
+ - **Neural embeddings** with **categorical features** or **one-hot encodings**
275
+ - **Content-based recommendations** (dense) with **collaborative filtering signals** (sparse)
276
+
277
+ ### Key Points
278
+
279
+ - **Hybrid indexes are optional**: Create them only when you need sparse vector support
280
+ - **Dense-only indexes**: Work with traditional dense vectors only (no sparse support)
281
+ - **Sparse data validation**: The system validates sparse indices are within bounds and arrays match in length
282
+ - **Flexible querying**: You can query with dense only, sparse only, or both on hybrid indexes
283
+ - **Backward compatible**: Dense-only indexes continue to work as before
284
+
145
285
  ## Filtering
146
286
 
147
287
  Endee supports structured filtering using operators like `$eq`, `$in`, and `$range`. For detailed documentation on filtering, see the [official documentation](https://docs.endee.io/sdks/typescript/usage#filtered-querying).
@@ -214,6 +354,36 @@ for (const item of results) {
214
354
  - **Key verification**: The system verifies the key checksum when accessing an encrypted index
215
355
  - **No key recovery**: Lost keys cannot be recovered; encrypted data becomes inaccessible
216
356
 
357
+ ## Precision Options
358
+
359
+ Endee supports different quantization precision levels to optimize storage and performance:
360
+
361
+ ```typescript
362
+ import { Precision } from "endee";
363
+
364
+ // Available precision options:
365
+ Precision.BINARY // Binary quantization (1-bit) - smallest storage, fastest search
366
+ Precision.INT8D // 8-bit integer quantization (default) - balanced performance
367
+ Precision.INT16D // 16-bit integer quantization - higher precision
368
+ Precision.FLOAT16 // 16-bit floating point - good balance
369
+ Precision.FLOAT32 // 32-bit floating point - highest precision
370
+
371
+ // Example usage:
372
+ await endee.createIndex({
373
+ name: "high_precision_index",
374
+ dimension: 1536,
375
+ spaceType: "cosine",
376
+ precision: Precision.FLOAT32 // Use full precision
377
+ });
378
+ ```
379
+
380
+ **Choosing Precision:**
381
+ - `BINARY`: Best for very large datasets where speed and storage are critical
382
+ - `INT8D` (default): Recommended for most use cases - good balance of accuracy and performance
383
+ - `INT16D`: When you need better accuracy than INT8D but less storage than FLOAT32
384
+ - `FLOAT16`: Good compromise between precision and storage for embeddings
385
+ - `FLOAT32`: When you need maximum precision and storage is not a concern
386
+
217
387
  ## TypeScript Types
218
388
 
219
389
  The package includes comprehensive TypeScript types:
@@ -225,7 +395,8 @@ import type {
225
395
  QueryResult,
226
396
  CreateIndexOptions,
227
397
  IndexDescription,
228
- SpaceType
398
+ SpaceType,
399
+ Precision
229
400
  } from "endee";
230
401
  ```
231
402
 
package/dist/endee.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Main Endee client for Endee-DB
3
3
  */
4
- import { Index } from './indexClient.js';
5
- import type { CreateIndexOptions } from './types/index.js';
4
+ import { Index } from "./indexClient.js";
5
+ import { type CreateIndexOptions } from "./types/index.js";
6
6
  export declare class Endee {
7
7
  private token;
8
8
  private baseUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"endee.d.ts","sourceRoot":"","sources":["../src/endee.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAG1B,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,KAAK,GAAE,MAAM,GAAG,IAAW;IAavC,WAAW,IAAI,MAAM;IAUf,WAAW,CACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC;IA4DZ,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB1C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,KAAK,CAAC;CAkCxE"}
1
+ {"version":3,"file":"endee.d.ts","sourceRoot":"","sources":["../src/endee.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAa,KAAK,kBAAkB,EAAkB,MAAM,kBAAkB,CAAC;AAGtF,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,KAAK,GAAE,MAAM,GAAG,IAAW;IAavC,WAAW,IAAI,MAAM;IAUf,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmEzD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB1C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,KAAK,CAAC;CA8CxE"}
package/dist/endee.js CHANGED
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * Main Endee client for Endee-DB
3
3
  */
4
- import axios from 'axios';
5
- import crypto from 'crypto';
6
- import { raiseException } from './exceptions.js';
7
- import { Index } from './indexClient.js';
8
- import { isValidIndexName, } from './utils.js';
9
- import { getChecksum } from './crypto.js';
4
+ import axios from "axios";
5
+ import crypto from "crypto";
6
+ import { raiseException } from "./exceptions.js";
7
+ import { Index } from "./indexClient.js";
8
+ import { isValidIndexName } from "./utils.js";
9
+ import { Precision } from "./types/index.js";
10
+ import { getChecksum } from "./crypto.js";
10
11
  export class Endee {
11
12
  token;
12
13
  baseUrl;
@@ -25,18 +26,21 @@ export class Endee {
25
26
  }
26
27
  generateKey() {
27
28
  // Generate a random hex key of 32 bytes (256 bit)
28
- const key = crypto.randomBytes(32).toString('hex');
29
+ const key = crypto.randomBytes(32).toString("hex");
29
30
  console.log("Store this encryption key in a secure location. Loss of the key will result in the irreversible loss of associated vector data.\nKey: ", key);
30
31
  return key;
31
32
  }
32
33
  async createIndex(options) {
33
- const { name, dimension, spaceType = 'cosine', M = 16, efCon = 128, key = null, precision = "medium", version = null, } = options;
34
+ const { name, dimension, spaceType = "cosine", M = 16, efCon = 128, key = null, precision = Precision.INT8D, version = null, sparseDimension = null, } = options;
34
35
  if (!isValidIndexName(name)) {
35
36
  throw new Error("Invalid index name. Index name must be alphanumeric and can contain underscores and less than 48 characters");
36
37
  }
37
38
  if (dimension > 10000) {
38
39
  throw new Error("Dimension cannot be greater than 10000");
39
40
  }
41
+ if (sparseDimension && sparseDimension < 0) {
42
+ throw new Error("Sparse dimension cannot be less than 0");
43
+ }
40
44
  const normalizedSpaceType = spaceType.toLowerCase();
41
45
  if (!["cosine", "l2", "ip"].includes(normalizedSpaceType)) {
42
46
  throw new Error(`Invalid space type: ${spaceType}`);
@@ -55,6 +59,9 @@ export class Endee {
55
59
  precision: precision,
56
60
  version: version,
57
61
  };
62
+ if (sparseDimension) {
63
+ data.sparse_dim = sparseDimension;
64
+ }
58
65
  if (version !== undefined) {
59
66
  data.version = version;
60
67
  }
@@ -134,12 +141,23 @@ export class Endee {
134
141
  throw err;
135
142
  }
136
143
  const data = response.data;
144
+ const indexInfo = {
145
+ name: data.index_name,
146
+ spaceType: data.space_type,
147
+ dimension: data.dimension,
148
+ total_elements: data.total_elements,
149
+ precision: data.precision,
150
+ M: data.M,
151
+ checksum: data.checksum,
152
+ version: data.version,
153
+ sparseDimension: data.sparse_dim,
154
+ };
137
155
  // Raise error if checksum does not match
138
156
  const checksum = getChecksum(key);
139
157
  if (checksum !== data.checksum) {
140
158
  raiseException(403, "Checksum does not match. Please check the key.");
141
159
  }
142
- const idx = new Index(name, key, this.token, this.baseUrl, this.version, data);
160
+ const idx = new Index(name, key, this.token, this.baseUrl, this.version, indexInfo);
143
161
  return idx;
144
162
  }
145
163
  }
package/dist/endee.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"endee.js","sourceRoot":"","sources":["../src/endee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endee.js","sourceRoot":"","sources":["../src/endee.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Main export file for Endee-DB
3
3
  */
4
- export { Endee } from './endee.js';
5
- export { Index } from './indexClient.js';
6
- export * from './exceptions.js';
7
- export * from './types/index.js';
4
+ export { Endee } from "./endee.js";
5
+ export { Index } from "./indexClient.js";
6
+ export * from "./exceptions.js";
7
+ export * from "./types/index.js";
8
8
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Main export file for Endee-DB
3
3
  */
4
- export { Endee } from './endee.js';
5
- export { Index } from './indexClient.js';
6
- export * from './exceptions.js';
7
- export * from './types/index.js';
4
+ export { Endee } from "./endee.js";
5
+ export { Index } from "./indexClient.js";
6
+ export * from "./exceptions.js";
7
+ export * from "./types/index.js";
8
8
  //# sourceMappingURL=index.js.map
@@ -1,19 +1,21 @@
1
1
  /**
2
2
  * Index client for Endee-DB
3
3
  */
4
- import type { VectorItem, QueryOptions, QueryResult, IndexInfo, IndexDescription } from "./types/index.js";
4
+ import { VectorItem, QueryOptions, QueryResult, IndexInfo, IndexDescription } from "./types/index.js";
5
5
  export declare class Index {
6
6
  private name;
7
7
  private key;
8
8
  private token;
9
9
  private url;
10
10
  private count;
11
- private space_type;
11
+ private spaceType;
12
12
  private dimension;
13
13
  private precision;
14
14
  private M;
15
+ private sparseDimension;
15
16
  constructor(name: string, key: string | null, token: string, url: string, _version?: number, params?: Partial<IndexInfo>);
16
17
  toString(): string;
18
+ private isHybrid;
17
19
  private _normalizeVector;
18
20
  upsert(inputArray: VectorItem[]): Promise<string>;
19
21
  query(options: QueryOptions): Promise<QueryResult[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"indexClient.d.ts","sourceRoot":"","sources":["../src/indexClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,gBAAgB,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,KAAK;IAChB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,CAAC,CAAS;gBAGhB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,SAAI,EACZ,MAAM,GAAE,OAAO,CAAC,SAAS,CAAM;IAajC,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,gBAAgB;IAelB,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CjD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAiGpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBnE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAsCF,QAAQ,IAAI,gBAAgB;CAU7B"}
1
+ {"version":3,"file":"indexClient.d.ts","sourceRoot":"","sources":["../src/indexClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,KAAK;IAChB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,eAAe,CAAS;gBAG9B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,SAAI,EACZ,MAAM,GAAE,OAAO,CAAC,SAAS,CAAM;IAcjC,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,gBAAgB;IAelB,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0FjD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA4HpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBnE,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAuCF,QAAQ,IAAI,gBAAgB;CAY7B"}
@@ -5,35 +5,41 @@ import axios from "axios";
5
5
  import { encode, decode } from "@msgpack/msgpack";
6
6
  import { jsonZip, jsonUnzip } from "./crypto.js";
7
7
  import { raiseException } from "./exceptions.js";
8
+ import { Precision } from "./types/index.js";
8
9
  export class Index {
9
10
  name;
10
11
  key;
11
12
  token;
12
13
  url;
13
14
  count;
14
- space_type;
15
+ spaceType;
15
16
  dimension;
16
17
  precision;
17
18
  M;
19
+ sparseDimension;
18
20
  constructor(name, key, token, url, _version = 1, params = {}) {
19
21
  this.name = name;
20
22
  this.key = key;
21
23
  this.token = token;
22
24
  this.url = url;
23
25
  this.count = params.total_elements || 0;
24
- this.space_type = params.space_type || "cosine";
26
+ this.spaceType = params.spaceType || "cosine";
25
27
  this.dimension = params.dimension || 0;
26
- this.precision = params.precision || "medium";
28
+ this.precision = params.precision || Precision.INT8D;
27
29
  this.M = params.M || 16;
30
+ this.sparseDimension = params.sparseDimension || 0;
28
31
  }
29
32
  toString() {
30
33
  return this.name;
31
34
  }
35
+ isHybrid() {
36
+ return this.sparseDimension > 0;
37
+ }
32
38
  _normalizeVector(vector) {
33
39
  if (vector.length !== this.dimension) {
34
40
  throw new Error(`Vector dimension mismatch: expected ${this.dimension}, got ${vector.length}`);
35
41
  }
36
- if (this.space_type !== "cosine") {
42
+ if (this.spaceType !== "cosine") {
37
43
  return [vector, 1.0];
38
44
  }
39
45
  const norm = Math.sqrt(vector.reduce((sum, v) => sum + v * v, 0));
@@ -50,6 +56,25 @@ export class Index {
50
56
  for (const item of inputArray) {
51
57
  const [vector, norm] = this._normalizeVector(item.vector);
52
58
  const metaData = jsonZip(item.meta || {}, this.key);
59
+ const sparseIndices = item.sparseIndices || [];
60
+ const sparseValues = item.sparseValues || [];
61
+ if (!this.isHybrid() &&
62
+ (sparseIndices.length > 0 || sparseValues.length > 0)) {
63
+ throw new Error("Cannot insert sparse data into a dense-only index. Create index with sparseDimension > 0 for hybrid support.");
64
+ }
65
+ if (this.isHybrid()) {
66
+ if (sparseIndices.length == 0 || sparseValues.length == 0) {
67
+ throw new Error("Both sparse_indices and sparse_values must be provided for hybrid vectors.");
68
+ }
69
+ if (sparseIndices.length !== sparseValues.length) {
70
+ throw new Error(`sparseIndices and sparseValues must have the same length. Got ${sparseIndices.length} length indices and ${sparseValues.length} length values.`);
71
+ }
72
+ for (const idx of sparseIndices) {
73
+ if (idx < 0 || idx >= this.sparseDimension) {
74
+ throw new Error(`Sparse index ${idx} is out of bounds. Must be in range [0,${this.sparseDimension}).`);
75
+ }
76
+ }
77
+ }
53
78
  const vectorObj = [
54
79
  String(item.id || ""),
55
80
  metaData,
@@ -57,6 +82,9 @@ export class Index {
57
82
  norm,
58
83
  vector,
59
84
  ];
85
+ if (this.isHybrid()) {
86
+ vectorObj.push(sparseIndices, sparseValues);
87
+ }
60
88
  vectorBatch.push(vectorObj);
61
89
  }
62
90
  const serializedData = encode(vectorBatch);
@@ -76,24 +104,46 @@ export class Index {
76
104
  return "Vectors inserted successfully";
77
105
  }
78
106
  async query(options) {
79
- const { vector, topK = 10, filter = null, ef = 128, includeVectors = false, } = options;
80
- if (!vector)
81
- throw new Error("vector is required");
82
- if (topK > 200)
83
- throw new Error("top_k cannot be greater than 200");
107
+ const { vector = null, topK = 10, filter = null, ef = 128, includeVectors = false, sparseIndices = null, sparseValues = null, } = options;
108
+ if (topK > 512 || topK < 0)
109
+ throw new Error("top_k cannot be greater than 512 and less than 0");
84
110
  if (ef > 1024)
85
111
  throw new Error("ef search cannot be greater than 1024");
86
- const [queryVector] = this._normalizeVector(vector);
112
+ const hasSparse = sparseIndices &&
113
+ sparseIndices.length > 0 &&
114
+ sparseValues &&
115
+ sparseIndices.length > 0;
116
+ var hasDense = false;
117
+ if (vector)
118
+ hasDense = true;
119
+ if (!hasDense && !hasSparse) {
120
+ throw new Error("At least one of 'vector' or 'sparseIndices'/'sparseValues' must be provided.");
121
+ }
122
+ if (hasSparse && !this.isHybrid()) {
123
+ throw new Error("Cannot perform sparse search on a dense-only index. Create index with sparseDimension > 0 for hybrid support.");
124
+ }
125
+ if (hasSparse) {
126
+ if (sparseIndices.length != sparseValues.length) {
127
+ throw new Error(`sparseIndices and sparseValues must have the same length. Got ${sparseIndices.length} length indices and ${sparseValues.length} length values.`);
128
+ }
129
+ }
87
130
  const headers = {
88
131
  Authorization: this.token,
89
132
  "Content-Type": "application/json",
90
133
  };
91
134
  const data = {
92
- vector: queryVector,
93
135
  k: topK,
94
136
  ef: ef,
95
137
  include_vectors: includeVectors,
96
138
  };
139
+ if (vector) {
140
+ const [queryVector] = this._normalizeVector(vector);
141
+ data.vector = queryVector;
142
+ }
143
+ if (hasSparse) {
144
+ data.sparse_indices = sparseIndices;
145
+ data.sparse_values = sparseValues;
146
+ }
97
147
  if (filter) {
98
148
  data.filter = JSON.stringify(filter);
99
149
  }
@@ -205,8 +255,10 @@ export class Index {
205
255
  describe() {
206
256
  return {
207
257
  name: this.name,
208
- space_type: this.space_type,
258
+ spaceType: this.spaceType,
209
259
  dimension: this.dimension,
260
+ sparseDimension: this.sparseDimension,
261
+ isHybrid: this.isHybrid(),
210
262
  count: this.count,
211
263
  precision: this.precision,
212
264
  M: this.M,
@@ -1 +1 @@
1
- {"version":3,"file":"indexClient.js","sourceRoot":"","sources":["../src/indexClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexClient.js","sourceRoot":"","sources":["../src/indexClient.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,42 @@
1
1
  /**
2
2
  * Type definitions for Endee-DB
3
3
  */
4
- export type SpaceType = 'cosine' | 'l2' | 'ip';
4
+ export type SpaceType = "cosine" | "l2" | "ip";
5
+ export declare enum Precision {
6
+ BINARY = "binary",
7
+ INT8D = "int8d",
8
+ INT16D = "int16d",
9
+ FLOAT16 = "float16",
10
+ FLOAT32 = "float32"
11
+ }
5
12
  export interface CreateIndexOptions {
6
13
  name: string;
7
14
  dimension: number;
8
15
  spaceType?: SpaceType;
9
16
  M?: number;
10
17
  key?: string;
11
- precision?: "medium" | "high" | "ultra-high" | "fp16";
18
+ precision?: Precision;
12
19
  efCon?: number;
13
20
  version?: number;
21
+ sparseDimension?: number;
14
22
  }
15
23
  export interface VectorItem {
16
24
  id: string;
17
25
  vector: number[];
26
+ sparseIndices?: number[];
27
+ sparseValues?: number[];
18
28
  meta?: Record<string, unknown>;
19
29
  filter?: Record<string, unknown>;
20
30
  }
21
31
  export interface QueryOptions {
22
- vector: number[];
32
+ vector?: number[];
23
33
  topK: number;
24
34
  filter?: Array<Record<string, unknown>> | null;
25
35
  ef?: number;
26
36
  includeVectors?: boolean;
27
37
  log?: boolean;
38
+ sparseIndices?: number[];
39
+ sparseValues?: number[];
28
40
  }
29
41
  export interface QueryResult {
30
42
  id: string;
@@ -37,20 +49,24 @@ export interface QueryResult {
37
49
  }
38
50
  export interface IndexInfo {
39
51
  name: string;
40
- space_type: SpaceType;
52
+ spaceType: SpaceType;
41
53
  dimension: number;
42
54
  total_elements?: number;
43
- precision?: string;
55
+ precision?: Precision;
44
56
  M?: number;
45
57
  checksum?: Number;
46
- lib_token?: string;
58
+ libToken?: string;
59
+ version?: number;
60
+ sparseDimension?: number;
47
61
  }
48
62
  export interface IndexDescription {
49
63
  name: string;
50
- space_type: SpaceType;
64
+ spaceType: SpaceType;
51
65
  dimension: number;
66
+ isHybrid: boolean;
52
67
  count: number;
53
- precision: string;
68
+ precision: Precision;
54
69
  M: number;
70
+ sparseDimension?: number;
55
71
  }
56
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAC,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,EAAE,MAAM,CAAC;CACX"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,KAAK,UAAW;IAChB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAC,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -1,5 +1,12 @@
1
1
  /**
2
2
  * Type definitions for Endee-DB
3
3
  */
4
- export {};
4
+ export var Precision;
5
+ (function (Precision) {
6
+ Precision["BINARY"] = "binary";
7
+ Precision["INT8D"] = "int8d";
8
+ Precision["INT16D"] = "int16d";
9
+ Precision["FLOAT16"] = "float16";
10
+ Precision["FLOAT32"] = "float32";
11
+ })(Precision || (Precision = {}));
5
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,4BAAgB,CAAA;IAChB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "endee",
3
- "version": "1.0.3",
3
+ "version": "1.0.4-beta.2",
4
4
  "description": "TypeScript client for encrypted vector database with maximum security and speed",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",