@sparkleideas/neural 3.5.2-patch.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +260 -0
  2. package/__tests__/README.md +235 -0
  3. package/__tests__/algorithms.test.ts +582 -0
  4. package/__tests__/patterns.test.ts +549 -0
  5. package/__tests__/sona.test.ts +445 -0
  6. package/docs/SONA_INTEGRATION.md +460 -0
  7. package/docs/SONA_QUICKSTART.md +168 -0
  8. package/examples/sona-usage.ts +318 -0
  9. package/package.json +23 -0
  10. package/src/algorithms/a2c.d.ts +86 -0
  11. package/src/algorithms/a2c.d.ts.map +1 -0
  12. package/src/algorithms/a2c.js +361 -0
  13. package/src/algorithms/a2c.js.map +1 -0
  14. package/src/algorithms/a2c.ts +478 -0
  15. package/src/algorithms/curiosity.d.ts +82 -0
  16. package/src/algorithms/curiosity.d.ts.map +1 -0
  17. package/src/algorithms/curiosity.js +392 -0
  18. package/src/algorithms/curiosity.js.map +1 -0
  19. package/src/algorithms/curiosity.ts +509 -0
  20. package/src/algorithms/decision-transformer.d.ts +82 -0
  21. package/src/algorithms/decision-transformer.d.ts.map +1 -0
  22. package/src/algorithms/decision-transformer.js +415 -0
  23. package/src/algorithms/decision-transformer.js.map +1 -0
  24. package/src/algorithms/decision-transformer.ts +521 -0
  25. package/src/algorithms/dqn.d.ts +72 -0
  26. package/src/algorithms/dqn.d.ts.map +1 -0
  27. package/src/algorithms/dqn.js +303 -0
  28. package/src/algorithms/dqn.js.map +1 -0
  29. package/src/algorithms/dqn.ts +382 -0
  30. package/src/algorithms/index.d.ts +32 -0
  31. package/src/algorithms/index.d.ts.map +1 -0
  32. package/src/algorithms/index.js +74 -0
  33. package/src/algorithms/index.js.map +1 -0
  34. package/src/algorithms/index.ts +122 -0
  35. package/src/algorithms/ppo.d.ts +72 -0
  36. package/src/algorithms/ppo.d.ts.map +1 -0
  37. package/src/algorithms/ppo.js +331 -0
  38. package/src/algorithms/ppo.js.map +1 -0
  39. package/src/algorithms/ppo.ts +429 -0
  40. package/src/algorithms/q-learning.d.ts +77 -0
  41. package/src/algorithms/q-learning.d.ts.map +1 -0
  42. package/src/algorithms/q-learning.js +259 -0
  43. package/src/algorithms/q-learning.js.map +1 -0
  44. package/src/algorithms/q-learning.ts +333 -0
  45. package/src/algorithms/sarsa.d.ts +82 -0
  46. package/src/algorithms/sarsa.d.ts.map +1 -0
  47. package/src/algorithms/sarsa.js +297 -0
  48. package/src/algorithms/sarsa.js.map +1 -0
  49. package/src/algorithms/sarsa.ts +383 -0
  50. package/src/algorithms/tmp.json +0 -0
  51. package/src/application/index.ts +11 -0
  52. package/src/application/services/neural-application-service.ts +217 -0
  53. package/src/domain/entities/pattern.ts +169 -0
  54. package/src/domain/index.ts +18 -0
  55. package/src/domain/services/learning-service.ts +256 -0
  56. package/src/index.d.ts +118 -0
  57. package/src/index.d.ts.map +1 -0
  58. package/src/index.js +201 -0
  59. package/src/index.js.map +1 -0
  60. package/src/index.ts +363 -0
  61. package/src/modes/balanced.d.ts +60 -0
  62. package/src/modes/balanced.d.ts.map +1 -0
  63. package/src/modes/balanced.js +234 -0
  64. package/src/modes/balanced.js.map +1 -0
  65. package/src/modes/balanced.ts +299 -0
  66. package/src/modes/base.ts +163 -0
  67. package/src/modes/batch.d.ts +82 -0
  68. package/src/modes/batch.d.ts.map +1 -0
  69. package/src/modes/batch.js +316 -0
  70. package/src/modes/batch.js.map +1 -0
  71. package/src/modes/batch.ts +434 -0
  72. package/src/modes/edge.d.ts +85 -0
  73. package/src/modes/edge.d.ts.map +1 -0
  74. package/src/modes/edge.js +310 -0
  75. package/src/modes/edge.js.map +1 -0
  76. package/src/modes/edge.ts +409 -0
  77. package/src/modes/index.d.ts +55 -0
  78. package/src/modes/index.d.ts.map +1 -0
  79. package/src/modes/index.js +83 -0
  80. package/src/modes/index.js.map +1 -0
  81. package/src/modes/index.ts +16 -0
  82. package/src/modes/real-time.d.ts +58 -0
  83. package/src/modes/real-time.d.ts.map +1 -0
  84. package/src/modes/real-time.js +196 -0
  85. package/src/modes/real-time.js.map +1 -0
  86. package/src/modes/real-time.ts +257 -0
  87. package/src/modes/research.d.ts +79 -0
  88. package/src/modes/research.d.ts.map +1 -0
  89. package/src/modes/research.js +389 -0
  90. package/src/modes/research.js.map +1 -0
  91. package/src/modes/research.ts +486 -0
  92. package/src/modes/tmp.json +0 -0
  93. package/src/pattern-learner.d.ts +117 -0
  94. package/src/pattern-learner.d.ts.map +1 -0
  95. package/src/pattern-learner.js +603 -0
  96. package/src/pattern-learner.js.map +1 -0
  97. package/src/pattern-learner.ts +757 -0
  98. package/src/reasoning-bank.d.ts +259 -0
  99. package/src/reasoning-bank.d.ts.map +1 -0
  100. package/src/reasoning-bank.js +993 -0
  101. package/src/reasoning-bank.js.map +1 -0
  102. package/src/reasoning-bank.ts +1279 -0
  103. package/src/reasoningbank-adapter.ts +697 -0
  104. package/src/sona-integration.d.ts +168 -0
  105. package/src/sona-integration.d.ts.map +1 -0
  106. package/src/sona-integration.js +316 -0
  107. package/src/sona-integration.js.map +1 -0
  108. package/src/sona-integration.ts +432 -0
  109. package/src/sona-manager.d.ts +147 -0
  110. package/src/sona-manager.d.ts.map +1 -0
  111. package/src/sona-manager.js +695 -0
  112. package/src/sona-manager.js.map +1 -0
  113. package/src/sona-manager.ts +835 -0
  114. package/src/tmp.json +0 -0
  115. package/src/types.d.ts +431 -0
  116. package/src/types.d.ts.map +1 -0
  117. package/src/types.js +11 -0
  118. package/src/types.js.map +1 -0
  119. package/src/types.ts +590 -0
  120. package/tmp.json +0 -0
  121. package/tsconfig.json +9 -0
  122. package/vitest.config.ts +19 -0
