/** * Kivo — Facade 主入口类 * * 统一 API 入口,隐藏内部子模块实现细节。 * 生命周期:new Kivo(config) → init() → use API → shutdown() */ import type { KnowledgeEntry } from './types/index.js'; import type { ConflictRecord, ResolutionStrategy } from './conflict/index.js'; import type { ResolutionResult } from './conflict/index.js'; import type { SearchResult } from './repository/index.js'; import type { SearchResult as VectorSearchResult } from './search/index.js'; import { KnowledgeRepository } from './repository/index.js'; import { type KivoConfig } from './config.js'; import { SemanticRelevanceScorer } from './search/search-integration.js'; import { ContextInjector, type ContextInjectorOptions } from './injection/context-injector.js'; import { type SystemCapabilities } from './cli/capabilities.js'; import { AnalysisArtifactStore } from './pipeline/analysis-artifact-store.js'; import type { AnalysisArtifact, ArtifactReviewQueueItem } from './pipeline/analysis-artifact-store.js'; import { DomainGoalStore } from './domain-goal/domain-goal-store.js'; import type { DomainGoal, DomainGoalInput } from './domain-goal/domain-goal-types.js'; import { RuleRegistry } from './rules/rule-registry.js'; import { SubscriptionManager } from './subscription/subscription-manager.js'; import { RuleDistributor } from './distribution/rule-distributor.js'; import type { RegisteredRule, RuleFilter, RuleRegistration } from './rules/rule-types.js'; import type { Subscription, SubscriptionEvent } from './subscription/subscription-types.js'; import type { DistributionResult } from './distribution/distribution-types.js'; import { DomainAccessChecker } from './access-control/domain-access-checker.js'; import { MetricsCollector } from './metrics/metrics-collector.js'; import type { DomainAccessConfig } from './access-control/access-control-types.js'; import type { Role } from './auth/auth-types.js'; import type { AggregatedMetrics, TimeWindow } from './metrics/metrics-types.js'; export interface IngestResult { taskId: string; entries: KnowledgeEntry[]; conflicts: ConflictRecord[]; } export declare class Kivo { private config; private pipeline; private repository; private conflictDetector; private conflictResolver; private initialized; private embeddingProvider?; private embeddingCache?; private vectorIndex?; private semanticSearchEngine?; private semanticScorer?; private capabilities; private analysisArtifactStore; private domainGoalStore; private ruleStore; private ruleRegistry; private subscriptionManager; private ruleDistributor; private accessChecker; private metricsCollector; constructor(config: KivoConfig); /** * 初始化所有子模块。必须在使用 API 前调用。 */ init(): Promise; /** * Expose the internal KnowledgeRepository for direct write operations. * Avoids creating a second SQLiteProvider externally. */ getRepository(): KnowledgeRepository; /** * 摄入文本,经 pipeline 提取 → 冲突检测 → 持久化 */ ingest(text: string, source: string): Promise; /** * 按关键词查询知识条目 */ query(keywords: string): Promise; /** * 按 ID 获取单条知识条目 */ getEntry(id: string): Promise; /** * 解决冲突 */ resolveConflict(conflictRecord: ConflictRecord, strategy: ResolutionStrategy): Promise; /** * 语义搜索 — 需要配置 embedding */ semanticSearch(query: string, topK?: number): Promise; /** * 将 repository 中所有条目批量索引到向量库 */ indexAll(): Promise; /** * 获取 SemanticRelevanceScorer(供外部 ContextInjector 使用) */ getSemanticScorer(): SemanticRelevanceScorer | undefined; getCapabilities(): SystemCapabilities; /** * 创建 ContextInjector,自动注入 SemanticRelevanceScorer(如果 embedding 已配置) */ createContextInjector(options: Omit): ContextInjector; /** 获取 AnalysisArtifactStore 实例(供外部直接操作) */ getAnalysisArtifactStore(): AnalysisArtifactStore; /** 获取分析产物 */ getArtifact(artifactId: string): Promise; /** 列出待审核的分析产物 */ listReviewQueue(): Promise; /** 获取 DomainGoalStore 实例(供外部直接操作) */ getDomainGoalStore(): DomainGoalStore; /** 创建域目标 */ createDomainGoal(input: DomainGoalInput): DomainGoal; /** 获取域目标 */ getDomainGoal(domainId: string): DomainGoal | null; /** 列出所有域目标 */ listDomainGoals(): DomainGoal[]; /** 更新域目标 */ updateDomainGoal(domainId: string, patch: Partial>): DomainGoal | null; /** 删除域目标 */ deleteDomainGoal(domainId: string): boolean; /** 获取 RuleRegistry 实例 */ getRuleRegistry(): RuleRegistry; /** 获取 SubscriptionManager 实例 */ getSubscriptionManager(): SubscriptionManager; /** 获取 RuleDistributor 实例 */ getRuleDistributor(): RuleDistributor; /** 注册规则 (FR-F01) */ registerRule(rule: RuleRegistration): Promise; /** 查询规则 (FR-F01) */ queryRules(filter?: RuleFilter): Promise; /** 订阅规则变更 (FR-F02) */ subscribeRule(subscription: Subscription): string; /** 取消订阅 (FR-F02) */ unsubscribeRule(subscriptionId: string): boolean; /** 分发规则变更 (FR-F03) */ distributeRule(ruleId: string, eventType: SubscriptionEvent['type']): Promise; /** 获取分发历史 (FR-F03) */ getDistributionHistory(ruleId?: string): DistributionResult[]; /** 获取 DomainAccessChecker 实例 */ getAccessChecker(): DomainAccessChecker; /** 获取 MetricsCollector 实例 */ getMetricsCollector(): MetricsCollector; /** 检查角色是否有权访问指定域 (FR-X01 AC1) */ canAccess(role: Role, domainId: string): boolean; /** 按角色过滤知识条目 (FR-X01 AC1) */ filterByAccess(entries: KnowledgeEntry[], callerRole: Role): KnowledgeEntry[]; /** 更新访问控制配置 (FR-X01 AC2) */ updateAccessConfig(config: DomainAccessConfig): void; /** 获取聚合指标 (FR-X02 AC5) */ getMetrics(window?: TimeWindow): AggregatedMetrics; /** * 关闭所有资源 */ shutdown(): Promise; private ensureInitialized; private waitForPipeline; /** * Find existing entries that might conflict with the incoming entry. * Uses findByType to avoid FTS5 syntax issues with arbitrary text. */ private findCandidatesForConflict; } //# sourceMappingURL=kivo.d.ts.map