@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.
Files changed (233) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +788 -0
  3. package/dist/types/src/analysis/analyzer.d.ts +27 -0
  4. package/dist/types/src/analysis/analyzer.d.ts.map +1 -0
  5. package/dist/types/src/analysis/char-filter.d.ts +27 -0
  6. package/dist/types/src/analysis/char-filter.d.ts.map +1 -0
  7. package/dist/types/src/analysis/token-filter.d.ts +73 -0
  8. package/dist/types/src/analysis/token-filter.d.ts.map +1 -0
  9. package/dist/types/src/analysis/tokenizer.d.ts +42 -0
  10. package/dist/types/src/analysis/tokenizer.d.ts.map +1 -0
  11. package/dist/types/src/api/query-builder.d.ts +103 -0
  12. package/dist/types/src/api/query-builder.d.ts.map +1 -0
  13. package/dist/types/src/cli/repl.d.ts +42 -0
  14. package/dist/types/src/cli/repl.d.ts.map +1 -0
  15. package/dist/types/src/core/functor.d.ts +38 -0
  16. package/dist/types/src/core/functor.d.ts.map +1 -0
  17. package/dist/types/src/core/hierarchical.d.ts +24 -0
  18. package/dist/types/src/core/hierarchical.d.ts.map +1 -0
  19. package/dist/types/src/core/posting-list.d.ts +43 -0
  20. package/dist/types/src/core/posting-list.d.ts.map +1 -0
  21. package/dist/types/src/core/types.d.ts +116 -0
  22. package/dist/types/src/core/types.d.ts.map +1 -0
  23. package/dist/types/src/engine.d.ts +130 -0
  24. package/dist/types/src/engine.d.ts.map +1 -0
  25. package/dist/types/src/execution/batch.d.ts +144 -0
  26. package/dist/types/src/execution/batch.d.ts.map +1 -0
  27. package/dist/types/src/execution/physical.d.ts +18 -0
  28. package/dist/types/src/execution/physical.d.ts.map +1 -0
  29. package/dist/types/src/execution/relational.d.ts +174 -0
  30. package/dist/types/src/execution/relational.d.ts.map +1 -0
  31. package/dist/types/src/execution/scan.d.ts +41 -0
  32. package/dist/types/src/execution/scan.d.ts.map +1 -0
  33. package/dist/types/src/execution/spill.d.ts +39 -0
  34. package/dist/types/src/execution/spill.d.ts.map +1 -0
  35. package/dist/types/src/fdw/arrow-handler.d.ts +28 -0
  36. package/dist/types/src/fdw/arrow-handler.d.ts.map +1 -0
  37. package/dist/types/src/fdw/duckdb-handler.d.ts +32 -0
  38. package/dist/types/src/fdw/duckdb-handler.d.ts.map +1 -0
  39. package/dist/types/src/fdw/foreign-table.d.ts +47 -0
  40. package/dist/types/src/fdw/foreign-table.d.ts.map +1 -0
  41. package/dist/types/src/fdw/handler.d.ts +52 -0
  42. package/dist/types/src/fdw/handler.d.ts.map +1 -0
  43. package/dist/types/src/fusion/attention.d.ts +23 -0
  44. package/dist/types/src/fusion/attention.d.ts.map +1 -0
  45. package/dist/types/src/fusion/boolean.d.ts +6 -0
  46. package/dist/types/src/fusion/boolean.d.ts.map +1 -0
  47. package/dist/types/src/fusion/learned.d.ts +12 -0
  48. package/dist/types/src/fusion/learned.d.ts.map +1 -0
  49. package/dist/types/src/fusion/log-odds.d.ts +87 -0
  50. package/dist/types/src/fusion/log-odds.d.ts.map +1 -0
  51. package/dist/types/src/fusion/query-features.d.ts +8 -0
  52. package/dist/types/src/fusion/query-features.d.ts.map +1 -0
  53. package/dist/types/src/graph/centrality.d.ts +35 -0
  54. package/dist/types/src/graph/centrality.d.ts.map +1 -0
  55. package/dist/types/src/graph/cross-paradigm.d.ts +68 -0
  56. package/dist/types/src/graph/cross-paradigm.d.ts.map +1 -0
  57. package/dist/types/src/graph/cypher/ast.d.ts +175 -0
  58. package/dist/types/src/graph/cypher/ast.d.ts.map +1 -0
  59. package/dist/types/src/graph/cypher/compiler.d.ts +60 -0
  60. package/dist/types/src/graph/cypher/compiler.d.ts.map +1 -0
  61. package/dist/types/src/graph/cypher/lexer.d.ts +82 -0
  62. package/dist/types/src/graph/cypher/lexer.d.ts.map +1 -0
  63. package/dist/types/src/graph/cypher/parser.d.ts +50 -0
  64. package/dist/types/src/graph/cypher/parser.d.ts.map +1 -0
  65. package/dist/types/src/graph/delta.d.ts +31 -0
  66. package/dist/types/src/graph/delta.d.ts.map +1 -0
  67. package/dist/types/src/graph/graph-embedding.d.ts +13 -0
  68. package/dist/types/src/graph/graph-embedding.d.ts.map +1 -0
  69. package/dist/types/src/graph/incremental-match.d.ts +16 -0
  70. package/dist/types/src/graph/incremental-match.d.ts.map +1 -0
  71. package/dist/types/src/graph/index.d.ts +58 -0
  72. package/dist/types/src/graph/index.d.ts.map +1 -0
  73. package/dist/types/src/graph/join.d.ts +18 -0
  74. package/dist/types/src/graph/join.d.ts.map +1 -0
  75. package/dist/types/src/graph/message-passing.d.ts +17 -0
  76. package/dist/types/src/graph/message-passing.d.ts.map +1 -0
  77. package/dist/types/src/graph/operators.d.ts +81 -0
  78. package/dist/types/src/graph/operators.d.ts.map +1 -0
  79. package/dist/types/src/graph/pattern.d.ts +63 -0
  80. package/dist/types/src/graph/pattern.d.ts.map +1 -0
  81. package/dist/types/src/graph/posting-list.d.ts +24 -0
  82. package/dist/types/src/graph/posting-list.d.ts.map +1 -0
  83. package/dist/types/src/graph/rpq-optimizer.d.ts +25 -0
  84. package/dist/types/src/graph/rpq-optimizer.d.ts.map +1 -0
  85. package/dist/types/src/graph/store.d.ts +61 -0
  86. package/dist/types/src/graph/store.d.ts.map +1 -0
  87. package/dist/types/src/graph/temporal-filter.d.ts +12 -0
  88. package/dist/types/src/graph/temporal-filter.d.ts.map +1 -0
  89. package/dist/types/src/graph/temporal-pattern-match.d.ts +26 -0
  90. package/dist/types/src/graph/temporal-pattern-match.d.ts.map +1 -0
  91. package/dist/types/src/graph/temporal-traverse.d.ts +25 -0
  92. package/dist/types/src/graph/temporal-traverse.d.ts.map +1 -0
  93. package/dist/types/src/graph/versioned-store.d.ts +64 -0
  94. package/dist/types/src/graph/versioned-store.d.ts.map +1 -0
  95. package/dist/types/src/index.d.ts +20 -0
  96. package/dist/types/src/index.d.ts.map +1 -0
  97. package/dist/types/src/joins/base.d.ts +18 -0
  98. package/dist/types/src/joins/base.d.ts.map +1 -0
  99. package/dist/types/src/joins/cross-paradigm.d.ts +46 -0
  100. package/dist/types/src/joins/cross-paradigm.d.ts.map +1 -0
  101. package/dist/types/src/joins/cross.d.ts +9 -0
  102. package/dist/types/src/joins/cross.d.ts.map +1 -0
  103. package/dist/types/src/joins/index.d.ts +7 -0
  104. package/dist/types/src/joins/index.d.ts.map +1 -0
  105. package/dist/types/src/joins/inner.d.ts +7 -0
  106. package/dist/types/src/joins/inner.d.ts.map +1 -0
  107. package/dist/types/src/joins/outer.d.ts +16 -0
  108. package/dist/types/src/joins/outer.d.ts.map +1 -0
  109. package/dist/types/src/joins/semi.d.ts +22 -0
  110. package/dist/types/src/joins/semi.d.ts.map +1 -0
  111. package/dist/types/src/joins/sort-merge.d.ts +7 -0
  112. package/dist/types/src/joins/sort-merge.d.ts.map +1 -0
  113. package/dist/types/src/math/linalg.d.ts +27 -0
  114. package/dist/types/src/math/linalg.d.ts.map +1 -0
  115. package/dist/types/src/math/random.d.ts +15 -0
  116. package/dist/types/src/math/random.d.ts.map +1 -0
  117. package/dist/types/src/operators/aggregation.d.ts +65 -0
  118. package/dist/types/src/operators/aggregation.d.ts.map +1 -0
  119. package/dist/types/src/operators/attention.d.ts +16 -0
  120. package/dist/types/src/operators/attention.d.ts.map +1 -0
  121. package/dist/types/src/operators/backend.d.ts +52 -0
  122. package/dist/types/src/operators/backend.d.ts.map +1 -0
  123. package/dist/types/src/operators/base.d.ts +32 -0
  124. package/dist/types/src/operators/base.d.ts.map +1 -0
  125. package/dist/types/src/operators/boolean.d.ts +23 -0
  126. package/dist/types/src/operators/boolean.d.ts.map +1 -0
  127. package/dist/types/src/operators/calibrated-vector.d.ts +56 -0
  128. package/dist/types/src/operators/calibrated-vector.d.ts.map +1 -0
  129. package/dist/types/src/operators/deep-fusion.d.ts +104 -0
  130. package/dist/types/src/operators/deep-fusion.d.ts.map +1 -0
  131. package/dist/types/src/operators/deep-learn.d.ts +87 -0
  132. package/dist/types/src/operators/deep-learn.d.ts.map +1 -0
  133. package/dist/types/src/operators/hierarchical.d.ts +44 -0
  134. package/dist/types/src/operators/hierarchical.d.ts.map +1 -0
  135. package/dist/types/src/operators/hybrid.d.ts +75 -0
  136. package/dist/types/src/operators/hybrid.d.ts.map +1 -0
  137. package/dist/types/src/operators/learned-fusion.d.ts +15 -0
  138. package/dist/types/src/operators/learned-fusion.d.ts.map +1 -0
  139. package/dist/types/src/operators/multi-field.d.ts +13 -0
  140. package/dist/types/src/operators/multi-field.d.ts.map +1 -0
  141. package/dist/types/src/operators/multi-stage.d.ts +12 -0
  142. package/dist/types/src/operators/multi-stage.d.ts.map +1 -0
  143. package/dist/types/src/operators/primitive.d.ts +75 -0
  144. package/dist/types/src/operators/primitive.d.ts.map +1 -0
  145. package/dist/types/src/operators/progressive-fusion.d.ts +13 -0
  146. package/dist/types/src/operators/progressive-fusion.d.ts.map +1 -0
  147. package/dist/types/src/operators/sparse.d.ts +12 -0
  148. package/dist/types/src/operators/sparse.d.ts.map +1 -0
  149. package/dist/types/src/planner/cardinality.d.ts +110 -0
  150. package/dist/types/src/planner/cardinality.d.ts.map +1 -0
  151. package/dist/types/src/planner/cost-model.d.ts +16 -0
  152. package/dist/types/src/planner/cost-model.d.ts.map +1 -0
  153. package/dist/types/src/planner/executor.d.ts +48 -0
  154. package/dist/types/src/planner/executor.d.ts.map +1 -0
  155. package/dist/types/src/planner/join-enumerator.d.ts +76 -0
  156. package/dist/types/src/planner/join-enumerator.d.ts.map +1 -0
  157. package/dist/types/src/planner/join-graph.d.ts +61 -0
  158. package/dist/types/src/planner/join-graph.d.ts.map +1 -0
  159. package/dist/types/src/planner/join-order.d.ts +24 -0
  160. package/dist/types/src/planner/join-order.d.ts.map +1 -0
  161. package/dist/types/src/planner/optimizer.d.ts +62 -0
  162. package/dist/types/src/planner/optimizer.d.ts.map +1 -0
  163. package/dist/types/src/planner/parallel.d.ts +43 -0
  164. package/dist/types/src/planner/parallel.d.ts.map +1 -0
  165. package/dist/types/src/scoring/bayesian-bm25.d.ts +22 -0
  166. package/dist/types/src/scoring/bayesian-bm25.d.ts.map +1 -0
  167. package/dist/types/src/scoring/bm25.d.ts +20 -0
  168. package/dist/types/src/scoring/bm25.d.ts.map +1 -0
  169. package/dist/types/src/scoring/calibration.d.ts +68 -0
  170. package/dist/types/src/scoring/calibration.d.ts.map +1 -0
  171. package/dist/types/src/scoring/external-prior.d.ts +55 -0
  172. package/dist/types/src/scoring/external-prior.d.ts.map +1 -0
  173. package/dist/types/src/scoring/fusion-wand.d.ts +19 -0
  174. package/dist/types/src/scoring/fusion-wand.d.ts.map +1 -0
  175. package/dist/types/src/scoring/multi-field.d.ts +10 -0
  176. package/dist/types/src/scoring/multi-field.d.ts.map +1 -0
  177. package/dist/types/src/scoring/parameter-learner.d.ts +42 -0
  178. package/dist/types/src/scoring/parameter-learner.d.ts.map +1 -0
  179. package/dist/types/src/scoring/vector.d.ts +42 -0
  180. package/dist/types/src/scoring/vector.d.ts.map +1 -0
  181. package/dist/types/src/scoring/wand.d.ts +51 -0
  182. package/dist/types/src/scoring/wand.d.ts.map +1 -0
  183. package/dist/types/src/sql/compiler.d.ts +551 -0
  184. package/dist/types/src/sql/compiler.d.ts.map +1 -0
  185. package/dist/types/src/sql/expr-evaluator.d.ts +43 -0
  186. package/dist/types/src/sql/expr-evaluator.d.ts.map +1 -0
  187. package/dist/types/src/sql/fts-query.d.ts +60 -0
  188. package/dist/types/src/sql/fts-query.d.ts.map +1 -0
  189. package/dist/types/src/sql/table.d.ts +72 -0
  190. package/dist/types/src/sql/table.d.ts.map +1 -0
  191. package/dist/types/src/storage/abc/document-store.d.ts +44 -0
  192. package/dist/types/src/storage/abc/document-store.d.ts.map +1 -0
  193. package/dist/types/src/storage/abc/graph-store.d.ts +109 -0
  194. package/dist/types/src/storage/abc/graph-store.d.ts.map +1 -0
  195. package/dist/types/src/storage/abc/inverted-index.d.ts +118 -0
  196. package/dist/types/src/storage/abc/inverted-index.d.ts.map +1 -0
  197. package/dist/types/src/storage/block-max-index.d.ts +45 -0
  198. package/dist/types/src/storage/block-max-index.d.ts.map +1 -0
  199. package/dist/types/src/storage/btree-index.d.ts +18 -0
  200. package/dist/types/src/storage/btree-index.d.ts.map +1 -0
  201. package/dist/types/src/storage/catalog.d.ts +87 -0
  202. package/dist/types/src/storage/catalog.d.ts.map +1 -0
  203. package/dist/types/src/storage/document-store.d.ts +20 -0
  204. package/dist/types/src/storage/document-store.d.ts.map +1 -0
  205. package/dist/types/src/storage/index-abc.d.ts +16 -0
  206. package/dist/types/src/storage/index-abc.d.ts.map +1 -0
  207. package/dist/types/src/storage/index-manager.d.ts +19 -0
  208. package/dist/types/src/storage/index-manager.d.ts.map +1 -0
  209. package/dist/types/src/storage/index-types.d.ts +10 -0
  210. package/dist/types/src/storage/index-types.d.ts.map +1 -0
  211. package/dist/types/src/storage/inverted-index.d.ts +55 -0
  212. package/dist/types/src/storage/inverted-index.d.ts.map +1 -0
  213. package/dist/types/src/storage/ivf-index.d.ts +57 -0
  214. package/dist/types/src/storage/ivf-index.d.ts.map +1 -0
  215. package/dist/types/src/storage/managed-connection.d.ts +64 -0
  216. package/dist/types/src/storage/managed-connection.d.ts.map +1 -0
  217. package/dist/types/src/storage/spatial-index.d.ts +18 -0
  218. package/dist/types/src/storage/spatial-index.d.ts.map +1 -0
  219. package/dist/types/src/storage/sqlite-document-store.d.ts +54 -0
  220. package/dist/types/src/storage/sqlite-document-store.d.ts.map +1 -0
  221. package/dist/types/src/storage/sqlite-graph-store.d.ts +59 -0
  222. package/dist/types/src/storage/sqlite-graph-store.d.ts.map +1 -0
  223. package/dist/types/src/storage/sqlite-inverted-index.d.ts +75 -0
  224. package/dist/types/src/storage/sqlite-inverted-index.d.ts.map +1 -0
  225. package/dist/types/src/storage/transaction.d.ts +15 -0
  226. package/dist/types/src/storage/transaction.d.ts.map +1 -0
  227. package/dist/types/src/storage/vector-index.d.ts +23 -0
  228. package/dist/types/src/storage/vector-index.d.ts.map +1 -0
  229. package/dist/uqa.es.js +16156 -0
  230. package/dist/uqa.es.js.map +1 -0
  231. package/dist/uqa.umd.js +11 -0
  232. package/dist/uqa.umd.js.map +1 -0
  233. 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"}