@@ -0,0 +1,432 @@
1
+ /**
2
+ * SONA Integration for V3 Neural Module
3
+ *
4
+ * Wraps @ruvector/sona package for V3 usage with:
5
+ * - Trajectory tracking and verdict judgment
6
+ * - Pattern extraction and memory distillation
7
+ * - Sub-0.05ms learning performance target
8
+ * - Clean TypeScript API with proper types
9
+ *
10
+ * @module sona-integration
11
+ */
12
+
13
+ import { SonaEngine, type JsSonaConfig, type JsLearnedPattern } from '@ruvector/sona';
14
+ import type {
15
+ Trajectory,
16
+ TrajectoryStep,
17
+ TrajectoryVerdict,
18
+ DistilledMemory,
19
+ SONAMode,
20
+ SONAModeConfig,
21
+ } from './types.js';
22
+
23
+ // =============================================================================
24
+ // Types
25
+ // =============================================================================
26
+
27
+ /**
28
+ * Context for SONA learning adaptation
29
+ */
30
+ export interface Context {
31
+ /** Task domain */
32
+ domain: 'code' | 'creative' | 'reasoning' | 'chat' | 'math' | 'general';
33
+ /** Current query embedding */
34
+ queryEmbedding: Float32Array;
35
+ /** Additional context metadata */
36
+ metadata?: Record<string, unknown>;
37
+ }
38
+
39
+ /**
40
+ * Adapted behavior result from SONA
41
+ */
42
+ export interface AdaptedBehavior {
43
+ /** Transformed query embedding after micro-LoRA */
44
+ transformedQuery: Float32Array;
45
+ /** Similar learned patterns */
46
+ patterns: JsLearnedPattern[];
47
+ /** Suggested route/model */
48
+ suggestedRoute?: string;
49
+ /** Confidence score */
50
+ confidence: number;
51
+ }
52
+
53
+ /**
54
+ * SONA engine statistics
55
+ */
56
+ export interface SONAStats {
57
+ /** Total trajectories recorded */
58
+ totalTrajectories: number;
59
+ /** Patterns learned */
60
+ patternsLearned: number;
61
+ /** Average quality */
62
+ avgQuality: number;
63
+ /** Last learning time (ms) */
64
+ lastLearningMs: number;
65
+ /** Engine enabled state */
66
+ enabled: boolean;
67
+ }
68
+
69
+ // =============================================================================
70
+ // Mode Configuration Mapping
71
+ // =============================================================================
72
+
73
+ /**
74
+ * Convert V3 SONA mode to @ruvector/sona config
75
+ */
76
+ function modeToConfig(mode: SONAMode, modeConfig: SONAModeConfig): JsSonaConfig {
77
+ const baseConfig: JsSonaConfig = {
78
+ hiddenDim: 768, // Standard transformer dimension
79
+ embeddingDim: 768,
80
+ microLoraRank: modeConfig.loraRank <= 2 ? modeConfig.loraRank : 1,
81
+ baseLoraRank: modeConfig.loraRank,
82
+ microLoraLr: modeConfig.learningRate,
83
+ baseLoraLr: modeConfig.learningRate * 0.1,
84
+ ewcLambda: modeConfig.ewcLambda,
85
+ patternClusters: modeConfig.patternClusters,
86
+ trajectoryCapacity: modeConfig.trajectoryCapacity,
87
+ qualityThreshold: modeConfig.qualityThreshold,
88
+ enableSimd: true,
89
+ };
90
+
91
+ // Mode-specific adjustments
92
+ switch (mode) {
93
+ case 'real-time':
94
+ return {
95
+ ...baseConfig,
96
+ microLoraRank: 1,
97
+ backgroundIntervalMs: 60000, // 1 minute
98
+ };
99
+ case 'edge':
100
+ return {
101
+ ...baseConfig,
102
+ hiddenDim: 384, // Smaller for edge devices
103
+ embeddingDim: 384,
104
+ microLoraRank: 1,
105
+ patternClusters: 25,
106
+ backgroundIntervalMs: 300000, // 5 minutes
107
+ };
108
+ case 'research':
109
+ return {
110
+ ...baseConfig,
111
+ baseLoraRank: 16,
112
+ backgroundIntervalMs: 3600000, // 1 hour
113
+ };
114
+ case 'batch':
115
+ return {
116
+ ...baseConfig,
117
+ backgroundIntervalMs: 7200000, // 2 hours
118
+ };
119
+ case 'balanced':
120
+ default:
121
+ return {
122
+ ...baseConfig,
123
+ backgroundIntervalMs: 1800000, // 30 minutes
124
+ };
125
+ }
126
+ }
127
+
128
+ // =============================================================================
129
+ // SONA Learning Engine
130
+ // =============================================================================
131
+
132
+ /**
133
+ * SONA Learning Engine - wraps @ruvector/sona for V3 usage
134
+ *
135
+ * Performance targets:
136
+ * - learn(): <0.05ms
137
+ * - adapt(): <0.1ms
138
+ * - Full learning cycle: <10ms
139
+ */
140
+ export class SONALearningEngine {
141
+ private engine: SonaEngine;
142
+ private trajectoryMap: Map<string, number> = new Map();
143
+ private adaptationTimeMs: number = 0;
144
+ private learningTimeMs: number = 0;
145
+ private mode: SONAMode;
146
+ private modeConfig: SONAModeConfig;
147
+
148
+ constructor(mode: SONAMode, modeConfig: SONAModeConfig) {
149
+ this.mode = mode;
150
+ this.modeConfig = modeConfig;
151
+ const config = modeToConfig(mode, modeConfig);
152
+ this.engine = SonaEngine.withConfig(config);
153
+ }
154
+
155
+ /**
156
+ * Learn from a trajectory
157
+ *
158
+ * Performance target: <0.05ms
159
+ *
160
+ * @param trajectory - Trajectory to learn from
161
+ */
162
+ async learn(trajectory: Trajectory): Promise<void> {
163
+ const startTime = performance.now();
164
+
165
+ try {
166
+ // Begin trajectory recording
167
+ const queryEmbedding = this.trajectoryToQueryEmbedding(trajectory);
168
+ const trajectoryId = this.engine.beginTrajectory(
169
+ Array.from(queryEmbedding)
170
+ );
171
+
172
+ // Add trajectory steps
173
+ for (const step of trajectory.steps) {
174
+ const activations = this.stateToActivations(step.stateBefore);
175
+ const attentionWeights = this.stateToAttentionWeights(step.stateAfter);
176
+
177
+ this.engine.addTrajectoryStep(
178
+ trajectoryId,
179
+ Array.from(activations),
180
+ Array.from(attentionWeights),
181
+ step.reward
182
+ );
183
+ }
184
+
185
+ // Set context if available
186
+ if (trajectory.domain) {
187
+ this.engine.addTrajectoryContext(trajectoryId, trajectory.domain);
188
+ }
189
+
190
+ // Complete trajectory with quality score
191
+ const quality = this.calculateQuality(trajectory);
192
+ this.engine.endTrajectory(trajectoryId, quality);
193
+
194
+ // Flush instant updates
195
+ this.engine.flush();
196
+
197
+ this.learningTimeMs = performance.now() - startTime;
198
+ } catch (error) {
199
+ throw new Error(`SONA learning failed: ${error}`);
200
+ }
201
+ }
202
+
203
+ /**
204
+ * Adapt behavior based on context
205
+ *
206
+ * @param context - Current context for adaptation
207
+ * @returns Adapted behavior with transformed embeddings
208
+ */
209
+ async adapt(context: Context): Promise<AdaptedBehavior> {
210
+ const startTime = performance.now();
211
+
212
+ try {
213
+ // Apply micro-LoRA transformation
214
+ const transformedQuery = this.engine.applyMicroLora(
215
+ Array.from(context.queryEmbedding)
216
+ );
217
+
218
+ // Find similar patterns
219
+ const patterns = this.engine.findPatterns(
220
+ Array.from(context.queryEmbedding),
221
+ 5
222
+ );
223
+
224
+ // Determine suggested route from patterns
225
+ const suggestedRoute = this.inferRoute(patterns, context);
226
+ const confidence = patterns.length > 0 ? patterns[0].avgQuality : 0.5;
227
+
228
+ this.adaptationTimeMs = performance.now() - startTime;
229
+
230
+ return {
231
+ transformedQuery: new Float32Array(transformedQuery),
232
+ patterns,
233
+ suggestedRoute,
234
+ confidence,
235
+ };
236
+ } catch (error) {
237
+ throw new Error(`SONA adaptation failed: ${error}`);
238
+ }
239
+ }
240
+
241
+ /**
242
+ * Get last adaptation time
243
+ *
244
+ * @returns Adaptation time in milliseconds
245
+ */
246
+ getAdaptationTime(): number {
247
+ return this.adaptationTimeMs;
248
+ }
249
+
250
+ /**
251
+ * Get last learning time
252
+ *
253
+ * @returns Learning time in milliseconds
254
+ */
255
+ getLearningTime(): number {
256
+ return this.learningTimeMs;
257
+ }
258
+
259
+ /**
260
+ * Reset learning state
261
+ */
262
+ resetLearning(): void {
263
+ // Create a new engine with the same config
264
+ const config = modeToConfig(this.mode, this.modeConfig);
265
+ this.engine = SonaEngine.withConfig(config);
266
+ this.trajectoryMap.clear();
267
+ this.adaptationTimeMs = 0;
268
+ this.learningTimeMs = 0;
269
+ }
270
+
271
+ /**
272
+ * Force immediate learning cycle
273
+ *
274
+ * @returns Status message
275
+ */
276
+ forceLearning(): string {
277
+ return this.engine.forceLearn();
278
+ }
279
+
280
+ /**
281
+ * Tick background learning (call periodically)
282
+ *
283
+ * @returns Status message if learning occurred
284
+ */
285
+ tick(): string | null {
286
+ return this.engine.tick();
287
+ }
288
+
289
+ /**
290
+ * Get engine statistics
291
+ *
292
+ * @returns SONA engine statistics
293
+ */
294
+ getStats(): SONAStats {
295
+ const statsJson = this.engine.getStats();
296
+ const stats = JSON.parse(statsJson);
297
+
298
+ return {
299
+ totalTrajectories: stats.total_trajectories || 0,
300
+ patternsLearned: stats.patterns_learned || 0,
301
+ avgQuality: stats.avg_quality || 0,
302
+ lastLearningMs: this.learningTimeMs,
303
+ enabled: this.engine.isEnabled(),
304
+ };
305
+ }
306
+
307
+ /**
308
+ * Enable or disable the engine
309
+ *
310
+ * @param enabled - Whether to enable the engine
311
+ */
312
+ setEnabled(enabled: boolean): void {
313
+ this.engine.setEnabled(enabled);
314
+ }
315
+
316
+ /**
317
+ * Check if engine is enabled
318
+ *
319
+ * @returns Whether the engine is enabled
320
+ */
321
+ isEnabled(): boolean {
322
+ return this.engine.isEnabled();
323
+ }
324
+
325
+ /**
326
+ * Find learned patterns similar to query
327
+ *
328
+ * @param queryEmbedding - Query embedding
329
+ * @param k - Number of patterns to return
330
+ * @returns Learned patterns
331
+ */
332
+ findPatterns(queryEmbedding: Float32Array, k: number = 5): JsLearnedPattern[] {
333
+ return this.engine.findPatterns(Array.from(queryEmbedding), k);
334
+ }
335
+
336
+ // =============================================================================
337
+ // Private Helpers
338
+ // =============================================================================
339
+
340
+ /**
341
+ * Convert trajectory to query embedding
342
+ */
343
+ private trajectoryToQueryEmbedding(trajectory: Trajectory): Float32Array {
344
+ // Use the first step's state as query
345
+ if (trajectory.steps.length > 0) {
346
+ return trajectory.steps[0].stateBefore;
347
+ }
348
+ // Fallback to zero embedding
349
+ return new Float32Array(768);
350
+ }
351
+
352
+ /**
353
+ * Convert state embedding to activations
354
+ */
355
+ private stateToActivations(state: Float32Array): Float32Array {
356
+ // For now, use state directly as activations
357
+ // In a real implementation, this would extract layer activations
358
+ return state;
359
+ }
360
+
361
+ /**
362
+ * Convert state embedding to attention weights
363
+ */
364
+ private stateToAttentionWeights(state: Float32Array): Float32Array {
365
+ // For now, use normalized state as attention weights
366
+ // In a real implementation, this would extract attention patterns
367
+ const sum = state.reduce((acc, val) => acc + Math.abs(val), 0);
368
+ if (sum === 0) return state;
369
+
370
+ const weights = new Float32Array(state.length);
371
+ for (let i = 0; i < state.length; i++) {
372
+ weights[i] = Math.abs(state[i]) / sum;
373
+ }
374
+ return weights;
375
+ }
376
+
377
+ /**
378
+ * Calculate quality score for trajectory
379
+ */
380
+ private calculateQuality(trajectory: Trajectory): number {
381
+ if (trajectory.qualityScore !== undefined) {
382
+ return trajectory.qualityScore;
383
+ }
384
+
385
+ // Calculate from steps
386
+ if (trajectory.steps.length === 0) return 0.5;
387
+
388
+ const avgReward = trajectory.steps.reduce((sum, step) => sum + step.reward, 0) /
389
+ trajectory.steps.length;
390
+
391
+ // Normalize to [0, 1]
392
+ return Math.max(0, Math.min(1, (avgReward + 1) / 2));
393
+ }
394
+
395
+ /**
396
+ * Infer suggested route from patterns and context
397
+ */
398
+ private inferRoute(patterns: JsLearnedPattern[], context: Context): string | undefined {
399
+ if (patterns.length === 0) return undefined;
400
+
401
+ // Use the highest quality pattern's type as route
402
+ const bestPattern = patterns.reduce((best, pattern) =>
403
+ pattern.avgQuality > best.avgQuality ? pattern : best
404
+ );
405
+
406
+ return bestPattern.patternType || `${context.domain}-default`;
407
+ }
408
+ }
409
+
410
+ // =============================================================================
411
+ // Factory Functions
412
+ // =============================================================================
413
+
414
+ /**
415
+ * Create a SONA learning engine
416
+ *
417
+ * @param mode - SONA learning mode
418
+ * @param modeConfig - Mode configuration
419
+ * @returns SONA learning engine instance
420
+ */
421
+ export function createSONALearningEngine(
422
+ mode: SONAMode,
423
+ modeConfig: SONAModeConfig
424
+ ): SONALearningEngine {
425
+ return new SONALearningEngine(mode, modeConfig);
426
+ }
427
+
428
+ // =============================================================================
429
+ // Exports
430
+ // =============================================================================
431
+
432
+ export type { JsLearnedPattern, JsSonaConfig };
@@ -0,0 +1,147 @@
1
+ /**
2
+ * SONA Manager - Self-Optimizing Neural Architecture
3
+ *
4
+ * Manages learning modes and provides adaptive optimization for agent tasks.
5
+ *
6
+ * Performance Targets:
7
+ * - Adaptation: <0.05ms
8
+ * - Pattern retrieval: <1ms
9
+ * - Learning step: <10ms
10
+ *
11
+ * Supported Modes:
12
+ * - real-time: Sub-millisecond adaptation (2200 ops/sec)
13
+ * - balanced: General purpose (+25% quality)
14
+ * - research: Deep exploration (+55% quality)
15
+ * - edge: Resource-constrained (<5MB)
16
+ * - batch: High-throughput processing
17
+ */
18
+ import type { SONAMode, SONAModeConfig, ModeOptimizations, Trajectory, Pattern, PatternMatch, NeuralStats, NeuralEventListener, LoRAConfig, LoRAWeights, EWCConfig } from './types.js';
19
+ /**
20
+ * SONA Manager - Main orchestrator for neural learning
21
+ */
22
+ export declare class SONAManager {
23
+ private currentMode;
24
+ private config;
25
+ private optimizations;
26
+ private modeImpl;
27
+ private trajectories;
28
+ private patterns;
29
+ private loraWeights;
30
+ private ewcState;
31
+ private eventListeners;
32
+ private stats;
33
+ private isInitialized;
34
+ private operationCount;
35
+ private totalLatencyMs;
36
+ private learningCycles;
37
+ private lastStatsUpdate;
38
+ constructor(mode?: SONAMode);
39
+ /**
40
+ * Initialize the SONA manager
41
+ */
42
+ initialize(): Promise<void>;
43
+ /**
44
+ * Change the current learning mode
45
+ */
46
+ setMode(mode: SONAMode): Promise<void>;
47
+ /**
48
+ * Get current mode and configuration
49
+ */
50
+ getConfig(): {
51
+ mode: SONAMode;
52
+ config: SONAModeConfig;
53
+ optimizations: ModeOptimizations;
54
+ };
55
+ /**
56
+ * Begin a new trajectory for a task
57
+ */
58
+ beginTrajectory(context: string, domain?: Trajectory['domain']): string;
59
+ /**
60
+ * Record a step in a trajectory
61
+ */
62
+ recordStep(trajectoryId: string, action: string, reward: number, stateEmbedding: Float32Array, metadata?: Record<string, unknown>): void;
63
+ /**
64
+ * Complete a trajectory
65
+ */
66
+ completeTrajectory(trajectoryId: string, finalQuality?: number): Trajectory | null;
67
+ /**
68
+ * Get a trajectory by ID
69
+ */
70
+ getTrajectory(trajectoryId: string): Trajectory | undefined;
71
+ /**
72
+ * Find similar patterns for a given context (k=3 optimal)
73
+ */
74
+ findSimilarPatterns(embedding: Float32Array, k?: number): Promise<PatternMatch[]>;
75
+ /**
76
+ * Store a new pattern
77
+ */
78
+ storePattern(pattern: Omit<Pattern, 'patternId' | 'createdAt' | 'updatedAt'>): Pattern;
79
+ /**
80
+ * Update pattern based on usage
81
+ */
82
+ updatePatternUsage(patternId: string, quality: number): void;
83
+ /**
84
+ * Trigger a learning cycle
85
+ */
86
+ triggerLearning(reason?: string): Promise<void>;
87
+ /**
88
+ * Apply learned adaptations to processing
89
+ */
90
+ applyAdaptations(input: Float32Array, domain?: string): Promise<Float32Array>;
91
+ /**
92
+ * Get LoRA configuration for current mode
93
+ */
94
+ getLoRAConfig(): LoRAConfig;
95
+ /**
96
+ * Initialize LoRA weights for a domain
97
+ */
98
+ initializeLoRAWeights(domain?: string): LoRAWeights;
99
+ /**
100
+ * Get EWC configuration
101
+ */
102
+ getEWCConfig(): EWCConfig;
103
+ /**
104
+ * Consolidate EWC after learning a new task
105
+ */
106
+ consolidateEWC(): void;
107
+ /**
108
+ * Get current neural system statistics
109
+ */
110
+ getStats(): NeuralStats;
111
+ /**
112
+ * Add an event listener
113
+ */
114
+ addEventListener(listener: NeuralEventListener): void;
115
+ /**
116
+ * Remove an event listener
117
+ */
118
+ removeEventListener(listener: NeuralEventListener): void;
119
+ /**
120
+ * Cleanup resources
121
+ */
122
+ cleanup(): Promise<void>;
123
+ private createModeImplementation;
124
+ private calculateQualityScore;
125
+ private checkLearningTrigger;
126
+ private pruneTrajectories;
127
+ private trackLatency;
128
+ private emitEvent;
129
+ private createInitialStats;
130
+ private updateStats;
131
+ private estimateMemoryUsage;
132
+ private estimateTrajectoryBytes;
133
+ private estimatePatternBytes;
134
+ }
135
+ /**
136
+ * Factory function for creating SONA manager
137
+ */
138
+ export declare function createSONAManager(mode?: SONAMode): SONAManager;
139
+ /**
140
+ * Get default configuration for a mode
141
+ */
142
+ export declare function getModeConfig(mode: SONAMode): SONAModeConfig;
143
+ /**
144
+ * Get optimizations for a mode
145
+ */
146
+ export declare function getModeOptimizations(mode: SONAMode): ModeOptimizations;
147
+ //# sourceMappingURL=sona-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sona-manager.d.ts","sourceRoot":"","sources":["sona-manager.ts"],"names":[],"mappings":"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"}