@llangtop/pwiki-core 0.4.6 → 1.0.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 (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} +12 -38
  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
@@ -0,0 +1,18 @@
1
+ export interface WikiConfig {
2
+ basePath?: string;
3
+ modelId?: string;
4
+ }
5
+ /** 初始化 wiki 数据目录(必须在使用任何 lib 函数前调用) */
6
+ export declare function initWikiConfig(config?: WikiConfig): void;
7
+ /** 获取 wiki 数据根目录 */
8
+ export declare function wikiHome(): string;
9
+ /** 设置 wiki 数据根目录(覆盖默认值) */
10
+ export declare function setWikiHome(path: string): void;
11
+ export declare function configFile(): string;
12
+ export declare function indexFile(): string;
13
+ export declare function vectorFile(): string;
14
+ export declare function manifestFile(): string;
15
+ export declare function compiledDir(): string;
16
+ export declare function modelsDir(): string;
17
+ export declare function cacheDir(): string;
18
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uCAAuC;AACvC,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAOxD;AAED,oBAAoB;AACpB,wBAAgB,QAAQ,IAAI,MAAM,CAGjC;AAED,2BAA2B;AAC3B,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG9C;AAID,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAIjC"}
package/dist/config.js ADDED
@@ -0,0 +1,61 @@
1
+ // config.ts — 统一路径管理 (v1.0)
2
+ //
3
+ // 所有 lib 模块的唯一路径来源。替代原来各文件中硬编码的 resolve(__dirname, "..")。
4
+ // 通过 initWikiConfig() 初始化,支持 WIKI_HOME 环境变量和构造器传入。
5
+ import { resolve, join } from "node:path";
6
+ import { existsSync, mkdirSync } from "node:fs";
7
+ let _home = "";
8
+ /** 初始化 wiki 数据目录(必须在使用任何 lib 函数前调用) */
9
+ export function initWikiConfig(config) {
10
+ _home = resolve(config?.basePath ??
11
+ process.env.WIKI_HOME ??
12
+ join(process.env.HOME || process.env.USERPROFILE || ".", ".pwiki"));
13
+ ensureDirs();
14
+ }
15
+ /** 获取 wiki 数据根目录 */
16
+ export function wikiHome() {
17
+ if (!_home)
18
+ initWikiConfig();
19
+ return _home;
20
+ }
21
+ /** 设置 wiki 数据根目录(覆盖默认值) */
22
+ export function setWikiHome(path) {
23
+ _home = resolve(path);
24
+ ensureDirs();
25
+ }
26
+ // ---- 各数据文件路径 ----
27
+ export function configFile() {
28
+ return join(wikiHome(), "config.json");
29
+ }
30
+ export function indexFile() {
31
+ return join(wikiHome(), "index.json");
32
+ }
33
+ export function vectorFile() {
34
+ return join(wikiHome(), "vectors.json");
35
+ }
36
+ export function manifestFile() {
37
+ return join(wikiHome(), "manifest.json");
38
+ }
39
+ export function compiledDir() {
40
+ const d = join(wikiHome(), "compiled");
41
+ mkdirSync(d, { recursive: true });
42
+ return d;
43
+ }
44
+ export function modelsDir() {
45
+ const d = join(wikiHome(), "models");
46
+ mkdirSync(d, { recursive: true });
47
+ return d;
48
+ }
49
+ export function cacheDir() {
50
+ const d = join(wikiHome(), "cache");
51
+ mkdirSync(d, { recursive: true });
52
+ return d;
53
+ }
54
+ // ---- 内部 ----
55
+ function ensureDirs() {
56
+ for (const d of [wikiHome(), compiledDir(), modelsDir(), cacheDir()]) {
57
+ if (!existsSync(d))
58
+ mkdirSync(d, { recursive: true });
59
+ }
60
+ }
61
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,0DAA0D;AAC1D,mDAAmD;AAEnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,IAAI,KAAK,GAAG,EAAE,CAAC;AAOf,uCAAuC;AACvC,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,KAAK,GAAG,OAAO,CACb,MAAM,EAAE,QAAQ;QACd,OAAO,CAAC,GAAG,CAAC,SAAS;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAAE,QAAQ,CAAC,CACrE,CAAC;IACF,UAAU,EAAE,CAAC;AACf,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,QAAQ;IACtB,IAAI,CAAC,KAAK;QAAE,cAAc,EAAE,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,UAAU,EAAE,CAAC;AACf,CAAC;AAED,oBAAoB;AAEpB,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;IACvC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,eAAe;AAEf,SAAS,UAAU;IACjB,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,20 +1,19 @@
1
1
  export { WikiEngine } from "./WikiEngine.js";
2
2
  export type { EngineConfig } from "./WikiEngine.js";
