@llangtop/pwiki-core 0.4.6 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/WikiEngine.d.ts +21 -24
  2. package/dist/WikiEngine.d.ts.map +1 -1
  3. package/dist/WikiEngine.js +251 -144
  4. package/dist/WikiEngine.js.map +1 -1
  5. package/dist/config.d.ts +18 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +61 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/index.d.ts +16 -17
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +22 -25
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/ast-chunker.d.ts.map +1 -0
  14. package/dist/{ast-chunker.js → lib/ast-chunker.js} +2 -2
  15. package/dist/lib/ast-chunker.js.map +1 -0
  16. package/dist/lib/content-cache.d.ts.map +1 -0
  17. package/dist/lib/content-cache.js.map +1 -0
  18. package/dist/{embedder.d.ts → lib/embedder.d.ts} +0 -16
  19. package/dist/lib/embedder.d.ts.map +1 -0
  20. package/dist/{embedder.js → lib/embedder.js} +21 -98
  21. package/dist/lib/embedder.js.map +1 -0
  22. package/dist/{file-manifest.d.ts → lib/file-manifest.d.ts} +0 -10
  23. package/dist/lib/file-manifest.d.ts.map +1 -0
  24. package/dist/{file-manifest.js → lib/file-manifest.js} +9 -50
  25. package/dist/lib/file-manifest.js.map +1 -0
  26. package/dist/{indexer-compile.d.ts → lib/indexer-compile.d.ts} +5 -7
  27. package/dist/lib/indexer-compile.d.ts.map +1 -0
  28. package/dist/{indexer-compile.js → lib/indexer-compile.js} +12 -13
  29. package/dist/lib/indexer-compile.js.map +1 -0
  30. package/dist/{indexer-embed.d.ts → lib/indexer-embed.d.ts} +3 -5
  31. package/dist/lib/indexer-embed.d.ts.map +1 -0
  32. package/dist/{indexer-embed.js → lib/indexer-embed.js} +15 -16
  33. package/dist/lib/indexer-embed.js.map +1 -0
  34. package/dist/lib/indexer-scan.d.ts.map +1 -0
  35. package/dist/lib/indexer-scan.js.map +1 -0
  36. package/dist/lib/indexer.d.ts.map +1 -0
  37. package/dist/lib/indexer.js.map +1 -0
  38. package/dist/lib/model-registry.d.ts +18 -0
  39. package/dist/lib/model-registry.d.ts.map +1 -0
  40. package/dist/lib/model-registry.js +52 -0
  41. package/dist/lib/model-registry.js.map +1 -0
  42. package/dist/lib/parser.d.ts.map +1 -0
  43. package/dist/lib/parser.js.map +1 -0
  44. package/dist/lib/preprocessor.d.ts.map +1 -0
  45. package/dist/lib/preprocessor.js.map +1 -0
  46. package/dist/{search.d.ts → lib/search.d.ts} +0 -2
  47. package/dist/lib/search.d.ts.map +1 -0
  48. package/dist/{search.js → lib/search.js} +20 -34
  49. package/dist/lib/search.js.map +1 -0
  50. package/dist/{semantic-compiler.d.ts → lib/semantic-compiler.d.ts} +2 -2
  51. package/dist/lib/semantic-compiler.d.ts.map +1 -0
  52. package/dist/lib/semantic-compiler.js.map +1 -0
  53. package/dist/lib/semantic-search.d.ts +4 -0
  54. package/dist/lib/semantic-search.d.ts.map +1 -0
  55. package/dist/{semantic-search.js → lib/semantic-search.js} +22 -82
  56. package/dist/lib/semantic-search.js.map +1 -0
  57. package/dist/lib/store-config.d.ts +25 -0
  58. package/dist/lib/store-config.d.ts.map +1 -0
  59. package/dist/lib/store-config.js +85 -0
  60. package/dist/lib/store-config.js.map +1 -0
  61. package/dist/lib/store-index.d.ts +14 -0
  62. package/dist/lib/store-index.d.ts.map +1 -0
  63. package/dist/lib/store-index.js +72 -0
  64. package/dist/lib/store-index.js.map +1 -0
  65. package/dist/lib/store-vectors.d.ts.map +1 -0
  66. package/dist/{store-vectors.js → lib/store-vectors.js} +7 -18
  67. package/dist/lib/store-vectors.js.map +1 -0
  68. package/dist/lib/store.d.ts +11 -0
  69. package/dist/lib/store.d.ts.map +1 -0
  70. package/dist/lib/store.js +22 -0
  71. package/dist/lib/store.js.map +1 -0
  72. package/dist/{types.d.ts → lib/types.d.ts} +17 -23
  73. package/dist/lib/types.d.ts.map +1 -0
  74. package/dist/lib/types.js +3 -0
  75. package/dist/lib/types.js.map +1 -0
  76. package/package.json +33 -37
  77. package/dist/ast-chunker.d.ts.map +0 -1
  78. package/dist/ast-chunker.js.map +0 -1
  79. package/dist/content-cache.d.ts.map +0 -1
  80. package/dist/content-cache.js.map +0 -1
  81. package/dist/embedder.d.ts.map +0 -1
  82. package/dist/embedder.js.map +0 -1
  83. package/dist/file-manifest.d.ts.map +0 -1
  84. package/dist/file-manifest.js.map +0 -1
  85. package/dist/indexer-compile.d.ts.map +0 -1
  86. package/dist/indexer-compile.js.map +0 -1
  87. package/dist/indexer-embed.d.ts.map +0 -1
  88. package/dist/indexer-embed.js.map +0 -1
  89. package/dist/indexer-scan.d.ts.map +0 -1
  90. package/dist/indexer-scan.js.map +0 -1
  91. package/dist/indexer.d.ts.map +0 -1
  92. package/dist/indexer.js.map +0 -1
  93. package/dist/model-registry.d.ts +0 -32
  94. package/dist/model-registry.d.ts.map +0 -1
  95. package/dist/model-registry.js +0 -82
  96. package/dist/model-registry.js.map +0 -1
  97. package/dist/parser.d.ts.map +0 -1
  98. package/dist/parser.js.map +0 -1
  99. package/dist/preprocessor.d.ts.map +0 -1
  100. package/dist/preprocessor.js.map +0 -1
  101. package/dist/search.d.ts.map +0 -1
  102. package/dist/search.js.map +0 -1
  103. package/dist/semantic-compiler.d.ts.map +0 -1
  104. package/dist/semantic-compiler.js.map +0 -1
  105. package/dist/semantic-search.d.ts +0 -11
  106. package/dist/semantic-search.d.ts.map +0 -1
  107. package/dist/semantic-search.js.map +0 -1
  108. package/dist/store-settings.d.ts +0 -32
  109. package/dist/store-settings.d.ts.map +0 -1
  110. package/dist/store-settings.js +0 -138
  111. package/dist/store-settings.js.map +0 -1
  112. package/dist/store-vectors.d.ts.map +0 -1
  113. package/dist/store-vectors.js.map +0 -1
  114. package/dist/store.d.ts +0 -11
  115. package/dist/store.d.ts.map +0 -1
  116. package/dist/store.js +0 -28
  117. package/dist/store.js.map +0 -1
  118. package/dist/types.d.ts.map +0 -1
  119. package/dist/types.js +0 -3
  120. package/dist/types.js.map +0 -1
  121. package/dist/wiki-paths.d.ts +0 -3
  122. package/dist/wiki-paths.d.ts.map +0 -1
  123. package/dist/wiki-paths.js +0 -13
  124. package/dist/wiki-paths.js.map +0 -1
  125. /package/dist/{ast-chunker.d.ts → lib/ast-chunker.d.ts} +0 -0
  126. /package/dist/{content-cache.d.ts → lib/content-cache.d.ts} +0 -0
  127. /package/dist/{content-cache.js → lib/content-cache.js} +0 -0
  128. /package/dist/{indexer-scan.d.ts → lib/indexer-scan.d.ts} +0 -0
  129. /package/dist/{indexer-scan.js → lib/indexer-scan.js} +0 -0
  130. /package/dist/{indexer.d.ts → lib/indexer.d.ts} +0 -0
  131. /package/dist/{indexer.js → lib/indexer.js} +0 -0
  132. /package/dist/{parser.d.ts → lib/parser.d.ts} +0 -0
  133. /package/dist/{parser.js → lib/parser.js} +0 -0
  134. /package/dist/{preprocessor.d.ts → lib/preprocessor.d.ts} +0 -0
  135. /package/dist/{preprocessor.js → lib/preprocessor.js} +0 -0
  136. /package/dist/{semantic-compiler.js → lib/semantic-compiler.js} +0 -0
  137. /package/dist/{store-vectors.d.ts → lib/store-vectors.d.ts} +0 -0
