@sparkleideas/neural 3.0.0-alpha.21 → 3.0.0-alpha.30

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 (110) hide show
  1. package/dist/algorithms/a2c.d.ts +86 -0
  2. package/dist/algorithms/a2c.d.ts.map +1 -0
  3. package/dist/algorithms/a2c.js +361 -0
  4. package/dist/algorithms/a2c.js.map +1 -0
  5. package/dist/algorithms/curiosity.d.ts +82 -0
  6. package/dist/algorithms/curiosity.d.ts.map +1 -0
  7. package/dist/algorithms/curiosity.js +392 -0
  8. package/dist/algorithms/curiosity.js.map +1 -0
  9. package/dist/algorithms/decision-transformer.d.ts +82 -0
  10. package/dist/algorithms/decision-transformer.d.ts.map +1 -0
  11. package/dist/algorithms/decision-transformer.js +415 -0
  12. package/dist/algorithms/decision-transformer.js.map +1 -0
  13. package/dist/algorithms/dqn.d.ts +72 -0
  14. package/dist/algorithms/dqn.d.ts.map +1 -0
  15. package/dist/algorithms/dqn.js +303 -0
  16. package/dist/algorithms/dqn.js.map +1 -0
  17. package/dist/algorithms/index.d.ts +32 -0
  18. package/dist/algorithms/index.d.ts.map +1 -0
  19. package/dist/algorithms/index.js +74 -0
  20. package/dist/algorithms/index.js.map +1 -0
  21. package/dist/algorithms/ppo.d.ts +72 -0
  22. package/dist/algorithms/ppo.d.ts.map +1 -0
  23. package/dist/algorithms/ppo.js +331 -0
  24. package/dist/algorithms/ppo.js.map +1 -0
  25. package/dist/algorithms/q-learning.d.ts +77 -0
  26. package/dist/algorithms/q-learning.d.ts.map +1 -0
  27. package/dist/algorithms/q-learning.js +259 -0
  28. package/dist/algorithms/q-learning.js.map +1 -0
  29. package/dist/algorithms/sarsa.d.ts +82 -0
  30. package/dist/algorithms/sarsa.d.ts.map +1 -0
  31. package/dist/algorithms/sarsa.js +297 -0
  32. package/dist/algorithms/sarsa.js.map +1 -0
  33. package/dist/application/index.d.ts +7 -0
  34. package/dist/application/index.d.ts.map +1 -0
  35. package/dist/application/index.js +7 -0
  36. package/dist/application/index.js.map +1 -0
  37. package/dist/application/services/neural-application-service.d.ts +92 -0
  38. package/dist/application/services/neural-application-service.d.ts.map +1 -0
  39. package/dist/application/services/neural-application-service.js +161 -0
  40. package/dist/application/services/neural-application-service.js.map +1 -0
  41. package/dist/domain/entities/pattern.d.ts +89 -0
  42. package/dist/domain/entities/pattern.d.ts.map +1 -0
  43. package/dist/domain/entities/pattern.js +134 -0
  44. package/dist/domain/entities/pattern.js.map +1 -0
  45. package/dist/domain/index.d.ts +8 -0
  46. package/dist/domain/index.d.ts.map +1 -0
  47. package/dist/domain/index.js +8 -0
  48. package/dist/domain/index.js.map +1 -0
  49. package/dist/domain/services/learning-service.d.ts +90 -0
  50. package/dist/domain/services/learning-service.d.ts.map +1 -0
  51. package/dist/domain/services/learning-service.js +195 -0
  52. package/dist/domain/services/learning-service.js.map +1 -0
  53. package/dist/index.d.ts +118 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +201 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/modes/balanced.d.ts +60 -0
  58. package/dist/modes/balanced.d.ts.map +1 -0
  59. package/dist/modes/balanced.js +234 -0
  60. package/dist/modes/balanced.js.map +1 -0
  61. package/dist/modes/base.d.ts +50 -0
  62. package/dist/modes/base.d.ts.map +1 -0
  63. package/dist/modes/base.js +77 -0
  64. package/dist/modes/base.js.map +1 -0
  65. package/dist/modes/batch.d.ts +82 -0
  66. package/dist/modes/batch.d.ts.map +1 -0
  67. package/dist/modes/batch.js +316 -0
  68. package/dist/modes/batch.js.map +1 -0
  69. package/dist/modes/edge.d.ts +85 -0
  70. package/dist/modes/edge.d.ts.map +1 -0
  71. package/dist/modes/edge.js +310 -0
  72. package/dist/modes/edge.js.map +1 -0
  73. package/dist/modes/index.d.ts +13 -0
  74. package/dist/modes/index.d.ts.map +1 -0
  75. package/dist/modes/index.js +13 -0
  76. package/dist/modes/index.js.map +1 -0
  77. package/dist/modes/real-time.d.ts +58 -0
  78. package/dist/modes/real-time.d.ts.map +1 -0
  79. package/dist/modes/real-time.js +196 -0
  80. package/dist/modes/real-time.js.map +1 -0
  81. package/dist/modes/research.d.ts +79 -0
  82. package/dist/modes/research.d.ts.map +1 -0
  83. package/dist/modes/research.js +389 -0
  84. package/dist/modes/research.js.map +1 -0
  85. package/dist/pattern-learner.d.ts +117 -0
  86. package/dist/pattern-learner.d.ts.map +1 -0
  87. package/dist/pattern-learner.js +603 -0
  88. package/dist/pattern-learner.js.map +1 -0
  89. package/dist/reasoning-bank.d.ts +259 -0
  90. package/dist/reasoning-bank.d.ts.map +1 -0
  91. package/dist/reasoning-bank.js +993 -0
  92. package/dist/reasoning-bank.js.map +1 -0
  93. package/dist/reasoningbank-adapter.d.ts +168 -0
  94. package/dist/reasoningbank-adapter.d.ts.map +1 -0
  95. package/dist/reasoningbank-adapter.js +463 -0
  96. package/dist/reasoningbank-adapter.js.map +1 -0
  97. package/dist/sona-integration.d.ts +168 -0
  98. package/dist/sona-integration.d.ts.map +1 -0
  99. package/dist/sona-integration.js +316 -0
  100. package/dist/sona-integration.js.map +1 -0
  101. package/dist/sona-manager.d.ts +147 -0
  102. package/dist/sona-manager.d.ts.map +1 -0
  103. package/dist/sona-manager.js +695 -0
  104. package/dist/sona-manager.js.map +1 -0
  105. package/dist/types.d.ts +431 -0
  106. package/dist/types.d.ts.map +1 -0
  107. package/dist/types.js +11 -0
  108. package/dist/types.js.map +1 -0
  109. package/package.json +1 -1
  110. package/tsconfig.build.tsbuildinfo +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"q-learning.js","sourceRoot":"","sources":["../../src/algorithms/q-learning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * SARSA (State-Action-Reward-State-Action)
3
+ *
4
+ * On-policy TD learning algorithm with:
5
+ * - Epsilon-greedy exploration
6
+ * - State hashing for continuous states
7
+ * - Expected SARSA variant (optional)
8
+ * - Eligibility traces (SARSA-lambda)
9
+ *
10
+ * Performance Target: <1ms per update
11
+ */
12
+ import type { Trajectory, RLConfig } from '../types.js';
13
+ /**
14
+ * SARSA configuration
15
+ */
16
+ export interface SARSAConfig extends RLConfig {
17
+ algorithm: 'sarsa';
18
+ explorationInitial: number;
19
+ explorationFinal: number;
20
+ explorationDecay: number;
21
+ maxStates: number;
22
+ useExpectedSARSA: boolean;
23
+ useEligibilityTraces: boolean;
24
+ traceDecay: number;
25
+ }
26
+ /**
27
+ * Default SARSA configuration
28
+ */
29
+ export declare const DEFAULT_SARSA_CONFIG: SARSAConfig;
30
+ /**
31
+ * SARSA Algorithm Implementation
32
+ */
33
+ export declare class SARSAAlgorithm {
34
+ private config;
35
+ private qTable;
36
+ private epsilon;
37
+ private stepCount;
38
+ private numActions;
39
+ private traces;
40
+ private updateCount;
41
+ private avgTDError;
42
+ constructor(config?: Partial<SARSAConfig>);
43
+ /**
44
+ * Update Q-values from trajectory using SARSA
45
+ */
46
+ update(trajectory: Trajectory): {
47
+ tdError: number;
48
+ };
49
+ /**
50
+ * Get action using epsilon-greedy policy
51
+ */
52
+ getAction(state: Float32Array, explore?: boolean): number;
53
+ /**
54
+ * Get action probabilities for a state
55
+ */
56
+ getActionProbabilities(state: Float32Array): Float32Array;
57
+ /**
58
+ * Get Q-values for a state
59
+ */
60
+ getQValues(state: Float32Array): Float32Array;
61
+ /**
62
+ * Get statistics
63
+ */
64
+ getStats(): Record<string, number>;
65
+ /**
66
+ * Reset algorithm state
67
+ */
68
+ reset(): void;
69
+ private hashState;
70
+ private hashAction;
71
+ private getOrCreateEntry;
72
+ private expectedValue;
73
+ private updateTrace;
74
+ private updateWithTraces;
75
+ private pruneQTable;
76
+ private argmax;
77
+ }
78
+ /**
79
+ * Factory function
80
+ */
81
+ export declare function createSARSA(config?: Partial<SARSAConfig>): SARSAAlgorithm;
82
+ //# sourceMappingURL=sarsa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sarsa.d.ts","sourceRoot":"","sources":["../../src/algorithms/sarsa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAgBlC,CAAC;AAWF;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAc;IAG5B,OAAO,CAAC,MAAM,CAAsC;IAGpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAK;IAGtB,OAAO,CAAC,UAAU,CAAK;IAGvB,OAAO,CAAC,MAAM,CAAwC;IAGtD,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;gBAEX,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;IAK7C;;OAEG;IACH,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;IAwFnD;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,OAAc,GAAG,MAAM;IAe/D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY;IA0BzD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY;IAW7C;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAUlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAab,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,MAAM;CAWf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,cAAc,CAEzE"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * SARSA (State-Action-Reward-State-Action)
3
+ *
4
+ * On-policy TD learning algorithm with:
5
+ * - Epsilon-greedy exploration
6
+ * - State hashing for continuous states
7
+ * - Expected SARSA variant (optional)
8
+ * - Eligibility traces (SARSA-lambda)
9
+ *
10
+ * Performance Target: <1ms per update
11
+ */
12
+ /**
13
+ * Default SARSA configuration
14
+ */
15
+ export const DEFAULT_SARSA_CONFIG = {
16
+ algorithm: 'sarsa',
17
+ learningRate: 0.1,
18
+ gamma: 0.99,
19
+ entropyCoef: 0,
20
+ valueLossCoef: 1,
21
+ maxGradNorm: 1,
22
+ epochs: 1,
23
+ miniBatchSize: 1,
24
+ explorationInitial: 1.0,
25
+ explorationFinal: 0.01,
26
+ explorationDecay: 10000,
27
+ maxStates: 10000,
28
+ useExpectedSARSA: false,
29
+ useEligibilityTraces: false,
30
+ traceDecay: 0.9,
31
+ };
32
+ /**
33
+ * SARSA Algorithm Implementation
34
+ */
35
+ export class SARSAAlgorithm {
36
+ config;
37
+ // Q-table
38
+ qTable = new Map();
39
+ // Exploration
40
+ epsilon;
41
+ stepCount = 0;
42
+ // Number of actions
43
+ numActions = 4;
44
+ // Eligibility traces
45
+ traces = new Map();
46
+ // Statistics
47
+ updateCount = 0;
48
+ avgTDError = 0;
49
+ constructor(config = {}) {
50
+ this.config = { ...DEFAULT_SARSA_CONFIG, ...config };
51
+ this.epsilon = this.config.explorationInitial;
52
+ }
53
+ /**
54
+ * Update Q-values from trajectory using SARSA
55
+ */
56
+ update(trajectory) {
57
+ const startTime = performance.now();
58
+ if (trajectory.steps.length < 2) {
59
+ return { tdError: 0 };
60
+ }
61
+ let totalTDError = 0;
62
+ // Reset eligibility traces
63
+ if (this.config.useEligibilityTraces) {
64
+ this.traces.clear();
65
+ }
66
+ for (let i = 0; i < trajectory.steps.length - 1; i++) {
67
+ const step = trajectory.steps[i];
68
+ const nextStep = trajectory.steps[i + 1];
69
+ const stateKey = this.hashState(step.stateBefore);
70
+ const action = this.hashAction(step.action);
71
+ const nextStateKey = this.hashState(step.stateAfter);
72
+ const nextAction = this.hashAction(nextStep.action);
73
+ // Get or create entries
74
+ const qEntry = this.getOrCreateEntry(stateKey);
75
+ const nextEntry = this.getOrCreateEntry(nextStateKey);
76
+ // Current Q-value
77
+ const currentQ = qEntry.qValues[action];
78
+ // Compute target Q-value using SARSA update rule
79
+ let targetQ;
80
+ if (this.config.useExpectedSARSA) {
81
+ // Expected SARSA: use expected value under current policy
82
+ targetQ = step.reward + this.config.gamma * this.expectedValue(nextEntry.qValues);
83
+ }
84
+ else {
85
+ // Standard SARSA: use actual next action
86
+ targetQ = step.reward + this.config.gamma * nextEntry.qValues[nextAction];
87
+ }
88
+ // TD error
89
+ const tdError = targetQ - currentQ;
90
+ totalTDError += Math.abs(tdError);
91
+ if (this.config.useEligibilityTraces) {
92
+ this.updateTrace(stateKey, action);
93
+ this.updateWithTraces(tdError);
94
+ }
95
+ else {
96
+ qEntry.qValues[action] += this.config.learningRate * tdError;
97
+ qEntry.visits++;
98
+ qEntry.lastUpdate = Date.now();
99
+ }
100
+ }
101
+ // Handle terminal state
102
+ const lastStep = trajectory.steps[trajectory.steps.length - 1];
103
+ const lastStateKey = this.hashState(lastStep.stateBefore);
104
+ const lastAction = this.hashAction(lastStep.action);
105
+ const lastEntry = this.getOrCreateEntry(lastStateKey);
106
+ const terminalTDError = lastStep.reward - lastEntry.qValues[lastAction];
107
+ lastEntry.qValues[lastAction] += this.config.learningRate * terminalTDError;
108
+ totalTDError += Math.abs(terminalTDError);
109
+ // Decay exploration
110
+ this.stepCount += trajectory.steps.length;
111
+ this.epsilon = Math.max(this.config.explorationFinal, this.config.explorationInitial - this.stepCount / this.config.explorationDecay);
112
+ // Prune if needed
113
+ if (this.qTable.size > this.config.maxStates) {
114
+ this.pruneQTable();
115
+ }
116
+ this.updateCount++;
117
+ this.avgTDError = totalTDError / trajectory.steps.length;
118
+ const elapsed = performance.now() - startTime;
119
+ if (elapsed > 1) {
120
+ console.warn(`SARSA update exceeded target: ${elapsed.toFixed(2)}ms > 1ms`);
121
+ }
122
+ return { tdError: this.avgTDError };
123
+ }
124
+ /**
125
+ * Get action using epsilon-greedy policy
126
+ */
127
+ getAction(state, explore = true) {
128
+ if (explore && Math.random() < this.epsilon) {
129
+ return Math.floor(Math.random() * this.numActions);
130
+ }
131
+ const stateKey = this.hashState(state);
132
+ const entry = this.qTable.get(stateKey);
133
+ if (!entry) {
134
+ return Math.floor(Math.random() * this.numActions);
135
+ }
136
+ return this.argmax(entry.qValues);
137
+ }
138
+ /**
139
+ * Get action probabilities for a state
140
+ */
141
+ getActionProbabilities(state) {
142
+ const probs = new Float32Array(this.numActions);
143
+ const stateKey = this.hashState(state);
144
+ const entry = this.qTable.get(stateKey);
145
+ if (!entry) {
146
+ // Uniform distribution
147
+ const uniform = 1 / this.numActions;
148
+ for (let a = 0; a < this.numActions; a++) {
149
+ probs[a] = uniform;
150
+ }
151
+ return probs;
152
+ }
153
+ // Epsilon-greedy probabilities
154
+ const greedyAction = this.argmax(entry.qValues);
155
+ const exploreProb = this.epsilon / this.numActions;
156
+ for (let a = 0; a < this.numActions; a++) {
157
+ probs[a] = exploreProb;
158
+ }
159
+ probs[greedyAction] += 1 - this.epsilon;
160
+ return probs;
161
+ }
162
+ /**
163
+ * Get Q-values for a state
164
+ */
165
+ getQValues(state) {
166
+ const stateKey = this.hashState(state);
167
+ const entry = this.qTable.get(stateKey);
168
+ if (!entry) {
169
+ return new Float32Array(this.numActions);
170
+ }
171
+ return new Float32Array(entry.qValues);
172
+ }
173
+ /**
174
+ * Get statistics
175
+ */
176
+ getStats() {
177
+ return {
178
+ updateCount: this.updateCount,
179
+ qTableSize: this.qTable.size,
180
+ epsilon: this.epsilon,
181
+ avgTDError: this.avgTDError,
182
+ stepCount: this.stepCount,
183
+ };
184
+ }
185
+ /**
186
+ * Reset algorithm state
187
+ */
188
+ reset() {
189
+ this.qTable.clear();
190
+ this.traces.clear();
191
+ this.epsilon = this.config.explorationInitial;
192
+ this.stepCount = 0;
193
+ this.updateCount = 0;
194
+ this.avgTDError = 0;
195
+ }
196
+ // ==========================================================================
197
+ // Private Methods
198
+ // ==========================================================================
199
+ hashState(state) {
200
+ const bins = 10;
201
+ const parts = [];
202
+ for (let i = 0; i < Math.min(8, state.length); i++) {
203
+ const normalized = (state[i] + 1) / 2;
204
+ const bin = Math.floor(Math.max(0, Math.min(bins - 1, normalized * bins)));
205
+ parts.push(bin);
206
+ }
207
+ return parts.join(',');
208
+ }
209
+ hashAction(action) {
210
+ let hash = 0;
211
+ for (let i = 0; i < action.length; i++) {
212
+ hash = (hash * 31 + action.charCodeAt(i)) % this.numActions;
213
+ }
214
+ return hash;
215
+ }
216
+ getOrCreateEntry(stateKey) {
217
+ let entry = this.qTable.get(stateKey);
218
+ if (!entry) {
219
+ entry = {
220
+ qValues: new Float32Array(this.numActions),
221
+ visits: 0,
222
+ lastUpdate: Date.now(),
223
+ };
224
+ this.qTable.set(stateKey, entry);
225
+ }
226
+ return entry;
227
+ }
228
+ expectedValue(qValues) {
229
+ // Expected value under epsilon-greedy policy
230
+ const greedyAction = this.argmax(qValues);
231
+ const exploreProb = this.epsilon / this.numActions;
232
+ let expected = 0;
233
+ for (let a = 0; a < this.numActions; a++) {
234
+ const prob = exploreProb + (a === greedyAction ? 1 - this.epsilon : 0);
235
+ expected += prob * qValues[a];
236
+ }
237
+ return expected;
238
+ }
239
+ updateTrace(stateKey, action) {
240
+ // Decay all traces
241
+ for (const [key, trace] of this.traces) {
242
+ for (let a = 0; a < this.numActions; a++) {
243
+ trace[a] *= this.config.gamma * this.config.traceDecay;
244
+ }
245
+ const maxTrace = Math.max(...trace);
246
+ if (maxTrace < 0.001) {
247
+ this.traces.delete(key);
248
+ }
249
+ }
250
+ // Set current trace (replacing traces for same state-action)
251
+ let trace = this.traces.get(stateKey);
252
+ if (!trace) {
253
+ trace = new Float32Array(this.numActions);
254
+ this.traces.set(stateKey, trace);
255
+ }
256
+ trace[action] = 1.0;
257
+ }
258
+ updateWithTraces(tdError) {
259
+ const lr = this.config.learningRate;
260
+ for (const [stateKey, trace] of this.traces) {
261
+ const entry = this.qTable.get(stateKey);
262
+ if (entry) {
263
+ for (let a = 0; a < this.numActions; a++) {
264
+ entry.qValues[a] += lr * tdError * trace[a];
265
+ }
266
+ entry.visits++;
267
+ entry.lastUpdate = Date.now();
268
+ }
269
+ }
270
+ }
271
+ pruneQTable() {
272
+ const entries = Array.from(this.qTable.entries())
273
+ .sort((a, b) => a[1].lastUpdate - b[1].lastUpdate);
274
+ const toRemove = entries.length - Math.floor(this.config.maxStates * 0.8);
275
+ for (let i = 0; i < toRemove; i++) {
276
+ this.qTable.delete(entries[i][0]);
277
+ }
278
+ }
279
+ argmax(values) {
280
+ let maxIdx = 0;
281
+ let maxVal = values[0];
282
+ for (let i = 1; i < values.length; i++) {
283
+ if (values[i] > maxVal) {
284
+ maxVal = values[i];
285
+ maxIdx = i;
286
+ }
287
+ }
288
+ return maxIdx;
289
+ }
290
+ }
291
+ /**
292
+ * Factory function
293
+ */
294
+ export function createSARSA(config) {
295
+ return new SARSAAlgorithm(config);
296
+ }
297
+ //# sourceMappingURL=sarsa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sarsa.js","sourceRoot":"","sources":["../../src/algorithms/sarsa.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Neural Application Layer - Public Exports
3
+ *
4
+ * @module v3/neural/application
5
+ */
6
+ export { NeuralApplicationService, type TrainingSessionResult, type NeuralMetrics, } from './services/neural-application-service.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,0CAA0C,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Neural Application Layer - Public Exports
3
+ *
4
+ * @module v3/neural/application
5
+ */
6
+ export { NeuralApplicationService, } from './services/neural-application-service.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,wBAAwB,GAGzB,MAAM,0CAA0C,CAAC"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Neural Application Service - Application Layer
3
+ *
4
+ * Orchestrates neural learning operations.
5
+ *
6
+ * @module v3/neural/application/services
7
+ */
8
+ import { Pattern, PatternType } from '../../domain/entities/pattern.js';
9
+ import { Trajectory, LearningResult, RouteRecommendation } from '../../domain/services/learning-service.js';
10
+ /**
11
+ * Training session result
12
+ */
13
+ export interface TrainingSessionResult {
14
+ trajectoriesProcessed: number;
15
+ patternsExtracted: number;
16
+ patternsUpdated: number;
17
+ averageConfidenceChange: number;
18
+ duration: number;
19
+ }
20
+ /**
21
+ * Neural metrics
22
+ */
23
+ export interface NeuralMetrics {
24
+ totalPatterns: number;
25
+ patternsByType: Record<PatternType, number>;
26
+ averageConfidence: number;
27
+ reliablePatterns: number;
28
+ totalSuccesses: number;
29
+ totalFailures: number;
30
+ }
31
+ /**
32
+ * Neural Application Service
33
+ */
34
+ export declare class NeuralApplicationService {
35
+ private readonly learningService;
36
+ constructor();
37
+ /**
38
+ * Learn from a single trajectory
39
+ */
40
+ learn(trajectory: Trajectory): LearningResult;
41
+ /**
42
+ * Train on batch of trajectories
43
+ */
44
+ train(trajectories: Trajectory[]): TrainingSessionResult;
45
+ /**
46
+ * Get route recommendation for task
47
+ */
48
+ route(taskDescription: string): RouteRecommendation;
49
+ /**
50
+ * Explain routing decision
51
+ */
52
+ explain(taskDescription: string): {
53
+ recommendation: RouteRecommendation;
54
+ matchingPatterns: Pattern[];
55
+ reasoning: string[];
56
+ };
57
+ /**
58
+ * Get all patterns
59
+ */
60
+ getPatterns(): Pattern[];
61
+ /**
62
+ * Get patterns by type
63
+ */
64
+ getPatternsByType(type: PatternType): Pattern[];
65
+ /**
66
+ * Add custom pattern
67
+ */
68
+ addPattern(props: {
69
+ type: PatternType;
70
+ name: string;
71
+ description: string;
72
+ condition: string;
73
+ action: string;
74
+ confidence?: number;
75
+ }): Pattern;
76
+ /**
77
+ * Remove pattern
78
+ */
79
+ removePattern(id: string): boolean;
80
+ /**
81
+ * Consolidate patterns
82
+ */
83
+ consolidate(minConfidence?: number): {
84
+ merged: number;
85
+ pruned: number;
86
+ };
87
+ /**
88
+ * Get neural metrics
89
+ */
90
+ getMetrics(): NeuralMetrics;
91
+ }
92
+ //# sourceMappingURL=neural-application-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neural-application-service.d.ts","sourceRoot":"","sources":["../../../src/application/services/neural-application-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAyB,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEnI;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;;IAUxD;;OAEG;IACH,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc;IAI7C;;OAEG;IACH,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,qBAAqB;IA0BxD;;OAEG;IACH,KAAK,CAAC,eAAe,EAAE,MAAM,GAAG,mBAAmB;IAInD;;OAEG;IACH,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG;QAChC,cAAc,EAAE,mBAAmB,CAAC;QACpC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB;IA4BD;;OAEG;IACH,WAAW,IAAI,OAAO,EAAE;IAIxB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;IAI/C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE;QAChB,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO;IAaX;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQvE;;OAEG;IACH,UAAU,IAAI,aAAa;CAgC5B"}