declare const XENO_REPOSITORY_INDEX_SCHEMA_VERSION: "xeno.repository-index.v1"; type XenoRepositoryDocumentKind = "source" | "test" | "documentation" | "configuration" | "asset" | "other"; type XenoRepositorySymbolKind = "class" | "interface" | "type" | "enum" | "function" | "method" | "variable" | "module" | "heading" | "unknown"; type XenoRepositoryRelationshipKind = "imports" | "exports" | "defines" | "references" | "tests" | "documents"; interface XenoRepositoryGitProvenance { head?: string; branch?: string; remote?: string; lastCommit?: string; lastCommitAt?: string; } interface XenoRepositorySourceDocument { workspaceId: string; root: string; path: string; content: string; size: number; mtimeMs: number; language?: string; kind?: XenoRepositoryDocumentKind; git?: XenoRepositoryGitProvenance; } interface XenoRepositoryEmbedding { model: string; dimensions: number; vector: number[]; contentHash: string; generatedAt: string; } interface XenoRepositoryChunk { chunkId: string; startLine: number; endLine: number; content: string; contentHash: string; terms: Record; embedding?: XenoRepositoryEmbedding; } interface XenoRepositoryFileRecord { fileId: string; workspaceId: string; root: string; path: string; language: string; kind: XenoRepositoryDocumentKind; size: number; mtimeMs: number; contentHash: string; lineCount: number; chunks: XenoRepositoryChunk[]; symbolIds: string[]; git?: XenoRepositoryGitProvenance; } interface XenoRepositorySymbol { symbolId: string; fileId: string; workspaceId: string; path: string; name: string; qualifiedName: string; kind: XenoRepositorySymbolKind; language: string; startLine: number; endLine: number; exported: boolean; signature?: string; } interface XenoRepositoryRelationship { relationshipId: string; kind: XenoRepositoryRelationshipKind; fromId: string; toId: string; confidence: number; evidence: { path: string; line?: number; summary: string; }; } interface XenoRepositoryIndexStats { workspaces: number; files: number; chunks: number; symbols: number; relationships: number; embeddedChunks: number; sourceBytes: number; } interface XenoRepositoryIndexSnapshot { schemaVersion: typeof XENO_REPOSITORY_INDEX_SCHEMA_VERSION; indexId: string; revision: number; createdAt: string; updatedAt: string; sourceFingerprint: string; indexHash: string; producer: { id: string; version?: string; }; workspaces: Array<{ workspaceId: string; root: string; git?: XenoRepositoryGitProvenance; indexedAt: string; }>; files: XenoRepositoryFileRecord[]; symbols: XenoRepositorySymbol[]; relationships: XenoRepositoryRelationship[]; stats: XenoRepositoryIndexStats; } interface XenoRepositoryIndexBuildOptions { indexId?: string; revision?: number; createdAt?: string; updatedAt?: string; producer?: { id: string; version?: string; }; chunkLines?: number; maxChunkChars?: number; } interface XenoRepositoryEmbeddingRequest { workspaceId: string; path: string; startLine: number; endLine: number; content: string; contentHash: string; } interface XenoRepositoryEmbeddingProvider { id: string; model: string; embed(request: XenoRepositoryEmbeddingRequest): Promise; } type XenoRepositorySearchMode = "lexical" | "semantic" | "hybrid"; interface XenoRepositorySearchQuery { query: string; mode?: XenoRepositorySearchMode; workspaceIds?: string[]; kinds?: XenoRepositoryDocumentKind[]; languages?: string[]; limit?: number; queryEmbedding?: XenoRepositoryEmbedding; } interface XenoRepositorySearchResult { resultId: string; workspaceId: string; path: string; kind: XenoRepositoryDocumentKind; language: string; startLine: number; endLine: number; snippet: string; score: number; lexicalScore: number; semanticScore: number; matchedTerms: string[]; symbolIds: string[]; provenance: { indexId: string; indexRevision: number; indexHash: string; sourceFingerprint: string; contentHash: string; git?: XenoRepositoryGitProvenance; }; } interface XenoRepositorySearchResponse { query: XenoRepositorySearchQuery; results: XenoRepositorySearchResult[]; totalCandidates: number; semanticAvailable: boolean; index: { indexId: string; revision: number; indexHash: string; updatedAt: string; }; } interface XenoRepositoryFreshnessInput { workspaceId: string; path: string; size: number; mtimeMs: number; contentHash?: string; } interface XenoRepositoryFreshnessReport { state: "fresh" | "stale" | "missing"; checkedAt: string; added: string[]; changed: string[]; removed: string[]; sourceFingerprint: string; indexedSourceFingerprint: string; } interface XenoRepositorySymbolGraph { symbol?: XenoRepositorySymbol; incoming: XenoRepositoryRelationship[]; outgoing: XenoRepositoryRelationship[]; relatedSymbols: XenoRepositorySymbol[]; relatedFiles: XenoRepositoryFileRecord[]; } declare function buildXenoRepositoryIndex(sourceDocuments: readonly XenoRepositorySourceDocument[], options?: XenoRepositoryIndexBuildOptions): XenoRepositoryIndexSnapshot; declare function buildXenoRepositoryIndexWithEmbeddings(sourceDocuments: readonly XenoRepositorySourceDocument[], provider: XenoRepositoryEmbeddingProvider, options?: XenoRepositoryIndexBuildOptions): Promise; declare function searchXenoRepositoryIndex(snapshot: XenoRepositoryIndexSnapshot, input: XenoRepositorySearchQuery): XenoRepositorySearchResponse; declare function inspectXenoRepositorySymbol(snapshot: XenoRepositoryIndexSnapshot, symbolOrFileId: string): XenoRepositorySymbolGraph; declare function inspectXenoRepositoryFreshness(snapshot: XenoRepositoryIndexSnapshot, current: readonly XenoRepositoryFreshnessInput[], checkedAt?: string): XenoRepositoryFreshnessReport; declare function validateXenoRepositoryIndex(snapshot: XenoRepositoryIndexSnapshot): XenoRepositoryIndexSnapshot; declare function detectRepositoryLanguage(path: string): string; declare function detectRepositoryDocumentKind(path: string, language?: string): XenoRepositoryDocumentKind; declare class XenoRepositoryIndexFileStore { readonly path: string; constructor(path: string); exists(): Promise; load(): Promise; save(snapshot: XenoRepositoryIndexSnapshot): Promise; } export { XENO_REPOSITORY_INDEX_SCHEMA_VERSION, type XenoRepositoryChunk, type XenoRepositoryDocumentKind, type XenoRepositoryEmbedding, type XenoRepositoryEmbeddingProvider, type XenoRepositoryEmbeddingRequest, type XenoRepositoryFileRecord, type XenoRepositoryFreshnessInput, type XenoRepositoryFreshnessReport, type XenoRepositoryGitProvenance, type XenoRepositoryIndexBuildOptions, XenoRepositoryIndexFileStore, type XenoRepositoryIndexSnapshot, type XenoRepositoryIndexStats, type XenoRepositoryRelationship, type XenoRepositoryRelationshipKind, type XenoRepositorySearchMode, type XenoRepositorySearchQuery, type XenoRepositorySearchResponse, type XenoRepositorySearchResult, type XenoRepositorySourceDocument, type XenoRepositorySymbol, type XenoRepositorySymbolGraph, type XenoRepositorySymbolKind, buildXenoRepositoryIndex, buildXenoRepositoryIndexWithEmbeddings, detectRepositoryDocumentKind, detectRepositoryLanguage, inspectXenoRepositoryFreshness, inspectXenoRepositorySymbol, searchXenoRepositoryIndex, validateXenoRepositoryIndex };