@@ -1,21 +1,9 @@
1
- // file-manifest.ts — 文件级追踪清单 (v5.4)
2
- //
3
- // manifest.json: 追踪每文件的 md5 / AST 分块状态 / LLM 编译状态
4
- // 用于判断文件是否变更、是否需要重新索引、LLM 编译是否过期
5
- //
6
- // 存储位置: extensions/wiki/manifest.json
7
- import { resolve } from "node:path";
1
+ // file-manifest.ts �?文件级追踪清�?(v1.0)
2
+ // 适配�?extensions/wiki/lib/file-manifest.ts �?wikiHome 改为 config.ts
8
3
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
4
+ import { resolve } from "node:path";
9
5
  import { createHash } from "node:crypto";
10
- // ---- 路径 ----
11
- import { getWikiHome } from "./wiki-paths.js";
12
- function wikiHome() { return getWikiHome(); }
13
- function manifestFile() {
14
- return resolve(wikiHome(), "manifest.json");
15
- }
16
- function compiledDir() {
17
- return resolve(wikiHome(), "compiled");
18
- }
6
+ import { manifestFile, compiledDir } from "../config.js";
19
7
  // ---- 统计 ----
20
8
  export function getManifestStats() {
21
9
  const m = getManifest();
@@ -33,58 +21,38 @@ export function getManifest() {
33
21
  if (existsSync(p))
34
22
  return JSON.parse(readFileSync(p, "utf-8"));
35
23
  }
36
- catch {
37
- /* ignore */
38
- }
24
+ catch { /* ignore */ }
39
25
  return { version: 1, files: {} };
40
26
  }
