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
TypeScript
/**
* 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