@wiscale/velesdb-wasm 1.3.0 → 1.4.1
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 +76 -0
- package/package.json +1 -1
- package/velesdb_wasm.d.ts +388 -5
- package/velesdb_wasm.js +1007 -61
- package/velesdb_wasm_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -246,6 +246,82 @@ Ultra-fast serialization thanks to contiguous memory layout:
|
|
|
246
246
|
- **Electron/Tauri apps** - Desktop AI without a server
|
|
247
247
|
- **PWA applications** - Full offline support with service workers
|
|
248
248
|
|
|
249
|
+
## ⚠️ Limitations vs REST Backend
|
|
250
|
+
|
|
251
|
+
The WASM build is optimized for client-side use cases but has some limitations compared to the full REST server.
|
|
252
|
+
|
|
253
|
+
### Feature Comparison
|
|
254
|
+
|
|
255
|
+
| Feature | WASM | REST Server |
|
|
256
|
+
|---------|------|-------------|
|
|
257
|
+
| Vector search (NEAR) | ✅ | ✅ |
|
|
258
|
+
| Metadata filtering | ✅ | ✅ |
|
|
259
|
+
| Full VelesQL queries | ❌ | ✅ |
|
|
260
|
+
| Hybrid search (vector + BM25) | ❌ | ✅ |
|
|
261
|
+
| Knowledge Graph operations | ❌ | ✅ |
|
|
262
|
+
| MATCH clause (full-text) | ❌ | ✅ |
|
|
263
|
+
| NEAR_FUSED (multi-query fusion) | ❌ | ✅ |
|
|
264
|
+
| JOIN operations | ❌ | ✅ |
|
|
265
|
+
| Aggregations (GROUP BY) | ❌ | ✅ |
|
|
266
|
+
| Persistence | IndexedDB | Disk (mmap) |
|
|
267
|
+
| Max vectors | ~100K (browser RAM) | Millions |
|
|
268
|
+
|
|
269
|
+
### Unsupported Operations
|
|
270
|
+
|
|
271
|
+
When you try to use unsupported features, you'll get clear error messages:
|
|
272
|
+
|
|
273
|
+
```javascript
|
|
274
|
+
// ❌ VelesQL string queries not supported in WASM
|
|
275
|
+
// Use the native API instead:
|
|
276
|
+
|
|
277
|
+
// Instead of: store.query("SELECT * FROM docs WHERE vector NEAR $v")
|
|
278
|
+
// Use:
|
|
279
|
+
const results = store.search(queryVector, 10);
|
|
280
|
+
|
|
281
|
+
// Instead of: store.query("SELECT * FROM docs WHERE category = 'tech'")
|
|
282
|
+
// Use:
|
|
283
|
+
const results = store.search_with_filter(queryVector, 10, {
|
|
284
|
+
condition: { type: "eq", field: "category", value: "tech" }
|
|
285
|
+
});
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### When to Use REST Backend
|
|
289
|
+
|
|
290
|
+
Consider using the [REST server](https://github.com/cyberlife-coder/VelesDB) if you need:
|
|
291
|
+
|
|
292
|
+
- **Full VelesQL support** - Complex SQL-like queries
|
|
293
|
+
- **Hybrid search** - Combine semantic + keyword search
|
|
294
|
+
- **Knowledge Graph** - Entity relationships and graph traversal
|
|
295
|
+
- **Large datasets** - More than 100K vectors
|
|
296
|
+
- **Server-side processing** - Centralized vector database
|
|
297
|
+
|
|
298
|
+
### Migration from WASM to REST
|
|
299
|
+
|
|
300
|
+
```javascript
|
|
301
|
+
// WASM (client-side)
|
|
302
|
+
import { VectorStore } from '@wiscale/velesdb-wasm';
|
|
303
|
+
const store = new VectorStore(768, 'cosine');
|
|
304
|
+
const results = store.search(query, 10);
|
|
305
|
+
|
|
306
|
+
// REST (server-side) - using fetch
|
|
307
|
+
const response = await fetch('http://localhost:8080/v1/collections/docs/search', {
|
|
308
|
+
method: 'POST',
|
|
309
|
+
headers: { 'Content-Type': 'application/json' },
|
|
310
|
+
body: JSON.stringify({ vector: query, limit: 10 })
|
|
311
|
+
});
|
|
312
|
+
const results = await response.json();
|
|
313
|
+
|
|
314
|
+
// REST with VelesQL
|
|
315
|
+
const response = await fetch('http://localhost:8080/v1/query', {
|
|
316
|
+
method: 'POST',
|
|
317
|
+
headers: { 'Content-Type': 'application/json' },
|
|
318
|
+
body: JSON.stringify({
|
|
319
|
+
query: "SELECT * FROM docs WHERE vector NEAR $v AND category = 'tech' LIMIT 10",
|
|
320
|
+
params: { v: query }
|
|
321
|
+
})
|
|
322
|
+
});
|
|
323
|
+
```
|
|
324
|
+
|
|
249
325
|
## Building from Source
|
|
250
326
|
|
|
251
327
|
```bash
|
package/package.json
CHANGED
package/velesdb_wasm.d.ts
CHANGED
|
@@ -91,6 +91,43 @@ export class GraphNode {
|
|
|
91
91
|
readonly label: string;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
export class GraphPersistence {
|
|
95
|
+
free(): void;
|
|
96
|
+
[Symbol.dispose](): void;
|
|
97
|
+
/**
|
|
98
|
+
* Lists all saved graph names.
|
|
99
|
+
*/
|
|
100
|
+
list_graphs(): Promise<Array<any>>;
|
|
101
|
+
/**
|
|
102
|
+
* Deletes a saved graph by name.
|
|
103
|
+
*
|
|
104
|
+
* BUG-7 FIX: Also deletes all nodes and edges with the graph prefix.
|
|
105
|
+
*/
|
|
106
|
+
delete_graph(graph_name: string): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Gets metadata for a saved graph.
|
|
109
|
+
*/
|
|
110
|
+
get_metadata(graph_name: string): Promise<any>;
|
|
111
|
+
/**
|
|
112
|
+
* Creates a new `GraphPersistence` instance (call `init()` to open database).
|
|
113
|
+
*/
|
|
114
|
+
constructor();
|
|
115
|
+
/**
|
|
116
|
+
* Initializes the database connection. Must be called before save/load.
|
|
117
|
+
*/
|
|
118
|
+
init(): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Loads a graph from `IndexedDB` by name.
|
|
121
|
+
*
|
|
122
|
+
* BUG-6 FIX: Only loads nodes/edges with keys prefixed by `{graph_name}:`
|
|
123
|
+
*/
|
|
124
|
+
load(graph_name: string): Promise<GraphStore>;
|
|
125
|
+
/**
|
|
126
|
+
* Saves a graph to `IndexedDB` with the given name.
|
|
127
|
+
*/
|
|
128
|
+
save(graph_name: string, store: GraphStore): Promise<void>;
|
|
129
|
+
}
|
|
130
|
+
|
|
94
131
|
export class GraphStore {
|
|
95
132
|
free(): void;
|
|
96
133
|
[Symbol.dispose](): void;
|
|
@@ -230,6 +267,188 @@ export class GraphStore {
|
|
|
230
267
|
readonly node_count: number;
|
|
231
268
|
}
|
|
232
269
|
|
|
270
|
+
export class GraphWorkerConfig {
|
|
271
|
+
free(): void;
|
|
272
|
+
[Symbol.dispose](): void;
|
|
273
|
+
/**
|
|
274
|
+
* Creates a configuration optimized for large graphs.
|
|
275
|
+
*/
|
|
276
|
+
static for_large_graphs(): GraphWorkerConfig;
|
|
277
|
+
/**
|
|
278
|
+
* Creates a configuration optimized for responsive UI.
|
|
279
|
+
*/
|
|
280
|
+
static for_responsive_ui(): GraphWorkerConfig;
|
|
281
|
+
/**
|
|
282
|
+
* Creates a new configuration with default values.
|
|
283
|
+
*/
|
|
284
|
+
constructor();
|
|
285
|
+
/**
|
|
286
|
+
* Minimum node count to trigger worker offload.
|
|
287
|
+
*/
|
|
288
|
+
node_threshold: number;
|
|
289
|
+
/**
|
|
290
|
+
* Minimum depth to trigger worker offload.
|
|
291
|
+
*/
|
|
292
|
+
depth_threshold: number;
|
|
293
|
+
/**
|
|
294
|
+
* Progress callback interval in milliseconds.
|
|
295
|
+
*/
|
|
296
|
+
progress_interval_ms: number;
|
|
297
|
+
/**
|
|
298
|
+
* Whether to use `SharedArrayBuffer` for result transfer (if available).
|
|
299
|
+
*/
|
|
300
|
+
use_shared_buffer: boolean;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export class ParsedQuery {
|
|
304
|
+
private constructor();
|
|
305
|
+
free(): void;
|
|
306
|
+
[Symbol.dispose](): void;
|
|
307
|
+
/**
|
|
308
|
+
* Check if the query uses FUSION (hybrid search).
|
|
309
|
+
*/
|
|
310
|
+
readonly hasFusion: boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Get the number of JOIN clauses.
|
|
313
|
+
*/
|
|
314
|
+
readonly joinCount: number;
|
|
315
|
+
/**
|
|
316
|
+
* Get the table name from the FROM clause.
|
|
317
|
+
*/
|
|
318
|
+
readonly tableName: string | undefined;
|
|
319
|
+
/**
|
|
320
|
+
* Get the LIMIT from the MATCH RETURN clause.
|
|
321
|
+
*/
|
|
322
|
+
readonly matchLimit: bigint | undefined;
|
|
323
|
+
/**
|
|
324
|
+
* Check if DISTINCT modifier is present.
|
|
325
|
+
*/
|
|
326
|
+
readonly hasDistinct: boolean;
|
|
327
|
+
/**
|
|
328
|
+
* Check if the query has a GROUP BY clause.
|
|
329
|
+
*/
|
|
330
|
+
readonly hasGroupBy: boolean;
|
|
331
|
+
/**
|
|
332
|
+
* Check if the query has an ORDER BY clause.
|
|
333
|
+
*/
|
|
334
|
+
readonly hasOrderBy: boolean;
|
|
335
|
+
/**
|
|
336
|
+
* Check if the MATCH clause has a WHERE condition.
|
|
337
|
+
*/
|
|
338
|
+
readonly matchHasWhere: boolean;
|
|
339
|
+
/**
|
|
340
|
+
* Check if the query has a WHERE clause.
|
|
341
|
+
*/
|
|
342
|
+
readonly hasWhereClause: boolean;
|
|
343
|
+
/**
|
|
344
|
+
* Get the number of node patterns in the MATCH clause.
|
|
345
|
+
*/
|
|
346
|
+
readonly matchNodeCount: number;
|
|
347
|
+
/**
|
|
348
|
+
* Check if the query contains vector search (NEAR clause).
|
|
349
|
+
*/
|
|
350
|
+
readonly hasVectorSearch: boolean;
|
|
351
|
+
/**
|
|
352
|
+
* Get node labels from the MATCH clause as JSON array of arrays.
|
|
353
|
+
* Each inner array contains the labels for one node pattern.
|
|
354
|
+
*/
|
|
355
|
+
readonly matchNodeLabels: any;
|
|
356
|
+
/**
|
|
357
|
+
* Get RETURN items from the MATCH clause as JSON array.
|
|
358
|
+
*/
|
|
359
|
+
readonly matchReturnItems: any;
|
|
360
|
+
/**
|
|
361
|
+
* Get the number of relationship patterns in the MATCH clause.
|
|
362
|
+
*/
|
|
363
|
+
readonly matchRelationshipCount: number;
|
|
364
|
+
/**
|
|
365
|
+
* Get relationship types from the MATCH clause as JSON array of arrays.
|
|
366
|
+
* Each inner array contains the types for one relationship pattern.
|
|
367
|
+
*/
|
|
368
|
+
readonly matchRelationshipTypes: any;
|
|
369
|
+
/**
|
|
370
|
+
* Get the LIMIT value if present.
|
|
371
|
+
*/
|
|
372
|
+
readonly limit: bigint | undefined;
|
|
373
|
+
/**
|
|
374
|
+
* Get the OFFSET value if present.
|
|
375
|
+
*/
|
|
376
|
+
readonly offset: bigint | undefined;
|
|
377
|
+
/**
|
|
378
|
+
* Get the list of selected columns as JSON array.
|
|
379
|
+
*/
|
|
380
|
+
readonly columns: any;
|
|
381
|
+
/**
|
|
382
|
+
* Get the GROUP BY columns as JSON array.
|
|
383
|
+
*/
|
|
384
|
+
readonly groupBy: any;
|
|
385
|
+
/**
|
|
386
|
+
* Check if this is a MATCH (graph) query.
|
|
387
|
+
*/
|
|
388
|
+
readonly isMatch: boolean;
|
|
389
|
+
/**
|
|
390
|
+
* Check if the query is valid (always true for successfully parsed queries).
|
|
391
|
+
*/
|
|
392
|
+
readonly isValid: boolean;
|
|
393
|
+
/**
|
|
394
|
+
* Get the ORDER BY columns and directions as JSON array.
|
|
395
|
+
*/
|
|
396
|
+
readonly orderBy: any;
|
|
397
|
+
/**
|
|
398
|
+
* Check if the query has JOINs.
|
|
399
|
+
*/
|
|
400
|
+
readonly hasJoins: boolean;
|
|
401
|
+
/**
|
|
402
|
+
* Check if this is a SELECT query.
|
|
403
|
+
*/
|
|
404
|
+
readonly isSelect: boolean;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
export class SemanticMemory {
|
|
408
|
+
free(): void;
|
|
409
|
+
[Symbol.dispose](): void;
|
|
410
|
+
/**
|
|
411
|
+
* Returns the number of stored knowledge facts.
|
|
412
|
+
*/
|
|
413
|
+
len(): number;
|
|
414
|
+
/**
|
|
415
|
+
* Creates a new `SemanticMemory` with the given embedding dimension.
|
|
416
|
+
*/
|
|
417
|
+
constructor(dimension: number);
|
|
418
|
+
/**
|
|
419
|
+
* Clears all knowledge facts.
|
|
420
|
+
*/
|
|
421
|
+
clear(): void;
|
|
422
|
+
/**
|
|
423
|
+
* Queries semantic memory by similarity search.
|
|
424
|
+
*
|
|
425
|
+
* Returns a JSON array of {id, score, content} objects.
|
|
426
|
+
*/
|
|
427
|
+
query(embedding: Float32Array, top_k: number): any;
|
|
428
|
+
/**
|
|
429
|
+
* Stores a knowledge fact with its embedding vector.
|
|
430
|
+
*
|
|
431
|
+
* # Arguments
|
|
432
|
+
*
|
|
433
|
+
* * `id` - Unique identifier for this fact
|
|
434
|
+
* * `content` - Text content of the knowledge
|
|
435
|
+
* * `embedding` - Vector representation (`Float32Array`)
|
|
436
|
+
*/
|
|
437
|
+
store(id: bigint, content: string, embedding: Float32Array): void;
|
|
438
|
+
/**
|
|
439
|
+
* Removes a knowledge fact by ID.
|
|
440
|
+
*/
|
|
441
|
+
remove(id: bigint): boolean;
|
|
442
|
+
/**
|
|
443
|
+
* Returns true if no knowledge facts are stored.
|
|
444
|
+
*/
|
|
445
|
+
is_empty(): boolean;
|
|
446
|
+
/**
|
|
447
|
+
* Returns the embedding dimension.
|
|
448
|
+
*/
|
|
449
|
+
dimension(): number;
|
|
450
|
+
}
|
|
451
|
+
|
|
233
452
|
/**
|
|
234
453
|
* Storage mode for vector quantization.
|
|
235
454
|
*/
|
|
@@ -248,6 +467,43 @@ export enum StorageMode {
|
|
|
248
467
|
Binary = 2,
|
|
249
468
|
}
|
|
250
469
|
|
|
470
|
+
export class TraversalProgress {
|
|
471
|
+
free(): void;
|
|
472
|
+
[Symbol.dispose](): void;
|
|
473
|
+
/**
|
|
474
|
+
* Creates a new progress report.
|
|
475
|
+
*/
|
|
476
|
+
constructor(visited: number, estimated: number, depth: number);
|
|
477
|
+
/**
|
|
478
|
+
* Converts to JSON for postMessage.
|
|
479
|
+
*/
|
|
480
|
+
to_json(): any;
|
|
481
|
+
/**
|
|
482
|
+
* Returns the completion percentage (0-100).
|
|
483
|
+
*/
|
|
484
|
+
readonly percentage: number;
|
|
485
|
+
/**
|
|
486
|
+
* Number of nodes visited so far.
|
|
487
|
+
*/
|
|
488
|
+
visited_count: number;
|
|
489
|
+
/**
|
|
490
|
+
* Estimated total nodes to visit (heuristic).
|
|
491
|
+
*/
|
|
492
|
+
estimated_total: number;
|
|
493
|
+
/**
|
|
494
|
+
* Current traversal depth.
|
|
495
|
+
*/
|
|
496
|
+
current_depth: number;
|
|
497
|
+
/**
|
|
498
|
+
* Whether the traversal is complete.
|
|
499
|
+
*/
|
|
500
|
+
is_complete: boolean;
|
|
501
|
+
/**
|
|
502
|
+
* Whether the traversal was cancelled.
|
|
503
|
+
*/
|
|
504
|
+
is_cancelled: boolean;
|
|
505
|
+
}
|
|
506
|
+
|
|
251
507
|
export class VectorStore {
|
|
252
508
|
free(): void;
|
|
253
509
|
[Symbol.dispose](): void;
|
|
@@ -331,6 +587,20 @@ export class VectorStore {
|
|
|
331
587
|
* Clears all vectors from the store.
|
|
332
588
|
*/
|
|
333
589
|
clear(): void;
|
|
590
|
+
/**
|
|
591
|
+
* VelesQL-style query returning multi-model results (EPIC-031 US-009).
|
|
592
|
+
*
|
|
593
|
+
* Returns results in `HybridResult` format with `node_id`, `vector_score`,
|
|
594
|
+
* `graph_score`, `fused_score`, `bindings`, and `column_data`.
|
|
595
|
+
*
|
|
596
|
+
* # Arguments
|
|
597
|
+
* * `query_vector` - Query vector for similarity search
|
|
598
|
+
* * `k` - Number of results to return
|
|
599
|
+
*
|
|
600
|
+
* # Returns
|
|
601
|
+
* Array of `{nodeId, vectorScore, graphScore, fusedScore, bindings, columnData}`
|
|
602
|
+
*/
|
|
603
|
+
query(query_vector: Float32Array, k: number): any;
|
|
334
604
|
/**
|
|
335
605
|
* Inserts a vector with the given ID.
|
|
336
606
|
*/
|
|
@@ -369,14 +639,69 @@ export class VectorStore {
|
|
|
369
639
|
readonly dimension: number;
|
|
370
640
|
}
|
|
371
641
|
|
|
642
|
+
export class VelesQL {
|
|
643
|
+
private constructor();
|
|
644
|
+
free(): void;
|
|
645
|
+
[Symbol.dispose](): void;
|
|
646
|
+
/**
|
|
647
|
+
* Parse a `VelesQL` query string.
|
|
648
|
+
*
|
|
649
|
+
* Returns a `ParsedQuery` object with query introspection methods.
|
|
650
|
+
* Throws an error if the query has syntax errors.
|
|
651
|
+
*/
|
|
652
|
+
static parse(query: string): ParsedQuery;
|
|
653
|
+
/**
|
|
654
|
+
* Validate a `VelesQL` query without full parsing.
|
|
655
|
+
*
|
|
656
|
+
* This is faster than `parse()` when you only need to check validity.
|
|
657
|
+
*/
|
|
658
|
+
static isValid(query: string): boolean;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
/**
|
|
662
|
+
* Estimates the number of nodes that will be visited during traversal.
|
|
663
|
+
*
|
|
664
|
+
* Uses a heuristic based on graph density and max depth.
|
|
665
|
+
*/
|
|
666
|
+
export function estimate_traversal_size(node_count: number, edge_count: number, max_depth: number): number;
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* Determines whether a traversal should be offloaded to a Web Worker.
|
|
670
|
+
*
|
|
671
|
+
* # Arguments
|
|
672
|
+
* * `node_count` - Total nodes in the graph
|
|
673
|
+
* * `max_depth` - Maximum traversal depth requested
|
|
674
|
+
* * `config` - Optional configuration (uses defaults if None)
|
|
675
|
+
*
|
|
676
|
+
* # Returns
|
|
677
|
+
* `true` if the operation should use a Web Worker
|
|
678
|
+
*/
|
|
679
|
+
export function should_use_worker(node_count: number, max_depth: number, config?: GraphWorkerConfig | null): boolean;
|
|
680
|
+
|
|
372
681
|
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
373
682
|
|
|
374
683
|
export interface InitOutput {
|
|
375
684
|
readonly memory: WebAssembly.Memory;
|
|
685
|
+
readonly __wbg_get_graphworkerconfig_depth_threshold: (a: number) => number;
|
|
686
|
+
readonly __wbg_get_graphworkerconfig_node_threshold: (a: number) => number;
|
|
687
|
+
readonly __wbg_get_graphworkerconfig_progress_interval_ms: (a: number) => number;
|
|
688
|
+
readonly __wbg_get_graphworkerconfig_use_shared_buffer: (a: number) => number;
|
|
689
|
+
readonly __wbg_get_traversalprogress_is_cancelled: (a: number) => number;
|
|
376
690
|
readonly __wbg_graphedge_free: (a: number, b: number) => void;
|
|
377
691
|
readonly __wbg_graphnode_free: (a: number, b: number) => void;
|
|
692
|
+
readonly __wbg_graphpersistence_free: (a: number, b: number) => void;
|
|
378
693
|
readonly __wbg_graphstore_free: (a: number, b: number) => void;
|
|
694
|
+
readonly __wbg_graphworkerconfig_free: (a: number, b: number) => void;
|
|
695
|
+
readonly __wbg_parsedquery_free: (a: number, b: number) => void;
|
|
696
|
+
readonly __wbg_semanticmemory_free: (a: number, b: number) => void;
|
|
697
|
+
readonly __wbg_set_graphworkerconfig_depth_threshold: (a: number, b: number) => void;
|
|
698
|
+
readonly __wbg_set_graphworkerconfig_node_threshold: (a: number, b: number) => void;
|
|
699
|
+
readonly __wbg_set_graphworkerconfig_progress_interval_ms: (a: number, b: number) => void;
|
|
700
|
+
readonly __wbg_set_graphworkerconfig_use_shared_buffer: (a: number, b: number) => void;
|
|
701
|
+
readonly __wbg_set_traversalprogress_is_cancelled: (a: number, b: number) => void;
|
|
379
702
|
readonly __wbg_vectorstore_free: (a: number, b: number) => void;
|
|
703
|
+
readonly __wbg_velesql_free: (a: number, b: number) => void;
|
|
704
|
+
readonly estimate_traversal_size: (a: number, b: number, c: number) => number;
|
|
380
705
|
readonly graphedge_id: (a: number) => bigint;
|
|
381
706
|
readonly graphedge_label: (a: number, b: number) => void;
|
|
382
707
|
readonly graphedge_new: (a: number, b: bigint, c: bigint, d: bigint, e: number, f: number) => void;
|
|
@@ -393,6 +718,13 @@ export interface InitOutput {
|
|
|
393
718
|
readonly graphnode_set_string_property: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
394
719
|
readonly graphnode_set_vector: (a: number, b: number, c: number) => void;
|
|
395
720
|
readonly graphnode_to_json: (a: number, b: number) => void;
|
|
721
|
+
readonly graphpersistence_delete_graph: (a: number, b: number, c: number) => number;
|
|
722
|
+
readonly graphpersistence_get_metadata: (a: number, b: number, c: number) => number;
|
|
723
|
+
readonly graphpersistence_init: (a: number) => number;
|
|
724
|
+
readonly graphpersistence_list_graphs: (a: number) => number;
|
|
725
|
+
readonly graphpersistence_load: (a: number, b: number, c: number) => number;
|
|
726
|
+
readonly graphpersistence_new: () => number;
|
|
727
|
+
readonly graphpersistence_save: (a: number, b: number, c: number, d: number) => number;
|
|
396
728
|
readonly graphstore_add_edge: (a: number, b: number, c: number) => void;
|
|
397
729
|
readonly graphstore_add_node: (a: number, b: number) => void;
|
|
398
730
|
readonly graphstore_bfs_traverse: (a: number, b: number, c: bigint, d: number, e: number) => void;
|
|
@@ -417,6 +749,44 @@ export interface InitOutput {
|
|
|
417
749
|
readonly graphstore_out_degree: (a: number, b: bigint) => number;
|
|
418
750
|
readonly graphstore_remove_edge: (a: number, b: bigint) => void;
|
|
419
751
|
readonly graphstore_remove_node: (a: number, b: bigint) => void;
|
|
752
|
+
readonly graphworkerconfig_for_large_graphs: () => number;
|
|
753
|
+
readonly graphworkerconfig_for_responsive_ui: () => number;
|
|
754
|
+
readonly graphworkerconfig_new: () => number;
|
|
755
|
+
readonly parsedquery_columns: (a: number) => number;
|
|
756
|
+
readonly parsedquery_groupBy: (a: number) => number;
|
|
757
|
+
readonly parsedquery_hasDistinct: (a: number) => number;
|
|
758
|
+
readonly parsedquery_hasFusion: (a: number) => number;
|
|
759
|
+
readonly parsedquery_hasGroupBy: (a: number) => number;
|
|
760
|
+
readonly parsedquery_hasJoins: (a: number) => number;
|
|
761
|
+
readonly parsedquery_hasOrderBy: (a: number) => number;
|
|
762
|
+
readonly parsedquery_hasVectorSearch: (a: number) => number;
|
|
763
|
+
readonly parsedquery_hasWhereClause: (a: number) => number;
|
|
764
|
+
readonly parsedquery_isMatch: (a: number) => number;
|
|
765
|
+
readonly parsedquery_isSelect: (a: number) => number;
|
|
766
|
+
readonly parsedquery_isValid: (a: number) => number;
|
|
767
|
+
readonly parsedquery_joinCount: (a: number) => number;
|
|
768
|
+
readonly parsedquery_limit: (a: number, b: number) => void;
|
|
769
|
+
readonly parsedquery_matchHasWhere: (a: number) => number;
|
|
770
|
+
readonly parsedquery_matchLimit: (a: number, b: number) => void;
|
|
771
|
+
readonly parsedquery_matchNodeCount: (a: number) => number;
|
|
772
|
+
readonly parsedquery_matchNodeLabels: (a: number) => number;
|
|
773
|
+
readonly parsedquery_matchRelationshipCount: (a: number) => number;
|
|
774
|
+
readonly parsedquery_matchRelationshipTypes: (a: number) => number;
|
|
775
|
+
readonly parsedquery_matchReturnItems: (a: number) => number;
|
|
776
|
+
readonly parsedquery_offset: (a: number, b: number) => void;
|
|
777
|
+
readonly parsedquery_orderBy: (a: number) => number;
|
|
778
|
+
readonly parsedquery_tableName: (a: number, b: number) => void;
|
|
779
|
+
readonly semanticmemory_clear: (a: number) => void;
|
|
780
|
+
readonly semanticmemory_dimension: (a: number) => number;
|
|
781
|
+
readonly semanticmemory_is_empty: (a: number) => number;
|
|
782
|
+
readonly semanticmemory_new: (a: number, b: number) => void;
|
|
783
|
+
readonly semanticmemory_query: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
784
|
+
readonly semanticmemory_remove: (a: number, b: bigint) => number;
|
|
785
|
+
readonly semanticmemory_store: (a: number, b: number, c: bigint, d: number, e: number, f: number, g: number) => void;
|
|
786
|
+
readonly should_use_worker: (a: number, b: number, c: number) => number;
|
|
787
|
+
readonly traversalprogress_new: (a: number, b: number, c: number) => number;
|
|
788
|
+
readonly traversalprogress_percentage: (a: number) => number;
|
|
789
|
+
readonly traversalprogress_to_json: (a: number, b: number) => void;
|
|
420
790
|
readonly vectorstore_batch_search: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
421
791
|
readonly vectorstore_clear: (a: number) => void;
|
|
422
792
|
readonly vectorstore_delete_database: (a: number, b: number) => number;
|
|
@@ -437,6 +807,7 @@ export interface InitOutput {
|
|
|
437
807
|
readonly vectorstore_new: (a: number, b: number, c: number, d: number) => void;
|
|
438
808
|
readonly vectorstore_new_metadata_only: () => number;
|
|
439
809
|
readonly vectorstore_new_with_mode: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
810
|
+
readonly vectorstore_query: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
440
811
|
readonly vectorstore_remove: (a: number, b: bigint) => number;
|
|
441
812
|
readonly vectorstore_reserve: (a: number, b: number) => void;
|
|
442
813
|
readonly vectorstore_save: (a: number, b: number, c: number) => number;
|
|
@@ -446,12 +817,24 @@ export interface InitOutput {
|
|
|
446
817
|
readonly vectorstore_storage_mode: (a: number, b: number) => void;
|
|
447
818
|
readonly vectorstore_text_search: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
448
819
|
readonly vectorstore_with_capacity: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
820
|
+
readonly velesql_isValid: (a: number, b: number) => number;
|
|
821
|
+
readonly velesql_parse: (a: number, b: number, c: number) => void;
|
|
822
|
+
readonly __wbg_set_traversalprogress_is_complete: (a: number, b: number) => void;
|
|
823
|
+
readonly __wbg_set_traversalprogress_current_depth: (a: number, b: number) => void;
|
|
824
|
+
readonly __wbg_set_traversalprogress_estimated_total: (a: number, b: number) => void;
|
|
825
|
+
readonly __wbg_set_traversalprogress_visited_count: (a: number, b: number) => void;
|
|
826
|
+
readonly __wbg_get_traversalprogress_is_complete: (a: number) => number;
|
|
827
|
+
readonly __wbg_get_traversalprogress_current_depth: (a: number) => number;
|
|
828
|
+
readonly __wbg_get_traversalprogress_estimated_total: (a: number) => number;
|
|
829
|
+
readonly __wbg_get_traversalprogress_visited_count: (a: number) => number;
|
|
449
830
|
readonly graphnode_id: (a: number) => bigint;
|
|
450
|
-
readonly
|
|
451
|
-
readonly
|
|
452
|
-
readonly
|
|
453
|
-
readonly
|
|
454
|
-
readonly
|
|
831
|
+
readonly semanticmemory_len: (a: number) => number;
|
|
832
|
+
readonly __wbg_traversalprogress_free: (a: number, b: number) => void;
|
|
833
|
+
readonly __wasm_bindgen_func_elem_265: (a: number, b: number, c: number) => void;
|
|
834
|
+
readonly __wasm_bindgen_func_elem_264: (a: number, b: number) => void;
|
|
835
|
+
readonly __wasm_bindgen_func_elem_1176: (a: number, b: number, c: number) => void;
|
|
836
|
+
readonly __wasm_bindgen_func_elem_1175: (a: number, b: number) => void;
|
|
837
|
+
readonly __wasm_bindgen_func_elem_1217: (a: number, b: number, c: number, d: number) => void;
|
|
455
838
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
456
839
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
457
840
|
readonly __wbindgen_export3: (a: number) => void;
|