41
27
  function setManifest(m) {
42
28
  writeFileSync(manifestFile(), JSON.stringify(m, null, 2), "utf-8");
43
29
  }
44
- /** 获取单个文件的状态 */
45
30
  export function getFileState(relPath) {
46
31
  return getManifest().files[relPath];
47
32
  }
48
- /** 更新单个文件的状态(部分更新) */
49
33
  export function updateFileState(relPath, patch) {
50
34
  const m = getManifest();
51
35
  const existing = m.files[relPath] || {
52
- md5: "",
53
- astChunkCount: 0,
54
- astIndexedAt: "",
55
- llmCompiled: false,
36
+ md5: "", astChunkCount: 0, astIndexedAt: "", llmCompiled: false,
56
37
  };
57
38
  m.files[relPath] = { ...existing, ...patch };
58
39
  setManifest(m);
59
40
  }
60
- /** 删除单个文件的追踪 */
61
41
  export function removeFileState(relPath) {
62
42
  const m = getManifest();
63
43
  delete m.files[relPath];
64
44
  setManifest(m);
65
45
  }
66
- /** 清除指定数据源的所有文件追踪 */
67
- export function clearSourceFromManifest(sourceDir) {
68
- const m = getManifest();
69
- for (const key of Object.keys(m.files)) {
70
- // 无法直接从 manifest 知道 sourceDir,需要调用方传
71
- }
72
- setManifest(m);
73
- }
74
46
  // ---- MD5 ----
75
- /** 计算文本内容的 MD5 散列(用于变更检测) */
76
47
  export function computeMD5(content) {
77
48
  return createHash("md5").update(content, "utf-8").digest("hex");
78
49
  }
79
- // ---- 变更判断 ----
80
- /** 文件内容是否已变更(MD5 不匹配) */
81
50
  export function isFileChanged(relPath, currentMD5) {
82
51
  const state = getFileState(relPath);
83
52
  if (!state)
84
- return true; // 无记录 → 视为已变更
53
+ return true;
85
54
  return state.md5 !== currentMD5;
86
55
  }
