/** * Centralized configuration for active element limits * * Issue #83 (Phase 1): Makes active element limits configurable via environment variables. * Previously, each manager had hardcoded MAX_ACTIVE_* and ACTIVE_SET_CLEANUP_THRESHOLD constants. * * Environment variables follow the pattern: DOLLHOUSE_MAX_ACTIVE_{TYPE} * Values are clamped between safety floors and security ceilings. * * @example * // Override via environment variables (set before server starts) * // DOLLHOUSE_MAX_ACTIVE_SKILLS=300 * // DOLLHOUSE_MAX_ACTIVE_AGENTS=150 * // DOLLHOUSE_MAX_ACTIVE_MEMORIES=200 * // DOLLHOUSE_MAX_ACTIVE_ENSEMBLES=75 * // DOLLHOUSE_MAX_ACTIVE_PERSONAS=50 */ /** Element types that support active element limits */ export type ActiveLimitElementType = 'skills' | 'agents' | 'memories' | 'ensembles' | 'personas'; /** Configuration for a single element type's active limits */ export interface ActiveElementLimitConfig { /** Maximum number of active elements before warning/cleanup triggers */ max: number; /** Threshold at which cleanup of stale references begins (typically floor(max * 0.9)) */ cleanupThreshold: number; } /** * Absolute maximum values — cannot be exceeded even with environment variable overrides. * Prevents resource exhaustion and DoS via unbounded active sets. */ export declare const ACTIVE_ELEMENT_HARD_LIMITS: Record; /** * Minimum values — configured values cannot go below these. * Ensures basic functionality is always available. */ export declare const ACTIVE_ELEMENT_MIN_LIMITS: Record; /** * Default max active limits when no environment variable is set. * Increased from original hardcoded values for better out-of-box experience. */ export declare const ACTIVE_ELEMENT_DEFAULTS: Record; /** * Maps element types to their environment variable names. * Exported for documentation and testing purposes. */ export declare const ACTIVE_LIMIT_ENV_VARS: Record; /** * Get the maximum active element limit for a given element type. * Respects environment variable overrides with validation and clamping. * * @param type - Element type * @returns Maximum active elements allowed */ export declare function getMaxActiveLimit(type: ActiveLimitElementType): number; /** * Get the full active element limit configuration for a given element type. * Returns both max limit and cleanup threshold (floor(max * 0.9)). * * @param type - Element type * @returns Configuration with max and cleanupThreshold */ export declare function getActiveElementLimitConfig(type: ActiveLimitElementType): ActiveElementLimitConfig; //# sourceMappingURL=active-element-limits.d.ts.map