3
- export { setWikiHome, getWikiHome } from "./wiki-paths.js";
4
- export { BUILTIN_MODELS as MODELS, getBuiltinModels, findModel, getCurrentModel, selectModel, getDefaultModelId, } from "./model-registry.js";
5
- export type { ModelInfo } from "./model-registry.js";
6
- export type { SearchMode, SearchHit, FileEntry, ChunkInfo, RawChunk, CompiledChunk, FileSegment, FileLLMData, CompiledFileRecord, EmbeddingData, } from "./types.js";
7
- export { readAll, writeAll, getSources, addSource, removeSource, getIndex, mergeIndex, removeEntry, updateEntryPath, getEntry, getWikiModel, readModelId, writeModelId, getSemanticEnabled, setSemanticEnabled, sourcesStats, } from "./store-settings.js";
8
- export { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo, removeEmbedding, getEmbeddingModel, getEmbeddingDim, vectorsStats, } from "./store-vectors.js";
9
- export { stats } from "./store.js";
10
- export { setContent, getContent, hasContent, clearSource, clearAll, cacheSize } from "./content-cache.js";
11
- export { initialize as initEmbedder, isAvailable as embedderAvailable, downloadModel, embed, embedBatch, cosineSimilarity, getModelName, getModelRepo, getModelSource, } from "./embedder.js";
12
- export { keywordSearch } from "./search.js";
13
- export { semanticSearch, hybridSearch } from "./semantic-search.js";
14
- export { scanDir } from "./indexer-scan.js";
15
- export { extractChunks, generateEmbeddings, embedSingleFile } from "./indexer-embed.js";
16
- export { getRawChunks, storeCompiledChunks, storeFileSegments, storeFileLLMVector } from "./indexer-compile.js";
17
- export { extractChunksAST } from "./ast-chunker.js";
18
- export type { ChunkResult } from "./ast-chunker.js";
19
- export { COMPILE_SYSTEM_PROMPT, buildCompilePrompt, buildEmbeddingText, parseCompiledResult, FILE_COMPILE_SYSTEM_PROMPT, buildFileCompilePrompt, parseFileSegments, FILE_LLM_SYSTEM_PROMPT, buildFileLLMPrompt, parseFileLLMResult, buildFileLLMEmbeddingText, } from "./semantic-compiler.js";
3
+ export { initWikiConfig, setWikiHome, wikiHome } from "./config.js";
4
+ export { BUILTIN_MODELS as MODELS, getBuiltinModels, findModel, getCurrentModel, selectModel, getDefaultModelId, } from "./lib/model-registry.js";
5
+ export type { ModelInfo } from "./lib/model-registry.js";
6
+ export type { SearchMode, SearchHit, FileEntry, ChunkInfo, RawChunk, CompiledChunk, FileSegment, FileLLMData, CompiledFileRecord, EmbeddingData, WikiStatus, } from "./lib/types.js";
7
+ export { getSources, addSource, removeSource, getSemanticEnabled, setSemanticEnabled, readModelId, writeModelId, getWikiModel, getIndex, mergeIndex, removeEntry, updateEntryPath, getEntry, stats, } from "./lib/store.js";
8
+ export { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo, } from "./lib/store-vectors.js";
9
+ export { setContent, getContent, hasContent, clearAll, cacheSize } from "./lib/content-cache.js";
10
+ export { initialize as initEmbedder, isAvailable as embedderAvailable, downloadModel, embed, embedBatch, cosineSimilarity, getModelName, getModelRepo, getModelSource, } from "./lib/embedder.js";
11
+ export { keywordSearch } from "./lib/search.js";
12
+ export { semanticSearch, hybridSearch } from "./lib/semantic-search.js";
13
+ export { scanDir } from "./lib/indexer-scan.js";
14
+ export { extractChunks, generateEmbeddings, embedSingleFile } from "./lib/indexer-embed.js";
15
+ export { getRawChunks, storeCompiledChunks, storeFileSegments, storeFileLLMVector } from "./lib/indexer-compile.js";
16
+ export { extractChunksAST } from "./lib/ast-chunker.js";
17
+ export type { ChunkResult } from "./lib/ast-chunker.js";
18
+ export { COMPILE_SYSTEM_PROMPT, buildCompilePrompt, buildEmbeddingText, parseCompiledResult, FILE_COMPILE_SYSTEM_PROMPT, buildFileCompilePrompt, parseFileSegments, FILE_LLM_SYSTEM_PROMPT, buildFileLLMPrompt, parseFileLLMResult, buildFileLLMEmbeddingText, } from "./lib/semantic-compiler.js";
20
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EACL,cAAc,IAAI,MAAM,EACxB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,YAAY,EACV,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAC3C,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EACjD,kBAAkB,EAAE,aAAa,GAClC,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,SAAS,EAAE,YAAY,EACnC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAC5D,YAAY,EAAE,WAAW,EAAE,YAAY,EACvC,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,GACrD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,GAClE,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG1G,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,WAAW,IAAI,iBAAiB,EAChC,aAAa,EACb,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EAAE,YAAY,EAAE,cAAc,GAC3C,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpE,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;AAGhH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EACL,qBAAqB,EAAE,kBAAkB,EACzC,kBAAkB,EAAE,mBAAmB,EACvC,0BAA0B,EAAE,sBAAsB,EAAE,iBAAiB,EACrE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAC9D,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGpE,OAAO,EACL,cAAc,IAAI,MAAM,EACxB,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,GAC7E,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,YAAY,EACV,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAC3C,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EACjD,kBAAkB,EAAE,aAAa,EAAE,UAAU,GAC9C,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EAAE,SAAS,EAAE,YAAY,EACnC,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,YAAY,EAAE,YAAY,EACvC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,GACpE,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGjG,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,WAAW,IAAI,iBAAiB,EAChC,aAAa,EAAE,KAAK,EAAE,UAAU,EAChC,gBAAgB,EAChB,YAAY,EAAE,YAAY,EAAE,cAAc,GAC3C,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EACL,qBAAqB,EAAE,kBAAkB,EACzC,kBAAkB,EAAE,mBAAmB,EACvC,0BAA0B,EAAE,sBAAsB,EAAE,iBAAiB,EACrE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAC9D,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -1,27 +1,24 @@
1
+ // index.ts — @pwiki/core barrel exports
1
2
  export { WikiEngine } from "./WikiEngine.js";
