@jaepil/uqa 0.1.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.
- package/LICENSE +661 -0
- package/README.md +788 -0
- package/dist/types/src/analysis/analyzer.d.ts +27 -0
- package/dist/types/src/analysis/analyzer.d.ts.map +1 -0
- package/dist/types/src/analysis/char-filter.d.ts +27 -0
- package/dist/types/src/analysis/char-filter.d.ts.map +1 -0
- package/dist/types/src/analysis/token-filter.d.ts +73 -0
- package/dist/types/src/analysis/token-filter.d.ts.map +1 -0
- package/dist/types/src/analysis/tokenizer.d.ts +42 -0
- package/dist/types/src/analysis/tokenizer.d.ts.map +1 -0
- package/dist/types/src/api/query-builder.d.ts +103 -0
- package/dist/types/src/api/query-builder.d.ts.map +1 -0
- package/dist/types/src/cli/repl.d.ts +42 -0
- package/dist/types/src/cli/repl.d.ts.map +1 -0
- package/dist/types/src/core/functor.d.ts +38 -0
- package/dist/types/src/core/functor.d.ts.map +1 -0
- package/dist/types/src/core/hierarchical.d.ts +24 -0
- package/dist/types/src/core/hierarchical.d.ts.map +1 -0
- package/dist/types/src/core/posting-list.d.ts +43 -0
- package/dist/types/src/core/posting-list.d.ts.map +1 -0
- package/dist/types/src/core/types.d.ts +116 -0
- package/dist/types/src/core/types.d.ts.map +1 -0
- package/dist/types/src/engine.d.ts +130 -0
- package/dist/types/src/engine.d.ts.map +1 -0
- package/dist/types/src/execution/batch.d.ts +144 -0
- package/dist/types/src/execution/batch.d.ts.map +1 -0
- package/dist/types/src/execution/physical.d.ts +18 -0
- package/dist/types/src/execution/physical.d.ts.map +1 -0
- package/dist/types/src/execution/relational.d.ts +174 -0
- package/dist/types/src/execution/relational.d.ts.map +1 -0
- package/dist/types/src/execution/scan.d.ts +41 -0
- package/dist/types/src/execution/scan.d.ts.map +1 -0
- package/dist/types/src/execution/spill.d.ts +39 -0
- package/dist/types/src/execution/spill.d.ts.map +1 -0
- package/dist/types/src/fdw/arrow-handler.d.ts +28 -0
- package/dist/types/src/fdw/arrow-handler.d.ts.map +1 -0
- package/dist/types/src/fdw/duckdb-handler.d.ts +32 -0
- package/dist/types/src/fdw/duckdb-handler.d.ts.map +1 -0
- package/dist/types/src/fdw/foreign-table.d.ts +47 -0
- package/dist/types/src/fdw/foreign-table.d.ts.map +1 -0
- package/dist/types/src/fdw/handler.d.ts +52 -0
- package/dist/types/src/fdw/handler.d.ts.map +1 -0
- package/dist/types/src/fusion/attention.d.ts +23 -0
- package/dist/types/src/fusion/attention.d.ts.map +1 -0
- package/dist/types/src/fusion/boolean.d.ts +6 -0
- package/dist/types/src/fusion/boolean.d.ts.map +1 -0
- package/dist/types/src/fusion/learned.d.ts +12 -0
- package/dist/types/src/fusion/learned.d.ts.map +1 -0
- package/dist/types/src/fusion/log-odds.d.ts +87 -0
- package/dist/types/src/fusion/log-odds.d.ts.map +1 -0
- package/dist/types/src/fusion/query-features.d.ts +8 -0
- package/dist/types/src/fusion/query-features.d.ts.map +1 -0
- package/dist/types/src/graph/centrality.d.ts +35 -0
- package/dist/types/src/graph/centrality.d.ts.map +1 -0
- package/dist/types/src/graph/cross-paradigm.d.ts +68 -0
- package/dist/types/src/graph/cross-paradigm.d.ts.map +1 -0
- package/dist/types/src/graph/cypher/ast.d.ts +175 -0
- package/dist/types/src/graph/cypher/ast.d.ts.map +1 -0
- package/dist/types/src/graph/cypher/compiler.d.ts +60 -0
- package/dist/types/src/graph/cypher/compiler.d.ts.map +1 -0
- package/dist/types/src/graph/cypher/lexer.d.ts +82 -0
- package/dist/types/src/graph/cypher/lexer.d.ts.map +1 -0
- package/dist/types/src/graph/cypher/parser.d.ts +50 -0
- package/dist/types/src/graph/cypher/parser.d.ts.map +1 -0
- package/dist/types/src/graph/delta.d.ts +31 -0
- package/dist/types/src/graph/delta.d.ts.map +1 -0
- package/dist/types/src/graph/graph-embedding.d.ts +13 -0
- package/dist/types/src/graph/graph-embedding.d.ts.map +1 -0
- package/dist/types/src/graph/incremental-match.d.ts +16 -0
- package/dist/types/src/graph/incremental-match.d.ts.map +1 -0
- package/dist/types/src/graph/index.d.ts +58 -0
- package/dist/types/src/graph/index.d.ts.map +1 -0
- package/dist/types/src/graph/join.d.ts +18 -0
- package/dist/types/src/graph/join.d.ts.map +1 -0
- package/dist/types/src/graph/message-passing.d.ts +17 -0
- package/dist/types/src/graph/message-passing.d.ts.map +1 -0
- package/dist/types/src/graph/operators.d.ts +81 -0
- package/dist/types/src/graph/operators.d.ts.map +1 -0
- package/dist/types/src/graph/pattern.d.ts +63 -0
- package/dist/types/src/graph/pattern.d.ts.map +1 -0
- package/dist/types/src/graph/posting-list.d.ts +24 -0
- package/dist/types/src/graph/posting-list.d.ts.map +1 -0
- package/dist/types/src/graph/rpq-optimizer.d.ts +25 -0
- package/dist/types/src/graph/rpq-optimizer.d.ts.map +1 -0
- package/dist/types/src/graph/store.d.ts +61 -0
- package/dist/types/src/graph/store.d.ts.map +1 -0
- package/dist/types/src/graph/temporal-filter.d.ts +12 -0
- package/dist/types/src/graph/temporal-filter.d.ts.map +1 -0
- package/dist/types/src/graph/temporal-pattern-match.d.ts +26 -0
- package/dist/types/src/graph/temporal-pattern-match.d.ts.map +1 -0
- package/dist/types/src/graph/temporal-traverse.d.ts +25 -0
- package/dist/types/src/graph/temporal-traverse.d.ts.map +1 -0
- package/dist/types/src/graph/versioned-store.d.ts +64 -0
- package/dist/types/src/graph/versioned-store.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +20 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/joins/base.d.ts +18 -0
- package/dist/types/src/joins/base.d.ts.map +1 -0
- package/dist/types/src/joins/cross-paradigm.d.ts +46 -0
- package/dist/types/src/joins/cross-paradigm.d.ts.map +1 -0
- package/dist/types/src/joins/cross.d.ts +9 -0
- package/dist/types/src/joins/cross.d.ts.map +1 -0
- package/dist/types/src/joins/index.d.ts +7 -0
- package/dist/types/src/joins/index.d.ts.map +1 -0
- package/dist/types/src/joins/inner.d.ts +7 -0
- package/dist/types/src/joins/inner.d.ts.map +1 -0
- package/dist/types/src/joins/outer.d.ts +16 -0
- package/dist/types/src/joins/outer.d.ts.map +1 -0
- package/dist/types/src/joins/semi.d.ts +22 -0
- package/dist/types/src/joins/semi.d.ts.map +1 -0
- package/dist/types/src/joins/sort-merge.d.ts +7 -0
- package/dist/types/src/joins/sort-merge.d.ts.map +1 -0
- package/dist/types/src/math/linalg.d.ts +27 -0
- package/dist/types/src/math/linalg.d.ts.map +1 -0
- package/dist/types/src/math/random.d.ts +15 -0
- package/dist/types/src/math/random.d.ts.map +1 -0
- package/dist/types/src/operators/aggregation.d.ts +65 -0
- package/dist/types/src/operators/aggregation.d.ts.map +1 -0
- package/dist/types/src/operators/attention.d.ts +16 -0
- package/dist/types/src/operators/attention.d.ts.map +1 -0
- package/dist/types/src/operators/backend.d.ts +52 -0
- package/dist/types/src/operators/backend.d.ts.map +1 -0
- package/dist/types/src/operators/base.d.ts +32 -0
- package/dist/types/src/operators/base.d.ts.map +1 -0
- package/dist/types/src/operators/boolean.d.ts +23 -0
- package/dist/types/src/operators/boolean.d.ts.map +1 -0
- package/dist/types/src/operators/calibrated-vector.d.ts +56 -0
- package/dist/types/src/operators/calibrated-vector.d.ts.map +1 -0
- package/dist/types/src/operators/deep-fusion.d.ts +104 -0
- package/dist/types/src/operators/deep-fusion.d.ts.map +1 -0
- package/dist/types/src/operators/deep-learn.d.ts +87 -0
- package/dist/types/src/operators/deep-learn.d.ts.map +1 -0
- package/dist/types/src/operators/hierarchical.d.ts +44 -0
- package/dist/types/src/operators/hierarchical.d.ts.map +1 -0
- package/dist/types/src/operators/hybrid.d.ts +75 -0
- package/dist/types/src/operators/hybrid.d.ts.map +1 -0
- package/dist/types/src/operators/learned-fusion.d.ts +15 -0
- package/dist/types/src/operators/learned-fusion.d.ts.map +1 -0
- package/dist/types/src/operators/multi-field.d.ts +13 -0
- package/dist/types/src/operators/multi-field.d.ts.map +1 -0
- package/dist/types/src/operators/multi-stage.d.ts +12 -0
- package/dist/types/src/operators/multi-stage.d.ts.map +1 -0
- package/dist/types/src/operators/primitive.d.ts +75 -0
- package/dist/types/src/operators/primitive.d.ts.map +1 -0
- package/dist/types/src/operators/progressive-fusion.d.ts +13 -0
- package/dist/types/src/operators/progressive-fusion.d.ts.map +1 -0
- package/dist/types/src/operators/sparse.d.ts +12 -0
- package/dist/types/src/operators/sparse.d.ts.map +1 -0
- package/dist/types/src/planner/cardinality.d.ts +110 -0
- package/dist/types/src/planner/cardinality.d.ts.map +1 -0
- package/dist/types/src/planner/cost-model.d.ts +16 -0
- package/dist/types/src/planner/cost-model.d.ts.map +1 -0
- package/dist/types/src/planner/executor.d.ts +48 -0
- package/dist/types/src/planner/executor.d.ts.map +1 -0
- package/dist/types/src/planner/join-enumerator.d.ts +76 -0
- package/dist/types/src/planner/join-enumerator.d.ts.map +1 -0
- package/dist/types/src/planner/join-graph.d.ts +61 -0
- package/dist/types/src/planner/join-graph.d.ts.map +1 -0
- package/dist/types/src/planner/join-order.d.ts +24 -0
- package/dist/types/src/planner/join-order.d.ts.map +1 -0
- package/dist/types/src/planner/optimizer.d.ts +62 -0
- package/dist/types/src/planner/optimizer.d.ts.map +1 -0
- package/dist/types/src/planner/parallel.d.ts +43 -0
- package/dist/types/src/planner/parallel.d.ts.map +1 -0
- package/dist/types/src/scoring/bayesian-bm25.d.ts +22 -0
- package/dist/types/src/scoring/bayesian-bm25.d.ts.map +1 -0
- package/dist/types/src/scoring/bm25.d.ts +20 -0
- package/dist/types/src/scoring/bm25.d.ts.map +1 -0
- package/dist/types/src/scoring/calibration.d.ts +68 -0
- package/dist/types/src/scoring/calibration.d.ts.map +1 -0
- package/dist/types/src/scoring/external-prior.d.ts +55 -0
- package/dist/types/src/scoring/external-prior.d.ts.map +1 -0
- package/dist/types/src/scoring/fusion-wand.d.ts +19 -0
- package/dist/types/src/scoring/fusion-wand.d.ts.map +1 -0
- package/dist/types/src/scoring/multi-field.d.ts +10 -0
- package/dist/types/src/scoring/multi-field.d.ts.map +1 -0
- package/dist/types/src/scoring/parameter-learner.d.ts +42 -0
- package/dist/types/src/scoring/parameter-learner.d.ts.map +1 -0
- package/dist/types/src/scoring/vector.d.ts +42 -0
- package/dist/types/src/scoring/vector.d.ts.map +1 -0
- package/dist/types/src/scoring/wand.d.ts +51 -0
- package/dist/types/src/scoring/wand.d.ts.map +1 -0
- package/dist/types/src/sql/compiler.d.ts +551 -0
- package/dist/types/src/sql/compiler.d.ts.map +1 -0
- package/dist/types/src/sql/expr-evaluator.d.ts +43 -0
- package/dist/types/src/sql/expr-evaluator.d.ts.map +1 -0
- package/dist/types/src/sql/fts-query.d.ts +60 -0
- package/dist/types/src/sql/fts-query.d.ts.map +1 -0
- package/dist/types/src/sql/table.d.ts +72 -0
- package/dist/types/src/sql/table.d.ts.map +1 -0
- package/dist/types/src/storage/abc/document-store.d.ts +44 -0
- package/dist/types/src/storage/abc/document-store.d.ts.map +1 -0
- package/dist/types/src/storage/abc/graph-store.d.ts +109 -0
- package/dist/types/src/storage/abc/graph-store.d.ts.map +1 -0
- package/dist/types/src/storage/abc/inverted-index.d.ts +118 -0
- package/dist/types/src/storage/abc/inverted-index.d.ts.map +1 -0
- package/dist/types/src/storage/block-max-index.d.ts +45 -0
- package/dist/types/src/storage/block-max-index.d.ts.map +1 -0
- package/dist/types/src/storage/btree-index.d.ts +18 -0
- package/dist/types/src/storage/btree-index.d.ts.map +1 -0
- package/dist/types/src/storage/catalog.d.ts +87 -0
- package/dist/types/src/storage/catalog.d.ts.map +1 -0
- package/dist/types/src/storage/document-store.d.ts +20 -0
- package/dist/types/src/storage/document-store.d.ts.map +1 -0
- package/dist/types/src/storage/index-abc.d.ts +16 -0
- package/dist/types/src/storage/index-abc.d.ts.map +1 -0
- package/dist/types/src/storage/index-manager.d.ts +19 -0
- package/dist/types/src/storage/index-manager.d.ts.map +1 -0
- package/dist/types/src/storage/index-types.d.ts +10 -0
- package/dist/types/src/storage/index-types.d.ts.map +1 -0
- package/dist/types/src/storage/inverted-index.d.ts +55 -0
- package/dist/types/src/storage/inverted-index.d.ts.map +1 -0
- package/dist/types/src/storage/ivf-index.d.ts +57 -0
- package/dist/types/src/storage/ivf-index.d.ts.map +1 -0
- package/dist/types/src/storage/managed-connection.d.ts +64 -0
- package/dist/types/src/storage/managed-connection.d.ts.map +1 -0
- package/dist/types/src/storage/spatial-index.d.ts +18 -0
- package/dist/types/src/storage/spatial-index.d.ts.map +1 -0
- package/dist/types/src/storage/sqlite-document-store.d.ts +54 -0
- package/dist/types/src/storage/sqlite-document-store.d.ts.map +1 -0
- package/dist/types/src/storage/sqlite-graph-store.d.ts +59 -0
- package/dist/types/src/storage/sqlite-graph-store.d.ts.map +1 -0
- package/dist/types/src/storage/sqlite-inverted-index.d.ts +75 -0
- package/dist/types/src/storage/sqlite-inverted-index.d.ts.map +1 -0
- package/dist/types/src/storage/transaction.d.ts +15 -0
- package/dist/types/src/storage/transaction.d.ts.map +1 -0
- package/dist/types/src/storage/vector-index.d.ts +23 -0
- package/dist/types/src/storage/vector-index.d.ts.map +1 -0
- package/dist/uqa.es.js +16156 -0
- package/dist/uqa.es.js.map +1 -0
- package/dist/uqa.umd.js +11 -0
- package/dist/uqa.umd.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-types.d.ts","sourceRoot":"","sources":["../../../../src/storage/index-types.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;AAElF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,QAAQ,CAEV"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { DocId, FieldName, PostingEntry } from "../core/types.js";
|
|
2
|
+
import { IndexStats } from "../core/types.js";
|
|
3
|
+
import { PostingList } from "../core/posting-list.js";
|
|
4
|
+
import type { AnalyzerLike, IndexedTerms } from "./abc/inverted-index.js";
|
|
5
|
+
import { InvertedIndex } from "./abc/inverted-index.js";
|
|
6
|
+
export declare class MemoryInvertedIndex extends InvertedIndex {
|
|
7
|
+
private _analyzer;
|
|
8
|
+
private _indexFieldAnalyzers;
|
|
9
|
+
private _searchFieldAnalyzers;
|
|
10
|
+
private _index;
|
|
11
|
+
private _docTerms;
|
|
12
|
+
private _docLengths;
|
|
13
|
+
private _docCount;
|
|
14
|
+
private _totalLength;
|
|
15
|
+
private _cachedStats;
|
|
16
|
+
private _termToKeys;
|
|
17
|
+
constructor(analyzer?: AnalyzerLike | null, fieldAnalyzers?: Record<string, AnalyzerLike> | null);
|
|
18
|
+
private _key;
|
|
19
|
+
private _parseKey;
|
|
20
|
+
get analyzer(): AnalyzerLike;
|
|
21
|
+
get fieldAnalyzers(): Record<string, AnalyzerLike>;
|
|
22
|
+
setFieldAnalyzer(field: string, analyzer: AnalyzerLike, phase?: "index" | "search" | "both"): void;
|
|
23
|
+
getFieldAnalyzer(field: string): AnalyzerLike;
|
|
24
|
+
getSearchAnalyzer(field: string): AnalyzerLike;
|
|
25
|
+
addDocument(docId: DocId, fields: Record<FieldName, string>): IndexedTerms;
|
|
26
|
+
addPosting(field: string, term: string, entry: PostingEntry): void;
|
|
27
|
+
setDocLength(docId: DocId, lengths: Record<FieldName, number>): void;
|
|
28
|
+
setDocCount(count: number): void;
|
|
29
|
+
addTotalLength(field: FieldName, length: number): void;
|
|
30
|
+
removeDocument(docId: DocId): void;
|
|
31
|
+
clear(): void;
|
|
32
|
+
getPostingList(field: string, term: string): PostingList;
|
|
33
|
+
getPostingListAnyField(term: string): PostingList;
|
|
34
|
+
docFreq(field: string, term: string): number;
|
|
35
|
+
docFreqAnyField(term: string): number;
|
|
36
|
+
getDocLength(docId: DocId, field: FieldName): number;
|
|
37
|
+
getDocLengthsBulk(docIds: DocId[], field: FieldName): Map<DocId, number>;
|
|
38
|
+
getTotalDocLength(docId: DocId): number;
|
|
39
|
+
getTermFreq(docId: DocId, field: string, term: string): number;
|
|
40
|
+
getTermFreqsBulk(docIds: DocId[], field: string, term: string): Map<DocId, number>;
|
|
41
|
+
getTotalTermFreq(docId: DocId, term: string): number;
|
|
42
|
+
addDocuments(docs: Array<[DocId, Record<FieldName, string>]>): void;
|
|
43
|
+
removeDocuments(docIds: DocId[]): void;
|
|
44
|
+
terms(field: string): Generator<string>;
|
|
45
|
+
allTerms(): Generator<[string, string]>;
|
|
46
|
+
fieldNames(): Generator<string>;
|
|
47
|
+
hasTerm(field: string, term: string): boolean;
|
|
48
|
+
hasDoc(docId: DocId): boolean;
|
|
49
|
+
avgDocLength(field: FieldName): number;
|
|
50
|
+
totalDocCount(): number;
|
|
51
|
+
totalFieldLength(field: FieldName): number;
|
|
52
|
+
getPositions(docId: DocId, field: string, term: string): readonly number[];
|
|
53
|
+
get stats(): IndexStats;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=inverted-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inverted-index.d.ts","sourceRoot":"","sources":["../../../../src/storage/inverted-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { DocId } from "../core/types.js";
|
|
2
|
+
import { PostingList } from "../core/posting-list.js";
|
|
3
|
+
import { VectorIndex } from "./vector-index.js";
|
|
4
|
+
export declare const BACKGROUND_STATS_ID = -2;
|
|
5
|
+
export declare enum IVFState {
|
|
6
|
+
UNTRAINED = "untrained",
|
|
7
|
+
TRAINED = "trained",
|
|
8
|
+
STALE = "stale"
|
|
9
|
+
}
|
|
10
|
+
export declare class IVFIndex extends VectorIndex {
|
|
11
|
+
readonly dimensions: number;
|
|
12
|
+
private _nlist;
|
|
13
|
+
readonly _nProbe: number;
|
|
14
|
+
private _cells;
|
|
15
|
+
private _docIdToCell;
|
|
16
|
+
private _allDocIds;
|
|
17
|
+
private _allVectors;
|
|
18
|
+
private _state;
|
|
19
|
+
private _totalVectors;
|
|
20
|
+
private _deletesSinceTrain;
|
|
21
|
+
private _backgroundMu;
|
|
22
|
+
private _backgroundSigma;
|
|
23
|
+
private _backgroundSamples;
|
|
24
|
+
constructor(dimensions: number, nlist?: number, nProbe?: number);
|
|
25
|
+
get trainThreshold(): number;
|
|
26
|
+
get nlist(): number;
|
|
27
|
+
get totalVectors(): number;
|
|
28
|
+
get backgroundStats(): [number, number] | null;
|
|
29
|
+
get backgroundSamples(): number[] | null;
|
|
30
|
+
get state(): IVFState;
|
|
31
|
+
get deletesSinceTrain(): number;
|
|
32
|
+
add(docId: DocId, vector: Float64Array): void;
|
|
33
|
+
delete(docId: DocId): void;
|
|
34
|
+
clear(): void;
|
|
35
|
+
searchKnn(query: Float64Array, k: number): PostingList;
|
|
36
|
+
searchThreshold(query: Float64Array, threshold: number): PostingList;
|
|
37
|
+
count(): number;
|
|
38
|
+
private _assignCentroid;
|
|
39
|
+
private _nearestCentroids;
|
|
40
|
+
private _bruteForceKnn;
|
|
41
|
+
private _bruteForceThreshold;
|
|
42
|
+
probedDistances(query: Float64Array): number[];
|
|
43
|
+
private _ivfKnn;
|
|
44
|
+
private _ivfThreshold;
|
|
45
|
+
/** Return the number of IVF cells (centroids). */
|
|
46
|
+
cellCount(): number;
|
|
47
|
+
/** Return true if the index has been trained. */
|
|
48
|
+
isTrained(): boolean;
|
|
49
|
+
/** Return the centroid vectors (empty if untrained). */
|
|
50
|
+
centroids(): Float64Array[];
|
|
51
|
+
cellPopulations(): Map<number, number>;
|
|
52
|
+
train(_vectors: Float64Array[]): void;
|
|
53
|
+
private _train;
|
|
54
|
+
private _kmeans;
|
|
55
|
+
private _dot;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=ivf-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ivf-index.d.ts","sourceRoot":"","sources":["../../../../src/storage/ivf-index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAwBD,qBAAa,QAAS,SAAQ,WAAW;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,kBAAkB,CAAkB;gBAEhC,UAAU,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAK;IAiBxD,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,eAAe,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAK7C;IAED,IAAI,iBAAiB,IAAI,MAAM,EAAE,GAAG,IAAI,CAEvC;IAED,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAID,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IA4B7C,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IA6B1B,KAAK,IAAI,IAAI;IAab,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IActD,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAcpE,KAAK,IAAI,MAAM;IAMf,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,oBAAoB;IAa5B,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE;IA8B9C,OAAO,CAAC,OAAO;IAsCf,OAAO,CAAC,aAAa;IA4CrB,kDAAkD;IAClD,SAAS,IAAI,MAAM;IAInB,iDAAiD;IACjD,SAAS,IAAI,OAAO;IAIpB,wDAAwD;IACxD,SAAS,IAAI,YAAY,EAAE;IAI3B,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAUtC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAMrC,OAAO,CAAC,MAAM;IA4Ed,OAAO,CAAC,OAAO;IA8Hf,OAAO,CAAC,IAAI;CAOb"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface SQLiteDatabase {
|
|
2
|
+
run(sql: string, params?: unknown[]): void;
|
|
3
|
+
exec(sql: string, params?: unknown[]): {
|
|
4
|
+
columns: string[];
|
|
5
|
+
values: unknown[][];
|
|
6
|
+
}[];
|
|
7
|
+
getAsObject(sql: string, params?: unknown[]): Record<string, unknown>;
|
|
8
|
+
export(): Uint8Array;
|
|
9
|
+
close(): void;
|
|
10
|
+
}
|
|
11
|
+
export declare class ManagedConnection {
|
|
12
|
+
private _db;
|
|
13
|
+
private _inTransaction;
|
|
14
|
+
private readonly _dbPath;
|
|
15
|
+
constructor(db: SQLiteDatabase, dbPath?: string | null);
|
|
16
|
+
get dbPath(): string | null;
|
|
17
|
+
get inTransaction(): boolean;
|
|
18
|
+
execute(sql: string, params?: unknown[]): void;
|
|
19
|
+
query(sql: string, params?: unknown[]): Record<string, unknown>[];
|
|
20
|
+
queryOne(sql: string, params?: unknown[]): Record<string, unknown> | null;
|
|
21
|
+
commit(): void;
|
|
22
|
+
rollback(): void;
|
|
23
|
+
beginTransaction(): void;
|
|
24
|
+
commitTransaction(): void;
|
|
25
|
+
rollbackTransaction(): void;
|
|
26
|
+
savepoint(name: string): void;
|
|
27
|
+
releaseSavepoint(name: string): void;
|
|
28
|
+
rollbackToSavepoint(name: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Execute a read query on a thread-local connection (Python: read_fetchall).
|
|
31
|
+
* In the browser, there is no threading so this is identical to query().
|
|
32
|
+
*/
|
|
33
|
+
readFetchall(sql: string, params?: unknown[]): Record<string, unknown>[];
|
|
34
|
+
/**
|
|
35
|
+
* Execute a read query on a thread-local connection (Python: read_fetchone).
|
|
36
|
+
*/
|
|
37
|
+
readFetchone(sql: string, params?: unknown[]): Record<string, unknown> | null;
|
|
38
|
+
/**
|
|
39
|
+
* Execute a write query and return all rows atomically (Python: execute_fetchall).
|
|
40
|
+
*/
|
|
41
|
+
executeFetchall(sql: string, params?: unknown[]): Record<string, unknown>[];
|
|
42
|
+
/**
|
|
43
|
+
* Execute a write query and return one row atomically (Python: execute_fetchone).
|
|
44
|
+
*/
|
|
45
|
+
executeFetchone(sql: string, params?: unknown[]): Record<string, unknown> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Execute a statement multiple times with different parameter sets.
|
|
48
|
+
*/
|
|
49
|
+
executemany(sql: string, paramSets: unknown[][]): void;
|
|
50
|
+
/**
|
|
51
|
+
* Execute multiple SQL statements in a script (separated by semicolons).
|
|
52
|
+
*/
|
|
53
|
+
executescript(script: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Return the underlying database handle for direct access.
|
|
56
|
+
*/
|
|
57
|
+
get db(): SQLiteDatabase;
|
|
58
|
+
/**
|
|
59
|
+
* Export the database to a Uint8Array for persistence.
|
|
60
|
+
*/
|
|
61
|
+
exportDatabase(): Uint8Array;
|
|
62
|
+
close(): void;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=managed-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-connection.d.ts","sourceRoot":"","sources":["../../../../src/storage/managed-connection.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IACpF,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,IAAI,UAAU,CAAC;IACrB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMtD,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAiBjE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQzE,MAAM,IAAI,IAAI;IAOd,QAAQ,IAAI,IAAI;IAOhB,gBAAgB,IAAI,IAAI;IAOxB,iBAAiB,IAAI,IAAI;IAIzB,mBAAmB,IAAI,IAAI;IAI3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIvC;;;OAGG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAIxE;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7E;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAI3E;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIhF;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI;IAMtD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWnC;;OAEG;IACH,IAAI,EAAE,IAAI,cAAc,CAEvB;IAED;;OAEG;IACH,cAAc,IAAI,UAAU;IAI5B,KAAK,IAAI,IAAI;CAMd"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DocId } from "../core/types.js";
|
|
2
|
+
import { PostingList } from "../core/posting-list.js";
|
|
3
|
+
export declare function haversineDistance(lat1: number, lon1: number, lat2: number, lon2: number): number;
|
|
4
|
+
export declare class SpatialIndex {
|
|
5
|
+
private readonly _tableName;
|
|
6
|
+
private readonly _fieldName;
|
|
7
|
+
private _points;
|
|
8
|
+
constructor(tableName: string, fieldName: string);
|
|
9
|
+
get tableName(): string;
|
|
10
|
+
get fieldName(): string;
|
|
11
|
+
add(docId: DocId, x: number, y: number): void;
|
|
12
|
+
delete(docId: DocId): void;
|
|
13
|
+
clear(): void;
|
|
14
|
+
searchWithin(cx: number, cy: number, distanceM: number): PostingList;
|
|
15
|
+
count(): number;
|
|
16
|
+
close(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=spatial-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spatial-index.d.ts","sourceRoot":"","sources":["../../../../src/storage/spatial-index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAatD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CASR;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,OAAO,CAAoB;gBAEvB,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAMhD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI1B,KAAK,IAAI,IAAI;IAIb,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAkDpE,KAAK,IAAI,MAAM;IAIf,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { DocId, FieldName, PathExpr } from "../core/types.js";
|
|
2
|
+
import { DocumentStore } from "./abc/document-store.js";
|
|
3
|
+
import type { ManagedConnection } from "./managed-connection.js";
|
|
4
|
+
export declare class SQLiteDocumentStore extends DocumentStore {
|
|
5
|
+
private _conn;
|
|
6
|
+
private _tableName;
|
|
7
|
+
private _columns;
|
|
8
|
+
private _cachedDocIds;
|
|
9
|
+
private _cachedLength;
|
|
10
|
+
constructor(conn: ManagedConnection, tableName: string, columns: [string, string][]);
|
|
11
|
+
private _ensureTable;
|
|
12
|
+
private _invalidateCache;
|
|
13
|
+
put(docId: DocId, document: Record<string, unknown>): void;
|
|
14
|
+
get(docId: DocId): Record<string, unknown> | null;
|
|
15
|
+
delete(docId: DocId): void;
|
|
16
|
+
clear(): void;
|
|
17
|
+
getField(docId: DocId, field: FieldName): unknown;
|
|
18
|
+
getFieldsBulk(docIds: DocId[], field: FieldName): Map<DocId, unknown>;
|
|
19
|
+
hasValue(field: FieldName, value: unknown): boolean;
|
|
20
|
+
evalPath(docId: DocId, path: PathExpr): unknown;
|
|
21
|
+
get docIds(): Set<DocId>;
|
|
22
|
+
get length(): number;
|
|
23
|
+
/**
|
|
24
|
+
* Return the maximum document ID in the store, or -1 if empty.
|
|
25
|
+
*/
|
|
26
|
+
maxDocId(): number;
|
|
27
|
+
/**
|
|
28
|
+
* Iterate over all documents in the store.
|
|
29
|
+
* Yields [docId, document] pairs in ascending doc_id order.
|
|
30
|
+
*/
|
|
31
|
+
iterAll(): Generator<[DocId, Record<string, unknown>]>;
|
|
32
|
+
/**
|
|
33
|
+
* Bulk insert multiple documents. More efficient than individual puts
|
|
34
|
+
* because it batches within a transaction.
|
|
35
|
+
*/
|
|
36
|
+
putBulk(entries: Array<[DocId, Record<string, unknown>]>): void;
|
|
37
|
+
/**
|
|
38
|
+
* Bulk delete multiple documents by their IDs.
|
|
39
|
+
*/
|
|
40
|
+
deleteBulk(docIds: DocId[]): void;
|
|
41
|
+
/**
|
|
42
|
+
* Bulk get multiple documents by their IDs.
|
|
43
|
+
*/
|
|
44
|
+
getBulk(docIds: DocId[]): Map<DocId, Record<string, unknown>>;
|
|
45
|
+
/**
|
|
46
|
+
* Check whether a document with the given ID exists.
|
|
47
|
+
*/
|
|
48
|
+
has(docId: DocId): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Return all documents as a Map.
|
|
51
|
+
*/
|
|
52
|
+
toMap(): Map<DocId, Record<string, unknown>>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=sqlite-document-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-document-store.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite-document-store.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA2BjE,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAUnF,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAKxB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS1D,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASjD,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK1B,KAAK,IAAI,IAAI;IAKb,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAMjD,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;IASrE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IAUnD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IAM/C,IAAI,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAWvB;IAED,IAAI,MAAM,IAAI,MAAM,CAMnB;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM;IASlB;;;OAGG;IACF,OAAO,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAWvD;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IA0B/D;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAwBjC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAW7D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAQ1B;;OAEG;IACH,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAO7C"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Edge, Vertex } from "../core/types.js";
|
|
2
|
+
import { GraphStore } from "./abc/graph-store.js";
|
|
3
|
+
import type { ManagedConnection } from "./managed-connection.js";
|
|
4
|
+
export declare class SQLiteGraphStore extends GraphStore {
|
|
5
|
+
private _conn;
|
|
6
|
+
private _tableName;
|
|
7
|
+
constructor(conn: ManagedConnection, tableName?: string | null);
|
|
8
|
+
private _ensureTables;
|
|
9
|
+
createGraph(name: string): void;
|
|
10
|
+
dropGraph(name: string): void;
|
|
11
|
+
graphNames(): string[];
|
|
12
|
+
hasGraph(name: string): boolean;
|
|
13
|
+
unionGraphs(g1: string, g2: string, target: string): void;
|
|
14
|
+
intersectGraphs(g1: string, g2: string, target: string): void;
|
|
15
|
+
differenceGraphs(g1: string, g2: string, target: string): void;
|
|
16
|
+
copyGraph(source: string, target: string): void;
|
|
17
|
+
addVertex(vertex: Vertex, graph: string): void;
|
|
18
|
+
addEdge(edge: Edge, graph: string): void;
|
|
19
|
+
removeVertex(vertexId: number, graph: string): void;
|
|
20
|
+
removeEdge(edgeId: number, graph: string): void;
|
|
21
|
+
neighbors(vertexId: number, graph: string, label?: string | null, direction?: "out" | "in"): number[];
|
|
22
|
+
verticesByLabel(label: string, graph: string): Vertex[];
|
|
23
|
+
verticesInGraph(graph: string): Vertex[];
|
|
24
|
+
edgesInGraph(graph: string): Edge[];
|
|
25
|
+
vertexGraphs(vertexId: number): Set<string>;
|
|
26
|
+
outEdgeIds(vertexId: number, graph: string): Set<number>;
|
|
27
|
+
inEdgeIds(vertexId: number, graph: string): Set<number>;
|
|
28
|
+
edgeIdsByLabel(label: string, graph: string): Set<number>;
|
|
29
|
+
vertexIdsInGraph(graph: string): Set<number>;
|
|
30
|
+
degreeDistribution(graph: string): Map<number, number>;
|
|
31
|
+
labelDegree(label: string, graph: string): number;
|
|
32
|
+
vertexLabelCounts(graph: string): Map<string, number>;
|
|
33
|
+
getVertex(vertexId: number): Vertex | null;
|
|
34
|
+
getEdge(edgeId: number): Edge | null;
|
|
35
|
+
nextVertexId(): number;
|
|
36
|
+
nextEdgeId(): number;
|
|
37
|
+
clear(): void;
|
|
38
|
+
get vertices(): Map<number, Vertex>;
|
|
39
|
+
get edges(): Map<number, Edge>;
|
|
40
|
+
get vertexCount(): number;
|
|
41
|
+
get edgeCount(): number;
|
|
42
|
+
addVertices(vertices: Vertex[], graph: string): void;
|
|
43
|
+
addEdges(edges: Edge[], graph: string): void;
|
|
44
|
+
vertexProperty(vertexId: number, key: string): unknown;
|
|
45
|
+
setVertexProperty(vertexId: number, key: string, value: unknown): void;
|
|
46
|
+
edgeProperty(edgeId: number, key: string): unknown;
|
|
47
|
+
setEdgeProperty(edgeId: number, key: string, value: unknown): void;
|
|
48
|
+
edgesByLabel(label: string, graph: string): Edge[];
|
|
49
|
+
vertexLabels(graph: string): Set<string>;
|
|
50
|
+
edgeLabels(graph: string): Set<string>;
|
|
51
|
+
outDegree(vertexId: number, graph: string): number;
|
|
52
|
+
inDegree(vertexId: number, graph: string): number;
|
|
53
|
+
edgesBetween(sourceId: number, targetId: number, graph: string, label?: string | null): Edge[];
|
|
54
|
+
subgraph(vertexIds: Set<number>, graph: string, target: string): void;
|
|
55
|
+
minTimestamp(graph: string): number | null;
|
|
56
|
+
maxTimestamp(graph: string): number | null;
|
|
57
|
+
edgesInTimeRange(graph: string, startTime: number, endTime: number): Edge[];
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sqlite-graph-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-graph-store.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite-graph-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { DocId, FieldName, PostingEntry } from "../core/types.js";
|
|
2
|
+
import { IndexStats } from "../core/types.js";
|
|
3
|
+
import { PostingList } from "../core/posting-list.js";
|
|
4
|
+
import type { AnalyzerLike, IndexedTerms } from "./abc/inverted-index.js";
|
|
5
|
+
import { InvertedIndex } from "./abc/inverted-index.js";
|
|
6
|
+
import type { ManagedConnection } from "./managed-connection.js";
|
|
7
|
+
export declare class SQLiteInvertedIndex extends InvertedIndex {
|
|
8
|
+
static readonly BLOCK_SIZE = 128;
|
|
9
|
+
private _conn;
|
|
10
|
+
private _tableName;
|
|
11
|
+
private _analyzer;
|
|
12
|
+
private _indexFieldAnalyzers;
|
|
13
|
+
private _searchFieldAnalyzers;
|
|
14
|
+
private _knownFields;
|
|
15
|
+
private _cachedStats;
|
|
16
|
+
private _dirtyTerms;
|
|
17
|
+
constructor(conn: ManagedConnection, tableName: string, analyzer?: AnalyzerLike | null);
|
|
18
|
+
private _ensureSharedTables;
|
|
19
|
+
private _discoverFields;
|
|
20
|
+
private _ensureFieldTable;
|
|
21
|
+
private _invertedTableName;
|
|
22
|
+
private _skipTableName;
|
|
23
|
+
private _blockmaxTableName;
|
|
24
|
+
get analyzer(): AnalyzerLike;
|
|
25
|
+
get fieldAnalyzers(): Record<string, AnalyzerLike>;
|
|
26
|
+
setFieldAnalyzer(field: string, analyzer: AnalyzerLike, phase?: "index" | "search" | "both"): void;
|
|
27
|
+
getFieldAnalyzer(field: string): AnalyzerLike;
|
|
28
|
+
getSearchAnalyzer(field: string): AnalyzerLike;
|
|
29
|
+
private _tokenize;
|
|
30
|
+
flushSkipPointers(): void;
|
|
31
|
+
addDocument(docId: DocId, fields: Record<FieldName, string>): IndexedTerms;
|
|
32
|
+
addPosting(field: string, term: string, entry: PostingEntry): void;
|
|
33
|
+
setDocLength(docId: DocId, lengths: Record<FieldName, number>): void;
|
|
34
|
+
setDocCount(count: number): void;
|
|
35
|
+
addTotalLength(field: FieldName, length: number): void;
|
|
36
|
+
removeDocument(docId: DocId): void;
|
|
37
|
+
clear(): void;
|
|
38
|
+
private _flushTerm;
|
|
39
|
+
getPostingList(field: string, term: string): PostingList;
|
|
40
|
+
getPostingListAnyField(term: string): PostingList;
|
|
41
|
+
docFreq(field: string, term: string): number;
|
|
42
|
+
docFreqAnyField(term: string): number;
|
|
43
|
+
getDocLength(docId: DocId, field: FieldName): number;
|
|
44
|
+
getDocLengthsBulk(docIds: DocId[], field: FieldName): Map<DocId, number>;
|
|
45
|
+
getTotalDocLength(docId: DocId): number;
|
|
46
|
+
getTermFreq(docId: DocId, field: string, term: string): number;
|
|
47
|
+
getTermFreqsBulk(docIds: DocId[], field: string, term: string): Map<DocId, number>;
|
|
48
|
+
getTotalTermFreq(docId: DocId, term: string): number;
|
|
49
|
+
get stats(): IndexStats;
|
|
50
|
+
private _rebuildSkipPointers;
|
|
51
|
+
skipTo(field: string, term: string, targetDocId: number): [number, number];
|
|
52
|
+
buildBlockMaxScores(field: string, term: string, scorer: {
|
|
53
|
+
score(tf: number, dl: number, df: number): number;
|
|
54
|
+
}): void;
|
|
55
|
+
buildAllBlockMaxScores(field: string, scorer: {
|
|
56
|
+
score(tf: number, dl: number, df: number): number;
|
|
57
|
+
}): void;
|
|
58
|
+
getBlockMaxScore(field: string, term: string, blockIdx: number): number;
|
|
59
|
+
getAllBlockMaxScores(field: string, term: string): number[];
|
|
60
|
+
addDocuments(docs: Array<[DocId, Record<FieldName, string>]>): void;
|
|
61
|
+
removeDocuments(docIds: DocId[]): void;
|
|
62
|
+
terms(field: string): Generator<string>;
|
|
63
|
+
allTerms(): Generator<[string, string]>;
|
|
64
|
+
fieldNames(): Generator<string>;
|
|
65
|
+
hasTerm(field: string, term: string): boolean;
|
|
66
|
+
hasDoc(docId: DocId): boolean;
|
|
67
|
+
avgDocLength(_field: FieldName): number;
|
|
68
|
+
totalDocCount(): number;
|
|
69
|
+
totalFieldLength(field: FieldName): number;
|
|
70
|
+
getPositions(docId: DocId, field: string, term: string): readonly number[];
|
|
71
|
+
loadBlockMaxInto(blockMaxIndex: {
|
|
72
|
+
_blockMaxes: Map<string, number[]>;
|
|
73
|
+
}): void;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=sqlite-inverted-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-inverted-index.d.ts","sourceRoot":"","sources":["../../../../src/storage/sqlite-inverted-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ManagedConnection } from "./managed-connection.js";
|
|
2
|
+
export declare class Transaction {
|
|
3
|
+
private _conn;
|
|
4
|
+
private _finished;
|
|
5
|
+
constructor(conn: ManagedConnection);
|
|
6
|
+
get active(): boolean;
|
|
7
|
+
commit(): void;
|
|
8
|
+
rollback(): void;
|
|
9
|
+
savepoint(name: string): void;
|
|
10
|
+
releaseSavepoint(name: string): void;
|
|
11
|
+
rollbackTo(name: string): void;
|
|
12
|
+
/** Auto-rollback disposable pattern (analogous to Python __enter__/__exit__). */
|
|
13
|
+
autoRollback(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/storage/transaction.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAU;gBAEf,IAAI,EAAE,iBAAiB;IAMnC,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,MAAM,IAAI,IAAI;IAQd,QAAQ,IAAI,IAAI;IAQhB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO9B,iFAAiF;IACjF,YAAY,IAAI,IAAI;CAKrB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DocId } from "../core/types.js";
|
|
2
|
+
import { PostingList } from "../core/posting-list.js";
|
|
3
|
+
export declare abstract class VectorIndex {
|
|
4
|
+
abstract readonly dimensions: number;
|
|
5
|
+
abstract add(docId: DocId, vector: Float64Array): void;
|
|
6
|
+
abstract delete(docId: DocId): void;
|
|
7
|
+
abstract clear(): void;
|
|
8
|
+
abstract searchKnn(query: Float64Array, k: number): PostingList;
|
|
9
|
+
abstract searchThreshold(query: Float64Array, threshold: number): PostingList;
|
|
10
|
+
abstract count(): number;
|
|
11
|
+
}
|
|
12
|
+
export declare class FlatVectorIndex extends VectorIndex {
|
|
13
|
+
readonly dimensions: number;
|
|
14
|
+
private _vectors;
|
|
15
|
+
constructor(dimensions: number);
|
|
16
|
+
add(docId: DocId, vector: Float64Array): void;
|
|
17
|
+
delete(docId: DocId): void;
|
|
18
|
+
clear(): void;
|
|
19
|
+
searchKnn(query: Float64Array, k: number): PostingList;
|
|
20
|
+
searchThreshold(query: Float64Array, threshold: number): PostingList;
|
|
21
|
+
count(): number;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=vector-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector-index.d.ts","sourceRoot":"","sources":["../../../../src/storage/vector-index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IACtD,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IACnC,QAAQ,CAAC,KAAK,IAAI,IAAI;IACtB,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IAC/D,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAC7E,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAGD,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAA2B;gBAE/B,UAAU,EAAE,MAAM;IAM9B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAS7C,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI1B,KAAK,IAAI,IAAI;IAIb,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW;IAsBtD,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAuBpE,KAAK,IAAI,MAAM;CAGhB"}
|