Class: FolderScanner
Defined in: packages/agentos/src/memory/ingestion/FolderScanner.ts:111
Recursively scans a directory and loads every file whose extension has a registered loader in the supplied LoaderRegistry.
Example
const registry = new LoaderRegistry();
const scanner = new FolderScanner(registry);
const result = await scanner.scan('/knowledge-base', {
recursive: true,
include: ['**/*.md', '**/*.pdf'],
exclude: ['**/node_modules/**'],
onProgress: (file, i, total) => console.log(`${i}/${total} ${file}`),
});
console.log(`Loaded ${result.documents.length} documents`);
console.log(`Failed: ${result.failed.length}`);
Constructors
Constructor
new FolderScanner(
registry):FolderScanner
Defined in: packages/agentos/src/memory/ingestion/FolderScanner.ts:116
Parameters
registry
The LoaderRegistry used to dispatch each file to the appropriate loader.
Returns
FolderScanner
Methods
scan()
scan(
dirPath,options?):Promise<FolderScanResult>
Defined in: packages/agentos/src/memory/ingestion/FolderScanner.ts:136
Walk dirPath and load every matching file.
Files are discovered first and then loaded sequentially. Errors thrown by individual loaders are caught and accumulated in FolderScanResult.failed rather than propagating.
Parameters
dirPath
string
Absolute path to the directory to scan.
options?
FolderScanOptions = {}
Optional include/exclude filters and progress callback.
Returns
Promise<FolderScanResult>
A promise that resolves to a FolderScanResult.
Throws
When dirPath cannot be read as a directory (e.g.
it does not exist or is a regular file).