Package sk.iway.iwcm.rag.service
Class MarkdownQueueService
java.lang.Object
sk.iway.iwcm.rag.service.MarkdownQueueService
Prepares per-file Markdown queue actions for an explicitly configured documentation root.
-
Constructor Summary
ConstructorsConstructorDescriptionMarkdownQueueService(MarkdownSourceService sources, IndexQueueRepository queueRepository, EmbeddingChunkRepository chunkRepository, RagEmbeddingStatService statistics, VectorStore vectorStore) -
Method Summary
Modifier and TypeMethodDescriptionintenqueue(String folder, RagIndexAction action) Replaces pending actions across the root, including pending-only sources when deleting.intenqueue(String folder, RagIndexAction action, String directory, boolean includeSubfolders) Replaces pending actions within the selected scope across all submitting domains.getDirectories(String folder, String directory) Lists immediate eligible child directories using shared source configuration.Returns recognized folder languages for filtering stored Markdown chunks.getStats(String folder, RagIndexAction action) Counts unique files across the root, including removed and pending-only sources for deletion.getStats(String folder, RagIndexAction action, String directory, boolean includeSubfolders) Counts unique files selected by directory and recursion settings.requireDirectory(String directory)
-
Constructor Details
-
MarkdownQueueService
public MarkdownQueueService(MarkdownSourceService sources, IndexQueueRepository queueRepository, EmbeddingChunkRepository chunkRepository, RagEmbeddingStatService statistics, VectorStore vectorStore)
-
-
Method Details
-
getFolders
-
getLanguages
Returns recognized folder languages for filtering stored Markdown chunks.- Returns:
- normalized shared language codes
-
getDirectories
Lists immediate eligible child directories using shared source configuration.- Parameters:
folder- configured documentation rootdirectory- root-relative directory, empty or null for the root- Returns:
- child directory nodes for lazy loading
- Throws:
IllegalStateException- if the directory cannot be scanned
-
requireDirectory
-
getStats
Counts unique files across the root, including removed and pending-only sources for deletion.- Parameters:
folder- configured documentation rootaction- indexing or deletion action- Returns:
- counts keyed by
totalDocuments,indexedDocuments, andqueuedDocuments
-
getStats
public Map<String,Object> getStats(String folder, RagIndexAction action, String directory, boolean includeSubfolders) Counts unique files selected by directory and recursion settings. Indexing counts use the requesting domain's assistant; source storage and pending work are shared.- Parameters:
folder- configured documentation rootaction- indexing or deletion actiondirectory- root-relative directory, empty or null for the rootincludeSubfolders- whether to include descendant directories- Returns:
- counts keyed by
totalDocuments,indexedDocuments, andqueuedDocuments
-
enqueue
Replaces pending actions across the root, including pending-only sources when deleting.- Parameters:
folder- configured documentation rootaction- indexing or deletion action- Returns:
- number of unique source files queued
-
enqueue
@Transactional public int enqueue(String folder, RagIndexAction action, String directory, boolean includeSubfolders) Replaces pending actions within the selected scope across all submitting domains. New entries retain the initiating domain for provider calls and token usage.- Parameters:
folder- configured documentation rootaction- indexing or deletion actiondirectory- root-relative directory, empty or null for the rootincludeSubfolders- whether to include descendant directories- Returns:
- number of unique source files queued
-