@kitedb/core 0.2.6 → 0.2.8

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/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * @example
6
6
  * ```typescript
7
- * import { ray, defineNode, defineEdge, prop, optional } from 'kitedb-core'
7
+ * import { kite, defineNode, defineEdge, prop, optional } from 'kitedb-core'
8
8
  *
9
9
  * // Define schema
10
10
  * const User = defineNode('user', {
@@ -20,7 +20,7 @@
20
20
  * })
21
21
  *
22
22
  * // Open database
23
- * const db = await ray('./my.kitedb', {
23
+ * const db = await kite('./my.kitedb', {
24
24
  * nodes: [User],
25
25
  * edges: [knows],
26
26
  * })
@@ -35,9 +35,9 @@
35
35
  * @packageDocumentation
36
36
  */
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.version = exports.traversalStep = exports.pathConfig = exports.bruteForceSearch = exports.createVectorIndex = exports.healthCheck = exports.collectMetrics = exports.createOfflineBackup = exports.getBackupInfo = exports.restoreBackup = exports.createBackup = exports.openDatabase = exports.PropValueType = exports.CompressionType = exports.SyncMode = exports.Aggregation = exports.DistanceMetric = exports.TraversalDirection = exports.RayPath = exports.RayTraversal = exports.RayUpdateEdgeBuilder = exports.RayUpdateBuilder = exports.RayInsertExecutorMany = exports.RayInsertExecutorSingle = exports.RayInsertBuilder = exports.VectorIndex = exports.Database = exports.Ray = exports.defineEdge = exports.defineNode = exports.withDefault = exports.optional = exports.prop = exports.edge = exports.node = void 0;
39
- exports.ray = ray;
40
- exports.raySync = raySync;
38
+ exports.version = exports.traversalStep = exports.pathConfig = exports.bruteForceSearch = exports.createVectorIndex = exports.healthCheck = exports.collectMetrics = exports.createOfflineBackup = exports.getBackupInfo = exports.restoreBackup = exports.createBackup = exports.openDatabase = exports.PropValueType = exports.CompressionType = exports.SyncMode = exports.Aggregation = exports.DistanceMetric = exports.TraversalDirection = exports.KiteUpsertEdgeBuilder = exports.KiteUpsertByIdBuilder = exports.KiteUpsertExecutorMany = exports.KiteUpsertExecutorSingle = exports.KiteUpdateEdgeBuilder = exports.KiteUpdateBuilder = exports.KiteInsertExecutorMany = exports.KiteInsertExecutorSingle = exports.VectorIndex = exports.Database = exports.Kite = exports.KiteLinkBuilder = exports.KiteShortestPathBuilder = exports.KitePath = exports.KiteTraversal = exports.KiteUpsertBuilder = exports.KiteInsertBuilder = exports.defineEdge = exports.defineNode = exports.withDefault = exports.optional = exports.prop = exports.edge = exports.node = void 0;
39
+ exports.kite = kite;
40
+ exports.kiteSync = kiteSync;
41
41
  // =============================================================================
42
42
  // Schema Builders (clean API)
43
43
  // =============================================================================
@@ -54,45 +54,493 @@ Object.defineProperty(exports, "defineEdge", { enumerable: true, get: function (
54
54
  // =============================================================================
55
55
  // Import native bindings
56
56
  const index_1 = require("../index");
57
+ function withToArray(items, toArray) {
58
+ const output = items;
59
+ if (!output.toArray) {
60
+ output.toArray = () => (toArray ? toArray() : output);
61
+ }
62
+ return output;
63
+ }
64
+ function isRecord(value) {
65
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
66
+ }
67
+ function nodeName(nodeType) {
68
+ return typeof nodeType === 'string' ? nodeType : nodeType.name;
69
+ }
70
+ function nodeNameOptional(nodeType) {
71
+ if (nodeType === undefined || nodeType === null) {
72
+ return nodeType;
73
+ }
74
+ return nodeName(nodeType);
75
+ }
76
+ function edgeName(edgeType) {
77
+ return typeof edgeType === 'string' ? edgeType : edgeType.name;
78
+ }
79
+ function nodeId(value) {
80
+ return typeof value === 'number' ? value : value.id;
81
+ }
82
+ function edgeNameOptional(edgeType) {
83
+ if (edgeType === undefined || edgeType === null) {
84
+ return edgeType;
85
+ }
86
+ return edgeName(edgeType);
87
+ }
88
+ function normalizeEntry(entry) {
89
+ const hasProps = Object.prototype.hasOwnProperty.call(entry, 'props');
90
+ const { key, props, ...rest } = entry;
91
+ if (hasProps) {
92
+ return { key, props: props };
93
+ }
94
+ const restKeys = Object.keys(rest);
95
+ if (restKeys.length === 0) {
96
+ return { key };
97
+ }
98
+ return { key, props: rest };
99
+ }
57
100
  // =============================================================================
58
- // Clean Type Aliases (no Js prefix)
101
+ // Fluent Builder Wrappers
59
102
  // =============================================================================
60
- // Re-export Ray class
61
- var index_2 = require("../index");
62
- Object.defineProperty(exports, "Ray", { enumerable: true, get: function () { return index_2.Ray; } });
103
+ class KiteInsertBuilder extends index_1.KiteInsertBuilder {
104
+ static wrap(builder) {
105
+ Object.setPrototypeOf(builder, KiteInsertBuilder.prototype);
106
+ return builder;
107
+ }
108
+ values(keyOrEntry, props) {
109
+ if (props === undefined && isRecord(keyOrEntry) && 'key' in keyOrEntry) {
110
+ const normalized = normalizeEntry(keyOrEntry);
111
+ return super.values(normalized.key, normalized.props);
112
+ }
113
+ return super.values(keyOrEntry, props ?? undefined);
114
+ }
115
+ valuesMany(entries) {
116
+ const normalized = entries.map((entry) => {
117
+ if (isRecord(entry) && 'key' in entry) {
118
+ return normalizeEntry(entry);
119
+ }
120
+ return entry;
121
+ });
122
+ return super.valuesMany(normalized);
123
+ }
124
+ }
125
+ exports.KiteInsertBuilder = KiteInsertBuilder;
126
+ class KiteUpsertBuilder extends index_1.KiteUpsertBuilder {
127
+ static wrap(builder) {
128
+ Object.setPrototypeOf(builder, KiteUpsertBuilder.prototype);
129
+ return builder;
130
+ }
131
+ values(keyOrEntry, props) {
132
+ if (props === undefined && isRecord(keyOrEntry) && 'key' in keyOrEntry) {
133
+ const normalized = normalizeEntry(keyOrEntry);
134
+ return super.values(normalized.key, normalized.props);
135
+ }
136
+ return super.values(keyOrEntry, props ?? undefined);
137
+ }
138
+ valuesMany(entries) {
139
+ const normalized = entries.map((entry) => {
140
+ if (isRecord(entry) && 'key' in entry) {
141
+ return normalizeEntry(entry);
142
+ }
143
+ return entry;
144
+ });
145
+ return super.valuesMany(normalized);
146
+ }
147
+ }
148
+ exports.KiteUpsertBuilder = KiteUpsertBuilder;
149
+ class KiteTraversal extends index_1.KiteTraversal {
150
+ static wrap(traversal, db) {
151
+ Object.setPrototypeOf(traversal, KiteTraversal.prototype);
152
+ if (db) {
153
+ ;
154
+ traversal.__db = db;
155
+ }
156
+ return traversal;
157
+ }
158
+ whereEdge(func) {
159
+ return KiteTraversal.wrap(super.whereEdge(func), this.__db);
160
+ }
161
+ whereNode(func) {
162
+ return KiteTraversal.wrap(super.whereNode(func), this.__db);
163
+ }
164
+ out(edgeType) {
165
+ return KiteTraversal.wrap(super.out(edgeNameOptional(edgeType)), this.__db);
166
+ }
167
+ ['in'](edgeType) {
168
+ return KiteTraversal.wrap(super['in'](edgeNameOptional(edgeType)), this.__db);
169
+ }
170
+ both(edgeType) {
171
+ return KiteTraversal.wrap(super.both(edgeNameOptional(edgeType)), this.__db);
172
+ }
173
+ traverse(edgeType, options) {
174
+ return KiteTraversal.wrap(super.traverse(edgeNameOptional(edgeType), options), this.__db);
175
+ }
176
+ take(limit) {
177
+ return KiteTraversal.wrap(super.take(limit), this.__db);
178
+ }
179
+ select(props) {
180
+ return KiteTraversal.wrap(super.select(props), this.__db);
181
+ }
182
+ nodes() {
183
+ const ids = super.nodes();
184
+ const db = this.__db;
185
+ if (!db) {
186
+ return withToArray(ids);
187
+ }
188
+ return withToArray(ids, () => ids
189
+ .map((id) => db.getById(id))
190
+ .filter((node) => Boolean(node)));
191
+ }
192
+ edges() {
193
+ return withToArray(super.edges());
194
+ }
195
+ toArray() {
196
+ const ids = super.nodes();
197
+ const db = this.__db;
198
+ if (!db) {
199
+ return withToArray(ids);
200
+ }
201
+ return withToArray(ids.map((id) => db.getById(id)).filter((node) => Boolean(node)));
202
+ }
203
+ }
204
+ exports.KiteTraversal = KiteTraversal;
205
+ class KitePath extends index_1.KitePath {
206
+ static wrap(path) {
207
+ Object.setPrototypeOf(path, KitePath.prototype);
208
+ return path;
209
+ }
210
+ via(edgeType) {
211
+ super.via(edgeName(edgeType));
212
+ return this;
213
+ }
214
+ maxDepth(depth) {
215
+ super.maxDepth(depth);
216
+ return this;
217
+ }
218
+ direction(direction) {
219
+ super.direction(direction);
220
+ return this;
221
+ }
222
+ bidirectional() {
223
+ super.bidirectional();
224
+ return this;
225
+ }
226
+ dijkstra() {
227
+ return super.find();
228
+ }
229
+ bfs() {
230
+ return super.findBfs();
231
+ }
232
+ kShortest(k) {
233
+ return super.findKShortest(k);
234
+ }
235
+ }
236
+ exports.KitePath = KitePath;
237
+ class KiteShortestPathBuilder {
238
+ constructor(db, source) {
239
+ this.target = null;
240
+ this.edgeTypes = [];
241
+ this.maxDepthValue = null;
242
+ this.directionValue = null;
243
+ this.useBidirectional = false;
244
+ this.db = db;
245
+ this.source = source;
246
+ }
247
+ via(edgeType) {
248
+ this.edgeTypes.push(edgeType);
249
+ return this;
250
+ }
251
+ to(target) {
252
+ this.target = nodeId(target);
253
+ return this;
254
+ }
255
+ maxDepth(depth) {
256
+ this.maxDepthValue = depth;
257
+ return this;
258
+ }
259
+ direction(direction) {
260
+ this.directionValue = direction;
261
+ return this;
262
+ }
263
+ bidirectional() {
264
+ this.useBidirectional = true;
265
+ return this;
266
+ }
267
+ dijkstra() {
268
+ const path = this.buildPath();
269
+ return path.find();
270
+ }
271
+ bfs() {
272
+ const path = this.buildPath();
273
+ return path.findBfs();
274
+ }
275
+ kShortest(k) {
276
+ const path = this.buildPath();
277
+ return path.findKShortest(k);
278
+ }
279
+ buildPath() {
280
+ if (this.target === null) {
281
+ throw new Error('shortestPath: target not set (call .to(target) first)');
282
+ }
283
+ const path = this.db.path(this.source, this.target);
284
+ for (const edgeType of this.edgeTypes) {
285
+ path.via(edgeType);
286
+ }
287
+ if (this.maxDepthValue !== null) {
288
+ path.maxDepth(this.maxDepthValue);
289
+ }
290
+ if (this.useBidirectional) {
291
+ path.bidirectional();
292
+ }
293
+ else if (this.directionValue !== null) {
294
+ path.direction(this.directionValue);
295
+ }
296
+ return path;
297
+ }
298
+ }
299
+ exports.KiteShortestPathBuilder = KiteShortestPathBuilder;
300
+ class KiteLinkBuilder {
301
+ constructor(db, src) {
302
+ this.dst = null;
303
+ this.edgeType = null;
304
+ this.db = db;
305
+ this.src = src;
306
+ }
307
+ to(dst) {
308
+ this.dst = nodeId(dst);
309
+ return this;
310
+ }
311
+ via(edgeType) {
312
+ this.edgeType = edgeType;
313
+ return this;
314
+ }
315
+ props(props) {
316
+ this.edgeProps = props;
317
+ return this;
318
+ }
319
+ execute() {
320
+ if (!this.edgeType) {
321
+ throw new Error('link: edge type not set (call .via(edgeType) first)');
322
+ }
323
+ if (this.dst === null) {
324
+ throw new Error('link: destination not set (call .to(dst) first)');
325
+ }
326
+ this.db.link(this.src, edgeName(this.edgeType), this.dst, this.edgeProps ?? undefined);
327
+ }
328
+ }
329
+ exports.KiteLinkBuilder = KiteLinkBuilder;
330
+ // =============================================================================
331
+ // Kite Wrapper (transactions + batch)
332
+ // =============================================================================
333
+ class Kite extends index_1.Kite {
334
+ static open(path, options) {
335
+ const native = index_1.Kite.open(path, options);
336
+ Object.setPrototypeOf(native, Kite.prototype);
337
+ return native;
338
+ }
339
+ transaction(fn) {
340
+ if (this.hasTransaction()) {
341
+ return fn(this);
342
+ }
343
+ this.begin();
344
+ try {
345
+ const result = fn(this);
346
+ if (result && typeof result.then === 'function') {
347
+ return result.then((value) => {
348
+ this.commit();
349
+ return value;
350
+ }, (err) => {
351
+ this.rollback();
352
+ throw err;
353
+ });
354
+ }
355
+ this.commit();
356
+ return result;
357
+ }
358
+ catch (err) {
359
+ this.rollback();
360
+ throw err;
361
+ }
362
+ }
363
+ batch(operations) {
364
+ if (operations.length === 0) {
365
+ return [];
366
+ }
367
+ const nativeOps = new Set(['createNode', 'deleteNode', 'link', 'unlink', 'setProp', 'delProp']);
368
+ const isNativeBatch = operations.every((op) => {
369
+ if (!op || typeof op !== 'object') {
370
+ return false;
371
+ }
372
+ const opName = op.op ?? op.type;
373
+ return typeof opName === 'string' && nativeOps.has(opName);
374
+ });
375
+ if (isNativeBatch) {
376
+ return super.batch(operations);
377
+ }
378
+ const inTransaction = this.hasTransaction();
379
+ if (!inTransaction) {
380
+ this.begin();
381
+ }
382
+ try {
383
+ const results = [];
384
+ for (const op of operations) {
385
+ let value;
386
+ if (typeof op === 'function') {
387
+ value = op(this);
388
+ }
389
+ else if (op && typeof op.returning === 'function') {
390
+ value = op.returning();
391
+ }
392
+ else if (op && typeof op.execute === 'function') {
393
+ value = op.execute();
394
+ }
395
+ else {
396
+ throw new Error('Unsupported batch operation');
397
+ }
398
+ if (value && typeof value.then === 'function') {
399
+ if (!inTransaction) {
400
+ this.rollback();
401
+ }
402
+ throw new Error('Batch operations must be synchronous');
403
+ }
404
+ results.push(value);
405
+ }
406
+ if (!inTransaction) {
407
+ this.commit();
408
+ }
409
+ return results;
410
+ }
411
+ catch (err) {
412
+ if (!inTransaction) {
413
+ this.rollback();
414
+ }
415
+ throw err;
416
+ }
417
+ }
418
+ get(nodeType, key) {
419
+ return super.get(nodeName(nodeType), key);
420
+ }
421
+ getRef(nodeType, key) {
422
+ return super.getRef(nodeName(nodeType), key);
423
+ }
424
+ deleteByKey(nodeType, key) {
425
+ return super.deleteByKey(nodeName(nodeType), key);
426
+ }
427
+ delete(nodeType, key) {
428
+ return this.deleteByKey(nodeType, key);
429
+ }
430
+ insert(nodeType) {
431
+ return KiteInsertBuilder.wrap(super.insert(nodeName(nodeType)));
432
+ }
433
+ upsert(nodeType) {
434
+ return KiteUpsertBuilder.wrap(super.upsert(nodeName(nodeType)));
435
+ }
436
+ updateByKey(nodeType, key) {
437
+ return super.updateByKey(nodeName(nodeType), key);
438
+ }
439
+ update(nodeType, key) {
440
+ return this.updateByKey(nodeType, key);
441
+ }
442
+ upsertById(nodeType, nodeId) {
443
+ return super.upsertById(nodeName(nodeType), nodeId);
444
+ }
445
+ link(src, edgeType, dst, props) {
446
+ if (!edgeType || dst === undefined) {
447
+ return new KiteLinkBuilder(this, nodeId(src));
448
+ }
449
+ return super.link(nodeId(src), edgeName(edgeType), nodeId(dst), props);
450
+ }
451
+ unlink(src, edgeType, dst) {
452
+ return super.unlink(nodeId(src), edgeName(edgeType), nodeId(dst));
453
+ }
454
+ hasEdge(src, edgeType, dst) {
455
+ return super.hasEdge(nodeId(src), edgeName(edgeType), nodeId(dst));
456
+ }
457
+ getEdgeProp(src, edgeType, dst, propName) {
458
+ return super.getEdgeProp(nodeId(src), edgeName(edgeType), nodeId(dst), propName);
459
+ }
460
+ getEdgeProps(src, edgeType, dst) {
461
+ return super.getEdgeProps(nodeId(src), edgeName(edgeType), nodeId(dst));
462
+ }
463
+ setEdgeProp(src, edgeType, dst, propName, value) {
464
+ return super.setEdgeProp(nodeId(src), edgeName(edgeType), nodeId(dst), propName, value);
465
+ }
466
+ delEdgeProp(src, edgeType, dst, propName) {
467
+ return super.delEdgeProp(nodeId(src), edgeName(edgeType), nodeId(dst), propName);
468
+ }
469
+ updateEdge(src, edgeType, dst) {
470
+ return super.updateEdge(nodeId(src), edgeName(edgeType), nodeId(dst));
471
+ }
472
+ upsertEdge(src, edgeType, dst) {
473
+ return super.upsertEdge(nodeId(src), edgeName(edgeType), nodeId(dst));
474
+ }
475
+ all(nodeType) {
476
+ return super.all(nodeName(nodeType));
477
+ }
478
+ countNodes(nodeType) {
479
+ return super.countNodes(nodeNameOptional(nodeType));
480
+ }
481
+ countEdges(edgeType) {
482
+ return super.countEdges(edgeNameOptional(edgeType));
483
+ }
484
+ allEdges(edgeType) {
485
+ return super.allEdges(edgeNameOptional(edgeType));
486
+ }
487
+ hasPath(source, target, edgeType) {
488
+ return super.hasPath(nodeId(source), nodeId(target), edgeNameOptional(edgeType));
489
+ }
490
+ reachableFrom(source, maxDepth, edgeType) {
491
+ return super.reachableFrom(nodeId(source), maxDepth, edgeNameOptional(edgeType));
492
+ }
493
+ from(node) {
494
+ return KiteTraversal.wrap(super.from(nodeId(node)), this);
495
+ }
496
+ fromNodes(nodeIds) {
497
+ return KiteTraversal.wrap(super.fromNodes(nodeIds.map((id) => nodeId(id))), this);
498
+ }
499
+ path(source, target) {
500
+ return KitePath.wrap(super.path(nodeId(source), nodeId(target)));
501
+ }
502
+ pathToAny(source, targets) {
503
+ return KitePath.wrap(super.pathToAny(nodeId(source), targets.map((target) => nodeId(target))));
504
+ }
505
+ shortestPath(source) {
506
+ return new KiteShortestPathBuilder(this, nodeId(source));
507
+ }
508
+ }
509
+ exports.Kite = Kite;
63
510
  // Re-export other classes with clean names
64
- var index_3 = require("../index");
65
- Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return index_3.Database; } });
66
- Object.defineProperty(exports, "VectorIndex", { enumerable: true, get: function () { return index_3.VectorIndex; } });
67
- Object.defineProperty(exports, "RayInsertBuilder", { enumerable: true, get: function () { return index_3.RayInsertBuilder; } });
68
- Object.defineProperty(exports, "RayInsertExecutorSingle", { enumerable: true, get: function () { return index_3.RayInsertExecutorSingle; } });
69
- Object.defineProperty(exports, "RayInsertExecutorMany", { enumerable: true, get: function () { return index_3.RayInsertExecutorMany; } });
70
- Object.defineProperty(exports, "RayUpdateBuilder", { enumerable: true, get: function () { return index_3.RayUpdateBuilder; } });
71
- Object.defineProperty(exports, "RayUpdateEdgeBuilder", { enumerable: true, get: function () { return index_3.RayUpdateEdgeBuilder; } });
72
- Object.defineProperty(exports, "RayTraversal", { enumerable: true, get: function () { return index_3.RayTraversal; } });
73
- Object.defineProperty(exports, "RayPath", { enumerable: true, get: function () { return index_3.RayPath; } });
511
+ var index_2 = require("../index");
512
+ Object.defineProperty(exports, "Database", { enumerable: true, get: function () { return index_2.Database; } });
513
+ Object.defineProperty(exports, "VectorIndex", { enumerable: true, get: function () { return index_2.VectorIndex; } });
514
+ Object.defineProperty(exports, "KiteInsertExecutorSingle", { enumerable: true, get: function () { return index_2.KiteInsertExecutorSingle; } });
515
+ Object.defineProperty(exports, "KiteInsertExecutorMany", { enumerable: true, get: function () { return index_2.KiteInsertExecutorMany; } });
516
+ Object.defineProperty(exports, "KiteUpdateBuilder", { enumerable: true, get: function () { return index_2.KiteUpdateBuilder; } });
517
+ Object.defineProperty(exports, "KiteUpdateEdgeBuilder", { enumerable: true, get: function () { return index_2.KiteUpdateEdgeBuilder; } });
518
+ Object.defineProperty(exports, "KiteUpsertExecutorSingle", { enumerable: true, get: function () { return index_2.KiteUpsertExecutorSingle; } });
519
+ Object.defineProperty(exports, "KiteUpsertExecutorMany", { enumerable: true, get: function () { return index_2.KiteUpsertExecutorMany; } });
520
+ Object.defineProperty(exports, "KiteUpsertByIdBuilder", { enumerable: true, get: function () { return index_2.KiteUpsertByIdBuilder; } });
521
+ Object.defineProperty(exports, "KiteUpsertEdgeBuilder", { enumerable: true, get: function () { return index_2.KiteUpsertEdgeBuilder; } });
74
522
  // Re-export enums with clean names
75
- var index_4 = require("../index");
76
- Object.defineProperty(exports, "TraversalDirection", { enumerable: true, get: function () { return index_4.JsTraversalDirection; } });
77
- Object.defineProperty(exports, "DistanceMetric", { enumerable: true, get: function () { return index_4.JsDistanceMetric; } });
78
- Object.defineProperty(exports, "Aggregation", { enumerable: true, get: function () { return index_4.JsAggregation; } });
79
- Object.defineProperty(exports, "SyncMode", { enumerable: true, get: function () { return index_4.JsSyncMode; } });
80
- Object.defineProperty(exports, "CompressionType", { enumerable: true, get: function () { return index_4.JsCompressionType; } });
81
- Object.defineProperty(exports, "PropValueType", { enumerable: true, get: function () { return index_4.PropType; } });
523
+ var index_3 = require("../index");
524
+ Object.defineProperty(exports, "TraversalDirection", { enumerable: true, get: function () { return index_3.JsTraversalDirection; } });
525
+ Object.defineProperty(exports, "DistanceMetric", { enumerable: true, get: function () { return index_3.JsDistanceMetric; } });
526
+ Object.defineProperty(exports, "Aggregation", { enumerable: true, get: function () { return index_3.JsAggregation; } });
527
+ Object.defineProperty(exports, "SyncMode", { enumerable: true, get: function () { return index_3.JsSyncMode; } });
528
+ Object.defineProperty(exports, "CompressionType", { enumerable: true, get: function () { return index_3.JsCompressionType; } });
529
+ Object.defineProperty(exports, "PropValueType", { enumerable: true, get: function () { return index_3.PropType; } });
82
530
  // Re-export utility functions
83
- var index_5 = require("../index");
84
- Object.defineProperty(exports, "openDatabase", { enumerable: true, get: function () { return index_5.openDatabase; } });
85
- Object.defineProperty(exports, "createBackup", { enumerable: true, get: function () { return index_5.createBackup; } });
86
- Object.defineProperty(exports, "restoreBackup", { enumerable: true, get: function () { return index_5.restoreBackup; } });
87
- Object.defineProperty(exports, "getBackupInfo", { enumerable: true, get: function () { return index_5.getBackupInfo; } });
88
- Object.defineProperty(exports, "createOfflineBackup", { enumerable: true, get: function () { return index_5.createOfflineBackup; } });
89
- Object.defineProperty(exports, "collectMetrics", { enumerable: true, get: function () { return index_5.collectMetrics; } });
90
- Object.defineProperty(exports, "healthCheck", { enumerable: true, get: function () { return index_5.healthCheck; } });
91
- Object.defineProperty(exports, "createVectorIndex", { enumerable: true, get: function () { return index_5.createVectorIndex; } });
92
- Object.defineProperty(exports, "bruteForceSearch", { enumerable: true, get: function () { return index_5.bruteForceSearch; } });
93
- Object.defineProperty(exports, "pathConfig", { enumerable: true, get: function () { return index_5.pathConfig; } });
94
- Object.defineProperty(exports, "traversalStep", { enumerable: true, get: function () { return index_5.traversalStep; } });
95
- Object.defineProperty(exports, "version", { enumerable: true, get: function () { return index_5.version; } });
531
+ var index_4 = require("../index");
532
+ Object.defineProperty(exports, "openDatabase", { enumerable: true, get: function () { return index_4.openDatabase; } });
533
+ Object.defineProperty(exports, "createBackup", { enumerable: true, get: function () { return index_4.createBackup; } });
534
+ Object.defineProperty(exports, "restoreBackup", { enumerable: true, get: function () { return index_4.restoreBackup; } });
535
+ Object.defineProperty(exports, "getBackupInfo", { enumerable: true, get: function () { return index_4.getBackupInfo; } });
536
+ Object.defineProperty(exports, "createOfflineBackup", { enumerable: true, get: function () { return index_4.createOfflineBackup; } });
537
+ Object.defineProperty(exports, "collectMetrics", { enumerable: true, get: function () { return index_4.collectMetrics; } });
538
+ Object.defineProperty(exports, "healthCheck", { enumerable: true, get: function () { return index_4.healthCheck; } });
539
+ Object.defineProperty(exports, "createVectorIndex", { enumerable: true, get: function () { return index_4.createVectorIndex; } });
540
+ Object.defineProperty(exports, "bruteForceSearch", { enumerable: true, get: function () { return index_4.bruteForceSearch; } });
541
+ Object.defineProperty(exports, "pathConfig", { enumerable: true, get: function () { return index_4.pathConfig; } });
542
+ Object.defineProperty(exports, "traversalStep", { enumerable: true, get: function () { return index_4.traversalStep; } });
543
+ Object.defineProperty(exports, "version", { enumerable: true, get: function () { return index_4.version; } });
96
544
  // =============================================================================
97
545
  // Type Conversion Helpers
98
546
  // =============================================================================
@@ -143,48 +591,52 @@ function optionsToNative(options) {
143
591
  // Main Entry Points
144
592
  // =============================================================================
145
593
  /**
146
- * Open a Ray database asynchronously.
594
+ * Open a Kite database asynchronously.
147
595
  *
148
596
  * This is the recommended way to open a database as it doesn't block
149
597
  * the Node.js event loop during file I/O.
150
598
  *
151
599
  * @param path - Path to the database file
152
600
  * @param options - Database options including schema
153
- * @returns Promise resolving to a Ray database instance
601
+ * @returns Promise resolving to a Kite database instance
154
602
  *
155
603
  * @example
156
604
  * ```typescript
