/** * Constants for Memory element implementation * Extracted for reusability and maintainability * * MEMORY ARCHITECTURE DESIGN: * - Memories are stored as small, sharded YAML files for fast loading * - Each memory file should be <256KB for optimal parse performance * - Larger content referenced via external documents (PDFs, images, etc) * - Index-of-indexes pattern for O(log n) search performance * * SECURITY NOTE: This file contains only constants and type definitions. * It does not process any user input. The security scanner may flag this * for missing Unicode normalization, but this is a false positive as no * input processing occurs here. * * @module MemoryConstants */ export declare const MEMORY_CONSTANTS: { readonly MAX_MEMORY_SIZE: number; readonly MAX_ENTRY_SIZE: number; readonly MAX_ENTRIES_DEFAULT: 1000; readonly MAX_TAGS_PER_ENTRY: 20; readonly MAX_TAG_LENGTH: 50; readonly MAX_METADATA_KEYS: 20; readonly MAX_METADATA_KEY_LENGTH: 50; readonly MAX_METADATA_VALUE_LENGTH: 200; readonly DEFAULT_RETENTION_DAYS: 999999; readonly MIN_RETENTION_DAYS: 1; readonly MAX_RETENTION_DAYS: 999999; readonly DEFAULT_SEARCH_LIMIT: 100; /** * YAML Size Limit Rationale: * 256KB is optimal for YAML parsing performance while preventing DoS attacks. * - YAML parsing is CPU-intensive; large files can block the event loop * - 256KB accommodates ~5000 lines of typical memory content * - Larger memories should be sharded across multiple files * - External references used for binary data (images, PDFs, etc) * * Performance benchmarks: * - <256KB: Parse time <10ms on average hardware * - 1MB: Parse time ~50-100ms (acceptable but not ideal) * - >5MB: Parse time >500ms (unacceptable, blocks UI) */ readonly MAX_YAML_SIZE: number; /** * Privacy Level Hierarchy: * * 'public' - Lowest restriction level * - Available to all contexts and users * - Can be shared across sessions * - Suitable for general knowledge, documentation * - Example: Project conventions, public APIs * * 'private' - Default level, moderate restriction * - Restricted to current user/session * - Not shared with other users * - Suitable for personal preferences, user-specific data * - Example: User's coding style, personal notes * * 'sensitive' - Highest restriction level * - Requires explicit permission to access * - Extra logging and audit trail * - Automatic deletion after retention period * - Suitable for credentials, PII, confidential data * - Example: API keys (temporary), personal information * * Access rules cascade: sensitive ⊂ private ⊂ public */ readonly PRIVACY_LEVELS: readonly ["public", "private", "sensitive"]; readonly DEFAULT_PRIVACY_LEVEL: "private"; readonly DEFAULT_STORAGE_BACKEND: "memory"; readonly SUPPORTED_STORAGE_BACKENDS: readonly ["memory", "file", "indexed"]; }; export type PrivacyLevel = typeof MEMORY_CONSTANTS.PRIVACY_LEVELS[number]; export type StorageBackend = typeof MEMORY_CONSTANTS.SUPPORTED_STORAGE_BACKENDS[number]; /** * Trust Levels for Memory Security Architecture (Issue #1314, #1320, #1321) * * UNTRUSTED: Default - all content starts as untrusted until validated * VALIDATED: Content has passed security validation (no dangerous patterns) * TRUSTED: Manually marked as trusted by user (highest trust) * FLAGGED: Contains dangerous patterns, sanitized display required * QUARANTINED: Content failed validation, isolated from normal use */ export declare const TRUST_LEVELS: { readonly UNTRUSTED: "untrusted"; readonly VALIDATED: "validated"; readonly TRUSTED: "trusted"; readonly FLAGGED: "flagged"; readonly QUARANTINED: "quarantined"; }; export type TrustLevel = typeof TRUST_LEVELS[keyof typeof TRUST_LEVELS]; export declare const MEMORY_SECURITY_EVENTS: { readonly MEMORY_CREATED: "MEMORY_CREATED"; readonly MEMORY_ADDED: "MEMORY_ADDED"; readonly MEMORY_SEARCHED: "MEMORY_SEARCHED"; readonly SENSITIVE_MEMORY_DELETED: "SENSITIVE_MEMORY_DELETED"; readonly RETENTION_POLICY_ENFORCED: "RETENTION_POLICY_ENFORCED"; readonly MEMORY_CLEARED: "MEMORY_CLEARED"; readonly MEMORY_LOADED: "MEMORY_LOADED"; readonly MEMORY_SAVED: "MEMORY_SAVED"; readonly MEMORY_DELETED: "MEMORY_DELETED"; readonly MEMORY_LOAD_FAILED: "MEMORY_LOAD_FAILED"; readonly MEMORY_SAVE_FAILED: "MEMORY_SAVE_FAILED"; readonly MEMORY_DESERIALIZE_FAILED: "MEMORY_DESERIALIZE_FAILED"; readonly MEMORY_LIST_ITEM_FAILED: "MEMORY_LIST_ITEM_FAILED"; readonly MEMORY_IMPORT_FAILED: "MEMORY_IMPORT_FAILED"; readonly MEMORY_INTEGRITY_VIOLATION: "MEMORY_INTEGRITY_VIOLATION"; readonly MEMORY_UNICODE_VALIDATION_FAILED: "MEMORY_UNICODE_VALIDATION_FAILED"; readonly MEMORY_DUPLICATE_DETECTED: "MEMORY_DUPLICATE_DETECTED"; readonly MEMORY_INJECTION_BLOCKED: "MEMORY_INJECTION_BLOCKED"; readonly MEMORY_INJECTION_DETECTED_ON_READ: "MEMORY_INJECTION_DETECTED_ON_READ"; readonly SEED_MEMORY_INSTALLED: "SEED_MEMORY_INSTALLED"; readonly SEED_MEMORY_INSTALLATION_FAILED: "SEED_MEMORY_INSTALLATION_FAILED"; }; //# sourceMappingURL=constants.d.ts.map