@customize-agent/knowledge 4.0.13 → 4.0.15

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.
@@ -1,5 +1,4 @@
1
1
  import { type EmbeddingProvider } from '../embedding/embedding-provider.js';
2
- import type { ExternalExtractorRegistry } from '../extraction/external-extractor.js';
3
2
  import type { LLMSearchProvider } from '../llm/llm-search-provider.js';
4
3
  import { type FederatedResult, type FederatedSearchItem, type RetrievalWeights, type SearchFilters } from '../search/federation-search.js';
5
4
  import type { DiffResult, IndexStateRecord, KBScope, KnowledgeBaseStats, ProjectConfig } from '../types.js';
@@ -23,7 +22,6 @@ export interface KnowledgeBaseManagerOptions {
23
22
  storageRoot?: string;
24
23
  embeddingProvider?: EmbeddingProvider;
25
24
  vectorStores?: Map<string, VectorStoreInterface>;
26
- externalExtractors?: ExternalExtractorRegistry;
27
25
  onProgress?: (progress: KnowledgeIndexProgress) => void;
28
26
  /** 可选的 LLM Provider,用于查询扩展和语义重排序 */
29
27
  llmProvider?: LLMSearchProvider;
@@ -43,7 +43,7 @@ export class KnowledgeBaseManager {
43
43
  this.projectId = options.projectId;
44
44
  this.embeddingProvider = options.embeddingProvider ?? createEmbeddingProviderFromEnvironment();
45
45
  this.vectorStores = options.vectorStores ?? new Map();
46
- this.extractor = new ContentExtractor(options.externalExtractors);
46
+ this.extractor = new ContentExtractor();
47
47
  this.llmProvider = options.llmProvider;
48
48
  this.onProgress = options.onProgress;
49
49
  const storageRoot = options.storageRoot ?? path.join(os.homedir(), USER_DATA_DIR);
@@ -1,4 +1,3 @@
1
- import { ExternalExtractorRegistry } from './external-extractor.js';
2
1
  import type { ClassifiedFile } from '../types.js';
3
2
  /** 文件内容提取结果 */
4
3
  export interface ExtractionResult {
@@ -9,10 +8,7 @@ export interface ExtractionResult {
9
8
  }
10
9
  /** 文件内容提取器,支持文档、表格、图片、CAD 等多种文件格式的内容抽取 */
11
10
  export declare class ContentExtractor {
12
- private readonly externalExtractors;
13
- constructor(externalExtractors?: ExternalExtractorRegistry);
14
11
  extract(file: ClassifiedFile): Promise<ExtractionResult>;
15
- private tryExternalExtractor;
16
12
  private extractTextClipping;
17
13
  private swapUtf16Bytes;
18
14
  private extractReadableFragments;
@@ -52,14 +48,17 @@ export declare class ContentExtractor {
52
48
  private extractOfficeZip;
53
49
  private extractRasterImage;
54
50
  private tryPaddleOcrLayout;
55
- private parseOcrJson;
56
- private formatOcrRegions;
57
- private classifyOcrRegion;
58
51
  private formatBoundingBox;
59
52
  private validateRasterImage;
60
53
  private extractPdf;
61
- private shouldAugmentPdfWithOcr;
62
- private extractScannedPdfOcr;
54
+ private extractPdfHybridPages;
55
+ /** PyMuPDF 渲染(300 DPI 原生提取,质量远高于 pdfjs-dist) */
56
+ private tryRenderWithPyMuPDF;
57
+ /** pdfjs-dist + canvas 渲染(降级方案) */
58
+ private tryRenderWithPdfJs;
59
+ private scoreOcrText;
60
+ /** 加载图片像素数据(依赖 sharp) */
61
+ private loadImagePixels;
63
62
  private extractPdfText;
64
63
  private normalizedTextLength;
65
64
  private toPdfTextItem;