Enha (rag): one table to manage files and data loaded

This commit is contained in:
Grail Finder
2026-02-25 10:47:35 +03:00
parent 6664c1a0fc
commit b8e7649e69
2 changed files with 113 additions and 31 deletions

19
tui.go
View File

@@ -913,6 +913,7 @@ func init() {
return nil
}
}
// Get files from ragdir
fileList := []string{}
for _, f := range files {
if f.IsDir() {
@@ -920,22 +921,14 @@ func init() {
}
fileList = append(fileList, f.Name())
}
chatRAGTable := makeRAGTable(fileList)
pages.AddPage(RAGPage, chatRAGTable, true, true)
return nil
}
if event.Key() == tcell.KeyCtrlY { // Use Ctrl+Y to list loaded RAG files
// List files already loaded into the RAG system
fileList, err := ragger.ListLoaded()
// Get loaded files from vector DB
loadedFiles, err := ragger.ListLoaded()
if err != nil {
logger.Error("failed to list loaded RAG files", "error", err)
if notifyerr := notifyUser("failed to list RAG files", err.Error()); notifyerr != nil {
logger.Error("failed to send notification", "error", notifyerr)
}
return nil
loadedFiles = []string{} // Continue with empty list on error
}
chatLoadedRAGTable := makeLoadedRAGTable(fileList)
pages.AddPage(RAGLoadedPage, chatLoadedRAGTable, true, true)
chatRAGTable := makeRAGTable(fileList, loadedFiles)
pages.AddPage(RAGPage, chatRAGTable, true, true)
return nil
}
if event.Key() == tcell.KeyRune && event.Modifiers() == tcell.ModAlt && event.Rune() == '1' {