Class MarkdownQueueService

java.lang.Object
sk.iway.iwcm.rag.service.MarkdownQueueService

@Service public class MarkdownQueueService extends Object
Prepares per-file Markdown queue actions for an explicitly configured documentation root.
  • Constructor Details

  • Method Details

    • getFolders

      public List<String> getFolders()
    • getLanguages

      public List<String> getLanguages()
      Returns recognized folder languages for filtering stored Markdown chunks.
      Returns:
      normalized shared language codes
    • getDirectories

      public List<MarkdownSourceService.DirectoryNode> getDirectories(String folder, String directory)
      Lists immediate eligible child directories using shared source configuration.
      Parameters:
      folder - configured documentation root
      directory - 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

      public String requireDirectory(String directory)
    • getStats

      public Map<String,Object> getStats(String folder, RagIndexAction action)
      Counts unique files across the root, including removed and pending-only sources for deletion.
      Parameters:
      folder - configured documentation root
      action - indexing or deletion action
      Returns:
      counts keyed by totalDocuments, indexedDocuments, and queuedDocuments
    • 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 root
      action - indexing or deletion action
      directory - root-relative directory, empty or null for the root
      includeSubfolders - whether to include descendant directories
      Returns:
      counts keyed by totalDocuments, indexedDocuments, and queuedDocuments
    • enqueue

      @Transactional public int enqueue(String folder, RagIndexAction action)
      Replaces pending actions across the root, including pending-only sources when deleting.
      Parameters:
      folder - configured documentation root
      action - 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 root
      action - indexing or deletion action
      directory - root-relative directory, empty or null for the root
      includeSubfolders - whether to include descendant directories
      Returns:
      number of unique source files queued