nexus-prime 0.2.0
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 +253 -0
- package/dist/agents/adapters/mcp.d.ts +21 -0
- package/dist/agents/adapters/mcp.d.ts.map +1 -0
- package/dist/agents/adapters/mcp.js +447 -0
- package/dist/agents/adapters/mcp.js.map +1 -0
- package/dist/agents/adapters.d.ts +57 -0
- package/dist/agents/adapters.d.ts.map +1 -0
- package/dist/agents/adapters.js +151 -0
- package/dist/agents/adapters.js.map +1 -0
- package/dist/agents/coordinator.d.ts +75 -0
- package/dist/agents/coordinator.d.ts.map +1 -0
- package/dist/agents/coordinator.js +339 -0
- package/dist/agents/coordinator.js.map +1 -0
- package/dist/agents/core/types.d.ts +157 -0
- package/dist/agents/core/types.d.ts.map +1 -0
- package/dist/agents/core/types.js +5 -0
- package/dist/agents/core/types.js.map +1 -0
- package/dist/agents/learner.d.ts +25 -0
- package/dist/agents/learner.d.ts.map +1 -0
- package/dist/agents/learner.js +88 -0
- package/dist/agents/learner.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +237 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +74 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +73 -0
- package/dist/config.js.map +1 -0
- package/dist/core/evolution.d.ts +122 -0
- package/dist/core/evolution.d.ts.map +1 -0
- package/dist/core/evolution.js +319 -0
- package/dist/core/evolution.js.map +1 -0
- package/dist/core/memory.d.ts +96 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +304 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/optimize.d.ts +100 -0
- package/dist/core/optimize.d.ts.map +1 -0
- package/dist/core/optimize.js +263 -0
- package/dist/core/optimize.js.map +1 -0
- package/dist/core/types.d.ts +155 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +5 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/wave.d.ts +55 -0
- package/dist/core/wave.d.ts.map +1 -0
- package/dist/core/wave.js +119 -0
- package/dist/core/wave.js.map +1 -0
- package/dist/engines/benchmark.d.ts +76 -0
- package/dist/engines/benchmark.d.ts.map +1 -0
- package/dist/engines/benchmark.js +167 -0
- package/dist/engines/benchmark.js.map +1 -0
- package/dist/engines/cache-manager.d.ts +75 -0
- package/dist/engines/cache-manager.d.ts.map +1 -0
- package/dist/engines/cache-manager.js +200 -0
- package/dist/engines/cache-manager.js.map +1 -0
- package/dist/engines/context.d.ts +50 -0
- package/dist/engines/context.d.ts.map +1 -0
- package/dist/engines/context.js +99 -0
- package/dist/engines/context.js.map +1 -0
- package/dist/engines/embedder.d.ts +55 -0
- package/dist/engines/embedder.d.ts.map +1 -0
- package/dist/engines/embedder.js +223 -0
- package/dist/engines/embedder.js.map +1 -0
- package/dist/engines/guardrails-bridge.d.ts +64 -0
- package/dist/engines/guardrails-bridge.d.ts.map +1 -0
- package/dist/engines/guardrails-bridge.js +251 -0
- package/dist/engines/guardrails-bridge.js.map +1 -0
- package/dist/engines/index.d.ts +14 -0
- package/dist/engines/index.d.ts.map +1 -0
- package/dist/engines/index.js +14 -0
- package/dist/engines/index.js.map +1 -0
- package/dist/engines/memory.d.ts +76 -0
- package/dist/engines/memory.d.ts.map +1 -0
- package/dist/engines/memory.js +431 -0
- package/dist/engines/memory.js.map +1 -0
- package/dist/engines/meta-learner.d.ts +87 -0
- package/dist/engines/meta-learner.d.ts.map +1 -0
- package/dist/engines/meta-learner.js +214 -0
- package/dist/engines/meta-learner.js.map +1 -0
- package/dist/engines/orchestrator.d.ts +69 -0
- package/dist/engines/orchestrator.d.ts.map +1 -0
- package/dist/engines/orchestrator.js +175 -0
- package/dist/engines/orchestrator.js.map +1 -0
- package/dist/engines/pod-network.d.ts +31 -0
- package/dist/engines/pod-network.d.ts.map +1 -0
- package/dist/engines/pod-network.js +108 -0
- package/dist/engines/pod-network.js.map +1 -0
- package/dist/engines/token-optimizer.d.ts +53 -0
- package/dist/engines/token-optimizer.d.ts.map +1 -0
- package/dist/engines/token-optimizer.js +115 -0
- package/dist/engines/token-optimizer.js.map +1 -0
- package/dist/engines/token-supremacy.d.ts +86 -0
- package/dist/engines/token-supremacy.d.ts.map +1 -0
- package/dist/engines/token-supremacy.js +403 -0
- package/dist/engines/token-supremacy.js.map +1 -0
- package/dist/index.d.ts +99 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +302 -0
- package/dist/index.js.map +1 -0
- package/dist/nexus-prime.d.ts +15 -0
- package/dist/nexus-prime.d.ts.map +1 -0
- package/dist/nexus-prime.js +15 -0
- package/dist/nexus-prime.js.map +1 -0
- package/dist/phantom/index.d.ts +135 -0
- package/dist/phantom/index.d.ts.map +1 -0
- package/dist/phantom/index.js +286 -0
- package/dist/phantom/index.js.map +1 -0
- package/dist/phantom/merge-oracle.d.ts +35 -0
- package/dist/phantom/merge-oracle.d.ts.map +1 -0
- package/dist/phantom/merge-oracle.js +189 -0
- package/dist/phantom/merge-oracle.js.map +1 -0
- package/dist/phantom/phase4-orchestrator.d.ts +14 -0
- package/dist/phantom/phase4-orchestrator.d.ts.map +1 -0
- package/dist/phantom/phase4-orchestrator.js +488 -0
- package/dist/phantom/phase4-orchestrator.js.map +1 -0
- package/dist/verify-guardrails.d.ts +2 -0
- package/dist/verify-guardrails.d.ts.map +1 -0
- package/dist/verify-guardrails.js +48 -0
- package/dist/verify-guardrails.js.map +1 -0
- package/dist/verify-pod-sync.d.ts +2 -0
- package/dist/verify-pod-sync.d.ts.map +1 -0
- package/dist/verify-pod-sync.js +41 -0
- package/dist/verify-pod-sync.js.map +1 -0
- package/dist/verify-substrate.d.ts +2 -0
- package/dist/verify-substrate.d.ts.map +1 -0
- package/dist/verify-substrate.js +41 -0
- package/dist/verify-substrate.js.map +1 -0
- package/dist/verify-token-scoring.d.ts +2 -0
- package/dist/verify-token-scoring.d.ts.map +1 -0
- package/dist/verify-token-scoring.js +37 -0
- package/dist/verify-token-scoring.js.map +1 -0
- package/package.json +80 -0
package/dist/config.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default configuration for Nexus Prime
|
|
3
|
+
*/
|
|
4
|
+
export const defaultConfig = {
|
|
5
|
+
network: {
|
|
6
|
+
port: 3000,
|
|
7
|
+
peers: [],
|
|
8
|
+
consensus: 'raft'
|
|
9
|
+
},
|
|
10
|
+
memory: {
|
|
11
|
+
cortex: {
|
|
12
|
+
enabled: true,
|
|
13
|
+
storage: 'sqlite',
|
|
14
|
+
vector: 'hnsw'
|
|
15
|
+
},
|
|
16
|
+
hippocampus: {
|
|
17
|
+
window: '48h',
|
|
18
|
+
consolidation: '6h'
|
|
19
|
+
},
|
|
20
|
+
prefrontal: {
|
|
21
|
+
items: 7
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
evolution: {
|
|
25
|
+
mutationRate: 0.01,
|
|
26
|
+
selectionPressure: 0.9,
|
|
27
|
+
coherenceThreshold: 0.8
|
|
28
|
+
},
|
|
29
|
+
adapters: ['openclaw']
|
|
30
|
+
};
|
|
31
|
+
export const environments = {
|
|
32
|
+
development: {
|
|
33
|
+
network: {
|
|
34
|
+
port: 3000,
|
|
35
|
+
peers: [],
|
|
36
|
+
consensus: 'raft'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
production: {
|
|
40
|
+
network: {
|
|
41
|
+
port: 8080,
|
|
42
|
+
peers: [],
|
|
43
|
+
consensus: 'bft'
|
|
44
|
+
},
|
|
45
|
+
evolution: {
|
|
46
|
+
mutationRate: 0.005,
|
|
47
|
+
selectionPressure: 0.95,
|
|
48
|
+
coherenceThreshold: 0.9
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
test: {
|
|
52
|
+
network: {
|
|
53
|
+
port: 3001,
|
|
54
|
+
peers: [],
|
|
55
|
+
consensus: 'raft'
|
|
56
|
+
},
|
|
57
|
+
memory: {
|
|
58
|
+
cortex: {
|
|
59
|
+
enabled: true,
|
|
60
|
+
storage: 'sqlite',
|
|
61
|
+
vector: 'flat'
|
|
62
|
+
},
|
|
63
|
+
hippocampus: {
|
|
64
|
+
window: '1h',
|
|
65
|
+
consolidation: '15m'
|
|
66
|
+
},
|
|
67
|
+
prefrontal: {
|
|
68
|
+
items: 3
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,MAAe;KAC3B;IAED,MAAM,EAAE;QACN,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,QAAiB;YAC1B,MAAM,EAAE,MAAe;SACxB;QACD,WAAW,EAAE;YACX,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,IAAI;SACpB;QACD,UAAU,EAAE;YACV,KAAK,EAAE,CAAC;SACT;KACF;IAED,SAAS,EAAE;QACT,YAAY,EAAE,IAAI;QAClB,iBAAiB,EAAE,GAAG;QACtB,kBAAkB,EAAE,GAAG;KACxB;IAED,QAAQ,EAAE,CAAC,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE;QACX,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,MAAe;SAC3B;KACF;IAED,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,KAAc;SAC1B;QACD,SAAS,EAAE;YACT,YAAY,EAAE,KAAK;YACnB,iBAAiB,EAAE,IAAI;YACvB,kBAAkB,EAAE,GAAG;SACxB;KACF;IAED,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,MAAe;SAC3B;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,QAAiB;gBAC1B,MAAM,EAAE,MAAe;aACxB;YACD,WAAW,EAAE;gBACX,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,KAAK;aACrB;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evolution Engine
|
|
3
|
+
*
|
|
4
|
+
* Meta-evolution layer that controls language evolution itself.
|
|
5
|
+
* Includes emergent grammar and fission protocol.
|
|
6
|
+
*/
|
|
7
|
+
import { GrammarRule, EvolutionPolicy, Pattern } from './types.js';
|
|
8
|
+
export declare class EvolutionEngine {
|
|
9
|
+
private grammar;
|
|
10
|
+
private policy;
|
|
11
|
+
private mutationHistory;
|
|
12
|
+
private sandboxResults;
|
|
13
|
+
constructor(policy?: Partial<EvolutionPolicy>);
|
|
14
|
+
/**
|
|
15
|
+
* Get current grammar rules
|
|
16
|
+
*/
|
|
17
|
+
getGrammar(): GrammarRule[];
|
|
18
|
+
/**
|
|
19
|
+
* Add a grammar rule
|
|
20
|
+
*/
|
|
21
|
+
addRule(rule: GrammarRule): void;
|
|
22
|
+
/**
|
|
23
|
+
* Find matching grammar rule for a pattern
|
|
24
|
+
*/
|
|
25
|
+
matchRule(pattern: string[]): GrammarRule | null;
|
|
26
|
+
/**
|
|
27
|
+
* Calculate how well a pattern matches a rule
|
|
28
|
+
*/
|
|
29
|
+
private calculateMatchScore;
|
|
30
|
+
/**
|
|
31
|
+
* Generate a grammar mutation
|
|
32
|
+
*/
|
|
33
|
+
generateMutation(): GrammarRule;
|
|
34
|
+
/**
|
|
35
|
+
* Generate a pattern based on mutation type
|
|
36
|
+
*/
|
|
37
|
+
private generatePattern;
|
|
38
|
+
/**
|
|
39
|
+
* Test mutation in sandbox
|
|
40
|
+
*/
|
|
41
|
+
testMutation(mutation: GrammarRule): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Incorporate successful mutation
|
|
44
|
+
*/
|
|
45
|
+
incorporate(mutation: GrammarRule): void;
|
|
46
|
+
/**
|
|
47
|
+
* Check adoption rate
|
|
48
|
+
*/
|
|
49
|
+
getAdoptionRate(mutationId: string): number;
|
|
50
|
+
/**
|
|
51
|
+
* Update adoption rate
|
|
52
|
+
*/
|
|
53
|
+
updateAdoptionRate(mutationId: string, rate: number): void;
|
|
54
|
+
/**
|
|
55
|
+
* Govern the evolution process
|
|
56
|
+
*/
|
|
57
|
+
govern(health: {
|
|
58
|
+
coherence: number;
|
|
59
|
+
stagnation: number;
|
|
60
|
+
}): void;
|
|
61
|
+
/**
|
|
62
|
+
* Mutate the grammar
|
|
63
|
+
*/
|
|
64
|
+
mutateGrammar(): void;
|
|
65
|
+
/**
|
|
66
|
+
* Introduce diversity
|
|
67
|
+
*/
|
|
68
|
+
introduceDiversity(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Learn from mutation history
|
|
71
|
+
*/
|
|
72
|
+
metaLearn(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Record mutation result
|
|
75
|
+
*/
|
|
76
|
+
recordMutation(mutation: unknown, success: boolean): void;
|
|
77
|
+
/**
|
|
78
|
+
* Stabilize grammar: convert high-adoption patterns to rules
|
|
79
|
+
*/
|
|
80
|
+
stabilizeGrammar(): GrammarRule[];
|
|
81
|
+
/**
|
|
82
|
+
* Prune low-confidence rules
|
|
83
|
+
*/
|
|
84
|
+
pruneGrammar(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Discover new patterns from agent interactions
|
|
87
|
+
*/
|
|
88
|
+
discoverPattern(interaction: {
|
|
89
|
+
tokens: string[];
|
|
90
|
+
success: boolean;
|
|
91
|
+
value: number;
|
|
92
|
+
}): GrammarRule | null;
|
|
93
|
+
getPolicy(): EvolutionPolicy;
|
|
94
|
+
setPolicy(policy: Partial<EvolutionPolicy>): void;
|
|
95
|
+
}
|
|
96
|
+
export declare class FissionProtocol {
|
|
97
|
+
private propagationThreshold;
|
|
98
|
+
private decayRate;
|
|
99
|
+
private branchingFactor;
|
|
100
|
+
private propagationQueue;
|
|
101
|
+
/**
|
|
102
|
+
* Trigger fission when pattern value exceeds threshold
|
|
103
|
+
*/
|
|
104
|
+
fission(pattern: Pattern, neighbors: string[], getNeighbor: (id: string) => {
|
|
105
|
+
receive: (pattern: Pattern, value: number) => void;
|
|
106
|
+
}): void;
|
|
107
|
+
/**
|
|
108
|
+
* Receive pattern from fission
|
|
109
|
+
*/
|
|
110
|
+
receive(pattern: Pattern, value: number): Pattern;
|
|
111
|
+
/**
|
|
112
|
+
* Set propagation threshold
|
|
113
|
+
*/
|
|
114
|
+
setThreshold(threshold: number): void;
|
|
115
|
+
/**
|
|
116
|
+
* Set branching factor
|
|
117
|
+
*/
|
|
118
|
+
setBranchingFactor(factor: number): void;
|
|
119
|
+
}
|
|
120
|
+
export declare const createEvolutionEngine: (policy?: Partial<EvolutionPolicy>) => EvolutionEngine;
|
|
121
|
+
export declare const createFissionProtocol: () => FissionProtocol;
|
|
122
|
+
//# sourceMappingURL=evolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/core/evolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAEnF,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,cAAc,CAAmC;gBAE7C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAW7C;;OAEG;IACH,UAAU,IAAI,WAAW,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIhC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,GAAG,IAAI;IAehD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,gBAAgB,IAAI,WAAW;IAe/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3D;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAWxC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAK3C;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAS1D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAe/D;;OAEG;IACH,aAAa,IAAI,IAAI;IAWrB;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAc1B;;OAEG;IACH,SAAS,IAAI,IAAI;IAqBjB;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAMzD;;OAEG;IACH,gBAAgB,IAAI,WAAW,EAAE;IAajC;;OAEG;IACH,YAAY,IAAI,IAAI;IAUpB;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE;QAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,WAAW,GAAG,IAAI;IA4BtB,SAAS,IAAI,eAAe;IAI5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;CAGlD;AAID,qBAAa,eAAe;IAC1B,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAkD;IAE1E;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK;QAC1E,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KACpD,GAAG,IAAI;IAcR;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAYjD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGzC;AAID,eAAO,MAAM,qBAAqB,GAAI,SAAS,OAAO,CAAC,eAAe,CAAC,oBAC1C,CAAC;AAE9B,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evolution Engine
|
|
3
|
+
*
|
|
4
|
+
* Meta-evolution layer that controls language evolution itself.
|
|
5
|
+
* Includes emergent grammar and fission protocol.
|
|
6
|
+
*/
|
|
7
|
+
export class EvolutionEngine {
|
|
8
|
+
grammar = new Map();
|
|
9
|
+
policy;
|
|
10
|
+
mutationHistory = [];
|
|
11
|
+
sandboxResults = new Map();
|
|
12
|
+
constructor(policy) {
|
|
13
|
+
this.policy = {
|
|
14
|
+
mutationRate: policy?.mutationRate ?? 0.01,
|
|
15
|
+
selectionPressure: policy?.selectionPressure ?? 0.9,
|
|
16
|
+
coherenceThreshold: policy?.coherenceThreshold ?? 0.8,
|
|
17
|
+
diversityWeight: policy?.diversityWeight ?? 0.3
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
// ==================== GRAMMAR MANAGEMENT ====================
|
|
21
|
+
/**
|
|
22
|
+
* Get current grammar rules
|
|
23
|
+
*/
|
|
24
|
+
getGrammar() {
|
|
25
|
+
return Array.from(this.grammar.values());
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Add a grammar rule
|
|
29
|
+
*/
|
|
30
|
+
addRule(rule) {
|
|
31
|
+
this.grammar.set(rule.id, rule);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Find matching grammar rule for a pattern
|
|
35
|
+
*/
|
|
36
|
+
matchRule(pattern) {
|
|
37
|
+
let bestMatch = null;
|
|
38
|
+
let bestScore = 0;
|
|
39
|
+
for (const rule of this.grammar.values()) {
|
|
40
|
+
const score = this.calculateMatchScore(pattern, rule.pattern);
|
|
41
|
+
if (score > bestScore && score > 0.7) {
|
|
42
|
+
bestScore = score;
|
|
43
|
+
bestMatch = rule;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return bestMatch;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Calculate how well a pattern matches a rule
|
|
50
|
+
*/
|
|
51
|
+
calculateMatchScore(pattern, rule) {
|
|
52
|
+
if (rule.length === 0)
|
|
53
|
+
return 0;
|
|
54
|
+
let matches = 0;
|
|
55
|
+
for (const token of pattern) {
|
|
56
|
+
if (rule.includes(token)) {
|
|
57
|
+
matches++;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return matches / Math.max(pattern.length, rule.length);
|
|
61
|
+
}
|
|
62
|
+
// ==================== MUTATION ====================
|
|
63
|
+
/**
|
|
64
|
+
* Generate a grammar mutation
|
|
65
|
+
*/
|
|
66
|
+
generateMutation() {
|
|
67
|
+
const types = ['add_token', 'remove_token', 'combine_rules', 'split_rule'];
|
|
68
|
+
const type = types[Math.floor(Math.random() * types.length)];
|
|
69
|
+
const mutation = {
|
|
70
|
+
id: `mutation_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
71
|
+
pattern: this.generatePattern(type),
|
|
72
|
+
weight: 0.1, // Start low
|
|
73
|
+
adoptionRate: 0,
|
|
74
|
+
confidence: 0.1
|
|
75
|
+
};
|
|
76
|
+
return mutation;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Generate a pattern based on mutation type
|
|
80
|
+
*/
|
|
81
|
+
generatePattern(type) {
|
|
82
|
+
const tokens = ['search', 'read', 'write', 'analyze', 'execute', 'learn',
|
|
83
|
+
'review', 'test', 'plan', 'create', 'debug', 'optimize'];
|
|
84
|
+
switch (type) {
|
|
85
|
+
case 'add_token':
|
|
86
|
+
return [tokens[Math.floor(Math.random() * tokens.length)]];
|
|
87
|
+
case 'remove_token':
|
|
88
|
+
return [];
|
|
89
|
+
case 'combine_rules':
|
|
90
|
+
return [
|
|
91
|
+
tokens[Math.floor(Math.random() * tokens.length)],
|
|
92
|
+
tokens[Math.floor(Math.random() * tokens.length)]
|
|
93
|
+
];
|
|
94
|
+
case 'split_rule':
|
|
95
|
+
default:
|
|
96
|
+
return [tokens[Math.floor(Math.random() * tokens.length)]];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Test mutation in sandbox
|
|
101
|
+
*/
|
|
102
|
+
async testMutation(mutation) {
|
|
103
|
+
// Simulate sandbox test
|
|
104
|
+
// In production, this would actually run the mutation
|
|
105
|
+
const success = Math.random() > 0.5;
|
|
106
|
+
this.sandboxResults.set(mutation.id, success);
|
|
107
|
+
return success;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Incorporate successful mutation
|
|
111
|
+
*/
|
|
112
|
+
incorporate(mutation) {
|
|
113
|
+
// Add or update rule
|
|
114
|
+
const existing = this.grammar.get(mutation.id);
|
|
115
|
+
if (existing) {
|
|
116
|
+
existing.weight = Math.min(1, existing.weight + 0.1);
|
|
117
|
+
existing.confidence = Math.min(1, existing.confidence + 0.1);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.grammar.set(mutation.id, mutation);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check adoption rate
|
|
125
|
+
*/
|
|
126
|
+
getAdoptionRate(mutationId) {
|
|
127
|
+
const rule = this.grammar.get(mutationId);
|
|
128
|
+
return rule?.adoptionRate ?? 0;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Update adoption rate
|
|
132
|
+
*/
|
|
133
|
+
updateAdoptionRate(mutationId, rate) {
|
|
134
|
+
const rule = this.grammar.get(mutationId);
|
|
135
|
+
if (rule) {
|
|
136
|
+
rule.adoptionRate = rate;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// ==================== META-EVOLUTION ====================
|
|
140
|
+
/**
|
|
141
|
+
* Govern the evolution process
|
|
142
|
+
*/
|
|
143
|
+
govern(health) {
|
|
144
|
+
// Check if grammar needs mutation
|
|
145
|
+
if (health.coherence < this.policy.coherenceThreshold) {
|
|
146
|
+
this.mutateGrammar();
|
|
147
|
+
}
|
|
148
|
+
// Check if diversity is needed
|
|
149
|
+
if (health.stagnation > 0.8) {
|
|
150
|
+
this.introduceDiversity();
|
|
151
|
+
}
|
|
152
|
+
// Evolve the policy itself
|
|
153
|
+
this.metaLearn();
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Mutate the grammar
|
|
157
|
+
*/
|
|
158
|
+
mutateGrammar() {
|
|
159
|
+
const mutation = this.generateMutation();
|
|
160
|
+
// Test in sandbox
|
|
161
|
+
this.testMutation(mutation).then(success => {
|
|
162
|
+
if (success) {
|
|
163
|
+
this.incorporate(mutation);
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Introduce diversity
|
|
169
|
+
*/
|
|
170
|
+
introduceDiversity() {
|
|
171
|
+
// Generate new random rules
|
|
172
|
+
for (let i = 0; i < 5; i++) {
|
|
173
|
+
const rule = {
|
|
174
|
+
id: `diversity_${Date.now()}_${i}`,
|
|
175
|
+
pattern: this.generatePattern('add_token'),
|
|
176
|
+
weight: 0.1 * this.policy.diversityWeight,
|
|
177
|
+
adoptionRate: 0,
|
|
178
|
+
confidence: 0.1
|
|
179
|
+
};
|
|
180
|
+
this.grammar.set(rule.id, rule);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Learn from mutation history
|
|
185
|
+
*/
|
|
186
|
+
metaLearn() {
|
|
187
|
+
const successes = this.mutationHistory.filter(m => m.success).length;
|
|
188
|
+
const failures = this.mutationHistory.filter(m => !m.success).length;
|
|
189
|
+
const total = successes + failures;
|
|
190
|
+
if (total === 0)
|
|
191
|
+
return;
|
|
192
|
+
// Adjust mutation rate based on success rate
|
|
193
|
+
if (successes > failures) {
|
|
194
|
+
this.policy.mutationRate = Math.min(0.1, this.policy.mutationRate * 1.01);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
this.policy.mutationRate = Math.max(0.001, this.policy.mutationRate * 0.9);
|
|
198
|
+
this.policy.selectionPressure = Math.min(0.99, this.policy.selectionPressure * 1.1);
|
|
199
|
+
}
|
|
200
|
+
// Keep history bounded
|
|
201
|
+
if (this.mutationHistory.length > 1000) {
|
|
202
|
+
this.mutationHistory = this.mutationHistory.slice(-500);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Record mutation result
|
|
207
|
+
*/
|
|
208
|
+
recordMutation(mutation, success) {
|
|
209
|
+
this.mutationHistory.push({ mutation, success });
|
|
210
|
+
}
|
|
211
|
+
// ==================== GRAMMAR STABILIZATION ====================
|
|
212
|
+
/**
|
|
213
|
+
* Stabilize grammar: convert high-adoption patterns to rules
|
|
214
|
+
*/
|
|
215
|
+
stabilizeGrammar() {
|
|
216
|
+
const stable = [];
|
|
217
|
+
for (const rule of this.grammar.values()) {
|
|
218
|
+
if (rule.adoptionRate > this.policy.selectionPressure) {
|
|
219
|
+
rule.confidence = 1;
|
|
220
|
+
stable.push(rule);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return stable;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Prune low-confidence rules
|
|
227
|
+
*/
|
|
228
|
+
pruneGrammar() {
|
|
229
|
+
for (const [id, rule] of this.grammar) {
|
|
230
|
+
if (rule.confidence < 0.1) {
|
|
231
|
+
this.grammar.delete(id);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
// ==================== PATTERN DISCOVERY ====================
|
|
236
|
+
/**
|
|
237
|
+
* Discover new patterns from agent interactions
|
|
238
|
+
*/
|
|
239
|
+
discoverPattern(interaction) {
|
|
240
|
+
if (!interaction.success || interaction.value < 0.5) {
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
// Check if pattern already exists
|
|
244
|
+
const existing = this.matchRule(interaction.tokens);
|
|
245
|
+
if (existing) {
|
|
246
|
+
existing.weight = Math.min(1, existing.weight + interaction.value * 0.1);
|
|
247
|
+
existing.confidence = Math.min(1, existing.confidence + 0.05);
|
|
248
|
+
return existing;
|
|
249
|
+
}
|
|
250
|
+
// Create new rule
|
|
251
|
+
const newRule = {
|
|
252
|
+
id: `discovered_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
|
|
253
|
+
pattern: interaction.tokens,
|
|
254
|
+
weight: interaction.value,
|
|
255
|
+
adoptionRate: 0.1,
|
|
256
|
+
confidence: interaction.value
|
|
257
|
+
};
|
|
258
|
+
this.grammar.set(newRule.id, newRule);
|
|
259
|
+
return newRule;
|
|
260
|
+
}
|
|
261
|
+
// ==================== STATE ====================
|
|
262
|
+
getPolicy() {
|
|
263
|
+
return { ...this.policy };
|
|
264
|
+
}
|
|
265
|
+
setPolicy(policy) {
|
|
266
|
+
Object.assign(this.policy, policy);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
// ==================== FISSION PROTOCOL ====================
|
|
270
|
+
export class FissionProtocol {
|
|
271
|
+
propagationThreshold = 0.9;
|
|
272
|
+
decayRate = 0.1;
|
|
273
|
+
branchingFactor = 3;
|
|
274
|
+
propagationQueue = [];
|
|
275
|
+
/**
|
|
276
|
+
* Trigger fission when pattern value exceeds threshold
|
|
277
|
+
*/
|
|
278
|
+
fission(pattern, neighbors, getNeighbor) {
|
|
279
|
+
if (pattern.weight < this.propagationThreshold) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
// Broadcast to nearest neighbors
|
|
283
|
+
for (const neighborId of neighbors.slice(0, this.branchingFactor)) {
|
|
284
|
+
const neighbor = getNeighbor(neighborId);
|
|
285
|
+
if (neighbor) {
|
|
286
|
+
neighbor.receive(pattern, pattern.weight);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Receive pattern from fission
|
|
292
|
+
*/
|
|
293
|
+
receive(pattern, value) {
|
|
294
|
+
// Apply decay
|
|
295
|
+
const decayedValue = value * (1 - this.decayRate);
|
|
296
|
+
// Return modified pattern
|
|
297
|
+
return {
|
|
298
|
+
...pattern,
|
|
299
|
+
weight: decayedValue,
|
|
300
|
+
confidence: pattern.confidence * 0.9
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Set propagation threshold
|
|
305
|
+
*/
|
|
306
|
+
setThreshold(threshold) {
|
|
307
|
+
this.propagationThreshold = threshold;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Set branching factor
|
|
311
|
+
*/
|
|
312
|
+
setBranchingFactor(factor) {
|
|
313
|
+
this.branchingFactor = factor;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// ==================== FACTORY ====================
|
|
317
|
+
export const createEvolutionEngine = (policy) => new EvolutionEngine(policy);
|
|
318
|
+
export const createFissionProtocol = () => new FissionProtocol();
|
|
319
|
+
//# sourceMappingURL=evolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/core/evolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Three-Tier Brain-Inspired Memory System
|
|
3
|
+
*
|
|
4
|
+
* CORTEX: Long-term memory (persistent)
|
|
5
|
+
* HIPPOCAMPUS: Medium-term (recent 24-48 hours)
|
|
6
|
+
* PREFRONTAL: Working memory (~7 items)
|
|
7
|
+
*/
|
|
8
|
+
import { Pattern, CortexMemory, HippocampusMemory, PrefrontalMemory, Experience } from './types.js';
|
|
9
|
+
export declare class MemorySystem {
|
|
10
|
+
private cortex;
|
|
11
|
+
private hippocampus;
|
|
12
|
+
private prefrontal;
|
|
13
|
+
private decayRate;
|
|
14
|
+
private consolidationThreshold;
|
|
15
|
+
constructor(options?: {
|
|
16
|
+
hippocampusWindowHours?: number;
|
|
17
|
+
prefrontalMaxItems?: number;
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Store pattern in long-term memory (Cortex)
|
|
21
|
+
*/
|
|
22
|
+
store(pattern: Pattern, priority?: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* Recall patterns from Cortex
|
|
25
|
+
*/
|
|
26
|
+
recall(query: number[], k?: number): Array<{
|
|
27
|
+
pattern: Pattern;
|
|
28
|
+
score: number;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Hebbian strengthening: patterns that co-occur get stronger
|
|
32
|
+
*/
|
|
33
|
+
hebbianStrengthen(pattern: Pattern): void;
|
|
34
|
+
/**
|
|
35
|
+
* Decay unused patterns
|
|
36
|
+
*/
|
|
37
|
+
decayUnused(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Add pattern to recent memory (Hippocampus)
|
|
40
|
+
*/
|
|
41
|
+
addToRecent(pattern: Pattern): void;
|
|
42
|
+
/**
|
|
43
|
+
* Create temporary binding between patterns
|
|
44
|
+
*/
|
|
45
|
+
bind(patternA: string, patternB: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* Get recent patterns
|
|
48
|
+
*/
|
|
49
|
+
getRecent(k?: number): Pattern[];
|
|
50
|
+
/**
|
|
51
|
+
* Consolidate: Transfer important patterns from Hippocampus to Cortex
|
|
52
|
+
*/
|
|
53
|
+
consolidate(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Add to working memory
|
|
56
|
+
*/
|
|
57
|
+
addToWorking(item: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* Get working memory
|
|
60
|
+
*/
|
|
61
|
+
getWorking(): string[];
|
|
62
|
+
/**
|
|
63
|
+
* Clear working memory
|
|
64
|
+
*/
|
|
65
|
+
clearWorking(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Keep only specific items in working memory
|
|
68
|
+
*/
|
|
69
|
+
retain(items: string[]): void;
|
|
70
|
+
/**
|
|
71
|
+
* Learn from experience
|
|
72
|
+
*/
|
|
73
|
+
learn(experience: Experience): Pattern | null;
|
|
74
|
+
/**
|
|
75
|
+
* Compress multiple experiences into a single pattern
|
|
76
|
+
*/
|
|
77
|
+
compress(experiences: Experience[]): Pattern;
|
|
78
|
+
private addToGraph;
|
|
79
|
+
private removeFromGraph;
|
|
80
|
+
private findRelated;
|
|
81
|
+
private cosineSimilarity;
|
|
82
|
+
private computeRecency;
|
|
83
|
+
private recentlyAccessed;
|
|
84
|
+
private wasRecentlyAccessed;
|
|
85
|
+
markAccessed(id: string): void;
|
|
86
|
+
private embedExperience;
|
|
87
|
+
private hashString;
|
|
88
|
+
getCortex(): CortexMemory;
|
|
89
|
+
getHippocampus(): HippocampusMemory;
|
|
90
|
+
getPrefrontal(): PrefrontalMemory;
|
|
91
|
+
}
|
|
92
|
+
export declare const createMemory: (options?: {
|
|
93
|
+
hippocampusWindowHours?: number;
|
|
94
|
+
prefrontalMaxItems?: number;
|
|
95
|
+
}) => MemorySystem;
|
|
96
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/core/memory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpG,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,sBAAsB,CAAO;gBAEzB,OAAO,CAAC,EAAE;QACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B;IA2BD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAY,GAAG,IAAI;IAQrD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,GAAE,MAAU,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBlF;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASzC;;OAEG;IACH,WAAW,IAAI,IAAI;IAoBnB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUnC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,SAAS,CAAC,CAAC,GAAE,MAAW,GAAG,OAAO,EAAE;IAIpC;;OAEG;IACH,WAAW,IAAI,IAAI;IAenB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWhC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ7B;;OAEG;IACH,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,IAAI;IA6B7C;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO;IA+B5C,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,mBAAmB;IAQ3B,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,UAAU;IAWlB,SAAS,IAAI,YAAY;IAIzB,cAAc,IAAI,iBAAiB;IAInC,aAAa,IAAI,gBAAgB;CAGlC;AAED,eAAO,MAAM,YAAY,GAAI,UAAU;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,iBAA8B,CAAC"}
|