packfs-core
Version:
Semantic filesystem operations for LLM agent frameworks with natural language understanding. See LLM_AGENT_GUIDE.md for copy-paste examples.
52 lines • 1.55 kB
TypeScript
/**
* Security validator for Mastra filesystem operations
*/
import type { SecurityConfig, ValidationResult } from './config.js';
import type { AccessIntent, DiscoverIntent, UpdateIntent } from '../intents/index.js';
/**
* Security validator that enforces path restrictions, file limits, and rate limiting
*/
export declare class MastraSecurityValidator {
private config;
private requestCounts;
constructor(config: SecurityConfig);
/**
* Validate a file path for security compliance
*/
validatePath(path: string): ValidationResult;
/**
* Validate an intent operation for security compliance
*/
validateOperation(intent: AccessIntent | DiscoverIntent | UpdateIntent): ValidationResult;
/**
* Check rate limiting for a specific path
*/
private checkRateLimit;
/**
* Normalize a path for consistent validation
*/
private normalizePath;
/**
* Check if a path is within the allowed root directory
*/
private isWithinRoot;
/**
* Check if path contains any blocked segments
*/
private getBlockedSegment;
/**
* Determine if a path appears to be a file (has extension)
*/
private isFilePath;
/**
* Get current configuration (for debugging/testing)
*/
getConfig(): Required<Omit<SecurityConfig, 'allowedExtensions'>> & {
allowedExtensions?: string[];
};
/**
* Clear rate limit records (for testing)
*/
clearRateLimits(): void;
}
//# sourceMappingURL=validator.d.ts.map