/**
 * Core type definitions for the ShieldCortex memory system
 */
export const DEFAULT_RANKER_CONFIG = {
    engine: 'rrf',
    rrfK: 60,
    weights: { fts: 0.4, vector: 0.6, graph: 0.3 },
};
export const DEFAULT_CONFIG = {
    dbPath: '~/.shieldcortex/memories.db', // Note: actual path auto-detected with legacy fallback
    decayRate: 0.995,
    reinforcementFactor: 1.2,
    salienceThreshold: 0.2, // Lowered from 0.3 to match reduced base salience (0.25)
    consolidationThreshold: 0.6,
    maxShortTermMemories: 100,
    maxLongTermMemories: 1000,
    autoConsolidateHours: 4,
    ranker: DEFAULT_RANKER_CONFIG,
};
/**
 * Category-specific deletion thresholds
 * Lower threshold = harder to delete (more valuable)
 */
export const DELETION_THRESHOLDS = {
    architecture: 0.15, // Hardest to delete - high value, rarely changes
    error: 0.15, // Valuable for debugging
    pattern: 0.18, // Important code patterns
    preference: 0.20, // User preferences
    context: 0.22, // Project context
    learning: 0.20, // Learnings from sessions
    relationship: 0.20, // Code relationships
    note: 0.25, // General notes - easier to delete
    todo: 0.25, // Todos - easier to delete
    custom: 0.22, // Custom memories
};
// ── Memory Purpose Validation ────────────────────────────────────
export const VALID_MEMORY_PURPOSES = ['user', 'feedback', 'project', 'reference'];
export const VALID_MEMORY_SCOPES = ['private', 'team'];
export function isValidMemoryPurpose(value) {
    return typeof value === 'string' && VALID_MEMORY_PURPOSES.includes(value);
}
export function isValidMemoryScope(value) {
    return typeof value === 'string' && VALID_MEMORY_SCOPES.includes(value);
}
