import { SelectVector } from '../../database/schema' export type QueryProgressState = | { type: 'reading-mentionables' } | { type: 'indexing' indexProgress: IndexProgress } | { type: 'querying' } | { type: 'querying-done' queryResult: (Omit & { similarity: number })[] } | { type: 'idle' } export type IndexProgress = { completedChunks: number totalChunks: number totalFiles: number } // TODO: Update style export default function QueryProgress({ state, }: { state: QueryProgressState }) { switch (state.type) { case 'idle': return null case 'reading-mentionables': return (

Reading mentioned files

) case 'indexing': return (

{`Indexing ${state.indexProgress.totalFiles} file`}

{`${state.indexProgress.completedChunks}/${state.indexProgress.totalChunks} chunks indexed`}

) case 'querying': return (

Querying the vault

) case 'querying-done': return (

Reading related files

{state.queryResult.map((result) => (

{result.path}

{result.similarity}

))}
) } } function DotLoader() { return }