/** * Storage layer types for cache-aware element listing. * * Phase 1: Provides lightweight metadata indexing to avoid * full file reads during list() operations. */ /** * Filesystem metadata for a single storage item. * Returned by stat operations on the storage backend. */ export interface StorageItemMetadata { /** Path relative to the element directory */ relativePath: string; /** Fully resolved absolute path */ absolutePath: string; /** Last modification time in milliseconds since epoch */ mtimeMs: number; /** File size in bytes */ sizeBytes: number; } /** * Indexed metadata for a single element. * Extracted from frontmatter without loading full element content. */ export interface ElementIndexEntry { /** Relative path within the element directory */ filePath: string; /** Element name from frontmatter */ name: string; /** Element description from frontmatter */ description: string; /** Semantic version string */ version: string; /** Author name */ author: string; /** Classification tags */ tags: string[]; /** Last modification time in milliseconds (mirrors StorageItemMetadata.mtimeMs) */ mtimeMs: number; /** File size in bytes (mirrors StorageItemMetadata.sizeBytes) */ sizeBytes: number; /** Whether this memory should be auto-loaded on server startup */ autoLoad?: boolean; /** Load priority (lower = higher priority) */ priority?: number; /** Memory type classification (system, adapter, user) */ memoryType?: string; /** Number of entries in the memory */ totalEntries?: number; } /** * Result of diffing current filesystem state against a stored manifest. * Each array contains relative paths. */ export interface ManifestDiffResult { /** Files present on disk but not in manifest (new files) */ added: string[]; /** Files whose mtime changed since last manifest snapshot */ modified: string[]; /** Files in manifest but no longer on disk */ removed: string[]; /** Files whose mtime matches the manifest (no change) */ unchanged: string[]; } //# sourceMappingURL=types.d.ts.map