@llangtop/pwiki-core 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 (69) hide show
  1. package/dist/WikiEngine.d.ts +81 -0
  2. package/dist/WikiEngine.d.ts.map +1 -0
  3. package/dist/WikiEngine.js +371 -0
  4. package/dist/WikiEngine.js.map +1 -0
  5. package/dist/compile/compiler.d.ts +39 -0
  6. package/dist/compile/compiler.d.ts.map +1 -0
  7. package/dist/compile/compiler.js +227 -0
  8. package/dist/compile/compiler.js.map +1 -0
  9. package/dist/compile/index.d.ts +3 -0
  10. package/dist/compile/index.d.ts.map +1 -0
  11. package/dist/compile/index.js +2 -0
  12. package/dist/compile/index.js.map +1 -0
  13. package/dist/embed/WikiEmbedder.d.ts +28 -0
  14. package/dist/embed/WikiEmbedder.d.ts.map +1 -0
  15. package/dist/embed/WikiEmbedder.js +147 -0
  16. package/dist/embed/WikiEmbedder.js.map +1 -0
  17. package/dist/embed/index.d.ts +2 -0
  18. package/dist/embed/index.d.ts.map +1 -0
  19. package/dist/embed/index.js +2 -0
  20. package/dist/embed/index.js.map +1 -0
  21. package/dist/index.d.ts +10 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +9 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/llm/WikiLLM.d.ts +24 -0
  26. package/dist/llm/WikiLLM.d.ts.map +1 -0
  27. package/dist/llm/WikiLLM.js +46 -0
  28. package/dist/llm/WikiLLM.js.map +1 -0
  29. package/dist/llm/index.d.ts +3 -0
  30. package/dist/llm/index.d.ts.map +1 -0
  31. package/dist/llm/index.js +2 -0
  32. package/dist/llm/index.js.map +1 -0
  33. package/dist/models.d.ts +5 -0
  34. package/dist/models.d.ts.map +1 -0
  35. package/dist/models.js +54 -0
  36. package/dist/models.js.map +1 -0
  37. package/dist/search/WikiSearch.d.ts +14 -0
  38. package/dist/search/WikiSearch.d.ts.map +1 -0
  39. package/dist/search/WikiSearch.js +223 -0
  40. package/dist/search/WikiSearch.js.map +1 -0
  41. package/dist/search/index.d.ts +2 -0
  42. package/dist/search/index.d.ts.map +1 -0
  43. package/dist/search/index.js +2 -0
  44. package/dist/search/index.js.map +1 -0
  45. package/dist/store/WikiStore.d.ts +47 -0
  46. package/dist/store/WikiStore.d.ts.map +1 -0
  47. package/dist/store/WikiStore.js +301 -0
  48. package/dist/store/WikiStore.js.map +1 -0
  49. package/dist/store/index.d.ts +2 -0
  50. package/dist/store/index.d.ts.map +1 -0
  51. package/dist/store/index.js +2 -0
  52. package/dist/store/index.js.map +1 -0
  53. package/dist/types.d.ts +129 -0
  54. package/dist/types.d.ts.map +1 -0
  55. package/dist/types.js +3 -0
  56. package/dist/types.js.map +1 -0
  57. package/dist/util/fs.d.ts +7 -0
  58. package/dist/util/fs.d.ts.map +1 -0
  59. package/dist/util/fs.js +36 -0
  60. package/dist/util/fs.js.map +1 -0
  61. package/dist/util/index.d.ts +3 -0
  62. package/dist/util/index.d.ts.map +1 -0
  63. package/dist/util/index.js +3 -0
  64. package/dist/util/index.js.map +1 -0
  65. package/dist/util/paths.d.ts +17 -0
  66. package/dist/util/paths.d.ts.map +1 -0
  67. package/dist/util/paths.js +31 -0
  68. package/dist/util/paths.js.map +1 -0
  69. package/package.json +34 -0
