/** * Base Mode Implementation * * Separated to avoid circular dependencies. */ import type { SONAModeConfig, ModeOptimizations, Trajectory, Pattern, PatternMatch, LoRAWeights, EWCState } from '../types.js'; /** * Common interface for all mode implementations */ export interface ModeImplementation { /** Mode identifier */ readonly mode: string; /** Initialize the mode */ initialize(): Promise; /** Cleanup resources */ cleanup(): Promise; /** Find similar patterns (k-nearest) */ findPatterns(embedding: Float32Array, k: number, patterns: Pattern[]): Promise; /** Perform a learning step */ learn(trajectories: Trajectory[], config: SONAModeConfig, ewcState: EWCState): Promise; /** Apply LoRA adaptations */ applyLoRA(input: Float32Array, weights?: LoRAWeights): Promise; /** Get mode-specific stats */ getStats(): Record; } /** * Base class for mode implementations */ export declare abstract class BaseModeImplementation implements ModeImplementation { abstract readonly mode: string; protected config: SONAModeConfig; protected optimizations: ModeOptimizations; protected isInitialized: boolean; constructor(config: SONAModeConfig, optimizations: ModeOptimizations); initialize(): Promise; cleanup(): Promise; /** * Compute cosine similarity between two vectors (SIMD-optimized) */ protected cosineSimilarity(a: Float32Array, b: Float32Array): number; /** * Apply LoRA: output = input + BA * input (simplified) */ protected applyLoRATransform(input: Float32Array, A: Float32Array, B: Float32Array, rank: number): Float32Array; abstract findPatterns(embedding: Float32Array, k: number, patterns: Pattern[]): Promise; abstract learn(trajectories: Trajectory[], config: SONAModeConfig, ewcState: EWCState): Promise; abstract applyLoRA(input: Float32Array, weights?: LoRAWeights): Promise; abstract getStats(): Record; } //# sourceMappingURL=base.d.ts.map