87
- /** LLM 编译是否过期(文件 MD5 与编译时 MD5 不匹配) */
88
56
  export function isCompilationStale(relPath, currentMD5) {
89
57
  const state = getFileState(relPath);
90
58
  if (!state || !state.llmCompiled)
@@ -92,30 +60,21 @@ export function isCompilationStale(relPath, currentMD5) {
92
60
  return state.md5 !== currentMD5;
93
61
  }
94
62
  // ---- compiled/ 目录 ----
95
- /** 确保 compiled/ 目录存在 */
96
63
  export function ensureCompiledDir() {
97
64
  const dir = compiledDir();
98
65
  if (!existsSync(dir))
99
66
  mkdirSync(dir, { recursive: true });
100
67
  }
101
- /** 获取某文件的 compiled 存储路径 */
102
68
  export function getCompiledFilePath(relPath) {
103
69
  ensureCompiledDir();
104
- // 把路径分隔符替换为 _,避免子目录冲突
105
70
  const safeName = relPath
106
- .replace(/\\/g, "_")
107
- .replace(/\//g, "_")
71
+ .replace(/\\/g, "_").replace(/\//g, "_")
108
72
  .replace(/\.md$/i, "") + ".json";
109
73
  return resolve(compiledDir(), safeName);
110
74
  }
111
- // ---- 统计 ----
112
75
  export function manifestStats() {
113
76
  const m = getManifest();
114
77
  const entries = Object.values(m.files);
115
- return {
116
- total: entries.length,
117
- compiled: entries.filter((e) => e.llmCompiled).length,
118
- stale: 0, // 需传入当前 MD5 才能判断,此处仅计数
119
- };
78
+ return { total: entries.length, compiled: entries.filter(e => e.llmCompiled).length, stale: 0 };
120
79
  }
121
80
  //# sourceMappingURL=file-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-manifest.js","sourceRoot":"","sources":["../../src/lib/file-manifest.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,18 @@
1
1
  import type { CompiledChunk, RawChunk, FileSegment, FileLLMData } from "./types.js";
2
2
  import type { PreprocessedChunk } from "./preprocessor.js";
3
3
  /**
4
- * 获取所有已索引文件的原始块(供 AI 编译)
5
- */
4
+ * 鑾峰彇鎵€鏈夊凡绱㈠紩鏂囦欢鐨勫師濮嬪潡锛堜緵 AI 缂栬瘧锛? */
6
5
  export declare function getRawChunks(sourceDir?: string, uncompiledOnly?: boolean): Promise<RawChunk[]>;
7
6
  /**
8
- * 存储块级编译结果并重建 embedding (v5.1 遗留)
7
+ * 瀛樺偍鍧楃骇缂栬瘧缁撴灉骞堕噸寤?embedding (v5.1 閬楃暀)
9
8
  */
10
9
  export declare function storeCompiledChunks(compiled: CompiledChunk[]): Promise<number>;
11
10
  /**
12
- * 存储文件级编译结果并重建 embedding (v5.2 v5.4 过渡)
13
- * v5.4 TODO: 替换为 storeFileLLMVector 只挂 1 个 ###llm 向量,不删 AST chunks
11
+ * 瀛樺偍鏂囦欢绾х紪璇戠粨鏋滃苟閲嶅缓 embedding (v5.2 鈫?v5.4 杩囨浮)
12
+ * v5.4 TODO: 鏇挎崲涓?storeFileLLMVector 鈥?鍙寕 1 涓?###llm 鍚戦噺锛屼笉鍒?AST chunks
14
13
  */
15
14
  export declare function storeFileSegments(relPath: string, segments: FileSegment[], preprocessed: PreprocessedChunk[]): Promise<number>;
16
15
  /**
17
- * 存储文件级 LLM 编译结果:挂载 1 个 ###llm 向量,不删除 AST chunks
18
- */
16
+ * 瀛樺偍鏂囦欢绾?LLM 缂栬瘧缁撴灉锛氭寕杞?1 涓?###llm 鍚戦噺锛屼笉鍒犻櫎 AST chunks銆? */
19
17
  export declare function storeFileLLMVector(sourceDir: string, relPath: string, llmData: FileLLMData, llmModel?: string): Promise<boolean>;
20
18
  //# sourceMappingURL=indexer-compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-compile.d.ts","sourceRoot":"","sources":["../../src/lib/indexer-compile.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAa,WAAW,EAAsB,MAAM,YAAY,CAAC;AACnH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D;sCACsC;AACtC,wBAAsB,YAAY,CAChC,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,UAAO,GACpB,OAAO,CAAC,QAAQ,EAAE,CAAC,CA+BrB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,aAAa,EAAE,GACxB,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,YAAY,EAAE,iBAAiB,EAAE,GAChC,OAAO,CAAC,MAAM,CAAC,CAoEjB;AAID;8DAC8D;AAC9D,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAgDlB"}
@@ -1,18 +1,18 @@
1
- // indexer-compile.ts 语义编译存储 (v5.4)
1
+ // indexer-compile.ts 鈥?璇箟缂栬瘧瀛樺偍 (v5.4)
2
2
  //
3
- // getRawChunks / storeCompiledChunks (v5.1 块级)
4
- // storeFileSegments (v5.2 文件级 segments → 待 v5.4 替换为 storeFileLLMVector)
3
+ // getRawChunks / storeCompiledChunks (v5.1 鍧楃骇)
4
+ // storeFileSegments (v5.2 鏂囦欢绾?segments 鈫?寰?v5.4 鏇挎崲涓?storeFileLLMVector)
5
5
  import { existsSync, readFileSync, writeFileSync } from "node:fs";
6
6
  import { resolve } from "node:path";
7
- import { getIndex, getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo } from "./store.js";
7
+ import { getIndex } from "./store-index.js";
8
+ import { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo } from "./store-vectors.js";
8
9
  import { getCurrentModel } from "./model-registry.js";
9
10
  import { initialize, isAvailable, embed } from "./embedder.js";
10
11
  import { extractChunks } from "./indexer-embed.js";
11
12
  import { buildEmbeddingText, buildFileLLMEmbeddingText } from "./semantic-compiler.js";
12
13
  import { updateFileState, computeMD5, getCompiledFilePath, ensureCompiledDir } from "./file-manifest.js";
13
14
  /**
14
- * 获取所有已索引文件的原始块(供 AI 编译)
15
- */
15
+ * 鑾峰彇鎵€鏈夊凡绱㈠紩鏂囦欢鐨勫師濮嬪潡锛堜緵 AI 缂栬瘧锛? */
16
16
  export async function getRawChunks(sourceDir, uncompiledOnly = true) {
17
17
  const idx = getIndex();
18
18
  const chunkInfo = getChunkInfo();
@@ -40,7 +40,7 @@ export async function getRawChunks(sourceDir, uncompiledOnly = true) {
40
40
  return result;
41
41
  }
42
42
  /**
43
- * 存储块级编译结果并重建 embedding (v5.1 遗留)
43
+ * 瀛樺偍鍧楃骇缂栬瘧缁撴灉骞堕噸寤?embedding (v5.1 閬楃暀)
44
44
  */
45
45
  export async function storeCompiledChunks(compiled) {
46
46
  if (!isAvailable()) {
@@ -83,8 +83,8 @@ export async function storeCompiledChunks(compiled) {
83
83
  return updated;
84
84
  }
85
85
  /**
86
- * 存储文件级编译结果并重建 embedding (v5.2 v5.4 过渡)
87
- * v5.4 TODO: 替换为 storeFileLLMVector 只挂 1 个 ###llm 向量,不删 AST chunks
86
+ * 瀛樺偍鏂囦欢绾х紪璇戠粨鏋滃苟閲嶅缓 embedding (v5.2 鈫?v5.4 杩囨浮)
87
+ * v5.4 TODO: 鏇挎崲涓?storeFileLLMVector 鈥?鍙寕 1 涓?###llm 鍚戦噺锛屼笉鍒?AST chunks
88
88
  */
89
89
  export async function storeFileSegments(relPath, segments, preprocessed) {
90
90
  if (!isAvailable()) {
@@ -94,7 +94,7 @@ export async function storeFileSegments(relPath, segments, preprocessed) {
94
94
  }
95
95
  const chunkInfo = getChunkInfo();
96
96
  const existing = getEmbeddings();
97
- // 清除该文件的旧 chunk keys
97
+ // 娓呴櫎璇ユ枃浠剁殑鏃?chunk keys
98
98
  const oldKeys = Object.keys(chunkInfo).filter((k) => k.startsWith(relPath));
99
99
  for (const key of oldKeys) {
100
100
  delete chunkInfo[key];
@@ -138,10 +138,9 @@ export async function storeFileSegments(relPath, segments, preprocessed) {
138
138
  }
139
139
  return updated;
140
140
  }
141
- // ---- v5.4 文件级 LLM 向量存储 ----
141
+ // ---- v5.4 鏂囦欢绾?LLM 鍚戦噺瀛樺偍 ----
142
142
  /**
143
- * 存储文件级 LLM 编译结果:挂载 1 个 ###llm 向量,不删除 AST chunks
144
- */
143
+ * 瀛樺偍鏂囦欢绾?LLM 缂栬瘧缁撴灉锛氭寕杞?1 涓?###llm 鍚戦噺锛屼笉鍒犻櫎 AST chunks銆? */
145
144
  export async function storeFileLLMVector(sourceDir, relPath, llmData, llmModel) {
146
145
  if (!isAvailable()) {
147
146
  const ok = await initialize();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-compile.js","sourceRoot":"","sources":["../../src/lib/indexer-compile.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import type { FileEntry } from "./types.js";
2
2
  /**
3
- * 按标题将文件分割为多个块。
4
- * v5.3: 优先 AST 解析,失败降级 regex。
5
- */
3
+ * 鎸夋爣棰樺皢鏂囦欢鍒嗗壊涓哄涓潡銆? * v5.3: 浼樺厛 AST 瑙f瀽锛屽け璐ラ檷绾?regex銆? */
6
4
  export declare function extractChunks(filePath: string, relPath: string, defaultTitle: string, maxEmbedLen?: number): Promise<{
7
5
  key: string;
8
6
  heading: string;
@@ -11,11 +9,11 @@ export declare function extractChunks(filePath: string, relPath: string, default
11
9
  rawText: string;
12
10
  }[]>;
13
11
  /**
14
- * 批量生成 embedding 并持久化到 vectors.json
12
+ * 鎵归噺鐢熸垚 embedding 骞舵寔涔呭寲鍒?vectors.json
15
13
  */
16
14
  export declare function generateEmbeddings(sourceDir: string, entries: FileEntry[]): Promise<number>;
17
15
  /**
18
- * 为单个文件生成/更新 embedding
16
+ * 涓哄崟涓枃浠剁敓鎴?鏇存柊 embedding
19
17
  */
20
18
  export declare function embedSingleFile(sourceDir: string, relPath: string, title: string): Promise<boolean>;
21
19
  //# sourceMappingURL=indexer-embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-embed.d.ts","sourceRoot":"","sources":["../../src/lib/indexer-embed.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmB5C;6DAC6D;AAC7D,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,SAAM,GAChB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CA0FhG;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,EAAE,GACnB,OAAO,CAAC,MAAM,CAAC,CA8FjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAoClB"}
@@ -1,16 +1,17 @@
1
- // indexer-embed.ts 向量生成 (v5.4)
1
+ // indexer-embed.ts 鈥?鍚戦噺鐢熸垚 (v5.4)
2
2
  //
3
- // extractChunks (委托 ast-chunker) + generateEmbeddings + embedSingleFile
3
+ // extractChunks (濮旀墭 ast-chunker) + generateEmbeddings + embedSingleFile
4
4
  import { readFileSync, existsSync, statSync } from "node:fs";
5
5
  import { resolve } from "node:path";
6
- import { getSemanticEnabled, getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo } from "./store.js";
6
+ import { getSemanticEnabled } from "./store-config.js";
7
+ import { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo } from "./store-vectors.js";
7
8
  import { getCurrentModel } from "./model-registry.js";
8
9
  import { initialize, isAvailable, embed } from "./embedder.js";
9
10
  import { extractChunksAST } from "./ast-chunker.js";
10
11
  import { updateFileState, computeMD5, getFileState } from "./file-manifest.js";
11
- /** 标题行正则(仅用于 fallback) */
12
+ /** 鏍囬琛屾鍒欙紙浠呯敤浜?fallback锛?*/
12
13
  const HEADING_RE = /^#{1,4} /;
13
- /** 去除 markdown 标记,截断 */
14
+ /** 鍘婚櫎 markdown 鏍囪锛屾埅鏂?*/
14
15
  function plainText(text, maxLen) {
15
16
  return text
16
17
  .replace(/^#{1,6}\s+/gm, "")
@@ -24,13 +25,11 @@ function plainText(text, maxLen) {
24
25
  .slice(0, maxLen);
25
26
  }
26
27
  /**
27
- * 按标题将文件分割为多个块。
28
- * v5.3: 优先 AST 解析,失败降级 regex。
29
- */
28
+ * 鎸夋爣棰樺皢鏂囦欢鍒嗗壊涓哄涓潡銆? * v5.3: 浼樺厛 AST 瑙f瀽锛屽け璐ラ檷绾?regex銆? */
30
29
  export async function extractChunks(filePath, relPath, defaultTitle, maxEmbedLen = 800) {
31
30
  try {
32
31
  const raw = readFileSync(filePath, "utf-8");
33
- // 优先 AST
32
+ // 浼樺厛 AST
34
33
  const astChunks = await extractChunksAST(raw, relPath, defaultTitle, maxEmbedLen);
35
34
  if (astChunks.length > 0) {
36
35
  return astChunks.map((c) => ({
@@ -118,7 +117,7 @@ export async function extractChunks(filePath, relPath, defaultTitle, maxEmbedLen
118
117
  }
119
118
  }
120
119
  /**
121
- * 批量生成 embedding 并持久化到 vectors.json
120
+ * 鎵归噺鐢熸垚 embedding 骞舵寔涔呭寲鍒?vectors.json
122
121
  */
123
122
  export async function generateEmbeddings(sourceDir, entries) {
124
123
  if (!getSemanticEnabled())
@@ -129,14 +128,14 @@ export async function generateEmbeddings(sourceDir, entries) {
129
128
  return 0;
130
129
  }
131
130
  const model = getCurrentModel();
132
- const maxEmbedLen = Math.floor(model.maxTokens * 2); // 估算字符上限(中西混合保守值)
131
+ const maxEmbedLen = Math.floor(model.maxTokens * 2); // 浼扮畻瀛楃涓婇檺锛堜腑瑗挎贩鍚堜繚瀹堝€硷級
133
132
  const existing = getEmbeddings();
134
133
  const chunkInfo = getChunkInfo();
135
134
  let generated = 0;
136
135
  const toEmbed = [];
137
136
  for (const entry of entries) {
138
137
  const fullPath = resolve(sourceDir, entry.relPath);
139
- // v5.4: 计算 MD5
138
+ // v5.4: 璁$畻 MD5
140
139
  let currentMD5 = "";
141
140
  try {
142
141
  currentMD5 = computeMD5(readFileSync(fullPath, "utf-8"));
@@ -155,7 +154,7 @@ export async function generateEmbeddings(sourceDir, entries) {
155
154
  continue;
156
155
  }
157
156
  const chunks = await extractChunks(fullPath, entry.relPath, entry.title, maxEmbedLen);
158
- // 更新 manifest:记录 MD5 + AST 分块
157
+ // 鏇存柊 manifest锛氳褰?MD5 + AST 鍒嗗潡
159
158
  updateFileState(entry.relPath, {
160
159
  md5: currentMD5,
161
160
  astChunkCount: chunks.length,
@@ -176,7 +175,7 @@ export async function generateEmbeddings(sourceDir, entries) {
176
175
  /* skip */
177
176
  }
178
177
  }
179
- // 清理旧文件级 key
178
+ // 娓呯悊鏃ф枃浠剁骇 key
180
179
  for (const entry of entries) {
181
180
  if (existing[entry.relPath] && existing[`${entry.relPath}###0`]) {
182
181
  delete existing[entry.relPath];
@@ -188,7 +187,7 @@ export async function generateEmbeddings(sourceDir, entries) {
188
187
  setEmbeddings(existing, model.hfRepo, model.dim);
189
188
  setChunkInfo(chunkInfo);
190
189
  }
191
- // v5.4: 为所有文件补充 manifest(未重新 embed 的无记录文件也补上)
190
+ // v5.4: 涓烘墍鏈夋枃浠惰ˉ鍏?manifest锛堟湭閲嶆柊 embed 鐨勬棤璁板綍鏂囦欢涔熻ˉ涓婏級
192
191
  for (const entry of entries) {
193
192
  if (!getFileState(entry.relPath)) {
194
193
  try {
@@ -208,7 +207,7 @@ export async function generateEmbeddings(sourceDir, entries) {
208
207
  return generated;
209
208
  }
210
209
  /**
211
- * 为单个文件生成/更新 embedding
210
+ * 涓哄崟涓枃浠剁敓鎴?鏇存柊 embedding
212
211
  */
213
212
  export async function embedSingleFile(sourceDir, relPath, title) {
214
213
  if (!getSemanticEnabled())
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-embed.js","sourceRoot":"","sources":["../../src/lib/indexer-embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-scan.d.ts","sourceRoot":"","sources":["../../src/lib/indexer-scan.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,kCAAkC;AAClC,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAIrE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer-scan.js","sourceRoot":"","sources":["../../src/lib/indexer-scan.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,8BAA8B;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,SAAiB;IAC7C,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI,CACjB,IAAY,EACZ,GAAW,EACX,GAAgB;IAEhB,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,EAAE,CAAC;QACP,IAAI,CAAC;YACH,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC9D,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACjE,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChB,IAAI,CAAC;oBACH,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,UAAU;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/lib/indexer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/lib/indexer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,EAAE;AACF,mCAAmC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,18 @@
1
+ export interface ModelInfo {
2
+ id: string;
3
+ name: string;
4
+ hfRepo: string;
5
+ dim: number;
6
+ description: string;
7
+ languages: string[];
8
+ maxTokens: number;
9
+ int8Size: number;
10
+ fp32Size: number;
11
+ }
12
+ export declare const BUILTIN_MODELS: ModelInfo[];
13
+ export declare function getBuiltinModels(): ModelInfo[];
14
+ export declare function findModel(id: string): ModelInfo | undefined;
15
+ export declare function getCurrentModel(): ModelInfo;
16
+ export declare function selectModel(id: string): ModelInfo | null;
17
+ export declare function getDefaultModelId(): string;
18
+ //# sourceMappingURL=model-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-registry.d.ts","sourceRoot":"","sources":["../../src/lib/model-registry.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,EAkCrC,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAA2B;AAC1E,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAkD;AAE9G,wBAAgB,eAAe,IAAI,SAAS,CAG3C;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAKxD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAAiC"}
@@ -0,0 +1,52 @@
1
+ // model-registry.ts — 模型中间层 (v1.0)
2
+ import { readModelId, writeModelId } from "./store-config.js";
3
+ export const BUILTIN_MODELS = [
4
+ {
5
+ id: "bge-base-zh-v1.5",
6
+ name: "BGE Base Chinese v1.5",
7
+ hfRepo: "Xenova/bge-base-zh-v1.5",
8
+ dim: 768,
9
+ description: "BAAI Chinese-optimized, MTEB Chinese leaderboard top, suitable for Chinese technical docs",
10
+ languages: ["zh", "en"],
11
+ maxTokens: 512,
12
+ int8Size: 130_000_000,
13
+ fp32Size: 390_000_000,
14
+ },
15
+ {
16
+ id: "bge-m3",
17
+ name: "BGE M3",
18
+ hfRepo: "Xenova/bge-m3",
19
+ dim: 1024,
20
+ description: "BAAI multilingual multi-granularity, 100+ languages, 8192 token support, best for mixed CN/EN notes",
21
+ languages: ["zh", "en", "fr", "de", "ja", "ko", "es", "ru", "ar"],
22
+ maxTokens: 8192,
23
+ int8Size: 340_000_000,
24
+ fp32Size: 2_200_000_000,
25
+ },
26
+ {
27
+ id: "paraphrase-multilingual",
28
+ name: "Paraphrase Multilingual MiniLM",
29
+ hfRepo: "Xenova/paraphrase-multilingual-MiniLM-L12-v2",
30
+ dim: 384,
31
+ description: "Lightweight multilingual model, 50+ languages, suitable for mixed-language knowledge bases",
32
+ languages: ["zh", "en", "fr", "de", "ja", "ko"],
33
+ maxTokens: 128,
34
+ int8Size: 118_000_000,
35
+ fp32Size: 470_000_000,
36
+ },
37
+ ];
38
+ export function getBuiltinModels() { return BUILTIN_MODELS; }
39
+ export function findModel(id) { return BUILTIN_MODELS.find(m => m.id === id); }
40
+ export function getCurrentModel() {
41
+ const id = readModelId();
42
+ return findModel(id) ?? BUILTIN_MODELS[0];
43
+ }
44
+ export function selectModel(id) {
45
+ const m = findModel(id);
46
+ if (!m)
47
+ return null;
48
+ writeModelId(m.id);
49
+ return m;
50
+ }
51
+ export function getDefaultModelId() { return BUILTIN_MODELS[0].id; }
52
+ //# sourceMappingURL=model-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-registry.js","sourceRoot":"","sources":["../../src/lib/model-registry.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAc9D,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,yBAAyB;QACjC,GAAG,EAAE,GAAG;QACR,WAAW,EAAE,2FAA2F;QACxG,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACvB,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,qGAAqG;QAClH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACjE,SAAS,EAAE,IAAI;QACf,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,4FAA4F;QACzG,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC/C,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,WAAW;KACtB;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,KAAkB,OAAO,cAAc,CAAC,CAAC,CAAC;AAC1E,MAAM,UAAU,SAAS,CAAC,EAAU,IAA2B,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9G,MAAM,UAAU,eAAe;IAC7B,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,OAAO,SAAS,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,iBAAiB,KAAa,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,GAAG,IAAI,CA2ClB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/lib/parser.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG/C;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,QAAgB,EAChB,KAAc;IAEd,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,qDAAqD;QACrD,cAAc;QACd,qDAAqD;QACrD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,EAAE,GAAG,CAAC;oBAAE,SAAS;gBACrB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,OAAO;oBAAE,KAAK,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzD,IAAI,CAAC,IAAI,CACP,GAAG,CAAC;yBACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yBACZ,KAAK,CAAC,GAAG,CAAC;yBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAC7C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,oCAAoC;QACpC,qDAAqD;QACrD,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC;YAC1D,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,EAAE;gBAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAEnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../src/lib/preprocessor.ts"],"names":[],"mappings":"AAkBA,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAsBpE;AAED,2BAA2B;AAC3B,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkBzD;AAED,kCAAkC;AAClC,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,MAAM,CAeR;AAED,yCAAyC;AACzC,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAKpB;AAED,+BAA+B;AAC/B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,0BAA0B;AAC1B,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASjD;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAmDV;AAMD,mBAAmB;AACnB,MAAM,WAAW,iBAAiB;IAChC,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA+D9B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../../src/lib/preprocessor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
1
  import type { SearchHit } from "./types.js";
2
- /** 关键词搜索(同步,纯子串匹配 + 加权打分) */
3
2
  export declare function keywordSearch(query: string): SearchHit[];
4
- /** 向后兼容别名 */
5
3
  export declare const search: typeof keywordSearch;
6
4
  //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAoBvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CA8CxD;AAED,eAAO,MAAM,MAAM,sBAAgB,CAAC"}