export type DocumentArea = 'btp'; export type SearchType = 'fulltext' | 'title' | 'semantic' | 'all'; export type MatchType = 'fulltext' | 'title' | 'semantic' | 'combined'; export type RelationshipType = 'explicit_link' | 'semantic' | 'combined'; export type EmbeddingProvider = 'local' | 'voyage' | 'openai'; export interface DocumentMetadata { loioId: string; title: string; area: DocumentArea; filePath: string; relativePath: string; lastModified: Date; size: number; } export interface ParsedDocument { title: string; loioId: string; content: string; cleanText: string; links: ParsedLink[]; headings: Heading[]; images: string[]; metadata: DocumentMetadata; } export interface ParsedLink { text: string; href: string; absolutePath: string; isExternal: boolean; anchor?: string; } export interface Heading { level: number; text: string; anchor: string; } export interface SearchOptions { query: string; searchType?: SearchType; limit?: number; } export interface FullTextSearchOptions { query: string; limit?: number; } export interface TitleSearchOptions { query: string; limit?: number; } export interface SemanticSearchOptions { query: string; limit?: number; } export interface SearchResult { filePath: string; relativePath: string; title: string; loioId: string; snippet: string; score: number; matchType: MatchType; area: DocumentArea; } export interface CombinedSearchResults { results: SearchResult[]; totalResults: number; searchType: SearchType; queryTime: number; } export interface Topic { title: string; path: string; level: number; children: Topic[]; loioId?: string; } export interface TopicHierarchy { area: DocumentArea; topics: Topic[]; totalTopics: number; } export interface FileRegistryEntry { filePath: string; relativePath: string; title: string; loioId: string; area: DocumentArea; } export interface CacheEntry { data: T; timestamp: number; mtime?: number; } export interface CacheStats { hits: number; misses: number; size: number; maxSize: number; } export interface EmbeddingCacheData { version: string; model: string; provider: EmbeddingProvider; createdAt: string; embeddings: EmbeddingEntry[]; } export interface EmbeddingEntry { filePath: string; title: string; loioId: string; chunkIndex: number; text: string; embedding: number[]; } export interface TextChunk { text: string; chunkIndex: number; startOffset: number; endOffset: number; } export interface SearchToolInput { query: string; searchType?: SearchType; limit?: number; } export interface ReadArticleInput { identifier: string; resolveLinks?: boolean; } export interface ReadArticleOutput { title: string; filePath: string; loioId: string; content: string; metadata: { area: DocumentArea; relatedLinks: string[]; }; } export interface ListTopicsInput { area?: DocumentArea; depth?: number; parentPath?: string; } export interface GetRelatedArticlesInput { identifier: string; method?: 'links' | 'semantic' | 'both'; limit?: number; } export interface RelatedArticle { title: string; filePath: string; relationshipType: RelationshipType; score: number; loioId?: string; } export interface GetRelatedArticlesOutput { sourceArticle: { title: string; filePath: string; loioId: string; }; relatedArticles: RelatedArticle[]; } export interface ServerConfig { docsPath: string; cacheDir: string; fileCacheSize: number; searchCacheTTL: number; embeddingProvider: EmbeddingProvider; voyageApiKey?: string; openaiApiKey?: string; } //# sourceMappingURL=index.d.ts.map