/** * PersonalKnowledgeInput — 个人知识录入(FR-A04) * * AC1: 手动录入 * AC2: 文件导入(复用 DocumentExtractor) * AC3: URL 抓取 * AC4: 对话沉淀 * AC5: 批量文件夹导入 * AC6: 所有入口走同一管线 */ import type { KnowledgeEntry } from '../types/index.js'; import { type DocumentExtractorOptions } from './document-extractor.js'; import { type ConversationExtractorOptions, type ConversationMessage } from './conversation-extractor.js'; export interface ManualEntryInput { title: string; content: string; type: KnowledgeEntry['type']; tags?: string[]; domain?: string; } export interface FileImportInput { path: string; content: string; title?: string; } export interface UrlImportInput { url: string; content: string; title?: string; } export interface ConversationMarkInput { messages: ConversationMessage[]; markedIndices?: number[]; } export interface BatchFolderInput { basePath: string; files: FileImportInput[]; } export interface BatchImportProgress { total: number; completed: number; failed: number; currentFile?: string; } export type ProgressCallback = (progress: BatchImportProgress) => void; export interface PersonalKnowledgeInputOptions { documentExtractor?: DocumentExtractorOptions; conversationExtractor?: ConversationExtractorOptions; existingEntries?: KnowledgeEntry[]; onProgress?: ProgressCallback; } export declare class PersonalKnowledgeInput { private readonly documentExtractor; private readonly conversationExtractor?; private existingEntries; private readonly onProgress?; constructor(options?: PersonalKnowledgeInputOptions); /** * FR-A04 AC1: Manual entry — user creates a knowledge entry directly. */ manualEntry(input: ManualEntryInput): Promise; /** * FR-A04 AC2: File import — extract knowledge from a document file. * Reuses FR-A02 document extraction pipeline. */ fileImport(input: FileImportInput): Promise; /** * FR-A04 AC3: URL import — extract knowledge from web page content. */ urlImport(input: UrlImportInput): Promise; /** * FR-A04 AC4: Conversation marking — extract knowledge from marked conversation segments. */ conversationMark(input: ConversationMarkInput): Promise; /** * FR-A04 AC5: Batch folder import — recursively process files with progress reporting. */ batchFolderImport(input: BatchFolderInput): Promise; } //# sourceMappingURL=personal-input.d.ts.map