2
- // index.ts @llangtop/pwiki-core barrel
3
- // Wraps extensions/wiki/lib/ modules into a WikiEngine class
4
- // for use by both CLI and pi extension.
5
- export { setWikiHome, getWikiHome } from "./wiki-paths.js";
6
- // ---- Model registry ----
7
- export { BUILTIN_MODELS as MODELS, getBuiltinModels, findModel, getCurrentModel, selectModel, getDefaultModelId, } from "./model-registry.js";
8
- // ---- Store ----
9
- export { readAll, writeAll, getSources, addSource, removeSource, getIndex, mergeIndex, removeEntry, updateEntryPath, getEntry, getWikiModel, readModelId, writeModelId, getSemanticEnabled, setSemanticEnabled, sourcesStats, } from "./store-settings.js";
10
- export { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo, removeEmbedding, getEmbeddingModel, getEmbeddingDim, vectorsStats, } from "./store-vectors.js";
11
- export { stats } from "./store.js";
12
- // ---- Content cache ----
13
- export { setContent, getContent, hasContent, clearSource, clearAll, cacheSize } from "./content-cache.js";
14
- // ---- Embedder ----
15
- export { initialize as initEmbedder, isAvailable as embedderAvailable, downloadModel, embed, embedBatch, cosineSimilarity, getModelName, getModelRepo, getModelSource, } from "./embedder.js";
16
- // ---- Search ----
17
- export { keywordSearch } from "./search.js";
18
- export { semanticSearch, hybridSearch } from "./semantic-search.js";
19
- // ---- Indexer ----
20
- export { scanDir } from "./indexer-scan.js";
21
- export { extractChunks, generateEmbeddings, embedSingleFile } from "./indexer-embed.js";
22
- export { getRawChunks, storeCompiledChunks, storeFileSegments, storeFileLLMVector } from "./indexer-compile.js";
23
- // ---- AST chunker ----
24
- export { extractChunksAST } from "./ast-chunker.js";
25
- // ---- Semantic compiler ----
26
- export { COMPILE_SYSTEM_PROMPT, buildCompilePrompt, buildEmbeddingText, parseCompiledResult, FILE_COMPILE_SYSTEM_PROMPT, buildFileCompilePrompt, parseFileSegments, FILE_LLM_SYSTEM_PROMPT, buildFileLLMPrompt, parseFileLLMResult, buildFileLLMEmbeddingText, } from "./semantic-compiler.js";
3
+ export { initWikiConfig, setWikiHome, wikiHome } from "./config.js";
4
+ // Model registry
5
+ export { BUILTIN_MODELS as MODELS, getBuiltinModels, findModel, getCurrentModel, selectModel, getDefaultModelId, } from "./lib/model-registry.js";
6
+ // Store
7
+ export { getSources, addSource, removeSource, getSemanticEnabled, setSemanticEnabled, readModelId, writeModelId, getWikiModel, getIndex, mergeIndex, removeEntry, updateEntryPath, getEntry, stats, } from "./lib/store.js";
8
+ export { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo, } from "./lib/store-vectors.js";
9
+ // Content cache
10
+ export { setContent, getContent, hasContent, clearAll, cacheSize } from "./lib/content-cache.js";
11
+ // Embedder
12
+ export { initialize as initEmbedder, isAvailable as embedderAvailable, downloadModel, embed, embedBatch, cosineSimilarity, getModelName, getModelRepo, getModelSource, } from "./lib/embedder.js";
13
+ // Search
14
+ export { keywordSearch } from "./lib/search.js";
15
+ export { semanticSearch, hybridSearch } from "./lib/semantic-search.js";
16
+ // Indexer
17
+ export { scanDir } from "./lib/indexer-scan.js";
18
+ export { extractChunks, generateEmbeddings, embedSingleFile } from "./lib/indexer-embed.js";
19
+ export { getRawChunks, storeCompiledChunks, storeFileSegments, storeFileLLMVector } from "./lib/indexer-compile.js";
20
+ // AST chunker
21
+ export { extractChunksAST } from "./lib/ast-chunker.js";
22
+ // Semantic compiler
23
+ export { COMPILE_SYSTEM_PROMPT, buildCompilePrompt, buildEmbeddingText, parseCompiledResult, FILE_COMPILE_SYSTEM_PROMPT, buildFileCompilePrompt, parseFileSegments, FILE_LLM_SYSTEM_PROMPT, buildFileLLMPrompt, parseFileLLMResult, buildFileLLMEmbeddingText, } from "./lib/semantic-compiler.js";
27
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,yCAAyC;AACzC,6DAA6D;AAC7D,wCAAwC;AAExC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE3D,2BAA2B;AAC3B,OAAO,EACL,cAAc,IAAI,MAAM,EACxB,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAU7B,kBAAkB;AAClB,OAAO,EACL,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,SAAS,EAAE,YAAY,EACnC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAC5D,YAAY,EAAE,WAAW,EAAE,YAAY,EACvC,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,GACrD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,GAClE,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,0BAA0B;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1G,qBAAqB;AACrB,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,WAAW,IAAI,iBAAiB,EAChC,aAAa,EACb,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EAAE,YAAY,EAAE,cAAc,GAC3C,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpE,oBAAoB;AACpB,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;AAEhH,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,8BAA8B;AAC9B,OAAO,EACL,qBAAqB,EAAE,kBAAkB,EACzC,kBAAkB,EAAE,mBAAmB,EACvC,0BAA0B,EAAE,sBAAsB,EAAE,iBAAiB,EACrE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAC9D,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEpE,iBAAiB;AACjB,OAAO,EACL,cAAc,IAAI,MAAM,EACxB,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,GAC7E,MAAM,yBAAyB,CAAC;AAUjC,QAAQ;AACR,OAAO,EACL,UAAU,EAAE,SAAS,EAAE,YAAY,EACnC,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,YAAY,EAAE,YAAY,EACvC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,GACpE,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEjG,WAAW;AACX,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,WAAW,IAAI,iBAAiB,EAChC,aAAa,EAAE,KAAK,EAAE,UAAU,EAChC,gBAAgB,EAChB,YAAY,EAAE,YAAY,EAAE,cAAc,GAC3C,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExE,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEpH,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EAAE,kBAAkB,EACzC,kBAAkB,EAAE,mBAAmB,EACvC,0BAA0B,EAAE,sBAAsB,EAAE,iBAAiB,EACrE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAC9D,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-chunker.d.ts","sourceRoot":"","sources":["../../src/lib/ast-chunker.ts"],"names":[],"mappings":"AA2CA,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAeD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,SAAM,GAChB,OAAO,CAAC,WAAW,EAAE,CAAC,CA4GxB"}
@@ -193,7 +193,7 @@ function splitByHeading(root) {
193
193
  startLine: nodeStartLine,
194
194
  });
