@functional-systems/lambdadb 0.3.4 → 0.4.0

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.
Files changed (60) hide show
  1. package/README.md +42 -0
  2. package/dist/commonjs/compat/qdrant/client.d.ts +210 -0
  3. package/dist/commonjs/compat/qdrant/client.d.ts.map +1 -0
  4. package/dist/commonjs/compat/qdrant/client.js +573 -0
  5. package/dist/commonjs/compat/qdrant/client.js.map +1 -0
  6. package/dist/commonjs/compat/qdrant/conversions.d.ts +40 -0
  7. package/dist/commonjs/compat/qdrant/conversions.d.ts.map +1 -0
  8. package/dist/commonjs/compat/qdrant/conversions.js +386 -0
  9. package/dist/commonjs/compat/qdrant/conversions.js.map +1 -0
  10. package/dist/commonjs/compat/qdrant/errors.d.ts +10 -0
  11. package/dist/commonjs/compat/qdrant/errors.d.ts.map +1 -0
  12. package/dist/commonjs/compat/qdrant/errors.js +25 -0
  13. package/dist/commonjs/compat/qdrant/errors.js.map +1 -0
  14. package/dist/commonjs/compat/qdrant/filters.d.ts +10 -0
  15. package/dist/commonjs/compat/qdrant/filters.d.ts.map +1 -0
  16. package/dist/commonjs/compat/qdrant/filters.js +172 -0
  17. package/dist/commonjs/compat/qdrant/filters.js.map +1 -0
  18. package/dist/commonjs/compat/qdrant/models.d.ts +198 -0
  19. package/dist/commonjs/compat/qdrant/models.d.ts.map +1 -0
  20. package/dist/commonjs/compat/qdrant/models.js +205 -0
  21. package/dist/commonjs/compat/qdrant/models.js.map +1 -0
  22. package/dist/commonjs/compat/qdrant.d.ts +4 -0
  23. package/dist/commonjs/compat/qdrant.d.ts.map +1 -0
  24. package/dist/commonjs/compat/qdrant.js +45 -0
  25. package/dist/commonjs/compat/qdrant.js.map +1 -0
  26. package/dist/esm/compat/qdrant/client.d.ts +210 -0
  27. package/dist/esm/compat/qdrant/client.d.ts.map +1 -0
  28. package/dist/esm/compat/qdrant/client.js +536 -0
  29. package/dist/esm/compat/qdrant/client.js.map +1 -0
  30. package/dist/esm/compat/qdrant/conversions.d.ts +40 -0
  31. package/dist/esm/compat/qdrant/conversions.d.ts.map +1 -0
  32. package/dist/esm/compat/qdrant/conversions.js +336 -0
  33. package/dist/esm/compat/qdrant/conversions.js.map +1 -0
  34. package/dist/esm/compat/qdrant/errors.d.ts +10 -0
  35. package/dist/esm/compat/qdrant/errors.d.ts.map +1 -0
  36. package/dist/esm/compat/qdrant/errors.js +19 -0
  37. package/dist/esm/compat/qdrant/errors.js.map +1 -0
  38. package/dist/esm/compat/qdrant/filters.d.ts +10 -0
  39. package/dist/esm/compat/qdrant/filters.d.ts.map +1 -0
  40. package/dist/esm/compat/qdrant/filters.js +169 -0
  41. package/dist/esm/compat/qdrant/filters.js.map +1 -0
  42. package/dist/esm/compat/qdrant/models.d.ts +198 -0
  43. package/dist/esm/compat/qdrant/models.d.ts.map +1 -0
  44. package/dist/esm/compat/qdrant/models.js +185 -0
  45. package/dist/esm/compat/qdrant/models.js.map +1 -0
  46. package/dist/esm/compat/qdrant.d.ts +4 -0
  47. package/dist/esm/compat/qdrant.d.ts.map +1 -0
  48. package/dist/esm/compat/qdrant.js +4 -0
  49. package/dist/esm/compat/qdrant.js.map +1 -0
  50. package/jsr.json +3 -1
  51. package/package.json +32 -1
  52. package/src/compat/qdrant/client.ts +901 -0
  53. package/src/compat/qdrant/conversions.ts +422 -0
  54. package/src/compat/qdrant/errors.ts +20 -0
  55. package/src/compat/qdrant/filters.ts +213 -0
  56. package/src/compat/qdrant/models.ts +317 -0
  57. package/src/compat/qdrant.ts +3 -0
  58. package/test/integration/qdrant-compat-external.test.mjs +226 -0
  59. package/test/integration/qdrant-compat-live.test.mjs +122 -0
  60. package/test/qdrant-compat.test.mjs +402 -0
