@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.
- package/dist/WikiEngine.d.ts +21 -24
- package/dist/WikiEngine.d.ts.map +1 -1
- package/dist/WikiEngine.js +251 -144
- package/dist/WikiEngine.js.map +1 -1
- package/dist/config.d.ts +18 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +61 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +16 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -25
- package/dist/index.js.map +1 -1
- package/dist/lib/ast-chunker.d.ts.map +1 -0
- package/dist/{ast-chunker.js → lib/ast-chunker.js} +2 -2
- package/dist/lib/ast-chunker.js.map +1 -0
- package/dist/lib/content-cache.d.ts.map +1 -0
- package/dist/lib/content-cache.js.map +1 -0
- package/dist/{embedder.d.ts → lib/embedder.d.ts} +0 -16
- package/dist/lib/embedder.d.ts.map +1 -0
- package/dist/{embedder.js → lib/embedder.js} +21 -98
- package/dist/lib/embedder.js.map +1 -0
- package/dist/{file-manifest.d.ts → lib/file-manifest.d.ts} +0 -10
- package/dist/lib/file-manifest.d.ts.map +1 -0
- package/dist/{file-manifest.js → lib/file-manifest.js} +9 -50
- package/dist/lib/file-manifest.js.map +1 -0
- package/dist/{indexer-compile.d.ts → lib/indexer-compile.d.ts} +5 -7
- package/dist/lib/indexer-compile.d.ts.map +1 -0
- package/dist/{indexer-compile.js → lib/indexer-compile.js} +12 -13
- package/dist/lib/indexer-compile.js.map +1 -0
- package/dist/{indexer-embed.d.ts → lib/indexer-embed.d.ts} +3 -5
- package/dist/lib/indexer-embed.d.ts.map +1 -0
- package/dist/{indexer-embed.js → lib/indexer-embed.js} +15 -16
- package/dist/lib/indexer-embed.js.map +1 -0
- package/dist/lib/indexer-scan.d.ts.map +1 -0
- package/dist/lib/indexer-scan.js.map +1 -0
- package/dist/lib/indexer.d.ts.map +1 -0
- package/dist/lib/indexer.js.map +1 -0
- package/dist/lib/model-registry.d.ts +18 -0
- package/dist/lib/model-registry.d.ts.map +1 -0
- package/dist/lib/model-registry.js +52 -0
- package/dist/lib/model-registry.js.map +1 -0
- package/dist/lib/parser.d.ts.map +1 -0
- package/dist/lib/parser.js.map +1 -0
- package/dist/lib/preprocessor.d.ts.map +1 -0
- package/dist/lib/preprocessor.js.map +1 -0
- package/dist/{search.d.ts → lib/search.d.ts} +0 -2
- package/dist/lib/search.d.ts.map +1 -0
- package/dist/{search.js → lib/search.js} +12 -38
- package/dist/lib/search.js.map +1 -0
- package/dist/{semantic-compiler.d.ts → lib/semantic-compiler.d.ts} +2 -2
- package/dist/lib/semantic-compiler.d.ts.map +1 -0
- package/dist/lib/semantic-compiler.js.map +1 -0
- package/dist/lib/semantic-search.d.ts +4 -0
- package/dist/lib/semantic-search.d.ts.map +1 -0
- package/dist/{semantic-search.js → lib/semantic-search.js} +22 -82
- package/dist/lib/semantic-search.js.map +1 -0
- package/dist/lib/store-config.d.ts +25 -0
- package/dist/lib/store-config.d.ts.map +1 -0
- package/dist/lib/store-config.js +85 -0
- package/dist/lib/store-config.js.map +1 -0
- package/dist/lib/store-index.d.ts +14 -0
- package/dist/lib/store-index.d.ts.map +1 -0
- package/dist/lib/store-index.js +72 -0
- package/dist/lib/store-index.js.map +1 -0
- package/dist/lib/store-vectors.d.ts.map +1 -0
- package/dist/{store-vectors.js → lib/store-vectors.js} +7 -18
- package/dist/lib/store-vectors.js.map +1 -0
- package/dist/lib/store.d.ts +11 -0
- package/dist/lib/store.d.ts.map +1 -0
- package/dist/lib/store.js +22 -0
- package/dist/lib/store.js.map +1 -0
- package/dist/{types.d.ts → lib/types.d.ts} +17 -23
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/package.json +33 -37
- package/dist/ast-chunker.d.ts.map +0 -1
- package/dist/ast-chunker.js.map +0 -1
- package/dist/content-cache.d.ts.map +0 -1
- package/dist/content-cache.js.map +0 -1
- package/dist/embedder.d.ts.map +0 -1
- package/dist/embedder.js.map +0 -1
- package/dist/file-manifest.d.ts.map +0 -1
- package/dist/file-manifest.js.map +0 -1
- package/dist/indexer-compile.d.ts.map +0 -1
- package/dist/indexer-compile.js.map +0 -1
- package/dist/indexer-embed.d.ts.map +0 -1
- package/dist/indexer-embed.js.map +0 -1
- package/dist/indexer-scan.d.ts.map +0 -1
- package/dist/indexer-scan.js.map +0 -1
- package/dist/indexer.d.ts.map +0 -1
- package/dist/indexer.js.map +0 -1
- package/dist/model-registry.d.ts +0 -32
- package/dist/model-registry.d.ts.map +0 -1
- package/dist/model-registry.js +0 -82
- package/dist/model-registry.js.map +0 -1
- package/dist/parser.d.ts.map +0 -1
- package/dist/parser.js.map +0 -1
- package/dist/preprocessor.d.ts.map +0 -1
- package/dist/preprocessor.js.map +0 -1
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js.map +0 -1
- package/dist/semantic-compiler.d.ts.map +0 -1
- package/dist/semantic-compiler.js.map +0 -1
- package/dist/semantic-search.d.ts +0 -11
- package/dist/semantic-search.d.ts.map +0 -1
- package/dist/semantic-search.js.map +0 -1
- package/dist/store-settings.d.ts +0 -32
- package/dist/store-settings.d.ts.map +0 -1
- package/dist/store-settings.js +0 -138
- package/dist/store-settings.js.map +0 -1
- package/dist/store-vectors.d.ts.map +0 -1
- package/dist/store-vectors.js.map +0 -1
- package/dist/store.d.ts +0 -11
- package/dist/store.d.ts.map +0 -1
- package/dist/store.js +0 -28
- package/dist/store.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/wiki-paths.d.ts +0 -3
- package/dist/wiki-paths.d.ts.map +0 -1
- package/dist/wiki-paths.js +0 -13
- package/dist/wiki-paths.js.map +0 -1
- /package/dist/{ast-chunker.d.ts → lib/ast-chunker.d.ts} +0 -0
- /package/dist/{content-cache.d.ts → lib/content-cache.d.ts} +0 -0
- /package/dist/{content-cache.js → lib/content-cache.js} +0 -0
- /package/dist/{indexer-scan.d.ts → lib/indexer-scan.d.ts} +0 -0
- /package/dist/{indexer-scan.js → lib/indexer-scan.js} +0 -0
- /package/dist/{indexer.d.ts → lib/indexer.d.ts} +0 -0
- /package/dist/{indexer.js → lib/indexer.js} +0 -0
- /package/dist/{parser.d.ts → lib/parser.d.ts} +0 -0
- /package/dist/{parser.js → lib/parser.js} +0 -0
- /package/dist/{preprocessor.d.ts → lib/preprocessor.d.ts} +0 -0
- /package/dist/{preprocessor.js → lib/preprocessor.js} +0 -0
- /package/dist/{semantic-compiler.js → lib/semantic-compiler.js} +0 -0
- /package/dist/{store-vectors.d.ts → lib/store-vectors.d.ts} +0 -0
package/dist/config.d.ts
ADDED
|
@@ -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,
|
|
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 {
|
|
8
|
-
export { getEmbeddings, setEmbeddings, getChunkInfo, setChunkInfo,
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
//
|
|
9
|
-
export {
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
//
|
|
13
|
-
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
19
|
-
//
|
|
20
|
-
export {
|
|
21
|
-
|
|
22
|
-
export {
|
|
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,
|
|
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"
|
|
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"
|
|
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 语义向量封装 (
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
87
|
+
return { ok: false, msg: `Unknown model: ${modelId}` };
|
|
134
88
|
const dirName = m.hfRepo.split("/").pop();
|
|
135
|
-
const targetDir =
|
|
136
|
-
const onnxDir =
|
|
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:
|
|
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:
|
|
106
|
+
return { ok: true, msg: `Downloaded: ${dirName} (${fmtSize(m.int8Size)})` };
|
|
154
107
|
}
|
|
155
108
|
catch (e) {
|
|
156
|
-
return { ok: false, msg:
|
|
109
|
+
return { ok: false, msg: `Download failed: ${e?.message || String(e)}` };
|
|
157
110
|
}
|
|
158
111
|
}
|
|
159
|
-
|
|
160
|
-
export
|
|
161
|
-
|
|
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
|
|
188
|
-
return
|
|
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
|
-
|
|
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
|
|
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"}
|