@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.
- package/README.md +260 -0
- package/__tests__/README.md +235 -0
- package/__tests__/algorithms.test.ts +582 -0
- package/__tests__/patterns.test.ts +549 -0
- package/__tests__/sona.test.ts +445 -0
- package/docs/SONA_INTEGRATION.md +460 -0
- package/docs/SONA_QUICKSTART.md +168 -0
- package/examples/sona-usage.ts +318 -0
- package/package.json +23 -0
- package/src/algorithms/a2c.d.ts +86 -0
- package/src/algorithms/a2c.d.ts.map +1 -0
- package/src/algorithms/a2c.js +361 -0
- package/src/algorithms/a2c.js.map +1 -0
- package/src/algorithms/a2c.ts +478 -0
- package/src/algorithms/curiosity.d.ts +82 -0
- package/src/algorithms/curiosity.d.ts.map +1 -0
- package/src/algorithms/curiosity.js +392 -0
- package/src/algorithms/curiosity.js.map +1 -0
- package/src/algorithms/curiosity.ts +509 -0
- package/src/algorithms/decision-transformer.d.ts +82 -0
- package/src/algorithms/decision-transformer.d.ts.map +1 -0
- package/src/algorithms/decision-transformer.js +415 -0
- package/src/algorithms/decision-transformer.js.map +1 -0
- package/src/algorithms/decision-transformer.ts +521 -0
- package/src/algorithms/dqn.d.ts +72 -0
- package/src/algorithms/dqn.d.ts.map +1 -0
- package/src/algorithms/dqn.js +303 -0
- package/src/algorithms/dqn.js.map +1 -0
- package/src/algorithms/dqn.ts +382 -0
- package/src/algorithms/index.d.ts +32 -0
- package/src/algorithms/index.d.ts.map +1 -0
- package/src/algorithms/index.js +74 -0
- package/src/algorithms/index.js.map +1 -0
- package/src/algorithms/index.ts +122 -0
- package/src/algorithms/ppo.d.ts +72 -0
- package/src/algorithms/ppo.d.ts.map +1 -0
- package/src/algorithms/ppo.js +331 -0
- package/src/algorithms/ppo.js.map +1 -0
- package/src/algorithms/ppo.ts +429 -0
- package/src/algorithms/q-learning.d.ts +77 -0
- package/src/algorithms/q-learning.d.ts.map +1 -0
- package/src/algorithms/q-learning.js +259 -0
- package/src/algorithms/q-learning.js.map +1 -0
- package/src/algorithms/q-learning.ts +333 -0
- package/src/algorithms/sarsa.d.ts +82 -0
- package/src/algorithms/sarsa.d.ts.map +1 -0
- package/src/algorithms/sarsa.js +297 -0
- package/src/algorithms/sarsa.js.map +1 -0
- package/src/algorithms/sarsa.ts +383 -0
- package/src/algorithms/tmp.json +0 -0
- package/src/application/index.ts +11 -0
- package/src/application/services/neural-application-service.ts +217 -0
- package/src/domain/entities/pattern.ts +169 -0
- package/src/domain/index.ts +18 -0
- package/src/domain/services/learning-service.ts +256 -0
- package/src/index.d.ts +118 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +201 -0
- package/src/index.js.map +1 -0
- package/src/index.ts +363 -0
- package/src/modes/balanced.d.ts +60 -0
- package/src/modes/balanced.d.ts.map +1 -0
- package/src/modes/balanced.js +234 -0
- package/src/modes/balanced.js.map +1 -0
- package/src/modes/balanced.ts +299 -0
- package/src/modes/base.ts +163 -0
- package/src/modes/batch.d.ts +82 -0
- package/src/modes/batch.d.ts.map +1 -0
- package/src/modes/batch.js +316 -0
- package/src/modes/batch.js.map +1 -0
- package/src/modes/batch.ts +434 -0
- package/src/modes/edge.d.ts +85 -0
- package/src/modes/edge.d.ts.map +1 -0
- package/src/modes/edge.js +310 -0
- package/src/modes/edge.js.map +1 -0
- package/src/modes/edge.ts +409 -0
- package/src/modes/index.d.ts +55 -0
- package/src/modes/index.d.ts.map +1 -0
- package/src/modes/index.js +83 -0
- package/src/modes/index.js.map +1 -0
- package/src/modes/index.ts +16 -0
- package/src/modes/real-time.d.ts +58 -0
- package/src/modes/real-time.d.ts.map +1 -0
- package/src/modes/real-time.js +196 -0
- package/src/modes/real-time.js.map +1 -0
- package/src/modes/real-time.ts +257 -0
- package/src/modes/research.d.ts +79 -0
- package/src/modes/research.d.ts.map +1 -0
- package/src/modes/research.js +389 -0
- package/src/modes/research.js.map +1 -0
- package/src/modes/research.ts +486 -0
- package/src/modes/tmp.json +0 -0
- package/src/pattern-learner.d.ts +117 -0
- package/src/pattern-learner.d.ts.map +1 -0
- package/src/pattern-learner.js +603 -0
- package/src/pattern-learner.js.map +1 -0
- package/src/pattern-learner.ts +757 -0
- package/src/reasoning-bank.d.ts +259 -0
- package/src/reasoning-bank.d.ts.map +1 -0
- package/src/reasoning-bank.js +993 -0
- package/src/reasoning-bank.js.map +1 -0
- package/src/reasoning-bank.ts +1279 -0
- package/src/reasoningbank-adapter.ts +697 -0
- package/src/sona-integration.d.ts +168 -0
- package/src/sona-integration.d.ts.map +1 -0
- package/src/sona-integration.js +316 -0
- package/src/sona-integration.js.map +1 -0
- package/src/sona-integration.ts +432 -0
- package/src/sona-manager.d.ts +147 -0
- package/src/sona-manager.d.ts.map +1 -0
- package/src/sona-manager.js +695 -0
- package/src/sona-manager.js.map +1 -0
- package/src/sona-manager.ts +835 -0
- package/src/tmp.json +0 -0
- package/src/types.d.ts +431 -0
- package/src/types.d.ts.map +1 -0
- package/src/types.js +11 -0
- package/src/types.js.map +1 -0
- package/src/types.ts +590 -0
- package/tmp.json +0 -0
- package/tsconfig.json +9 -0
- package/vitest.config.ts +19 -0
package/src/index.d.ts
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Neural/Learning System
|
|
3
|
+
*
|
|
4
|
+
* Complete neural learning module with SONA learning modes,
|
|
5
|
+
* ReasoningBank integration, pattern learning, and RL algorithms.
|
|
6
|
+
*
|
|
7
|
+
* Performance Targets:
|
|
8
|
+
* - SONA adaptation: <0.05ms
|
|
9
|
+
* - Pattern matching: <1ms
|
|
10
|
+
* - Learning step: <10ms
|
|
11
|
+
*
|
|
12
|
+
* @module @sparkleideas/neural
|
|
13
|
+
*/
|
|
14
|
+
export type { SONAMode, SONAModeConfig, ModeOptimizations, Trajectory, TrajectoryStep, TrajectoryVerdict, DistilledMemory, Pattern, PatternMatch, PatternEvolution, RLAlgorithm, RLConfig, PPOConfig, DQNConfig, DecisionTransformerConfig, CuriosityConfig, LoRAConfig, LoRAWeights, EWCConfig, EWCState, NeuralStats, NeuralEvent, NeuralEventListener, } from './types.js';
|
|
15
|
+
export { SONAManager, createSONAManager, getModeConfig, getModeOptimizations, } from './sona-manager.js';
|
|
16
|
+
export type { ModeImplementation } from './modes/index.js';
|
|
17
|
+
export { BaseModeImplementation, RealTimeMode, BalancedMode, ResearchMode, EdgeMode, BatchMode, } from './modes/index.js';
|
|
18
|
+
export { SONALearningEngine, createSONALearningEngine, } from './sona-integration.js';
|
|
19
|
+
export type { Context, AdaptedBehavior, SONAStats, JsLearnedPattern, JsSonaConfig, } from './sona-integration.js';
|
|
20
|
+
export { ReasoningBank, createReasoningBank, createInitializedReasoningBank, } from './reasoning-bank.js';
|
|
21
|
+
export type { ReasoningBankConfig, RetrievalResult, ConsolidationResult, } from './reasoning-bank.js';
|
|
22
|
+
export { PatternLearner, createPatternLearner, } from './pattern-learner.js';
|
|
23
|
+
export type { PatternLearnerConfig } from './pattern-learner.js';
|
|
24
|
+
export { PPOAlgorithm, createPPO, DEFAULT_PPO_CONFIG, DQNAlgorithm, createDQN, DEFAULT_DQN_CONFIG, A2CAlgorithm, createA2C, DEFAULT_A2C_CONFIG, DecisionTransformer, createDecisionTransformer, DEFAULT_DT_CONFIG, QLearning, createQLearning, DEFAULT_QLEARNING_CONFIG, SARSAAlgorithm, createSARSA, DEFAULT_SARSA_CONFIG, CuriosityModule, createCuriosity, DEFAULT_CURIOSITY_CONFIG, createAlgorithm, getDefaultConfig, } from './algorithms/index.js';
|
|
25
|
+
export type { A2CConfig, QLearningConfig, SARSAConfig, } from './algorithms/index.js';
|
|
26
|
+
import { SONAManager, createSONAManager } from './sona-manager.js';
|
|
27
|
+
import { ReasoningBank, createReasoningBank } from './reasoning-bank.js';
|
|
28
|
+
import { PatternLearner, createPatternLearner } from './pattern-learner.js';
|
|
29
|
+
import { SONALearningEngine, createSONALearningEngine } from './sona-integration.js';
|
|
30
|
+
import type { SONAMode, NeuralEventListener } from './types.js';
|
|
31
|
+
/**
|
|
32
|
+
* Neural Learning System - Complete integrated learning module
|
|
33
|
+
*/
|
|
34
|
+
export declare class NeuralLearningSystem {
|
|
35
|
+
private sona;
|
|
36
|
+
private reasoningBank;
|
|
37
|
+
private patternLearner;
|
|
38
|
+
private initialized;
|
|
39
|
+
constructor(mode?: SONAMode);
|
|
40
|
+
/**
|
|
41
|
+
* Initialize the learning system
|
|
42
|
+
*/
|
|
43
|
+
initialize(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Get SONA manager
|
|
46
|
+
*/
|
|
47
|
+
getSONAManager(): SONAManager;
|
|
48
|
+
/**
|
|
49
|
+
* Get ReasoningBank
|
|
50
|
+
*/
|
|
51
|
+
getReasoningBank(): ReasoningBank;
|
|
52
|
+
/**
|
|
53
|
+
* Get Pattern Learner
|
|
54
|
+
*/
|
|
55
|
+
getPatternLearner(): PatternLearner;
|
|
56
|
+
/**
|
|
57
|
+
* Change learning mode
|
|
58
|
+
*/
|
|
59
|
+
setMode(mode: SONAMode): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Begin tracking a task
|
|
62
|
+
*/
|
|
63
|
+
beginTask(context: string, domain?: 'code' | 'creative' | 'reasoning' | 'chat' | 'math' | 'general'): string;
|
|
64
|
+
/**
|
|
65
|
+
* Record a step in the current task
|
|
66
|
+
*/
|
|
67
|
+
recordStep(trajectoryId: string, action: string, reward: number, stateEmbedding: Float32Array): void;
|
|
68
|
+
/**
|
|
69
|
+
* Complete a task and trigger learning
|
|
70
|
+
*/
|
|
71
|
+
completeTask(trajectoryId: string, quality?: number): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Find similar patterns for a task
|
|
74
|
+
*/
|
|
75
|
+
findPatterns(queryEmbedding: Float32Array, k?: number): Promise<import('./types.js').PatternMatch[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Retrieve relevant memories
|
|
78
|
+
*/
|
|
79
|
+
retrieveMemories(queryEmbedding: Float32Array, k?: number): Promise<import('./reasoning-bank.js').RetrievalResult[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Trigger learning cycle
|
|
82
|
+
*/
|
|
83
|
+
triggerLearning(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Get comprehensive statistics
|
|
86
|
+
*/
|
|
87
|
+
getStats(): {
|
|
88
|
+
sona: import('./types.js').NeuralStats;
|
|
89
|
+
reasoningBank: Record<string, number>;
|
|
90
|
+
patternLearner: Record<string, number>;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Add event listener
|
|
94
|
+
*/
|
|
95
|
+
addEventListener(listener: NeuralEventListener): void;
|
|
96
|
+
/**
|
|
97
|
+
* Cleanup resources
|
|
98
|
+
*/
|
|
99
|
+
cleanup(): Promise<void>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Create a complete neural learning system
|
|
103
|
+
*/
|
|
104
|
+
export declare function createNeuralLearningSystem(mode?: SONAMode): NeuralLearningSystem;
|
|
105
|
+
declare const _default: {
|
|
106
|
+
createSONAManager: typeof createSONAManager;
|
|
107
|
+
createReasoningBank: typeof createReasoningBank;
|
|
108
|
+
createPatternLearner: typeof createPatternLearner;
|
|
109
|
+
createNeuralLearningSystem: typeof createNeuralLearningSystem;
|
|
110
|
+
createSONALearningEngine: typeof createSONALearningEngine;
|
|
111
|
+
SONAManager: typeof SONAManager;
|
|
112
|
+
ReasoningBank: typeof ReasoningBank;
|
|
113
|
+
PatternLearner: typeof PatternLearner;
|
|
114
|
+
NeuralLearningSystem: typeof NeuralLearningSystem;
|
|
115
|
+
SONALearningEngine: typeof SONALearningEngine;
|
|
116
|
+
};
|
|
117
|
+
export default _default;
|
|
118
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Neural/Learning System
|
|
3
|
+
*
|
|
4
|
+
* Complete neural learning module with SONA learning modes,
|
|
5
|
+
* ReasoningBank integration, pattern learning, and RL algorithms.
|
|
6
|
+
*
|
|
7
|
+
* Performance Targets:
|
|
8
|
+
* - SONA adaptation: <0.05ms
|
|
9
|
+
* - Pattern matching: <1ms
|
|
10
|
+
* - Learning step: <10ms
|
|
11
|
+
*
|
|
12
|
+
* @module @sparkleideas/neural
|
|
13
|
+
*/
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// SONA Manager
|
|
16
|
+
// =============================================================================
|
|
17
|
+
export { SONAManager, createSONAManager, getModeConfig, getModeOptimizations, } from './sona-manager.js';
|
|
18
|
+
export { BaseModeImplementation, RealTimeMode, BalancedMode, ResearchMode, EdgeMode, BatchMode, } from './modes/index.js';
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// SONA Integration (@ruvector/sona)
|
|
21
|
+
// =============================================================================
|
|
22
|
+
export { SONALearningEngine, createSONALearningEngine, } from './sona-integration.js';
|
|
23
|
+
// =============================================================================
|
|
24
|
+
// ReasoningBank
|
|
25
|
+
// =============================================================================
|
|
26
|
+
export { ReasoningBank, createReasoningBank, createInitializedReasoningBank, } from './reasoning-bank.js';
|
|
27
|
+
// =============================================================================
|
|
28
|
+
// Pattern Learner
|
|
29
|
+
// =============================================================================
|
|
30
|
+
export { PatternLearner, createPatternLearner, } from './pattern-learner.js';
|
|
31
|
+
// =============================================================================
|
|
32
|
+
// RL Algorithms
|
|
33
|
+
// =============================================================================
|
|
34
|
+
export {
|
|
35
|
+
// PPO
|
|
36
|
+
PPOAlgorithm, createPPO, DEFAULT_PPO_CONFIG,
|
|
37
|
+
// DQN
|
|
38
|
+
DQNAlgorithm, createDQN, DEFAULT_DQN_CONFIG,
|
|
39
|
+
// A2C
|
|
40
|
+
A2CAlgorithm, createA2C, DEFAULT_A2C_CONFIG,
|
|
41
|
+
// Decision Transformer
|
|
42
|
+
DecisionTransformer, createDecisionTransformer, DEFAULT_DT_CONFIG,
|
|
43
|
+
// Q-Learning
|
|
44
|
+
QLearning, createQLearning, DEFAULT_QLEARNING_CONFIG,
|
|
45
|
+
// SARSA
|
|
46
|
+
SARSAAlgorithm, createSARSA, DEFAULT_SARSA_CONFIG,
|
|
47
|
+
// Curiosity
|
|
48
|
+
CuriosityModule, createCuriosity, DEFAULT_CURIOSITY_CONFIG,
|
|
49
|
+
// Factory functions
|
|
50
|
+
createAlgorithm, getDefaultConfig, } from './algorithms/index.js';
|
|
51
|
+
// =============================================================================
|
|
52
|
+
// Convenience Factory
|
|
53
|
+
// =============================================================================
|
|
54
|
+
import { SONAManager, createSONAManager } from './sona-manager.js';
|
|
55
|
+
import { ReasoningBank, createReasoningBank } from './reasoning-bank.js';
|
|
56
|
+
import { PatternLearner, createPatternLearner } from './pattern-learner.js';
|
|
57
|
+
import { SONALearningEngine, createSONALearningEngine } from './sona-integration.js';
|
|
58
|
+
/**
|
|
59
|
+
* Neural Learning System - Complete integrated learning module
|
|
60
|
+
*/
|
|
61
|
+
export class NeuralLearningSystem {
|
|
62
|
+
sona;
|
|
63
|
+
reasoningBank;
|
|
64
|
+
patternLearner;
|
|
65
|
+
initialized = false;
|
|
66
|
+
constructor(mode = 'balanced') {
|
|
67
|
+
this.sona = createSONAManager(mode);
|
|
68
|
+
this.reasoningBank = createReasoningBank();
|
|
69
|
+
this.patternLearner = createPatternLearner();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Initialize the learning system
|
|
73
|
+
*/
|
|
74
|
+
async initialize() {
|
|
75
|
+
if (this.initialized)
|
|
76
|
+
return;
|
|
77
|
+
await this.sona.initialize();
|
|
78
|
+
this.initialized = true;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get SONA manager
|
|
82
|
+
*/
|
|
83
|
+
getSONAManager() {
|
|
84
|
+
return this.sona;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get ReasoningBank
|
|
88
|
+
*/
|
|
89
|
+
getReasoningBank() {
|
|
90
|
+
return this.reasoningBank;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get Pattern Learner
|
|
94
|
+
*/
|
|
95
|
+
getPatternLearner() {
|
|
96
|
+
return this.patternLearner;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Change learning mode
|
|
100
|
+
*/
|
|
101
|
+
async setMode(mode) {
|
|
102
|
+
await this.sona.setMode(mode);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Begin tracking a task
|
|
106
|
+
*/
|
|
107
|
+
beginTask(context, domain = 'general') {
|
|
108
|
+
return this.sona.beginTrajectory(context, domain);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Record a step in the current task
|
|
112
|
+
*/
|
|
113
|
+
recordStep(trajectoryId, action, reward, stateEmbedding) {
|
|
114
|
+
this.sona.recordStep(trajectoryId, action, reward, stateEmbedding);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Complete a task and trigger learning
|
|
118
|
+
*/
|
|
119
|
+
async completeTask(trajectoryId, quality) {
|
|
120
|
+
const trajectory = this.sona.completeTrajectory(trajectoryId, quality);
|
|
121
|
+
if (trajectory) {
|
|
122
|
+
// Store in reasoning bank
|
|
123
|
+
this.reasoningBank.storeTrajectory(trajectory);
|
|
124
|
+
// Judge and potentially distill
|
|
125
|
+
await this.reasoningBank.judge(trajectory);
|
|
126
|
+
const memory = await this.reasoningBank.distill(trajectory);
|
|
127
|
+
// Extract pattern if successful
|
|
128
|
+
if (memory) {
|
|
129
|
+
this.patternLearner.extractPattern(trajectory, memory);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Find similar patterns for a task
|
|
135
|
+
*/
|
|
136
|
+
async findPatterns(queryEmbedding, k = 3) {
|
|
137
|
+
return this.patternLearner.findMatches(queryEmbedding, k);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Retrieve relevant memories
|
|
141
|
+
*/
|
|
142
|
+
async retrieveMemories(queryEmbedding, k = 3) {
|
|
143
|
+
return this.reasoningBank.retrieve(queryEmbedding, k);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Trigger learning cycle
|
|
147
|
+
*/
|
|
148
|
+
async triggerLearning() {
|
|
149
|
+
await this.sona.triggerLearning('manual');
|
|
150
|
+
await this.reasoningBank.consolidate();
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get comprehensive statistics
|
|
154
|
+
*/
|
|
155
|
+
getStats() {
|
|
156
|
+
return {
|
|
157
|
+
sona: this.sona.getStats(),
|
|
158
|
+
reasoningBank: this.reasoningBank.getStats(),
|
|
159
|
+
patternLearner: this.patternLearner.getStats(),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Add event listener
|
|
164
|
+
*/
|
|
165
|
+
addEventListener(listener) {
|
|
166
|
+
this.sona.addEventListener(listener);
|
|
167
|
+
this.reasoningBank.addEventListener(listener);
|
|
168
|
+
this.patternLearner.addEventListener(listener);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Cleanup resources
|
|
172
|
+
*/
|
|
173
|
+
async cleanup() {
|
|
174
|
+
await this.sona.cleanup();
|
|
175
|
+
this.initialized = false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Create a complete neural learning system
|
|
180
|
+
*/
|
|
181
|
+
export function createNeuralLearningSystem(mode = 'balanced') {
|
|
182
|
+
return new NeuralLearningSystem(mode);
|
|
183
|
+
}
|
|
184
|
+
// =============================================================================
|
|
185
|
+
// Default Export
|
|
186
|
+
// =============================================================================
|
|
187
|
+
export default {
|
|
188
|
+
// Factories
|
|
189
|
+
createSONAManager,
|
|
190
|
+
createReasoningBank,
|
|
191
|
+
createPatternLearner,
|
|
192
|
+
createNeuralLearningSystem,
|
|
193
|
+
createSONALearningEngine,
|
|
194
|
+
// Classes
|
|
195
|
+
SONAManager,
|
|
196
|
+
ReasoningBank,
|
|
197
|
+
PatternLearner,
|
|
198
|
+
NeuralLearningSystem,
|
|
199
|
+
SONALearningEngine,
|
|
200
|
+
};
|
|
201
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+CH,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAU/B,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAQ7B,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAI9B,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,OAAO;AACL,MAAM;AACN,YAAY,EACZ,SAAS,EACT,kBAAkB;AAElB,MAAM;AACN,YAAY,EACZ,SAAS,EACT,kBAAkB;AAElB,MAAM;AACN,YAAY,EACZ,SAAS,EACT,kBAAkB;AAElB,uBAAuB;AACvB,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB;AAEjB,aAAa;AACb,SAAS,EACT,eAAe,EACf,wBAAwB;AAExB,QAAQ;AACR,cAAc,EACd,WAAW,EACX,oBAAoB;AAEpB,YAAY;AACZ,eAAe,EACf,eAAe,EACf,wBAAwB;AAExB,oBAAoB;AACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAQ/B,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGrF;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,IAAI,CAAc;IAClB,aAAa,CAAgB;IAC7B,cAAc,CAAiB;IAC/B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAAiB,UAAU;QACrC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,mBAAmB,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe,EAAE,SAA0E,SAAS;QAC5G,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,UAAU,CACR,YAAoB,EACpB,MAAc,EACd,MAAc,EACd,cAA4B;QAE5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB,EAAE,OAAgB;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,UAAU,EAAE,CAAC;YACf,0BAA0B;YAC1B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAE/C,gCAAgC;YAChC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE5D,gCAAgC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,cAA4B,EAAE,IAAY,CAAC;QAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,cAA4B,EAAE,IAAY,CAAC;QAChE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,QAAQ;QAKN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1B,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAA6B;QAC5C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAiB,UAAU;IACpE,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,eAAe;IACb,YAAY;IACZ,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,0BAA0B;IAC1B,wBAAwB;IAExB,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,kBAAkB;CACnB,CAAC"}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Neural/Learning System
|
|
3
|
+
*
|
|
4
|
+
* Complete neural learning module with SONA learning modes,
|
|
5
|
+
* ReasoningBank integration, pattern learning, and RL algorithms.
|
|
6
|
+
*
|
|
7
|
+
* Performance Targets:
|
|
8
|
+
* - SONA adaptation: <0.05ms
|
|
9
|
+
* - Pattern matching: <1ms
|
|
10
|
+
* - Learning step: <10ms
|
|
11
|
+
*
|
|
12
|
+
* @module @sparkleideas/neural
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
// =============================================================================
|
|
16
|
+
// Core Types
|
|
17
|
+
// =============================================================================
|
|
18
|
+
|
|
19
|
+
export type {
|
|
20
|
+
// SONA Mode Types
|
|
21
|
+
SONAMode,
|
|
22
|
+
SONAModeConfig,
|
|
23
|
+
ModeOptimizations,
|
|
24
|
+
|
|
25
|
+
// Trajectory Types
|
|
26
|
+
Trajectory,
|
|
27
|
+
TrajectoryStep,
|
|
28
|
+
TrajectoryVerdict,
|
|
29
|
+
DistilledMemory,
|
|
30
|
+
|
|
31
|
+
// Pattern Types
|
|
32
|
+
Pattern,
|
|
33
|
+
PatternMatch,
|
|
34
|
+
PatternEvolution,
|
|
35
|
+
|
|
36
|
+
// RL Algorithm Types
|
|
37
|
+
RLAlgorithm,
|
|
38
|
+
RLConfig,
|
|
39
|
+
PPOConfig,
|
|
40
|
+
DQNConfig,
|
|
41
|
+
DecisionTransformerConfig,
|
|
42
|
+
CuriosityConfig,
|
|
43
|
+
|
|
44
|
+
// LoRA Types
|
|
45
|
+
LoRAConfig,
|
|
46
|
+
LoRAWeights,
|
|
47
|
+
|
|
48
|
+
// EWC Types
|
|
49
|
+
EWCConfig,
|
|
50
|
+
EWCState,
|
|
51
|
+
|
|
52
|
+
// Statistics
|
|
53
|
+
NeuralStats,
|
|
54
|
+
|
|
55
|
+
// Events
|
|
56
|
+
NeuralEvent,
|
|
57
|
+
NeuralEventListener,
|
|
58
|
+
} from './types.js';
|
|
59
|
+
|
|
60
|
+
// =============================================================================
|
|
61
|
+
// SONA Manager
|
|
62
|
+
// =============================================================================
|
|
63
|
+
|
|
64
|
+
export {
|
|
65
|
+
SONAManager,
|
|
66
|
+
createSONAManager,
|
|
67
|
+
getModeConfig,
|
|
68
|
+
getModeOptimizations,
|
|
69
|
+
} from './sona-manager.js';
|
|
70
|
+
|
|
71
|
+
// =============================================================================
|
|
72
|
+
// Learning Modes
|
|
73
|
+
// =============================================================================
|
|
74
|
+
|
|
75
|
+
export type { ModeImplementation } from './modes/index.js';
|
|
76
|
+
|
|
77
|
+
export {
|
|
78
|
+
BaseModeImplementation,
|
|
79
|
+
RealTimeMode,
|
|
80
|
+
BalancedMode,
|
|
81
|
+
ResearchMode,
|
|
82
|
+
EdgeMode,
|
|
83
|
+
BatchMode,
|
|
84
|
+
} from './modes/index.js';
|
|
85
|
+
|
|
86
|
+
// =============================================================================
|
|
87
|
+
// SONA Integration (@ruvector/sona)
|
|
88
|
+
// =============================================================================
|
|
89
|
+
|
|
90
|
+
export {
|
|
91
|
+
SONALearningEngine,
|
|
92
|
+
createSONALearningEngine,
|
|
93
|
+
} from './sona-integration.js';
|
|
94
|
+
|
|
95
|
+
export type {
|
|
96
|
+
Context,
|
|
97
|
+
AdaptedBehavior,
|
|
98
|
+
SONAStats,
|
|
99
|
+
JsLearnedPattern,
|
|
100
|
+
JsSonaConfig,
|
|
101
|
+
} from './sona-integration.js';
|
|
102
|
+
|
|
103
|
+
// =============================================================================
|
|
104
|
+
// ReasoningBank
|
|
105
|
+
// =============================================================================
|
|
106
|
+
|
|
107
|
+
export {
|
|
108
|
+
ReasoningBank,
|
|
109
|
+
createReasoningBank,
|
|
110
|
+
createInitializedReasoningBank,
|
|
111
|
+
} from './reasoning-bank.js';
|
|
112
|
+
|
|
113
|
+
export type {
|
|
114
|
+
ReasoningBankConfig,
|
|
115
|
+
RetrievalResult,
|
|
116
|
+
ConsolidationResult,
|
|
117
|
+
} from './reasoning-bank.js';
|
|
118
|
+
|
|
119
|
+
// =============================================================================
|
|
120
|
+
// Pattern Learner
|
|
121
|
+
// =============================================================================
|
|
122
|
+
|
|
123
|
+
export {
|
|
124
|
+
PatternLearner,
|
|
125
|
+
createPatternLearner,
|
|
126
|
+
} from './pattern-learner.js';
|
|
127
|
+
|
|
128
|
+
export type { PatternLearnerConfig } from './pattern-learner.js';
|
|
129
|
+
|
|
130
|
+
// =============================================================================
|
|
131
|
+
// RL Algorithms
|
|
132
|
+
// =============================================================================
|
|
133
|
+
|
|
134
|
+
export {
|
|
135
|
+
// PPO
|
|
136
|
+
PPOAlgorithm,
|
|
137
|
+
createPPO,
|
|
138
|
+
DEFAULT_PPO_CONFIG,
|
|
139
|
+
|
|
140
|
+
// DQN
|
|
141
|
+
DQNAlgorithm,
|
|
142
|
+
createDQN,
|
|
143
|
+
DEFAULT_DQN_CONFIG,
|
|
144
|
+
|
|
145
|
+
// A2C
|
|
146
|
+
A2CAlgorithm,
|
|
147
|
+
createA2C,
|
|
148
|
+
DEFAULT_A2C_CONFIG,
|
|
149
|
+
|
|
150
|
+
// Decision Transformer
|
|
151
|
+
DecisionTransformer,
|
|
152
|
+
createDecisionTransformer,
|
|
153
|
+
DEFAULT_DT_CONFIG,
|
|
154
|
+
|
|
155
|
+
// Q-Learning
|
|
156
|
+
QLearning,
|
|
157
|
+
createQLearning,
|
|
158
|
+
DEFAULT_QLEARNING_CONFIG,
|
|
159
|
+
|
|
160
|
+
// SARSA
|
|
161
|
+
SARSAAlgorithm,
|
|
162
|
+
createSARSA,
|
|
163
|
+
DEFAULT_SARSA_CONFIG,
|
|
164
|
+
|
|
165
|
+
// Curiosity
|
|
166
|
+
CuriosityModule,
|
|
167
|
+
createCuriosity,
|
|
168
|
+
DEFAULT_CURIOSITY_CONFIG,
|
|
169
|
+
|
|
170
|
+
// Factory functions
|
|
171
|
+
createAlgorithm,
|
|
172
|
+
getDefaultConfig,
|
|
173
|
+
} from './algorithms/index.js';
|
|
174
|
+
|
|
175
|
+
export type {
|
|
176
|
+
A2CConfig,
|
|
177
|
+
QLearningConfig,
|
|
178
|
+
SARSAConfig,
|
|
179
|
+
} from './algorithms/index.js';
|
|
180
|
+
|
|
181
|
+
// =============================================================================
|
|
182
|
+
// Convenience Factory
|
|
183
|
+
// =============================================================================
|
|
184
|
+
|
|
185
|
+
import { SONAManager, createSONAManager } from './sona-manager.js';
|
|
186
|
+
import { ReasoningBank, createReasoningBank } from './reasoning-bank.js';
|
|
187
|
+
import { PatternLearner, createPatternLearner } from './pattern-learner.js';
|
|
188
|
+
import { SONALearningEngine, createSONALearningEngine } from './sona-integration.js';
|
|
189
|
+
import type { SONAMode, NeuralEventListener } from './types.js';
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Neural Learning System - Complete integrated learning module
|
|
193
|
+
*/
|
|
194
|
+
export class NeuralLearningSystem {
|
|
195
|
+
private sona: SONAManager;
|
|
196
|
+
private reasoningBank: ReasoningBank;
|
|
197
|
+
private patternLearner: PatternLearner;
|
|
198
|
+
private initialized = false;
|
|
199
|
+
|
|
200
|
+
constructor(mode: SONAMode = 'balanced') {
|
|
201
|
+
this.sona = createSONAManager(mode);
|
|
202
|
+
this.reasoningBank = createReasoningBank();
|
|
203
|
+
this.patternLearner = createPatternLearner();
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Initialize the learning system
|
|
208
|
+
*/
|
|
209
|
+
async initialize(): Promise<void> {
|
|
210
|
+
if (this.initialized) return;
|
|
211
|
+
await this.sona.initialize();
|
|
212
|
+
this.initialized = true;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Get SONA manager
|
|
217
|
+
*/
|
|
218
|
+
getSONAManager(): SONAManager {
|
|
219
|
+
return this.sona;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Get ReasoningBank
|
|
224
|
+
*/
|
|
225
|
+
getReasoningBank(): ReasoningBank {
|
|
226
|
+
return this.reasoningBank;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Get Pattern Learner
|
|
231
|
+
*/
|
|
232
|
+
getPatternLearner(): PatternLearner {
|
|
233
|
+
return this.patternLearner;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Change learning mode
|
|
238
|
+
*/
|
|
239
|
+
async setMode(mode: SONAMode): Promise<void> {
|
|
240
|
+
await this.sona.setMode(mode);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Begin tracking a task
|
|
245
|
+
*/
|
|
246
|
+
beginTask(context: string, domain: 'code' | 'creative' | 'reasoning' | 'chat' | 'math' | 'general' = 'general'): string {
|
|
247
|
+
return this.sona.beginTrajectory(context, domain);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Record a step in the current task
|
|
252
|
+
*/
|
|
253
|
+
recordStep(
|
|
254
|
+
trajectoryId: string,
|
|
255
|
+
action: string,
|
|
256
|
+
reward: number,
|
|
257
|
+
stateEmbedding: Float32Array
|
|
258
|
+
): void {
|
|
259
|
+
this.sona.recordStep(trajectoryId, action, reward, stateEmbedding);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Complete a task and trigger learning
|
|
264
|
+
*/
|
|
265
|
+
async completeTask(trajectoryId: string, quality?: number): Promise<void> {
|
|
266
|
+
const trajectory = this.sona.completeTrajectory(trajectoryId, quality);
|
|
267
|
+
|
|
268
|
+
if (trajectory) {
|
|
269
|
+
// Store in reasoning bank
|
|
270
|
+
this.reasoningBank.storeTrajectory(trajectory);
|
|
271
|
+
|
|
272
|
+
// Judge and potentially distill
|
|
273
|
+
await this.reasoningBank.judge(trajectory);
|
|
274
|
+
const memory = await this.reasoningBank.distill(trajectory);
|
|
275
|
+
|
|
276
|
+
// Extract pattern if successful
|
|
277
|
+
if (memory) {
|
|
278
|
+
this.patternLearner.extractPattern(trajectory, memory);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Find similar patterns for a task
|
|
285
|
+
*/
|
|
286
|
+
async findPatterns(queryEmbedding: Float32Array, k: number = 3): Promise<import('./types.js').PatternMatch[]> {
|
|
287
|
+
return this.patternLearner.findMatches(queryEmbedding, k);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Retrieve relevant memories
|
|
292
|
+
*/
|
|
293
|
+
async retrieveMemories(queryEmbedding: Float32Array, k: number = 3): Promise<import('./reasoning-bank.js').RetrievalResult[]> {
|
|
294
|
+
return this.reasoningBank.retrieve(queryEmbedding, k);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Trigger learning cycle
|
|
299
|
+
*/
|
|
300
|
+
async triggerLearning(): Promise<void> {
|
|
301
|
+
await this.sona.triggerLearning('manual');
|
|
302
|
+
await this.reasoningBank.consolidate();
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Get comprehensive statistics
|
|
307
|
+
*/
|
|
308
|
+
getStats(): {
|
|
309
|
+
sona: import('./types.js').NeuralStats;
|
|
310
|
+
reasoningBank: Record<string, number>;
|
|
311
|
+
patternLearner: Record<string, number>;
|
|
312
|
+
} {
|
|
313
|
+
return {
|
|
314
|
+
sona: this.sona.getStats(),
|
|
315
|
+
reasoningBank: this.reasoningBank.getStats(),
|
|
316
|
+
patternLearner: this.patternLearner.getStats(),
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Add event listener
|
|
322
|
+
*/
|
|
323
|
+
addEventListener(listener: NeuralEventListener): void {
|
|
324
|
+
this.sona.addEventListener(listener);
|
|
325
|
+
this.reasoningBank.addEventListener(listener);
|
|
326
|
+
this.patternLearner.addEventListener(listener);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Cleanup resources
|
|
331
|
+
*/
|
|
332
|
+
async cleanup(): Promise<void> {
|
|
333
|
+
await this.sona.cleanup();
|
|
334
|
+
this.initialized = false;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Create a complete neural learning system
|
|
340
|
+
*/
|
|
341
|
+
export function createNeuralLearningSystem(mode: SONAMode = 'balanced'): NeuralLearningSystem {
|
|
342
|
+
return new NeuralLearningSystem(mode);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// =============================================================================
|
|
346
|
+
// Default Export
|
|
347
|
+
// =============================================================================
|
|
348
|
+
|
|
349
|
+
export default {
|
|
350
|
+
// Factories
|
|
351
|
+
createSONAManager,
|
|
352
|
+
createReasoningBank,
|
|
353
|
+
createPatternLearner,
|
|
354
|
+
createNeuralLearningSystem,
|
|
355
|
+
createSONALearningEngine,
|
|
356
|
+
|
|
357
|
+
// Classes
|
|
358
|
+
SONAManager,
|
|
359
|
+
ReasoningBank,
|
|
360
|
+
PatternLearner,
|
|
361
|
+
NeuralLearningSystem,
|
|
362
|
+
SONALearningEngine,
|
|
363
|
+
};
|