@@ -0,0 +1,573 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.QdrantClient = exports.QdrantCompatClient = void 0;
37
+ const client_js_1 = require("../../client.js");
38
+ const index_js_1 = require("../../models/errors/index.js");
39
+ const conversions_js_1 = require("./conversions.js");
40
+ const filters_js_1 = require("./filters.js");
41
+ const models = __importStar(require("./models.js"));
42
+ const errors_js_1 = require("./errors.js");
43
+ class QdrantCompatClient {
44
+ constructor(clientOrOptions) {
45
+ if (isLambdaDBLike(clientOrOptions)) {
46
+ this.client = clientOrOptions;
47
+ return;
48
+ }
49
+ this.client = new client_js_1.LambdaDBClient(normalizeConstructorOptions(clientOrOptions));
50
+ }
51
+ async collectionExists(collectionName) {
52
+ try {
53
+ await this.client.collection(collectionName).get();
54
+ return true;
55
+ }
56
+ catch (error) {
57
+ if (isNotFoundError(error))
58
+ return false;
59
+ throw error;
60
+ }
61
+ }
62
+ async collection_exists(collectionName) {
63
+ return this.collectionExists(collectionName);
64
+ }
65
+ async getCollection(collectionName) {
66
+ const collection = await this.currentCollection(collectionName);
67
+ const indexConfigs = (0, conversions_js_1.plainIndexConfigs)(collection["indexConfigs"]);
68
+ return {
69
+ config: {
70
+ params: {
71
+ vectors: (0, conversions_js_1.qdrantVectorsConfig)(indexConfigs),
72
+ sparseVectors: {},
73
+ sparse_vectors: {},
74
+ },
75
+ },
76
+ collectionName,
77
+ collection_name: collectionName,
78
+ };
79
+ }
80
+ async get_collection(collectionName) {
81
+ return this.getCollection(collectionName);
82
+ }
83
+ async getCollections() {
84
+ if (typeof this.client.listCollections !== "function") {
85
+ return { collections: [] };
86
+ }
87
+ const response = await this.client.listCollections();
88
+ return {
89
+ collections: response.collections
90
+ .map((collection) => collection.name ?? collection.collectionName)
91
+ .filter((name) => typeof name === "string")
92
+ .map((name) => ({ name })),
93
+ };
94
+ }
95
+ async createCollection(collectionNameOrInput, options = {}) {
96
+ const { collectionName, body } = normalizeCollectionArgs(collectionNameOrInput, options);
97
+ const payloadSchema = popPayloadSchema(body);
98
+ rejectResultChanging(body, new Set(["timeout", "initFrom", "init_from"]));
99
+ const vectorsConfig = body.vectorsConfig ?? body.vectors_config ?? body["vectors"];
100
+ if (vectorsConfig === undefined) {
101
+ throw new errors_js_1.QdrantCompatValidationError("vectorsConfig is required");
102
+ }
103
+ const indexConfigs = (0, conversions_js_1.mergeIndexConfigs)((0, conversions_js_1.vectorConfigToIndexConfigs)(vectorsConfig), (0, conversions_js_1.payloadSchemaToIndexConfigs)(payloadSchema));
104
+ await this.client.createCollection({
105
+ collectionName,
106
+ indexConfigs: indexConfigs,
107
+ });
108
+ await this.waitForCollectionActive(collectionName, body.timeout);
109
+ return true;
110
+ }
111
+ async create_collection(collectionNameOrInput, options) {
112
+ return this.createCollection(collectionNameOrInput, options);
113
+ }
114
+ async recreateCollection(collectionNameOrInput, options = {}) {
115
+ const { collectionName } = normalizeCollectionArgs(collectionNameOrInput, options);
116
+ if (await this.collectionExists(collectionName)) {
117
+ await this.deleteCollection(collectionName);
118
+ }
119
+ return this.createCollection(collectionNameOrInput, options);
120
+ }
121
+ async recreate_collection(collectionNameOrInput, options) {
122
+ return this.recreateCollection(collectionNameOrInput, options);
123
+ }
124
+ async deleteCollection(collectionName) {
125
+ await this.client.collection(collectionName).delete();
126
+ return true;
127
+ }
128
+ async delete_collection(collectionName) {
129
+ return this.deleteCollection(collectionName);
130
+ }
131
+ async createPayloadIndex(collectionName, fieldName, fieldSchema, options = {}) {
132
+ const { timeout, wait, ...rest } = options;
133
+ if (wait === false) {
134
+ warn("wait=false is accepted but LambdaDB index updates follow LambdaDB semantics");
135
+ }
136
+ warnIgnored(rest);
137
+ const collection = await this.currentCollection(collectionName);
138
+ const existingIndexConfigs = (0, conversions_js_1.plainIndexConfigs)(collection["indexConfigs"]);
139
+ const payloadIndexConfig = (0, conversions_js_1.payloadSchemaToIndexConfigs)({ [fieldName]: fieldSchema });
140
+ if (hasSameIndexConfigs(existingIndexConfigs, payloadIndexConfig))
141
+ return true;
142
+ const numDocs = typeof collection["numDocs"] === "number" ? collection["numDocs"] : 0;
143
+ if (numDocs > 0) {
144
+ throw new errors_js_1.UnsupportedQdrantFeatureError("createPayloadIndex is only supported for empty LambdaDB collections. " +
145
+ "Declare payloadSchema during createCollection or reingest documents after adding the index.");
146
+ }
147
+ await this.client.collection(collectionName).update({
148
+ indexConfigs: (0, conversions_js_1.mergeIndexConfigs)(existingIndexConfigs, payloadIndexConfig),
149
+ });
150
+ await this.waitForCollectionActive(collectionName, timeout);
151
+ return true;
152
+ }
153
+ async create_payload_index(collectionName, fieldName, fieldSchema, options) {
154
+ return this.createPayloadIndex(collectionName, fieldName, fieldSchema, options);
155
+ }
156
+ async upsert(collectionName, options) {
157
+ const { points, wait, ...rest } = options;
158
+ warnIgnored(rest);
159
+ if (wait === false) {
160
+ warn("wait=false is accepted but LambdaDB write visibility follows LambdaDB semantics");
161
+ }
162
+ await this.client.collection(collectionName).docs.upsert({
163
+ docs: (0, conversions_js_1.pointsToDocs)(points),
164
+ });
165
+ return new models.UpdateResult({ status: models.UpdateStatus.COMPLETED });
166
+ }
167
+ async uploadPoints(collectionName, options) {
168
+ const { points, batchSize, batch_size: batchSizeSnake, wait, shardKeySelector, shard_key_selector: shardKeySelectorSnake, ...rest } = options;
169
+ if (shardKeySelector !== undefined || shardKeySelectorSnake !== undefined) {
170
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Qdrant shard key routing is not supported in v1");
171
+ }
172
+ warnIgnored(rest);
173
+ const effectiveBatchSize = batchSize ?? batchSizeSnake ?? 64;
174
+ let batch = [];
175
+ for (const point of points) {
176
+ batch.push(point);
177
+ if (batch.length >= effectiveBatchSize) {
178
+ const upsertOptions = {
179
+ points: batch,
180
+ };
181
+ if (wait !== undefined)
182
+ upsertOptions.wait = wait;
183
+ await this.upsert(collectionName, upsertOptions);
184
+ batch = [];
185
+ }
186
+ }
187
+ if (batch.length > 0) {
188
+ const upsertOptions = {
189
+ points: batch,
190
+ };
191
+ if (wait !== undefined)
192
+ upsertOptions.wait = wait;
193
+ await this.upsert(collectionName, upsertOptions);
194
+ }
195
+ }
196
+ async upload_points(collectionName, options) {
197
+ return this.uploadPoints(collectionName, options);
198
+ }
199
+ async uploadCollection(collectionName, options) {
200
+ const { vectors, ids, payload, batchSize, batch_size: batchSizeSnake, ...rest } = options;
201
+ warnIgnored(rest);
202
+ const vectorList = Array.from(vectors);
203
+ const idList = ids ? Array.from(ids) : vectorList.map((_, index) => index);
204
+ const payloadList = payload
205
+ ? Array.from(payload)
206
+ : vectorList.map(() => undefined);
207
+ if (vectorList.length !== idList.length || vectorList.length !== payloadList.length) {
208
+ throw new errors_js_1.QdrantCompatValidationError("vectors, ids, and payload must have the same length");
209
+ }
210
+ const points = vectorList.map((vector, index) => {
211
+ const pointInit = {
212
+ id: idList[index] ?? index,
213
+ vector: vector,
214
+ };
215
+ const pointPayload = payloadList[index];
216
+ if (pointPayload !== undefined && pointPayload !== null) {
217
+ pointInit.payload = pointPayload;
218
+ }
219
+ return new models.PointStruct(pointInit);
220
+ });
221
+ const uploadOptions = {
222
+ points,
223
+ };
224
+ const effectiveBatchSize = batchSize ?? batchSizeSnake;
225
+ if (effectiveBatchSize !== undefined)
226
+ uploadOptions.batchSize = effectiveBatchSize;
227
+ await this.uploadPoints(collectionName, uploadOptions);
228
+ }
229
+ async upload_collection(collectionName, options) {
230
+ return this.uploadCollection(collectionName, options);
231
+ }
232
+ async retrieve(collectionName, options) {
233
+ const { ids, withPayload, with_payload: withPayloadSnake, withVectors, with_vectors: withVectorsSnake, ...rest } = options;
234
+ warnIgnored(rest);
235
+ const includeVectors = withVectors ?? withVectorsSnake ?? false;
236
+ const response = await this.client.collection(collectionName).docs.fetch({
237
+ ids: ids.map(String),
238
+ consistentRead: true,
239
+ includeVectors,
240
+ });
241
+ return response.docs.map((doc) => (0, conversions_js_1.docToRecord)(doc, {
242
+ withPayload: withPayload ?? withPayloadSnake ?? true,
243
+ withVectors: includeVectors,
244
+ }));
245
+ }
246
+ async delete(collectionName, options = {}) {
247
+ const { pointsSelector, points_selector: pointsSelectorSnake, points, ids: idsOption, filter, wait, ...rest } = options;
248
+ warnIgnored(rest);
249
+ const selector = pointsSelector ?? pointsSelectorSnake ?? points ?? idsOption;
250
+ const ids = idsFromSelector(selector);
251
+ const convertedFilter = (0, filters_js_1.filterToLambdaDB)(filterFromSelector(selector) ?? filter);
252
+ if (ids === undefined && Object.keys(convertedFilter).length === 0) {
253
+ throw new errors_js_1.UnsupportedQdrantFeatureError("delete requires point IDs or a supported Qdrant filter");
254
+ }
255
+ if (wait === false) {
256
+ warn("wait=false is accepted but LambdaDB write visibility follows LambdaDB semantics");
257
+ }
258
+ const body = {};
259
+ if (ids !== undefined)
260
+ body.ids = ids.map(String);
261
+ if (Object.keys(convertedFilter).length > 0)
262
+ body.filter = convertedFilter;
263
+ await this.client.collection(collectionName).docs.delete(body);
264
+ return new models.UpdateResult({ status: models.UpdateStatus.COMPLETED });
265
+ }
266
+ async queryPoints(collectionName, options) {
267
+ const { query, queryFilter, query_filter: queryFilterSnake, limit = 10, withPayload, with_payload: withPayloadSnake, withVectors, with_vectors: withVectorsSnake, using, searchParams, search_params: searchParamsSnake, offset, scoreThreshold, score_threshold: scoreThresholdSnake, consistency, shardKeySelector, shard_key_selector: shardKeySelectorSnake, ...rest } = options;
268
+ warnIgnored(rest);
269
+ if (offset !== undefined && offset !== 0) {
270
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Query offset is not supported in v1");
271
+ }
272
+ if (scoreThreshold !== undefined || scoreThresholdSnake !== undefined) {
273
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Query scoreThreshold is not supported in v1");
274
+ }
275
+ if (shardKeySelector !== undefined || shardKeySelectorSnake !== undefined) {
276
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Qdrant shard key routing is not supported in v1");
277
+ }
278
+ if (consistency !== undefined) {
279
+ warn("Qdrant consistency is ignored; LambdaDB queryPoints uses consistentRead=true");
280
+ }
281
+ if (searchParams !== undefined || searchParamsSnake !== undefined) {
282
+ warn("Qdrant searchParams are ignored by the LambdaDB compatibility client");
283
+ }
284
+ const includeVectors = withVectors ?? withVectorsSnake ?? false;
285
+ const { vector, field } = (0, conversions_js_1.queryVectorAndField)(query, using);
286
+ const knn = {
287
+ field,
288
+ k: limit,
289
+ queryVector: vector,
290
+ };
291
+ const convertedFilter = (0, filters_js_1.filterToLambdaDB)(queryFilter ?? queryFilterSnake);
292
+ if (Object.keys(convertedFilter).length > 0)
293
+ knn["filter"] = convertedFilter;
294
+ const response = await this.client.collection(collectionName).query({
295
+ query: { knn },
296
+ size: limit,
297
+ consistentRead: true,
298
+ includeVectors,
299
+ });
300
+ return new models.QueryResponse({
301
+ points: response.docs.map((result) => (0, conversions_js_1.resultToScoredPoint)(result, {
302
+ withPayload: withPayload ?? withPayloadSnake ?? true,
303
+ withVectors: includeVectors,
304
+ })),
305
+ });
306
+ }
307
+ async query_points(collectionName, options) {
308
+ return this.queryPoints(collectionName, options);
309
+ }
310
+ async query(collectionName, options) {
311
+ const { query, limit, filter, with_payload: withPayloadSnake, withPayload, with_vector: withVectorSnake, withVectors, params, ...rest } = options;
312
+ warnIgnored(rest);
313
+ const queryOptions = {
314
+ query,
315
+ };
316
+ if (filter !== undefined)
317
+ queryOptions.queryFilter = filter;
318
+ if (limit !== undefined)
319
+ queryOptions.limit = limit;
320
+ const payloadSelector = payloadSelectorToBoolean(withPayload ?? withPayloadSnake);
321
+ if (payloadSelector !== undefined)
322
+ queryOptions.withPayload = payloadSelector;
323
+ const vectorSelector = withVectors ?? withVectorSnake;
324
+ if (vectorSelector !== undefined)
325
+ queryOptions.withVectors = vectorSelector;
326
+ if (isObject(params))
327
+ queryOptions.searchParams = params;
328
+ return this.queryPoints(collectionName, queryOptions);
329
+ }
330
+ async search(collectionName, options) {
331
+ const query = options.queryVector ?? options.query_vector;
332
+ if (query === undefined) {
333
+ throw new errors_js_1.QdrantCompatValidationError("queryVector is required");
334
+ }
335
+ const response = await this.queryPoints(collectionName, { ...options, query });
336
+ return response.points;
337
+ }
338
+ async scroll(collectionName, options = {}) {
339
+ const { scrollFilter, scroll_filter: scrollFilterSnake, limit = 10, withPayload, with_payload: withPayloadSnake, withVectors, with_vectors: withVectorsSnake, ...rest } = options;
340
+ warnIgnored(rest);
341
+ if (scrollFilter !== undefined || scrollFilterSnake !== undefined) {
342
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Filtered scroll is not supported in v1");
343
+ }
344
+ if (withVectors === true || withVectorsSnake === true) {
345
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Scroll with vectors is not supported in v1");
346
+ }
347
+ const response = await this.client.collection(collectionName).docs.list({ size: limit });
348
+ return [
349
+ response.docs.map((doc) => (0, conversions_js_1.docToRecord)(doc, {
350
+ withPayload: withPayload ?? withPayloadSnake ?? true,
351
+ withVectors: false,
352
+ })),
353
+ response.nextPageToken,
354
+ ];
355
+ }
356
+ async count(collectionName, options = {}) {
357
+ const { countFilter, count_filter: countFilterSnake, ...rest } = options;
358
+ warnIgnored(rest);
359
+ if (countFilter !== undefined || countFilterSnake !== undefined) {
360
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Filtered count is not supported in v1");
361
+ }
362
+ const collection = await this.currentCollection(collectionName);
363
+ return new models.CountResult({
364
+ count: typeof collection["numDocs"] === "number" ? collection["numDocs"] : 0,
365
+ });
366
+ }
367
+ async currentCollection(collectionName) {
368
+ const response = await this.client.collection(collectionName).get();
369
+ if (!isObject(response.collection)) {
370
+ throw new errors_js_1.QdrantCompatError("LambdaDB collection response is missing collection metadata");
371
+ }
372
+ return response.collection;
373
+ }
374
+ async waitForCollectionActive(collectionName, timeoutSeconds) {
375
+ const timeout = typeof timeoutSeconds === "number" ? timeoutSeconds : 60;
376
+ const deadline = Date.now() + timeout * 1000;
377
+ let lastStatus = "unknown";
378
+ while (true) {
379
+ const collection = await this.currentCollection(collectionName);
380
+ const status = collection["collectionStatus"];
381
+ if (status === undefined || status === "ACTIVE")
382
+ return;
383
+ lastStatus = String(status);
384
+ if (Date.now() >= deadline) {
385
+ throw new errors_js_1.QdrantCompatError(`Collection ${collectionName} did not become ACTIVE within ${timeout}s; last status=${lastStatus}`);
386
+ }
387
+ await sleep(500);
388
+ }
389
+ }
390
+ }
391
+ exports.QdrantCompatClient = QdrantCompatClient;
392
+ exports.QdrantClient = QdrantCompatClient;
393
+ function normalizeConstructorOptions(options = {}) {
394
+ if (options.path !== undefined || options.location === ":memory:") {
395
+ throw new errors_js_1.UnsupportedQdrantFeatureError("Qdrant local mode is not supported by LambdaDB compatibility client");
396
+ }
397
+ const known = new Set([
398
+ "projectApiKey",
399
+ "project_api_key",
400
+ "apiKey",
401
+ "api_key",
402
+ "baseUrl",
403
+ "base_url",
404
+ "url",
405
+ "projectName",
406
+ "project_name",
407
+ "timeout",
408
+ "timeoutMs",
409
+ "retryConfig",
410
+ "httpClient",
411
+ "serverURL",
412
+ "projectHost",
413
+ "path",
414
+ "location",
415
+ "host",
416
+ "port",
417
+ "https",
418
+ "prefix",
419
+ ]);
420
+ warnIgnored(unknownEntries(options, known));
421
+ let baseUrl = options.baseUrl ?? options.base_url ?? options.url;
422
+ if (baseUrl === undefined && options.host !== undefined) {
423
+ const scheme = options.https === false ? "http" : "https";
424
+ baseUrl = `${scheme}://${options.host}`;
425
+ if (options.port !== undefined)
426
+ baseUrl = `${baseUrl}:${options.port}`;
427
+ if (options.prefix !== undefined) {
428
+ baseUrl = `${baseUrl.replace(/\/+$/, "")}/${options.prefix.replace(/^\/+/, "")}`;
429
+ }
430
+ }
431
+ if (typeof baseUrl === "string" &&
432
+ (baseUrl.includes("localhost") || baseUrl.includes("127.0.0.1"))) {
433
+ warn("The Qdrant compatibility client interprets url as LambdaDB baseUrl, not a Qdrant server URL.");
434
+ }
435
+ const timeoutMs = options.timeoutMs ??
436
+ (typeof options.timeout === "number" ? Math.trunc(options.timeout * 1000) : undefined);
437
+ const normalized = {};
438
+ const projectApiKey = options.projectApiKey ?? options.project_api_key ??
439
+ options.apiKey ?? options.api_key;
440
+ if (projectApiKey !== undefined)
441
+ normalized.projectApiKey = projectApiKey;
442
+ if (typeof baseUrl === "string")
443
+ normalized.baseUrl = baseUrl;
444
+ const projectName = options.projectName ?? options.project_name;
445
+ if (projectName !== undefined)
446
+ normalized.projectName = projectName;
447
+ if (timeoutMs !== undefined)
448
+ normalized.timeoutMs = timeoutMs;
449
+ if (options.retryConfig !== undefined)
450
+ normalized.retryConfig = options.retryConfig;
451
+ if (options.httpClient !== undefined)
452
+ normalized.httpClient = options.httpClient;
453
+ if (options.serverURL !== undefined)
454
+ normalized.serverURL = options.serverURL;
455
+ if (options.projectHost !== undefined)
456
+ normalized.projectHost = options.projectHost;
457
+ return normalized;
458
+ }
459
+ function normalizeCollectionArgs(collectionNameOrInput, options) {
460
+ if (typeof collectionNameOrInput === "string") {
461
+ return { collectionName: collectionNameOrInput, body: { ...options } };
462
+ }
463
+ const collectionName = collectionNameOrInput.collectionName ??
464
+ collectionNameOrInput.collection_name;
465
+ if (collectionName === undefined) {
466
+ throw new errors_js_1.QdrantCompatValidationError("collectionName is required");
467
+ }
468
+ return { collectionName, body: { ...collectionNameOrInput, ...options } };
469
+ }
470
+ function popPayloadSchema(body) {
471
+ const keys = [
472
+ "payloadSchema",
473
+ "payload_schema",
474
+ "payloadIndexes",
475
+ "payload_indexes",
476
+ "payloadIndexConfigs",
477
+ "payload_index_configs",
478
+ ];
479
+ const present = keys.filter((key) => body[key] !== undefined && body[key] !== null);
480
+ if (present.length > 1) {
481
+ throw new errors_js_1.QdrantCompatValidationError(`Use only one payload schema option, got: ${present.join(", ")}`);
482
+ }
483
+ const [firstKey] = present;
484
+ return firstKey === undefined ? undefined : body[firstKey];
485
+ }
486
+ function rejectResultChanging(body, allowed) {
487
+ const ignored = Object.entries(body)
488
+ .filter(([key, value]) => value !== undefined &&
489
+ value !== null &&
490
+ !allowed.has(key) &&
491
+ ![
492
+ "collectionName",
493
+ "collection_name",
494
+ "vectorsConfig",
495
+ "vectors_config",
496
+ "vectors",
497
+ "payloadSchema",
498
+ "payload_schema",
499
+ "payloadIndexes",
500
+ "payload_indexes",
501
+ "payloadIndexConfigs",
502
+ "payload_index_configs",
503
+ ].includes(key))
504
+ .map(([key]) => key);
505
+ if (ignored.length > 0) {
506
+ throw new errors_js_1.UnsupportedQdrantFeatureError(`Unsupported Qdrant collection options: ${ignored.join(", ")}`);
507
+ }
508
+ }
509
+ function idsFromSelector(selector) {
510
+ if (selector === undefined || selector === null)
511
+ return undefined;
512
+ if (Array.isArray(selector))
513
+ return selector;
514
+ if (isObject(selector)) {
515
+ const points = selector["points"];
516
+ const ids = selector["ids"];
517
+ if (Array.isArray(points))
518
+ return points;
519
+ if (Array.isArray(ids))
520
+ return ids;
521
+ }
522
+ return undefined;
523
+ }
524
+ function filterFromSelector(selector) {
525
+ if (isObject(selector) && "filter" in selector) {
526
+ return selector["filter"];
527
+ }
528
+ return undefined;
529
+ }
530
+ function hasSameIndexConfigs(existing, expected) {
531
+ return Object.entries(expected).every(([fieldName, indexConfig]) => JSON.stringify(existing[fieldName]) === JSON.stringify(indexConfig));
532
+ }
533
+ function payloadSelectorToBoolean(selector) {
534
+ if (Array.isArray(selector))
535
+ return true;
536
+ return selector;
537
+ }
538
+ function isLambdaDBLike(value) {
539
+ return isObject(value) &&
540
+ typeof value["createCollection"] === "function" &&
541
+ typeof value["collection"] === "function";
542
+ }
543
+ function isNotFoundError(error) {
544
+ return error instanceof index_js_1.ResourceNotFoundError ||
545
+ (isObject(error) && error["name"] === "ResourceNotFoundError");
546
+ }
547
+ function unknownEntries(options, known) {
548
+ const result = {};
549
+ for (const [key, value] of Object.entries(options)) {
550
+ if (!known.has(key))
551
+ result[key] = value;
552
+ }
553
+ return result;
554
+ }
555
+ function warnIgnored(options) {
556
+ const keys = Object.entries(options)
557
+ .filter(([, value]) => value !== undefined && value !== null)
558
+ .map(([key]) => key)
559
+ .sort();
560
+ if (keys.length > 0) {
561
+ warn(`Ignoring unsupported Qdrant options: ${keys.join(", ")}`);
562
+ }
563
+ }
564
+ function warn(message) {
565
+ console.warn(message);
566
+ }
567
+ function sleep(ms) {
568
+ return new Promise((resolve) => setTimeout(resolve, ms));
569
+ }
570
+ function isObject(value) {
571
+ return typeof value === "object" && value !== null && !Array.isArray(value);
572
+ }
573
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/compat/qdrant/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { PointStruct, type DenseVector } from "./models.js";
2
+ import * as models from "./models.js";
3
+ export declare const DEFAULT_VECTOR_NAME = "_qdrant_vector";
4
+ export declare const ID_FIELD = "id";
5
+ export declare const ORIGINAL_ID_FIELD = "_qdrant_id";
6
+ export declare const RESERVED_PREFIX = "_qdrant_";
7
+ type JsonObject = {
8
+ [key: string]: unknown;
9
+ };
10
+ type IndexConfig = {
11
+ [key: string]: unknown;
12
+ };
13
+ type IndexConfigs = {
14
+ [fieldName: string]: IndexConfig;
15
+ };
16
+ export declare function vectorFieldName(name?: string | null): string;
17
+ export declare function pointFromAny(point: unknown): PointStruct;
18
+ export declare function pointsToDocs(points: Iterable<unknown>): JsonObject[];
19
+ export declare function pointToDoc(point: unknown): JsonObject;
20
+ export declare function docToRecord(input: unknown, options?: {
21
+ withPayload?: boolean;
22
+ withVectors?: boolean;
23
+ }): models.Record;
24
+ export declare function resultToScoredPoint(result: unknown, options?: {
25
+ withPayload?: boolean;
26
+ withVectors?: boolean;
27
+ }): models.ScoredPoint;
28
+ export declare function vectorConfigToIndexConfigs(vectorsConfig: unknown): IndexConfigs;
29
+ export declare function payloadSchemaToIndexConfigs(payloadSchema?: unknown): IndexConfigs;
30
+ export declare function mergeIndexConfigs(...configs: IndexConfigs[]): IndexConfigs;
31
+ export declare function queryVectorAndField(query: unknown, using?: string): {
32
+ vector: DenseVector;
33
+ field: string;
34
+ };
35
+ export declare function plainIndexConfigs(rawIndexConfigs: unknown): IndexConfigs;
36
+ export declare function qdrantVectorsConfig(indexConfigs: IndexConfigs): unknown;
37
+ export declare function validatePayloadFieldName(key: string): void;
38
+ export declare function distanceToSimilarity(distance: models.Distance | string): string;
39
+ export type { IndexConfigs };
40
+ //# sourceMappingURL=conversions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../../src/compat/qdrant/conversions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAGX,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAMtC,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAC9C,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,KAAK,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAC7C,KAAK,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAC9C,KAAK,YAAY,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC;AAgBzD,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG5D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAUxD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAEpE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAoCrD;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,MAAM,CAAC,MAAM,CAOf;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7D,MAAM,CAAC,WAAW,CAWpB;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,OAAO,GAAG,YAAY,CAgC/E;AAED,wBAAgB,2BAA2B,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,YAAY,CAcjF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,CAgB1E;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0CxC;AAED,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,OAAO,GAAG,YAAY,CAYxE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAwBvE;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAW1D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM,CAO/E;AA0HD,YAAY,EAAE,YAAY,EAAE,CAAC"}