195
195
  }
196
- else if (node.type === "yaml" || node.type === "toml") {
196
+ else if (node.type === "yaml") {
197
197
  // frontmatter — 跳过
198
198
  lineCounter = node.position?.end?.line ?? lineCounter;
199
199
  if (currentNodes.length === 0 && sections.length === 0) {
@@ -273,7 +273,7 @@ function extractTextContent(node) {
273
273
  return ""; // 代码块不纳入
274
274
  if (node.type === "html")
275
275
  return "";
276
- if (node.type === "yaml" || node.type === "toml")
276
+ if (node.type === "yaml")
277
277
  return "";
278
278
  if ("children" in node) {
279
279
  return node.children
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-chunker.js","sourceRoot":"","sources":["../../src/lib/ast-chunker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-cache.d.ts","sourceRoot":"","sources":["../../src/lib/content-cache.ts"],"names":[],"mappings":"AASA,WAAW;AACX,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,WAAW;AACX,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,cAAc;AACd,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,yBAAyB;AACzB,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGnD;AAED,aAAa;AACb,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED,WAAW;AACX,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-cache.js","sourceRoot":"","sources":["../../src/lib/content-cache.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,EAAE;AACF,uCAAuC;AACvC,2BAA2B;AAC3B,EAAE;AACF,0CAA0C;AAE1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;AAExC,WAAW;AACX,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAe;IACzD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,WAAW;AACX,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,qCAAqC;IACrC,gBAAgB;AAClB,CAAC;AAED,aAAa;AACb,MAAM,UAAU,QAAQ;IACtB,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,WAAW;AACX,MAAM,UAAU,SAAS;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC"}
@@ -1,38 +1,22 @@
1
1
  export interface LocalModelInfo {
2
2
  path: string;
3
3
  variant: "fp32" | "int8" | "none";
4
- /** ONNX 文件大小 (bytes) */
5
4
  onnxSize: number;
6
- /** 其他文件总大小 (bytes) */
7
5
  otherSize: number;
8
6
  }
9
- /** 获取本地模型详情(精度、大小) */
10
7
  export declare function getLocalModelInfo(): LocalModelInfo | null;
11
- /** 初始化 embedder(幂等,已初始化时立即返回 true) */
12
8
  export declare function initialize(): Promise<boolean>;
13
- /** 检查 embedder 是否就绪(不触发初始化) */
14
9
  export declare function isAvailable(): boolean;
15
- /** 下载模型文件到本地(使用 curl + hf-mirror.com) */
16
10
  export declare function downloadModel(modelId?: string): {
17
11
  ok: boolean;
18
12
  msg: string;
19
13
  };
20
- /** 检查 @huggingface/transformers 是否已安装(尝试 import 但不加载模型) */
21
- export declare function isDependencyInstalled(): Promise<boolean>;
22
- /** 获取初始化错误信息 */
23
14
  export declare function getInitError(): string | null;
24
- /** 获取当前模型名(registry 显示名) */
25
15
  export declare function getModelName(): string;
26
- /** 获取当前模型 hfRepo */
27
16
  export declare function getModelRepo(): string;
28
- /** 获取当前模型来源 + 精度 */
29
17
  export declare function getModelSource(): string;
30
- /** 获取加载的精度变体 */
31
18
  export declare function getLoadedVariant(): string;
32
- /** 对单条文本生成 embedding (384-dim 归一化向量) */
33
19
  export declare function embed(text: string): Promise<number[]>;
34
- /** 批量生成 embeddings */
35
20
  export declare function embedBatch(texts: string[]): Promise<number[][]>;
36
- /** 余弦相似度 */
37
21
  export declare function cosineSimilarity(a: number[], b: number[]): number;
38
22
  //# sourceMappingURL=embedder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/lib/embedder.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAuBD,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAezD;AAcD,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CASnD;AAED,wBAAgB,WAAW,IAAI,OAAO,CAA8B;AAEpE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CA2B5E;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAAsB;AACnE,wBAAgB,YAAY,IAAI,MAAM,CAAmC;AACzE,wBAAgB,YAAY,IAAI,MAAM,CAAyB;AAE/D,wBAAgB,cAAc,IAAI,MAAM,CAKvC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAA0B;AAEpE,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAI3D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAQrE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAQjE"}
@@ -1,43 +1,18 @@
1
- // embedder.ts — transformers.js 语义向量封装 (v5.0)
2
- //
3
- // 设计原则:
4
- // 1. 模型解耦 — 当前模型由 model-registry.ts 提供,无需硬编码
5
- // 2. 懒加载 — 首次调用 initialize() 时才 import 和下载模型
6
- // 3. 优雅降级 — @huggingface/transformers 未安装时 isAvailable() 返回 false
7
- // 4. 单例 — 全局共享一个 FeatureExtractionPipeline
8
- // 5. 本地优先 — wiki/models/ 本地模型优先于 HuggingFace Hub 远程下载
9
- // 6. 精度自适应 — 优先加载 INT8 量化版,回退 FP32
10
- //
11
- // 本地模型目录结构:
12
- // wiki/models/<model-name>/
13
- // ├── config.json
14
- // ├── tokenizer.json
15
- // ├── tokenizer_config.json
16
- // └── onnx/
17
- // ├── model.onnx ← FP32 全精度 — 回退选项
18
- // └── model_quantized.onnx ← INT8 量化 — 优先加载
19
- //
20
- // 下载指引:
21
- // init-wiki-model.bat / .ps1 / .sh 自动从 HuggingFace 镜像下载
1
+ // embedder.ts — transformers.js 语义向量封装 (v1.0)
22
2
  import { existsSync, statSync, mkdirSync } from "node:fs";
23
- import { resolve } from "node:path";
3
+ import { resolve, join } from "node:path";
24
4
  import { execSync } from "node:child_process";
5
+ import { modelsDir } from "../config.js";
25
6
  import { getCurrentModel, findModel } from "./model-registry.js";
26
- // ---- 状态 ----
27
7
  let pipeline = null;
28
8
  let currentModel = getCurrentModel().hfRepo;
29
9
  let initPromise = null;
30
10
  let initError = null;
31
11
  let loadedVariant = "unknown";
32
- /** wiki 模块根目录 */
33
- import { getWikiHome } from "./wiki-paths.js";
34
- function wikiHome() { return getWikiHome(); }
35
- /** 本地模型目录: <wiki>/models/<model_name>/ */
36
12
  function localModelDir() {
37
13
  const name = currentModel.split("/").pop() || currentModel;
38
- return resolve(wikiHome(), "models", name);
14
+ return join(modelsDir(), name);
39
15
  }
40
- /** 检测本地模型:config.json + onnx 目录存在即可 */
41
16
  function hasLocalModel() {
42
17
  const dir = localModelDir();
43
18
  if (!existsSync(dir))
@@ -46,18 +21,15 @@ function hasLocalModel() {
46
21
  return false;
47
22
  if (!existsSync(resolve(dir, "onnx")))
48
23
  return false;
49
- // 至少有 model.onnx 或 model_quantized.onnx 之一
50
24
  const onnxDir = resolve(dir, "onnx");
51
25
  return existsSync(resolve(onnxDir, "model.onnx"))
52
26
  || existsSync(resolve(onnxDir, "model_quantized.onnx"));
53
27
  }
54
- /** 获取本地模型详情(精度、大小) */
55
28
  export function getLocalModelInfo() {
56
29
  if (!hasLocalModel())
57
30
  return null;
58
31
  const dir = localModelDir();
59
32
  const onnxDir = resolve(dir, "onnx");
60
- // 优先量化版,回退全精度
61
33
  const quantFile = resolve(onnxDir, "model_quantized.onnx");
62
34
  const fullFile = resolve(onnxDir, "model.onnx");
63
35
  let variant = "fp32";
@@ -66,15 +38,7 @@ export function getLocalModelInfo() {
66
38
  variant = "int8";
67
39
  onnxFile = quantFile;
68
40
  }
69
- else if (existsSync(fullFile)) {
70
- // 通过文件大小推断精度: > 300MB 大概率是 FP32
71
- try {
72
- variant = statSync(fullFile).size > 300_000_000 ? "fp32" : "int8";
73
- }
74
- catch { }
75
- }
76
- let onnxSize = 0;
77
- let otherSize = 0;
41
+ let onnxSize = 0, otherSize = 0;
78
42
  try {
79
43
  onnxSize = statSync(onnxFile).size;
80
44
  }
@@ -87,7 +51,6 @@ export function getLocalModelInfo() {
87
51
  }
88
52
  return { path: dir, variant, onnxSize, otherSize };
89
53
  }
90
- /** 格式化字节 */
91
54
  function fmtSize(bytes) {
92
55
  if (bytes >= 1_000_000_000)
93
56
  return `${(bytes / 1_000_000_000).toFixed(1)} GB`;
@@ -97,18 +60,13 @@ function fmtSize(bytes) {
97
60
  return `${(bytes / 1_000).toFixed(0)} KB`;
98
61
  return `${bytes} B`;
99
62
  }
100
- /** 获取模型加载路径:本地路径优先,否则用 HuggingFace ID */
101
63
  function resolveModelPath() {
102
- if (hasLocalModel()) {
64
+ if (hasLocalModel())
103
65
  return localModelDir();
104
- }
105
66
  return currentModel;
106
67
  }
107
- // ---- 公开 API ----
108
- /** 初始化 embedder(幂等,已初始化时立即返回 true) */
109
68
  export async function initialize() {
110
69
  const wanted = getCurrentModel().hfRepo;
111
- // 模型已变化 → 强制重载
112
70
  if (pipeline && currentModel !== wanted) {
113
71
  pipeline = null;
114
72
  initPromise = null;
@@ -122,21 +80,16 @@ export async function initialize() {
122
80
  initPromise = doInit();
123
81
  return initPromise;
124
82
  }
125
- /** 检查 embedder 是否就绪(不触发初始化) */
126
- export function isAvailable() {
127
- return pipeline !== null;
128
- }
129
- /** 下载模型文件到本地(使用 curl + hf-mirror.com) */
83
+ export function isAvailable() { return pipeline !== null; }
130
84
  export function downloadModel(modelId) {
131
85
  const m = modelId ? findModel(modelId) : getCurrentModel();
132
86
  if (!m)
133
- return { ok: false, msg: `未知模型: ${modelId}` };
87
+ return { ok: false, msg: `Unknown model: ${modelId}` };
134
88
  const dirName = m.hfRepo.split("/").pop();
135
- const targetDir = resolve(wikiHome(), "models", dirName);
136
- const onnxDir = resolve(targetDir, "onnx");
137
- // 已存在则跳过
89
+ const targetDir = join(modelsDir(), dirName);
90
+ const onnxDir = join(targetDir, "onnx");
138
91
  if (existsSync(resolve(targetDir, "config.json")) && existsSync(resolve(onnxDir, "model_quantized.onnx"))) {
139
- return { ok: true, msg: `模型已存在: ${dirName}` };
92
+ return { ok: true, msg: `Model already exists: ${dirName}` };
140
93
  }
141
94
  try {
142
95
  mkdirSync(onnxDir, { recursive: true });
@@ -150,54 +103,29 @@ export function downloadModel(modelId) {
150
103
  for (const [rel, out] of files) {
151
104
  execSync(`curl -L -f -s -o "${out}" "${baseUrl}/${rel}"`, { timeout: 600_000 });
152
105
  }
153
- return { ok: true, msg: `已下载: ${dirName} (${fmtSize(m.int8Size)})` };
106
+ return { ok: true, msg: `Downloaded: ${dirName} (${fmtSize(m.int8Size)})` };
154
107
  }
155
108
  catch (e) {
156
- return { ok: false, msg: `下载失败: ${e?.message || String(e)}` };
109
+ return { ok: false, msg: `Download failed: ${e?.message || String(e)}` };
157
110
  }
158
111
  }
159
- /** 检查 @huggingface/transformers 是否已安装(尝试 import 但不加载模型) */
160
- export async function isDependencyInstalled() {
161
- try {
162
- await import("@huggingface/transformers");
163
- return true;
164
- }
165
- catch {
166
- return false;
167
- }
168
- }
169
- /** 获取初始化错误信息 */
170
- export function getInitError() {
171
- return initError;
172
- }
173
- /** 获取当前模型名(registry 显示名) */
174
- export function getModelName() {
175
- return getCurrentModel().name;
176
- }
177
- /** 获取当前模型 hfRepo */
178
- export function getModelRepo() {
179
- return currentModel;
180
- }
181
- /** 获取当前模型来源 + 精度 */
112
+ export function getInitError() { return initError; }
113
+ export function getModelName() { return getCurrentModel().name; }
114
+ export function getModelRepo() { return currentModel; }
182
115
  export function getModelSource() {
183
116
  if (!pipeline)
184
- return "未加载";
117
+ return "not loaded";
185
118
  const info = getLocalModelInfo();
186
119
  if (info)
187
- return `本地 (${info.variant.toUpperCase()}, ${fmtSize(info.onnxSize)})`;
188
- return `远程 (HuggingFace Hub)`;
189
- }
190
- /** 获取加载的精度变体 */
191
- export function getLoadedVariant() {
192
- return loadedVariant;
120
+ return `local (${info.variant.toUpperCase()}, ${fmtSize(info.onnxSize)})`;
121
+ return "remote (HuggingFace Hub)";
193
122
  }
194
- /** 对单条文本生成 embedding (384-dim 归一化向量) */
123
+ export function getLoadedVariant() { return loadedVariant; }
195
124
  export async function embed(text) {
196
125
  const pipe = await ensurePipeline();
197
126
  const result = await pipe(text, { pooling: "mean", normalize: true });
198
127
  return Array.from(result.data);
199
128
  }
200
- /** 批量生成 embeddings */
201
129
  export async function embedBatch(texts) {
202
130
  const pipe = await ensurePipeline();
203
131
  const results = [];
@@ -207,7 +135,6 @@ export async function embedBatch(texts) {
207
135
  }
208
136
  return results;
209
137
  }
210
- /** 余弦相似度 */
211
138
  export function cosineSimilarity(a, b) {
212
139
  if (a.length !== b.length)
213
140
  return 0;
@@ -220,7 +147,6 @@ export function cosineSimilarity(a, b) {
220
147
  const denom = Math.sqrt(normA) * Math.sqrt(normB);
221
148
  return denom === 0 ? 0 : dot / denom;
222
149
  }
223
- // ---- 内部 ----
224
150
  async function doInit() {
225
151
  try {
226
152
  const { pipeline: transformersPipeline, env } = await import("@huggingface/transformers");
@@ -229,19 +155,16 @@ async function doInit() {
229
155
  env.allowLocalModels = true;
230
156
  }
231
157
  const modelPath = resolveModelPath();
232
- // 本地模型:若仅有量化版,需显式指定 model_file_name
233
158
  const pipelineOpts = {};
234
159
  if (isLocal) {
235
160
  const onnxDir = resolve(localModelDir(), "onnx");
236
161
  if (!existsSync(resolve(onnxDir, "model.onnx"))
237
162
  && existsSync(resolve(onnxDir, "model_quantized.onnx"))) {
238
- // transformers.js 自动追加 onnx/ 前缀 + .onnx 后缀,这里只需给文件名主干
239
163
  pipelineOpts.model_file_name = "model_quantized";
240
164
  }
241
165
  pipelineOpts.progress_callback = null;
242
166
  }
243
167
  pipeline = await transformersPipeline("feature-extraction", modelPath, pipelineOpts);
244
- // 记录加载的精度
245
168
  const info = getLocalModelInfo();
246
169
  loadedVariant = info?.variant ?? "remote";
247
170
  initError = null;
@@ -261,7 +184,7 @@ async function ensurePipeline() {
261
184
  return pipeline;
262
185
  const ok = await initialize();
263
186
  if (!ok)
264
- throw new Error(`Embedder 未初始化: ${initError || "未知错误"}`);
187
+ throw new Error(`Embedder not initialized: ${initError || "unknown"}`);
265
188
  return pipeline;
266
189
  }
267
190
  //# sourceMappingURL=embedder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/lib/embedder.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAUjE,IAAI,QAAQ,GAAQ,IAAI,CAAC;AACzB,IAAI,YAAY,GAAW,eAAe,EAAE,CAAC,MAAM,CAAC;AACpD,IAAI,WAAW,GAA4B,IAAI,CAAC;AAChD,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,IAAI,aAAa,GAAW,SAAS,CAAC;AAEtC,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY,CAAC;IAC3D,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;WAC1C,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAChD,IAAI,OAAO,GAAoB,MAAM,CAAC;IACtC,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO,GAAG,MAAM,CAAC;QAAC,QAAQ,GAAG,SAAS,CAAC;IAAC,CAAC;IACtE,IAAI,QAAQ,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC;QAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC;YAAC,SAAS,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,KAAK,IAAI,aAAa;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,IAAI,KAAK,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,OAAO,GAAG,KAAK,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,aAAa,EAAE;QAAE,OAAO,aAAa,EAAE,CAAC;IAC5C,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC;IACxC,IAAI,QAAQ,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACxC,QAAQ,GAAG,IAAI,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;QAAC,SAAS,GAAG,IAAI,CAAC;QAAC,YAAY,GAAG,MAAM,CAAC;IAC/E,CAAC;IACD,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,WAAW,GAAG,MAAM,EAAE,CAAC;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,KAAc,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;AAEpE,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAC3D,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAExC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;QAC1G,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,yBAAyB,OAAO,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,MAAM,eAAe,CAAC;QACjE,MAAM,KAAK,GAAuB;YAChC,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC,uBAAuB,EAAE,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YACtE,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACxD,CAAC,2BAA2B,EAAE,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;SACxE,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAC/B,QAAQ,CAAC,qBAAqB,GAAG,MAAM,OAAO,IAAI,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC9E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,KAAoB,OAAO,SAAS,CAAC,CAAC,CAAC;AACnE,MAAM,UAAU,YAAY,KAAa,OAAO,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,MAAM,UAAU,YAAY,KAAa,OAAO,YAAY,CAAC,CAAC,CAAC;AAE/D,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,QAAQ;QAAE,OAAO,YAAY,CAAC;IACnC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,IAAI;QAAE,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IACpF,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,KAAa,OAAO,aAAa,CAAC,CAAC,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY;IACtC,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAe;IAC9C,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IACpC,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAa,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;QAChC,IAAI,OAAO,EAAE,CAAC;YAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;QACrC,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;mBACxC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;gBAC5D,YAAY,CAAC,eAAe,GAAG,iBAAiB,CAAC;YACnD,CAAC;YACD,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACxC,CAAC;QAED,QAAQ,GAAG,MAAM,oBAAoB,CAAC,oBAAoB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,aAAa,GAAG,IAAI,EAAE,OAAO,IAAI,QAAQ,CAAC;QAC1C,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,SAAS,GAAG,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;IAChF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -20,23 +20,13 @@ export declare function getManifestStats(): {
20
20
  withVectors: number;
21
21
  };
22
22
  export declare function getManifest(): FileManifest;
23
- /** 获取单个文件的状态 */
24
23
  export declare function getFileState(relPath: string): FileManifestEntry | undefined;
25
- /** 更新单个文件的状态(部分更新) */
26
24
  export declare function updateFileState(relPath: string, patch: Partial<FileManifestEntry>): void;
27
- /** 删除单个文件的追踪 */
28
25
  export declare function removeFileState(relPath: string): void;
29
- /** 清除指定数据源的所有文件追踪 */
30
- export declare function clearSourceFromManifest(sourceDir: string): void;
31
- /** 计算文本内容的 MD5 散列(用于变更检测) */
32
26
  export declare function computeMD5(content: string): string;
33
- /** 文件内容是否已变更(MD5 不匹配) */
34
27
  export declare function isFileChanged(relPath: string, currentMD5: string): boolean;
35
- /** LLM 编译是否过期(文件 MD5 与编译时 MD5 不匹配) */
36
28
  export declare function isCompilationStale(relPath: string, currentMD5: string): boolean;
37
- /** 确保 compiled/ 目录存在 */
38
29
  export declare function ensureCompiledDir(): void;
39
- /** 获取某文件的 compiled 存储路径 */
40
30
  export declare function getCompiledFilePath(relPath: string): string;
41
31
  export declare function manifestStats(): {
42
32
  total: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/file-manifest.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC1C;AAID,wBAAgB,gBAAgB,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAQ3F;AAID,wBAAgB,WAAW,IAAI,YAAY,CAM1C;AAMD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE3E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAOxF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIrD;AAID,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI1E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAI/E;AAID,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED,wBAAgB,aAAa,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAIlF"}