157
- * const db = await ray('./my.kitedb', {
605
+ * const db = await kite('./my.kitedb', {
158
606
  * nodes: [User, Post],
159
607
  * edges: [follows, authored],
160
608
  * })
161
609
  * ```
162
610
  */
163
- async function ray(path, options) {
611
+ async function kite(path, options) {
164
612
  const nativeOptions = optionsToNative(options);
165
613
  // Cast through unknown because NAPI-RS generates Promise<unknown> for async tasks
166
- return (await (0, index_1.ray)(path, nativeOptions));
614
+ const native = (await (0, index_1.kite)(path, nativeOptions));
615
+ Object.setPrototypeOf(native, Kite.prototype);
616
+ return native;
167
617
  }
168
618
  /**
169
- * Open a Ray database synchronously.
619
+ * Open a Kite database synchronously.
170
620
  *
171
621
  * Use this when you need synchronous initialization (e.g., at module load time).
172
- * For most cases, prefer the async `ray()` function.
622
+ * For most cases, prefer the async `kite()` function.
173
623
  *
174
624
  * @param path - Path to the database file
175
625
  * @param options - Database options including schema
176
- * @returns A Ray database instance
626
+ * @returns A Kite database instance
177
627
  *
178
628
  * @example
179
629
  * ```typescript
180
- * const db = raySync('./my.kitedb', {
630
+ * const db = kiteSync('./my.kitedb', {
181
631
  * nodes: [User],
182
632
  * edges: [knows],
183
633
  * })
184
634
  * ```
185
635
  */
186
- function raySync(path, options) {
636
+ function kiteSync(path, options) {
187
637
  const nativeOptions = optionsToNative(options);
188
- return (0, index_1.raySync)(path, nativeOptions);
638
+ const native = (0, index_1.kiteSync)(path, nativeOptions);
639
+ Object.setPrototypeOf(native, Kite.prototype);
640
+ return native;
189
641
  }
190
642
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;;AAmOH,kBAIC;AAoBD,0BAGC;AA5PD,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF,mCAA0F;AAAjF,8FAAA,IAAI,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,8FAAA,IAAI,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,oGAAA,UAAU,OAAA;AAGxE,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,yBAAyB;AACzB,oCAAuF;AAMvF,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,sBAAsB;AACtB,kCAA8B;AAArB,4FAAA,GAAG,OAAA;AAEZ,2CAA2C;AAC3C,kCAUiB;AATf,iGAAA,QAAQ,OAAA;AACR,oGAAA,WAAW,OAAA;AACX,yGAAA,gBAAgB,OAAA;AAChB,gHAAA,uBAAuB,OAAA;AACvB,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,6GAAA,oBAAoB,OAAA;AACpB,qGAAA,YAAY,OAAA;AACZ,gGAAA,OAAO,OAAA;AAGT,mCAAmC;AACnC,kCAOiB;AANf,2GAAA,oBAAoB,OAAsB;AAC1C,uGAAA,gBAAgB,OAAkB;AAClC,oGAAA,aAAa,OAAe;AAC5B,iGAAA,UAAU,OAAY;AACtB,wGAAA,iBAAiB,OAAmB;AACpC,sGAAA,QAAQ,OAAiB;AAG3B,8BAA8B;AAC9B,kCAaiB;AAZf,qGAAA,YAAY,OAAA;AACZ,qGAAA,YAAY,OAAA;AACZ,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AACb,4GAAA,mBAAmB,OAAA;AACnB,uGAAA,cAAc,OAAA;AACd,oGAAA,WAAW,OAAA;AACX,0GAAA,iBAAiB,OAAA;AACjB,yGAAA,gBAAgB,OAAA;AAChB,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,gGAAA,OAAO,OAAA;AAuFT,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,SAAS,gBAAgB,CAAC,IAAc;IACtC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAkC;KACjD,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,IAAI,KAA6C,CAAA;IAEjD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,CAAA;QACV,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK;KACN,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,IAAI,KAA6C,CAAA;IAEjD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,EAAE,CAAA;QACV,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK;KACN,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAmB;IAC1C,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC1C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,OAAmB;IACzD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9C,kFAAkF;IAClF,OAAO,CAAC,MAAM,IAAA,WAAS,EAAC,IAAI,EAAE,aAAa,CAAC,CAAc,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,OAAO,CAAC,IAAY,EAAE,OAAmB;IACvD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9C,OAAO,IAAA,eAAa,EAAC,IAAI,EAAE,aAAa,CAAC,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}