UNPKG

packfs-core

Version:

Semantic filesystem operations for LLM agent frameworks with natural language understanding. See LLM_AGENT_GUIDE.md for copy-paste examples.

105 lines 3.76 kB
/** * Backward compatibility adapter for traditional filesystem operations * Translates traditional POSIX-style calls to semantic operations */ import { FileSystemInterface } from '../core/filesystem.js'; import { SemanticFileSystemInterface } from './interface.js'; import type { FileMetadata, ReadOptions, WriteOptions } from '../core/types.js'; /** * Adapter that makes semantic filesystem work with traditional interface * Enables existing code to work with semantic backend without changes * * This is the bridge between: * - Old approach: readFile(), writeFile(), stat(), exists(), etc. * - New approach: accessFile(), updateContent(), organizeFiles(), etc. */ export declare class SemanticCompatibilityAdapter extends FileSystemInterface { private semanticBackend; constructor(semanticBackend: SemanticFileSystemInterface); /** * Traditional readFile() -> semantic accessFile() */ readFile(path: string, options?: ReadOptions): Promise<string | Buffer>; /** * Traditional writeFile() -> semantic updateContent() */ writeFile(path: string, data: string | Buffer, options?: WriteOptions): Promise<void>; /** * Traditional exists() -> semantic accessFile() */ exists(path: string): Promise<boolean>; /** * Traditional stat() -> semantic accessFile() */ stat(path: string): Promise<FileMetadata>; /** * Traditional readdir() -> semantic discoverFiles() */ readdir(path: string): Promise<string[]>; /** * Traditional mkdir() -> semantic organizeFiles() */ mkdir(path: string, recursive?: boolean): Promise<void>; /** * Traditional remove() -> semantic removeFiles() */ remove(path: string, _recursive?: boolean): Promise<void>; /** * Traditional copy() -> semantic organizeFiles() */ copy(source: string, destination: string): Promise<void>; /** * Traditional move() -> semantic organizeFiles() */ move(source: string, destination: string): Promise<void>; /** * Enhanced methods that expose semantic capabilities while maintaining compatibility */ /** * Extended readFile with semantic features */ readFileEnhanced(path: string, options?: ReadOptions & { purpose?: 'read' | 'preview' | 'metadata'; chunkingStrategy?: 'none' | 'semantic' | 'fixed'; }): Promise<{ content: string | Buffer; metadata?: FileMetadata; preview?: string; chunks?: string[]; }>; /** * Semantic file search through traditional interface */ findFiles(query: string, options?: { searchType?: 'content' | 'semantic' | 'integrated'; maxResults?: number; includeContent?: boolean; }): Promise<Array<{ path: string; metadata: FileMetadata; content?: string; relevanceScore?: number; }>>; /** * Natural language file operations */ executeNaturalLanguage(query: string): Promise<{ success: boolean; result: any; interpretedIntent: any; confidence: number; }>; /** * Get access to the underlying semantic backend for advanced operations */ getSemanticBackend(): SemanticFileSystemInterface; } /** * Factory function to create a semantic filesystem with traditional interface */ export declare function createSemanticFileSystem(semanticBackend: SemanticFileSystemInterface): FileSystemInterface; /** * Factory function to create enhanced filesystem with both traditional and semantic methods */ export declare function createEnhancedFileSystem(semanticBackend: SemanticFileSystemInterface): SemanticCompatibilityAdapter; //# sourceMappingURL=compatibility-adapter.d.ts.map