/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ /** * Discovery domain state, tracks the project index, file watcher state, * and language server availability for the active project. */ /** Status of the project index. */ export type IndexStatus = 'uninitialized' | 'indexing' | 'ready' | 'stale' | 'error'; /** A language server registration. */ export interface LanguageServerRecord { /** Language identifier (e.g. 'typescript', 'python'). */ language: string; /** LSP server command. */ command: string; /** Whether the server is currently running. */ running: boolean; /** Server PID when running. */ pid?: number | undefined; /** Whether the server is ready to handle requests. */ ready: boolean; /** Epoch ms when the server started. */ startedAt?: number | undefined; /** Last LSP error message. */ lastError?: string | undefined; } /** File watcher status. */ export interface FileWatcherStatus { /** Whether the file watcher is active. */ active: boolean; /** Number of paths being watched. */ watchedPaths: number; /** Number of events received since session start. */ eventCount: number; /** Epoch ms of the last file change event. */ lastEventAt?: number | undefined; } /** * DiscoveryDomainState, project index, file watcher, and LSP state. */ export interface DiscoveryDomainState { /** Monotonic revision counter; increments on every mutation. */ revision: number; /** Timestamp of last mutation (Date.now()). */ lastUpdatedAt: number; /** Subsystem that triggered the last mutation. */ source: string; /** Current project index status. */ indexStatus: IndexStatus; /** Total number of files in the project index. */ fileCount: number; /** Total number of directories indexed. */ dirCount: number; /** Epoch ms of the last index completion. */ lastIndexedAt?: number | undefined; /** Indexing duration in ms of the last run. */ lastIndexDurationMs?: number | undefined; /** Error message if indexStatus === 'error'. */ indexError?: string | undefined; /** File watcher status. */ fileWatcher: FileWatcherStatus; /** Language server records keyed by language identifier. */ languageServers: Map; /** Number of language servers currently running and ready. */ activeServerCount: number; /** Whether the tree-sitter WASM runtime is loaded. */ treeSitterReady: boolean; /** Languages with loaded tree-sitter grammars. */ treeSitterLanguages: string[]; } /** * Returns the default initial state for the discovery domain. */ export declare function createInitialDiscoveryState(): DiscoveryDomainState; //# sourceMappingURL=discovery.d.ts.map