package/dist/models.js ADDED
@@ -0,0 +1,54 @@
1
+ // models.ts — 嵌入模型注册表
2
+ export const MODELS = [
3
+ {
4
+ id: "bge-base-zh-v1.5",
5
+ name: "BGE Base Chinese v1.5",
6
+ hfRepo: "Xenova/bge-base-zh-v1.5",
7
+ dim: 768,
8
+ description: "BAAI 中文优化,MTEB 中文榜首",
9
+ languages: ["zh", "en"],
10
+ maxTokens: 512,
11
+ int8Size: 130_000_000,
12
+ fp32Size: 390_000_000,
13
+ },
14
+ {
15
+ id: "bge-large-zh-v1.5",
16
+ name: "BGE Large Chinese v1.5",
17
+ hfRepo: "Xenova/bge-large-zh-v1.5",
18
+ dim: 1024,
19
+ description: "BAAI 中文大模型,1024 维高精度",
20
+ languages: ["zh", "en"],
21
+ maxTokens: 512,
22
+ int8Size: 324_000_000,
23
+ fp32Size: 1_300_000_000,
24
+ },
25
+ {
26
+ id: "paraphrase-multilingual",
27
+ name: "Paraphrase Multilingual MiniLM",
28
+ hfRepo: "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
29
+ dim: 384,
30
+ description: "轻量多语言,50+ 语言",
31
+ languages: ["zh", "en", "fr", "de", "ja", "ko", "..."],
32
+ maxTokens: 128,
33
+ int8Size: 118_000_000,
34
+ fp32Size: 470_000_000,
35
+ },
36
+ {
37
+ id: "bge-m3",
38
+ name: "BGE M3",
39
+ hfRepo: "Xenova/bge-m3",
40
+ dim: 1024,
41
+ description: "BAAI 多语言多粒度,100+ 语言,8192 tokens",
42
+ languages: ["zh", "en", "fr", "de", "ja", "ko", "es", "ru", "ar", "..."],
43
+ maxTokens: 8192,
44
+ int8Size: 340_000_000,
45
+ fp32Size: 2_200_000_000,
46
+ },
47
+ ];
48
+ export function findModel(id) {
49
+ return MODELS.find(m => m.id === id);
50
+ }
51
+ export function defaultModel() {
52
+ return MODELS[0];
53
+ }
54
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAItB,MAAM,CAAC,MAAM,MAAM,GAAgB;IACjC;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,yBAAyB;QACjC,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACvB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,0BAA0B;QAClC,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACvB,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,aAAa;KACxB;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,gCAAgC;QACtC,MAAM,EAAE,8CAA8C;QACtD,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,cAAc;QAC3B,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QACtD,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,eAAe;QACvB,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,iCAAiC;QAC9C,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QACxE,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,aAAa;KACxB;CACF,CAAC;AAEF,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { WikiStore } from "../store/index.js";
2
+ import type { SearchHit, SearchMode } from "../types.js";
3
+ export declare class WikiSearch {
4
+ private store;
5
+ private embed;
6
+ constructor(store: WikiStore, embed: (text: string) => Promise<number[]>);
7
+ search(query: string, mode?: SearchMode): Promise<SearchHit[]>;
8
+ keyword(query: string): SearchHit[];
9
+ semantic(query: string): Promise<SearchHit[]>;
10
+ hybrid(query: string): Promise<SearchHit[]>;
11
+ private lineContext;
12
+ private cosine;
13
+ }
14
+ //# sourceMappingURL=WikiSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WikiSearch.d.ts","sourceRoot":"","sources":["../../src/search/WikiSearch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzD,qBAAa,UAAU;IACT,OAAO,CAAC,KAAK;IAAa,OAAO,CAAC,KAAK;gBAA/B,KAAK,EAAE,SAAS,EAAU,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAMlF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,UAAsB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAY/E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE;IAgD7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoF7C,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAsCjD,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,MAAM;CAOf"}
@@ -0,0 +1,223 @@
1
+ // WikiSearch.ts — 搜索引擎:keyword / semantic / hybrid
2
+ // ---- 常量 ----
3
+ const HIGH_SIMILARITY = 0.50;
4
+ const MIN_SIMILARITY = 0.20;
5
+ const FALLBACK_COUNT = 3;
6
+ const CHUNK_BONUS = 0.05;
7
+ const MAX_CHUNK_BONUS = 0.25;
8
+ const RRF_K = 60;
9
+ const RRF_TOPN = 50;
10
+ export class WikiSearch {
11
+ store;
12
+ embed;
13
+ constructor(store, embed) {
14
+ this.store = store;
15
+ this.embed = embed;
16
+ }
17
+ // ==========================================================================
18
+ // 入口
19
+ // ==========================================================================
20
+ async search(query, mode = "keyword") {
21
+ switch (mode) {
22
+ case "keyword": return this.keyword(query);
23
+ case "semantic": return this.semantic(query);
24
+ case "hybrid": return this.hybrid(query);
25
+ }
26
+ }
27
+ // ==========================================================================
28
+ // 关键词搜索
29
+ // ==========================================================================
30
+ keyword(query) {
31
+ const entries = this.store.entries;
32
+ const q = query.toLowerCase();
33
+ const hits = [];
34
+ for (const [relPath, entry] of Object.entries(entries)) {
35
+ let score = 0;
36
+ const snippets = [];
37
+ // 标题匹配(权重最高)
38
+ if (entry.title.toLowerCase().includes(q))
39
+ score += 10;
40
+ // 路径匹配
41
+ if (relPath.toLowerCase().includes(q))
42
+ score += 5;
43
+ // 标签匹配
44
+ if (entry.tags.some(t => t.toLowerCase().includes(q)))
45
+ score += 3;
46
+ // 内容匹配(从缓存读取)
47
+ const content = this.store.getContent(relPath);
48
+ if (content) {
49
+ const lower = content.toLowerCase();
50
+ let count = 0, pos = lower.indexOf(q);
51
+ while (pos >= 0 && count < 5) {
52
+ count++;
53
+ if (count === 1)
54
+ score += 1;
55
+ const ctx = this.lineContext(content, pos);
56
+ if (ctx && !snippets.some(s => s.includes(ctx.slice(0, 30)))) {
57
+ snippets.push(ctx);
58
+ }
59
+ pos = lower.indexOf(q, pos + 1);
60
+ }
61
+ score += Math.min(count - 1, 9);
62
+ }
63
+ if (score > 0) {
64
+ hits.push({
65
+ path: relPath, sourceDir: entry.sourceDir,
66
+ title: entry.title, tags: entry.tags,
67
+ snippet: snippets.join("\n"), score,
68
+ });
69
+ }
70
+ }
71
+ return hits.sort((a, b) => b.score - a.score);
72
+ }
73
+ // ==========================================================================
74
+ // 语义搜索
75
+ // ==========================================================================
76
+ async semantic(query) {
77
+ const embeddings = this.store.getAllEmbeddings();
78
+ if (Object.keys(embeddings).length === 0)
79
+ return [];
80
+ let queryVec;
81
+ try {
82
+ queryVec = await this.embed(query);
83
+ }
84
+ catch {
85
+ return [];
86
+ }
87
+ const chunks = [];
88
+ for (const [key, vec] of Object.entries(embeddings)) {
89
+ const m = key.match(/^(.*)###(\d+|llm)$/);
90
+ const relPath = m ? m[1] : key;
91
+ const chunkIdx = m ? parseInt(m[2], 10) : NaN;
92
+ if (!this.store.entries[relPath])
93
+ continue;
94
+ const sim = this.cosine(queryVec, vec);
95
+ if (sim < MIN_SIMILARITY)
96
+ continue;
97
+ const meta = isNaN(chunkIdx) ? undefined : this.store.getChunkMeta(key);
98
+ chunks.push({
99
+ key, relPath, sim,
100
+ idx: isNaN(chunkIdx) ? undefined : chunkIdx,
101
+ heading: meta?.heading?.replace(/^#+\s*/, ""),
102
+ });
103
+ }
104
+ // 同文件聚合:最高块相似度 + 多块加分
105
+ const fileMap = new Map();
106
+ for (const ch of chunks) {
107
+ const existing = fileMap.get(ch.relPath);
108
+ if (!existing) {
109
+ fileMap.set(ch.relPath, {
110
+ relPath: ch.relPath, best: ch, count: 1,
111
+ headings: ch.heading ? [ch.heading] : [],
112
+ });
113
+ }
114
+ else {
115
+ if (ch.sim > existing.best.sim)
116
+ existing.best = ch;
117
+ existing.count++;
118
+ if (ch.heading && !existing.headings.includes(ch.heading))
119
+ existing.headings.push(ch.heading);
120
+ }
121
+ }
122
+ const files = [...fileMap.values()].map(f => ({
123
+ ...f,
124
+ score: f.best.sim + Math.min((f.count - 1) * CHUNK_BONUS, MAX_CHUNK_BONUS),
125
+ })).sort((a, b) => b.score - a.score);
126
+ const makeHit = (f) => {
127
+ const entry = this.store.entries[f.relPath];
128
+ let snippet = "";
129
+ const llm = this.store.getChunkMeta(`${f.relPath}###llm`);
130
+ if (llm?.summary)
131
+ snippet = llm.summary;
132
+ else if (llm?.topic)
133
+ snippet = llm.topic;
134
+ else if (f.best.heading)
135
+ snippet = f.best.heading;
136
+ if (f.count > 1) {
137
+ const others = f.headings.filter(h => h !== f.best.heading).slice(0, 5);
138
+ snippet += others.length > 0
139
+ ? ` | +${f.count - 1} chunks: ${others.join(", ")}`
140
+ : ` | +${f.count - 1} chunks`;
141
+ }
142
+ return {
143
+ path: entry.relPath, sourceDir: entry.sourceDir,
144
+ title: entry.title, tags: entry.tags, snippet,
145
+ score: Math.round(f.score * 100), semanticScore: f.score,
146
+ chunkIndex: f.best.idx, chunkHeading: f.best.heading,
147
+ };
148
+ };
149
+ const strong = files.filter(f => f.score >= HIGH_SIMILARITY).map(makeHit);
150
+ if (strong.length >= FALLBACK_COUNT)
151
+ return strong;
152
+ const weak = files.filter(f => f.score < HIGH_SIMILARITY).slice(0, FALLBACK_COUNT).map(f => {
153
+ const hit = makeHit(f);
154
+ hit.snippet = `Weak match (${Math.round(f.score * 100)}%)`;
155
+ return hit;
156
+ });
157
+ return [...strong, ...weak];
158
+ }
159
+ // ==========================================================================
160
+ // 混合搜索(RRF 融合)
161
+ // ==========================================================================
162
+ async hybrid(query) {
163
+ const kwHits = this.keyword(query);
164
+ const semHits = await this.semantic(query);
165
+ const kwSorted = [...kwHits].sort((a, b) => b.score - a.score).slice(0, RRF_TOPN);
166
+ const semSorted = [...semHits].sort((a, b) => b.score - a.score).slice(0, RRF_TOPN);
167
+ const kwRank = new Map(kwSorted.map((h, i) => [h.path, i + 1]));
168
+ const semRank = new Map(semSorted.map((h, i) => [h.path, i + 1]));
169
+ const allPaths = new Set([...kwRank.keys(), ...semRank.keys()]);
170
+ const kwMap = new Map(kwSorted.map(h => [h.path, h]));
171
+ const semMap = new Map(semSorted.map(h => [h.path, h]));
172
+ const missing = RRF_K * 2;
173
+ const merged = [];
174
+ for (const path of allPaths) {
175
+ const kw = kwMap.get(path);
176
+ const sem = semMap.get(path);
177
+ const rrf = 1 / (RRF_K + (kwRank.get(path) ?? missing))
178
+ + 1 / (RRF_K + (semRank.get(path) ?? missing));
179
+ const base = sem || kw;
180
+ merged.push({
181
+ path: base.path, sourceDir: base.sourceDir,
182
+ title: base.title, tags: base.tags,
183
+ snippet: sem?.snippet || kw?.snippet?.replace(/\n/g, " | ") || "",
184
+ score: Math.round(rrf * 10000),
185
+ semanticScore: sem?.semanticScore,
186
+ chunkIndex: sem?.chunkIndex,
187
+ chunkHeading: sem?.chunkHeading,
188
+ });
189
+ }
190
+ return merged.sort((a, b) => b.score - a.score);
191
+ }
192
+ // ==========================================================================
193
+ // 工具函数
194
+ // ==========================================================================
195
+ lineContext(content, matchPos, maxLen = 100) {
196
+ const before = content.slice(0, matchPos);
197
+ const lineNum = before.split("\n").length;
198
+ const lines = content.split("\n");
199
+ const prev = lineNum > 1 ? lines[lineNum - 2]?.trim() : "";
200
+ const curr = lines[lineNum - 1]?.trim() ?? "";
201
+ const next = lines[lineNum]?.trim() ?? "";
202
+ const parts = [];
203
+ if (prev)
204
+ parts.push(`L${lineNum - 1}: ${prev.slice(0, maxLen)}`);
205
+ parts.push(`L${lineNum}: ${curr.slice(0, maxLen)}`);
206
+ if (next)
207
+ parts.push(`L${lineNum + 1}: ${next.slice(0, maxLen)}`);
208
+ return parts.join("\n");
209
+ }
210
+ cosine(a, b) {
211
+ if (a.length !== b.length)
212
+ return 0;
213
+ let dot = 0, na = 0, nb = 0;
214
+ for (let i = 0; i < a.length; i++) {
215
+ dot += a[i] * b[i];
216
+ na += a[i] * a[i];
217
+ nb += b[i] * b[i];
218
+ }
219
+ const d = Math.sqrt(na) * Math.sqrt(nb);
220
+ return d === 0 ? 0 : dot / d;
221
+ }
222
+ }
223
+ //# sourceMappingURL=WikiSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WikiSearch.js","sourceRoot":"","sources":["../../src/search/WikiSearch.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAKnD,eAAe;AACf,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,OAAO,UAAU;IACD;IAA0B;IAA9C,YAAoB,KAAgB,EAAU,KAA0C;QAApE,UAAK,GAAL,KAAK,CAAW;QAAU,UAAK,GAAL,KAAK,CAAqC;IAAG,CAAC;IAE5F,6EAA6E;IAC7E,KAAK;IACL,6EAA6E;IAE7E,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAmB,SAAS;QACtD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS,CAAC,CAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,QAAQ,CAAC,CAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,QAAQ;IACR,6EAA6E;IAE7E,OAAO,CAAC,KAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAgB,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,aAAa;YACb,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,EAAE,CAAC;YACvD,OAAO;YACP,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YAClD,OAAO;YACP,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;YAElE,cAAc;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;gBACpC,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtC,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC7B,KAAK,EAAE,CAAC;oBACR,IAAI,KAAK,KAAK,CAAC;wBAAE,KAAK,IAAI,CAAC,CAAC;oBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC3C,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;oBACD,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;oBACzC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;oBACpC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,6EAA6E;IAC7E,OAAO;IACP,6EAA6E;IAE7E,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEpD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAGhE,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;gBAAE,SAAS;YAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG,GAAG,cAAc;gBAAE,SAAS;YAEnC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;gBAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoF,CAAC;QAC5G,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE;oBACtB,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;oBACvC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;iBACzC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG;oBAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBACnD,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC;oBAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,eAAe,CAAC;SAC3E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,CAAC,CAAuB,EAAa,EAAE;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAE,CAAC;YAC7C,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC;YAC1D,IAAI,GAAG,EAAE,OAAO;gBAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;iBACnC,IAAI,GAAG,EAAE,KAAK;gBAAE,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;iBACpC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAClD,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAC1B,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACnD,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC;YAClC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO;gBAC7C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK;gBACxD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;aACrD,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,IAAI,cAAc;YAAE,OAAO,MAAM,CAAC;QAEnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzF,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,GAAG,CAAC,OAAO,GAAG,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;YAC3D,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,6EAA6E;IAC7E,eAAe;IACf,6EAA6E;IAE7E,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEpF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;QAE1B,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC;kBAC3C,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,GAAG,IAAI,EAAG,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI;gBAClC,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;gBACjE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;gBAC9B,aAAa,EAAE,GAAG,EAAE,aAAa;gBACjC,UAAU,EAAE,GAAG,EAAE,UAAU;gBAC3B,YAAY,EAAE,GAAG,EAAE,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,6EAA6E;IAC7E,OAAO;IACP,6EAA6E;IAErE,WAAW,CAAC,OAAe,EAAE,QAAgB,EAAE,MAAM,GAAG,GAAG;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,MAAM,CAAC,CAAW,EAAE,CAAW;QACrC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAChG,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { WikiSearch } from "./WikiSearch.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { WikiSearch } from "./WikiSearch.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { WikiPaths } from "../util/index.js";
2
+ import type { WikiConfig, FileEntry, IndexData, ManifestData, ManifestEntry, VectorsData, ChunkMeta, WikiStatus, CompiledRecord } from "../types.js";
3
+ export declare class WikiStore {
4
+ readonly paths: WikiPaths;
5
+ private _config;
6
+ private _index;
7
+ private _vectors;
8
+ private _manifest;
9
+ private _content;
10
+ constructor(basePath: string);
11
+ get config(): WikiConfig;
12
+ saveConfig(patch: Partial<WikiConfig>): void;
13
+ get index(): IndexData;
14
+ get entries(): Record<string, FileEntry>;
15
+ getEntry(relPath: string): FileEntry | undefined;
16
+ setEntries(entries: FileEntry[]): void;
17
+ removeEntriesBySource(sourceDir: string): number;
18
+ removeEntry(relPath: string): boolean;
19
+ renameEntry(oldPath: string, newPath: string, entry: FileEntry): boolean;
20
+ private flushIndex;
21
+ getContent(relPath: string): string | undefined;
22
+ setContent(relPath: string, content: string): void;
23
+ clearContentCache(): void;
24
+ get manifest(): ManifestData;
25
+ getManifestEntry(relPath: string): ManifestEntry | undefined;
26
+ setManifestEntry(relPath: string, entry: ManifestEntry): void;
27
+ removeManifestEntry(relPath: string): void;
28
+ get vectors(): VectorsData;
29
+ getEmbedding(key: string): number[] | undefined;
30
+ getAllEmbeddings(): Record<string, number[]>;
31
+ setEmbeddings(entries: Record<string, number[]>, model?: string, dim?: number): void;
32
+ setSingleEmbedding(key: string, vec: number[]): void;
33
+ flushVectors(): void;
34
+ getChunkMeta(key: string): ChunkMeta | undefined;
35
+ getAllChunkMeta(): Record<string, ChunkMeta>;
36
+ setChunkMeta(key: string, meta: ChunkMeta): void;
37
+ removeEmbeddingsByPath(relPath: string): void;
38
+ getCompiled(relPath: string): CompiledRecord | null;
39
+ setCompiled(relPath: string, record: CompiledRecord): void;
40
+ scanDir(sourceDir: string): Promise<FileEntry[]>;
41
+ private walk;
42
+ private parseFile;
43
+ status(): WikiStatus;
44
+ addSource(absPath: string): boolean;
45
+ removeSource(target: string): string | null;
46
+ }
47
+ //# sourceMappingURL=WikiStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WikiStore.d.ts","sourceRoot":"","sources":["../../src/store/WikiStore.ts"],"names":[],"mappings":"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"}