packfs-core
Version:
Semantic filesystem operations for LLM agent frameworks with natural language understanding. See LLM_AGENT_GUIDE.md for copy-paste examples.
110 lines • 4.82 kB
TypeScript
/**
* Semantic filesystem interface for PackFS
* Based on LSFS research: unified intent-based operations instead of traditional POSIX methods
*/
import { FileAccessIntent, FileAccessResult, ContentUpdateIntent, ContentUpdateResult, OrganizationIntent, OrganizationResult, DiscoveryIntent, DiscoveryResult, RemovalIntent, RemovalResult, WorkflowIntent, WorkflowResult, NaturalLanguageIntent, NaturalLanguageResult, SemanticConfig } from './types';
/**
* Abstract semantic filesystem interface
* Replaces traditional POSIX-style methods with unified intent-based operations
*
* Traditional approach had 9+ separate methods:
* - readFile(), writeFile(), stat(), exists(), mkdir(), etc.
*
* LSFS approach unifies these into 5 semantic operations:
* - accessFile() - handles read, stat, exists, preview, create_or_get
* - updateContent() - handles write, append, create, merge, patch
* - organizeFiles() - handles mkdir, move, copy, grouping
* - discoverFiles() - handles readdir, find, search
* - removeFiles() - handles unlink, rmdir, deletion by criteria
*/
export declare abstract class SemanticFileSystemInterface {
protected config: SemanticConfig;
constructor(config?: Partial<SemanticConfig>);
/**
* Unified file access operation
* Replaces: readFile(), stat(), exists(), open(), preview()
*
* Examples:
* - purpose: 'read' -> returns full content
* - purpose: 'preview' -> returns summary/first chunk
* - purpose: 'metadata' -> returns file info only
* - purpose: 'verify_exists' -> returns existence check
* - purpose: 'create_or_get' -> creates if missing, gets if exists
*/
abstract accessFile(intent: FileAccessIntent): Promise<FileAccessResult>;
/**
* Unified content update operation
* Replaces: writeFile(), appendFile(), touch(), create()
*
* Examples:
* - purpose: 'create' -> creates new file
* - purpose: 'overwrite' -> replaces existing content
* - purpose: 'append' -> adds to existing content
* - purpose: 'merge' -> intelligently combines content
* - purpose: 'patch' -> applies specific changes
*/
abstract updateContent(intent: ContentUpdateIntent): Promise<ContentUpdateResult>;
/**
* Unified file organization operation
* Replaces: mkdir(), rename(), copy(), move()
*
* Examples:
* - purpose: 'create_directory' -> makes directories
* - purpose: 'move' -> relocates files
* - purpose: 'copy' -> duplicates files
* - purpose: 'group_semantic' -> organizes by content similarity
* - purpose: 'group_keywords' -> organizes by extracted keywords
*/
abstract organizeFiles(intent: OrganizationIntent): Promise<OrganizationResult>;
/**
* Unified file discovery operation
* Replaces: readdir(), find(), grep(), search()
*
* Examples:
* - purpose: 'list' -> directory contents
* - purpose: 'find' -> files by criteria
* - purpose: 'search_content' -> files containing text
* - purpose: 'search_semantic' -> files by meaning
* - purpose: 'search_integrated' -> combines multiple search types
*/
abstract discoverFiles(intent: DiscoveryIntent): Promise<DiscoveryResult>;
/**
* Unified file removal operation
* Replaces: unlink(), rmdir(), rm -rf
*
* Examples:
* - purpose: 'delete_file' -> removes single file
* - purpose: 'delete_directory' -> removes directory
* - purpose: 'delete_by_criteria' -> removes files matching conditions
*/
abstract removeFiles(intent: RemovalIntent): Promise<RemovalResult>;
/**
* Advanced: Execute multi-step file operations atomically
* Enables complex workflows with rollback capability
*/
abstract executeWorkflow(workflow: WorkflowIntent): Promise<WorkflowResult>;
/**
* Advanced: Natural language to semantic intent translation
* Enables "find files about machine learning from last week" style queries
*/
abstract interpretNaturalLanguage(intent: NaturalLanguageIntent): Promise<NaturalLanguageResult>;
/**
* Get current semantic configuration
*/
getConfig(): SemanticConfig;
/**
* Update semantic configuration
*/
updateConfig(updates: Partial<SemanticConfig>): void;
}
/**
* Validation utilities for semantic intents
*/
export declare class SemanticIntentValidator {
static validateFileAccessIntent(intent: FileAccessIntent): string[];
static validateContentUpdateIntent(intent: ContentUpdateIntent): string[];
static validateOrganizationIntent(intent: OrganizationIntent): string[];
static validateDiscoveryIntent(intent: DiscoveryIntent): string[];
static validateRemovalIntent(intent: RemovalIntent): string[];
}
//# sourceMappingURL=interface.d.ts.map