Implements Phase 1.5 (Comprehensive MIME Type Detection) and adds built-in image processing support to IntelligentImportAugmentation. **New Features:** - ImageHandler: Extracts image metadata (dimensions, format, color space) using sharp - EXIF extraction: Camera data, GPS, timestamps using exifr library - Support for JPEG, PNG, WebP, GIF, TIFF, BMP, SVG, HEIC, AVIF formats - MimeTypeDetector: Unified MIME type detection with magic byte support - FormatDetector: Enhanced with image format detection via MIME + magic bytes **Architecture Fixes:** - Fixed brain.import() augmentation pipeline integration (src/brainy.ts:3140-3154) - Added parameter spreading for ImportSource objects to enable augmentation access - Fixed metadata propagation through ImportCoordinator to final results - Added augmentation data check in ImportCoordinator.extract() **Integration:** - ImageHandler registered as built-in handler alongside CSV, Excel, PDF - Images import as 'media' entities with 'image' subtype - Full metadata preserved in knowledge graph entities - Configuration options: enableImage, extractEXIF, imageDefaults **Test Coverage:** - 15 integration tests (image-import.test.ts) - 100% passing - 27 unit tests (image-handler.test.ts) - 100% passing - Format detection tests for all supported image types - Error handling and resilience tests **Breaking Changes:** None - backward compatible Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
27 lines
No EOL
818 B
TypeScript
27 lines
No EOL
818 B
TypeScript
/**
|
|
* Brainy Virtual Filesystem
|
|
*
|
|
* A simplified fs-compatible filesystem that stores data in Brainy
|
|
* Works across all storage adapters and scales to millions of files
|
|
*/
|
|
|
|
// Core VFS
|
|
export { VirtualFileSystem } from './VirtualFileSystem.js'
|
|
export { PathResolver } from './PathResolver.js'
|
|
export * from './types.js'
|
|
|
|
// MIME Type Detection (v5.2.0)
|
|
export { MimeTypeDetector, mimeDetector } from './MimeTypeDetector.js'
|
|
|
|
// fs compatibility layer
|
|
export { FSCompat, createFS } from './FSCompat.js'
|
|
|
|
// Directory import
|
|
export { DirectoryImporter } from './importers/DirectoryImporter.js'
|
|
|
|
// Streaming
|
|
export { VFSReadStream } from './streams/VFSReadStream.js'
|
|
export { VFSWriteStream } from './streams/VFSWriteStream.js'
|
|
|
|
// Convenience alias
|
|
export { VirtualFileSystem as VFS } from './VirtualFileSystem.js' |