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.
Files changed (134) hide show
  1. package/README.md +253 -0
  2. package/dist/agents/adapters/mcp.d.ts +21 -0
  3. package/dist/agents/adapters/mcp.d.ts.map +1 -0
  4. package/dist/agents/adapters/mcp.js +447 -0
  5. package/dist/agents/adapters/mcp.js.map +1 -0
  6. package/dist/agents/adapters.d.ts +57 -0
  7. package/dist/agents/adapters.d.ts.map +1 -0
  8. package/dist/agents/adapters.js +151 -0
  9. package/dist/agents/adapters.js.map +1 -0
  10. package/dist/agents/coordinator.d.ts +75 -0
  11. package/dist/agents/coordinator.d.ts.map +1 -0
  12. package/dist/agents/coordinator.js +339 -0
  13. package/dist/agents/coordinator.js.map +1 -0
  14. package/dist/agents/core/types.d.ts +157 -0
  15. package/dist/agents/core/types.d.ts.map +1 -0
  16. package/dist/agents/core/types.js +5 -0
  17. package/dist/agents/core/types.js.map +1 -0
  18. package/dist/agents/learner.d.ts +25 -0
  19. package/dist/agents/learner.d.ts.map +1 -0
  20. package/dist/agents/learner.js +88 -0
  21. package/dist/agents/learner.js.map +1 -0
  22. package/dist/cli.d.ts +6 -0
  23. package/dist/cli.d.ts.map +1 -0
  24. package/dist/cli.js +237 -0
  25. package/dist/cli.js.map +1 -0
  26. package/dist/config.d.ts +74 -0
  27. package/dist/config.d.ts.map +1 -0
  28. package/dist/config.js +73 -0
  29. package/dist/config.js.map +1 -0
  30. package/dist/core/evolution.d.ts +122 -0
  31. package/dist/core/evolution.d.ts.map +1 -0
  32. package/dist/core/evolution.js +319 -0
  33. package/dist/core/evolution.js.map +1 -0
  34. package/dist/core/memory.d.ts +96 -0
  35. package/dist/core/memory.d.ts.map +1 -0
  36. package/dist/core/memory.js +304 -0
  37. package/dist/core/memory.js.map +1 -0
  38. package/dist/core/optimize.d.ts +100 -0
  39. package/dist/core/optimize.d.ts.map +1 -0
  40. package/dist/core/optimize.js +263 -0
  41. package/dist/core/optimize.js.map +1 -0
  42. package/dist/core/types.d.ts +155 -0
  43. package/dist/core/types.d.ts.map +1 -0
  44. package/dist/core/types.js +5 -0
  45. package/dist/core/types.js.map +1 -0
  46. package/dist/core/wave.d.ts +55 -0
  47. package/dist/core/wave.d.ts.map +1 -0
  48. package/dist/core/wave.js +119 -0
  49. package/dist/core/wave.js.map +1 -0
  50. package/dist/engines/benchmark.d.ts +76 -0
  51. package/dist/engines/benchmark.d.ts.map +1 -0
  52. package/dist/engines/benchmark.js +167 -0
  53. package/dist/engines/benchmark.js.map +1 -0
  54. package/dist/engines/cache-manager.d.ts +75 -0
  55. package/dist/engines/cache-manager.d.ts.map +1 -0
  56. package/dist/engines/cache-manager.js +200 -0
  57. package/dist/engines/cache-manager.js.map +1 -0
  58. package/dist/engines/context.d.ts +50 -0
  59. package/dist/engines/context.d.ts.map +1 -0
  60. package/dist/engines/context.js +99 -0
  61. package/dist/engines/context.js.map +1 -0
  62. package/dist/engines/embedder.d.ts +55 -0
  63. package/dist/engines/embedder.d.ts.map +1 -0
  64. package/dist/engines/embedder.js +223 -0
  65. package/dist/engines/embedder.js.map +1 -0
  66. package/dist/engines/guardrails-bridge.d.ts +64 -0
  67. package/dist/engines/guardrails-bridge.d.ts.map +1 -0
  68. package/dist/engines/guardrails-bridge.js +251 -0
  69. package/dist/engines/guardrails-bridge.js.map +1 -0
  70. package/dist/engines/index.d.ts +14 -0
  71. package/dist/engines/index.d.ts.map +1 -0
  72. package/dist/engines/index.js +14 -0
  73. package/dist/engines/index.js.map +1 -0
  74. package/dist/engines/memory.d.ts +76 -0
  75. package/dist/engines/memory.d.ts.map +1 -0
  76. package/dist/engines/memory.js +431 -0
  77. package/dist/engines/memory.js.map +1 -0
  78. package/dist/engines/meta-learner.d.ts +87 -0
  79. package/dist/engines/meta-learner.d.ts.map +1 -0
  80. package/dist/engines/meta-learner.js +214 -0
  81. package/dist/engines/meta-learner.js.map +1 -0
  82. package/dist/engines/orchestrator.d.ts +69 -0
  83. package/dist/engines/orchestrator.d.ts.map +1 -0
  84. package/dist/engines/orchestrator.js +175 -0
  85. package/dist/engines/orchestrator.js.map +1 -0
  86. package/dist/engines/pod-network.d.ts +31 -0
  87. package/dist/engines/pod-network.d.ts.map +1 -0
  88. package/dist/engines/pod-network.js +108 -0
  89. package/dist/engines/pod-network.js.map +1 -0
  90. package/dist/engines/token-optimizer.d.ts +53 -0
  91. package/dist/engines/token-optimizer.d.ts.map +1 -0
  92. package/dist/engines/token-optimizer.js +115 -0
  93. package/dist/engines/token-optimizer.js.map +1 -0
  94. package/dist/engines/token-supremacy.d.ts +86 -0
  95. package/dist/engines/token-supremacy.d.ts.map +1 -0
  96. package/dist/engines/token-supremacy.js +403 -0
  97. package/dist/engines/token-supremacy.js.map +1 -0
  98. package/dist/index.d.ts +99 -0
  99. package/dist/index.d.ts.map +1 -0
  100. package/dist/index.js +302 -0
  101. package/dist/index.js.map +1 -0
  102. package/dist/nexus-prime.d.ts +15 -0
  103. package/dist/nexus-prime.d.ts.map +1 -0
  104. package/dist/nexus-prime.js +15 -0
  105. package/dist/nexus-prime.js.map +1 -0
  106. package/dist/phantom/index.d.ts +135 -0
  107. package/dist/phantom/index.d.ts.map +1 -0
  108. package/dist/phantom/index.js +286 -0
  109. package/dist/phantom/index.js.map +1 -0
  110. package/dist/phantom/merge-oracle.d.ts +35 -0
  111. package/dist/phantom/merge-oracle.d.ts.map +1 -0
  112. package/dist/phantom/merge-oracle.js +189 -0
  113. package/dist/phantom/merge-oracle.js.map +1 -0
  114. package/dist/phantom/phase4-orchestrator.d.ts +14 -0
  115. package/dist/phantom/phase4-orchestrator.d.ts.map +1 -0
  116. package/dist/phantom/phase4-orchestrator.js +488 -0
  117. package/dist/phantom/phase4-orchestrator.js.map +1 -0
  118. package/dist/verify-guardrails.d.ts +2 -0
  119. package/dist/verify-guardrails.d.ts.map +1 -0
  120. package/dist/verify-guardrails.js +48 -0
  121. package/dist/verify-guardrails.js.map +1 -0
  122. package/dist/verify-pod-sync.d.ts +2 -0
  123. package/dist/verify-pod-sync.d.ts.map +1 -0
  124. package/dist/verify-pod-sync.js +41 -0
  125. package/dist/verify-pod-sync.js.map +1 -0
  126. package/dist/verify-substrate.d.ts +2 -0
  127. package/dist/verify-substrate.d.ts.map +1 -0
  128. package/dist/verify-substrate.js +41 -0
  129. package/dist/verify-substrate.js.map +1 -0
  130. package/dist/verify-token-scoring.d.ts +2 -0
  131. package/dist/verify-token-scoring.d.ts.map +1 -0
  132. package/dist/verify-token-scoring.js +37 -0
  133. package/dist/verify-token-scoring.js.map +1 -0
  134. package/package.json +80 -0
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Multi-Agent Cache Manager
3
+ *
4
+ * Implements shared KV cache with Byzantine consensus.
5
+ */
6
+ export interface CacheEntry {
7
+ direction: number[];
8
+ magnitudes: number[];
9
+ retained: Map<number, number[]>;
10
+ indices: number[];
11
+ }
12
+ export interface AgentDelta {
13
+ layerIndex: number;
14
+ delta: number[];
15
+ timestamp: number;
16
+ }
17
+ export declare class CacheManager {
18
+ private sharedCache;
19
+ private agentDeltas;
20
+ private version;
21
+ private locks;
22
+ private syncInterval;
23
+ private compressionThreshold;
24
+ /**
25
+ * Initialize shared cache for a layer
26
+ */
27
+ initLayer(layerIndex: number, kvCache: number[][]): void;
28
+ /**
29
+ * Compress KV cache using SLERP-inspired merge
30
+ */
31
+ private compress;
32
+ /**
33
+ * SLERP-inspired merge
34
+ */
35
+ private slerpMerge;
36
+ /**
37
+ * Acquire read lock (non-blocking)
38
+ */
39
+ acquireReadLock(layerIndex: number): boolean;
40
+ /**
41
+ * Acquire write lock
42
+ */
43
+ acquireWriteLock(layerIndex: number): boolean;
44
+ /**
45
+ * Release lock
46
+ */
47
+ releaseLock(layerIndex: number): void;
48
+ /**
49
+ * Get cache entry for agent
50
+ */
51
+ getForAgent(agentId: string, layerIndex: number): number[];
52
+ /**
53
+ * Update agent delta
54
+ */
55
+ updateDelta(agentId: string, layerIndex: number, delta: number[]): void;
56
+ /**
57
+ * Sync agent delta to shared cache
58
+ */
59
+ syncToShared(agentId: string, layerIndex: number): void;
60
+ /**
61
+ * Get cache statistics
62
+ */
63
+ getStats(): {
64
+ layers: number;
65
+ agents: number;
66
+ version: number;
67
+ compressionRatio: number;
68
+ };
69
+ private magnitude;
70
+ private normalize;
71
+ private dotProduct;
72
+ private cosineSimilarity;
73
+ }
74
+ export declare const createCacheManager: () => CacheManager;
75
+ //# sourceMappingURL=cache-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../src/engines/cache-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,KAAK,CAAqD;IAElE,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,oBAAoB,CAAO;IAEnC;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;IAMxD;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsChB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAS5C;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAS7C;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAuB1D;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAavE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAgCvD;;OAEG;IACH,QAAQ,IAAI;QACV,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAqBD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB;CAMzB;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Multi-Agent Cache Manager
3
+ *
4
+ * Implements shared KV cache with Byzantine consensus.
5
+ */
6
+ export class CacheManager {
7
+ sharedCache = new Map();
8
+ agentDeltas = new Map();
9
+ version = 0;
10
+ locks = new Map();
11
+ syncInterval = 50; // tokens
12
+ compressionThreshold = 0.1;
13
+ /**
14
+ * Initialize shared cache for a layer
15
+ */
16
+ initLayer(layerIndex, kvCache) {
17
+ // Compress using SLERP-like merge
18
+ const compressed = this.compress(kvCache);
19
+ this.sharedCache.set(layerIndex, compressed);
20
+ }
21
+ /**
22
+ * Compress KV cache using SLERP-inspired merge
23
+ */
24
+ compress(kvCache) {
25
+ if (kvCache.length < 2) {
26
+ return {
27
+ direction: kvCache[0] || [],
28
+ magnitudes: [1],
29
+ retained: new Map(),
30
+ indices: kvCache.map((_, i) => i)
31
+ };
32
+ }
33
+ // Start from middle
34
+ const mid = Math.floor(kvCache.length / 2);
35
+ // Merge middle with previous (like SLERP)
36
+ const merged = this.slerpMerge(kvCache[mid], kvCache[mid - 1], 0.5);
37
+ // Compute magnitudes
38
+ const magnitudes = kvCache.map(v => this.magnitude(v));
39
+ // Retain highly distinct tokens (simple threshold)
40
+ const retained = new Map();
41
+ const threshold = 0.3;
42
+ for (let i = mid; i < kvCache.length; i++) {
43
+ const sim = this.cosineSimilarity(kvCache[i], merged);
44
+ if (sim < threshold) {
45
+ retained.set(i, kvCache[i]);
46
+ }
47
+ }
48
+ return {
49
+ direction: this.normalize(merged),
50
+ magnitudes: magnitudes.slice(mid),
51
+ retained,
52
+ indices: kvCache.map((_, i) => i).slice(mid)
53
+ };
54
+ }
55
+ /**
56
+ * SLERP-inspired merge
57
+ */
58
+ slerpMerge(v1, v2, t) {
59
+ // Simplified SLERP
60
+ const dot = this.dotProduct(v1, v2) / (this.magnitude(v1) * this.magnitude(v2) || 1);
61
+ const omega = Math.acos(Math.max(-1, Math.min(1, dot)));
62
+ const sinOmega = Math.sin(omega);
63
+ if (sinOmega < 1e-6) {
64
+ return v1.map((x, i) => (1 - t) * x + t * (v2[i] || 0));
65
+ }
66
+ const a = Math.sin((1 - t) * omega) / sinOmega;
67
+ const b = Math.sin(t * omega) / sinOmega;
68
+ return v1.map((x, i) => a * x + b * (v2[i] || 0));
69
+ }
70
+ /**
71
+ * Acquire read lock (non-blocking)
72
+ */
73
+ acquireReadLock(layerIndex) {
74
+ const current = this.locks.get(layerIndex) || 'none';
75
+ if (current === 'write') {
76
+ return false; // Blocked
77
+ }
78
+ this.locks.set(layerIndex, 'read');
79
+ return true;
80
+ }
81
+ /**
82
+ * Acquire write lock
83
+ */
84
+ acquireWriteLock(layerIndex) {
85
+ const current = this.locks.get(layerIndex) || 'none';
86
+ if (current !== 'none') {
87
+ return false; // Blocked
88
+ }
89
+ this.locks.set(layerIndex, 'write');
90
+ return true;
91
+ }
92
+ /**
93
+ * Release lock
94
+ */
95
+ releaseLock(layerIndex) {
96
+ this.locks.set(layerIndex, 'none');
97
+ }
98
+ /**
99
+ * Get cache entry for agent
100
+ */
101
+ getForAgent(agentId, layerIndex) {
102
+ const entry = this.sharedCache.get(layerIndex);
103
+ if (!entry)
104
+ return [];
105
+ // Get agent's delta
106
+ const agentDeltaMap = this.agentDeltas.get(agentId) || new Map();
107
+ const delta = agentDeltaMap.get(layerIndex) || [];
108
+ // Restore: direction * magnitude + delta
109
+ const restored = entry.direction.map((d, i) => d * (entry.magnitudes[i] || 1) + (delta[i] || 0));
110
+ // Add retained tokens
111
+ for (const [idx, token] of entry.retained) {
112
+ if (idx < restored.length) {
113
+ restored[idx] += this.magnitude(token);
114
+ }
115
+ }
116
+ return restored;
117
+ }
118
+ /**
119
+ * Update agent delta
120
+ */
121
+ updateDelta(agentId, layerIndex, delta) {
122
+ if (!this.agentDeltas.has(agentId)) {
123
+ this.agentDeltas.set(agentId, new Map());
124
+ }
125
+ const agentDeltaMap = this.agentDeltas.get(agentId);
126
+ const existing = agentDeltaMap.get(layerIndex) || [];
127
+ // Accumulate delta
128
+ const newDelta = delta.map((d, i) => d + (existing[i] || 0));
129
+ agentDeltaMap.set(layerIndex, newDelta);
130
+ }
131
+ /**
132
+ * Sync agent delta to shared cache
133
+ */
134
+ syncToShared(agentId, layerIndex) {
135
+ const agentDeltaMap = this.agentDeltas.get(agentId);
136
+ if (!agentDeltaMap)
137
+ return;
138
+ const delta = agentDeltaMap.get(layerIndex);
139
+ if (!delta)
140
+ return;
141
+ // Check if delta is significant
142
+ const entry = this.sharedCache.get(layerIndex);
143
+ if (!entry)
144
+ return;
145
+ const mag = this.magnitude(entry.direction);
146
+ const deltaMag = this.magnitude(delta);
147
+ if (deltaMag > this.compressionThreshold * mag) {
148
+ // Merge delta into shared
149
+ const merged = entry.direction.map((d, i) => d + delta[i] * 0.1);
150
+ this.sharedCache.set(layerIndex, {
151
+ ...entry,
152
+ direction: this.normalize(merged),
153
+ magnitudes: entry.magnitudes.map(m => m + deltaMag * 0.1)
154
+ });
155
+ // Reset agent delta
156
+ agentDeltaMap.set(layerIndex, []);
157
+ this.version++;
158
+ }
159
+ }
160
+ /**
161
+ * Get cache statistics
162
+ */
163
+ getStats() {
164
+ let totalOriginal = 0;
165
+ let totalCompressed = 0;
166
+ for (const entry of this.sharedCache.values()) {
167
+ totalOriginal += entry.magnitudes.length * entry.direction.length;
168
+ totalCompressed += entry.direction.length + entry.magnitudes.length;
169
+ totalCompressed += Array.from(entry.retained.values())
170
+ .reduce((sum, v) => sum + v.length, 0);
171
+ }
172
+ return {
173
+ layers: this.sharedCache.size,
174
+ agents: this.agentDeltas.size,
175
+ version: this.version,
176
+ compressionRatio: totalOriginal / (totalCompressed || 1)
177
+ };
178
+ }
179
+ // ===== Utilities =====
180
+ magnitude(v) {
181
+ return Math.sqrt(v.reduce((sum, x) => sum + x * x, 0));
182
+ }
183
+ normalize(v) {
184
+ const mag = this.magnitude(v);
185
+ if (mag === 0)
186
+ return v;
187
+ return v.map(x => x / mag);
188
+ }
189
+ dotProduct(a, b) {
190
+ return a.reduce((sum, x, i) => sum + x * (b[i] || 0), 0);
191
+ }
192
+ cosineSimilarity(a, b) {
193
+ const dot = this.dotProduct(a, b);
194
+ const magA = this.magnitude(a);
195
+ const magB = this.magnitude(b);
196
+ return dot / (magA * magB || 1);
197
+ }
198
+ }
199
+ export const createCacheManager = () => new CacheManager();
200
+ //# sourceMappingURL=cache-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../src/engines/cache-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Context Engine
3
+ *
4
+ * Manages context window with compression and retrieval.
5
+ */
6
+ export declare class ContextEngine {
7
+ private maxTokens;
8
+ private tokenOptimizer;
9
+ private workingContext;
10
+ private compressedCache;
11
+ constructor(maxTokens?: number);
12
+ /**
13
+ * Add content to context
14
+ */
15
+ add(content: string): void;
16
+ /**
17
+ * Get relevant context for query
18
+ */
19
+ getContext(query: string): string[];
20
+ /**
21
+ * Compress working context
22
+ */
23
+ private compress;
24
+ /**
25
+ * Get total token count
26
+ */
27
+ private getTokenCount;
28
+ /**
29
+ * Simple tokenization
30
+ */
31
+ private tokenize;
32
+ /**
33
+ * Simple similarity (in production use embeddings)
34
+ */
35
+ private similarity;
36
+ /**
37
+ * Simple hash
38
+ */
39
+ private hashString;
40
+ /**
41
+ * Clear context
42
+ */
43
+ clear(): void;
44
+ /**
45
+ * Get all context
46
+ */
47
+ getAll(): string[];
48
+ }
49
+ export declare const createContextEngine: (maxTokens?: number) => ContextEngine;
50
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/engines/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAoC;gBAE/C,SAAS,GAAE,MAAe;IAKtC;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW1B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IASnC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAehB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,MAAM,EAAE;CAGnB;AAED,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,kBACxB,CAAC"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Context Engine
3
+ *
4
+ * Manages context window with compression and retrieval.
5
+ */
6
+ import { TokenOptimizer } from './token-optimizer.js';
7
+ export class ContextEngine {
8
+ maxTokens;
9
+ tokenOptimizer;
10
+ workingContext = [];
11
+ compressedCache = new Map();
12
+ constructor(maxTokens = 128000) {
13
+ this.maxTokens = maxTokens;
14
+ this.tokenOptimizer = new TokenOptimizer(maxTokens);
15
+ }
16
+ /**
17
+ * Add content to context
18
+ */
19
+ add(content) {
20
+ const tokens = this.tokenize(content);
21
+ // Check if we need to compress
22
+ if (this.getTokenCount() + tokens.length > this.maxTokens * 0.8) {
23
+ this.compress();
24
+ }
25
+ this.workingContext.push(content);
26
+ }
27
+ /**
28
+ * Get relevant context for query
29
+ */
30
+ getContext(query) {
31
+ // Simple retrieval - in production use embeddings
32
+ const relevant = this.workingContext
33
+ .filter(c => this.similarity(query, c) > 0.3)
34
+ .slice(-50);
35
+ return relevant;
36
+ }
37
+ /**
38
+ * Compress working context
39
+ */
40
+ compress() {
41
+ if (this.workingContext.length === 0)
42
+ return;
43
+ // Keep most recent and most relevant
44
+ const toCompress = this.workingContext.slice(0, -10);
45
+ const recent = this.workingContext.slice(-10);
46
+ // Create compressed version (simple concatenation for now)
47
+ const compressed = toCompress.join(' | ');
48
+ const key = this.hashString(compressed);
49
+ this.compressedCache.set(key, toCompress);
50
+ this.workingContext = recent;
51
+ }
52
+ /**
53
+ * Get total token count
54
+ */
55
+ getTokenCount() {
56
+ return this.workingContext.reduce((sum, c) => sum + c.length / 4, 0);
57
+ }
58
+ /**
59
+ * Simple tokenization
60
+ */
61
+ tokenize(content) {
62
+ return content.split(/\s+/);
63
+ }
64
+ /**
65
+ * Simple similarity (in production use embeddings)
66
+ */
67
+ similarity(a, b) {
68
+ const wordsA = new Set(a.toLowerCase().split(/\s+/));
69
+ const wordsB = new Set(b.toLowerCase().split(/\s+/));
70
+ const intersection = [...wordsA].filter(x => wordsB.has(x));
71
+ const union = new Set([...wordsA, ...wordsB]);
72
+ return intersection.length / union.size;
73
+ }
74
+ /**
75
+ * Simple hash
76
+ */
77
+ hashString(str) {
78
+ let hash = 0;
79
+ for (let i = 0; i < str.length; i++) {
80
+ hash = ((hash << 5) - hash) + str.charCodeAt(i);
81
+ hash |= 0;
82
+ }
83
+ return hash.toString(36);
84
+ }
85
+ /**
86
+ * Clear context
87
+ */
88
+ clear() {
89
+ this.workingContext = [];
90
+ }
91
+ /**
92
+ * Get all context
93
+ */
94
+ getAll() {
95
+ return [...this.workingContext];
96
+ }
97
+ }
98
+ export const createContextEngine = (maxTokens) => new ContextEngine(maxTokens);
99
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/engines/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Embedder — TF-IDF local embeddings + optional API mode
3
+ *
4
+ * Mode 1 (default): Pure TF-IDF, no API needed. Works offline, fast.
5
+ * Mode 2: OpenAI-compatible API (set NEXUS_EMBED_MODE=api, NEXUS_EMBED_URL, NEXUS_EMBED_KEY)
6
+ *
7
+ * Output: fixed 128-dim float32 vectors (TF-IDF) or 1536-dim (API)
8
+ */
9
+ /**
10
+ * Poincare Ball model for hyperbolic space.
11
+ * Hyperbolic distance is better suited for hierarchical structures (trees/code).
12
+ */
13
+ export declare const HyperbolicMath: {
14
+ /**
15
+ * Hyperbolic distance between two points in the unit ball.
16
+ * d(u, v) = arcosh(1 + 2 * ||u-v||^2 / ( (1-||u||^2)(1-||v||^2) ))
17
+ */
18
+ dist(u: number[], v: number[]): number;
19
+ /**
20
+ * Mobius addition: u ⊕ v
21
+ * Used to translate points in hyperbolic space while staying in the unit ball.
22
+ */
23
+ mobiusAdd(u: number[], v: number[]): number;
24
+ /** Ensure vector is within unit ball (norm < 1) */
25
+ project(v: number[]): number[];
26
+ };
27
+ export declare class Embedder {
28
+ private vocabulary;
29
+ private idf;
30
+ private docCount;
31
+ private apiMode;
32
+ private apiUrl;
33
+ private apiKey;
34
+ private apiModel;
35
+ constructor();
36
+ /** Embed a string → float32 vector */
37
+ embed(text: string): Promise<number[]>;
38
+ /**
39
+ * Generate a hierarchical embedding.
40
+ * Shifts the vector "deeper" into the Poincare ball relative to a parent.
41
+ */
42
+ embedHierarchical(text: string, parentVector?: number[], depth?: number): number[];
43
+ /** Update vocabulary with new documents (call as you store memories) */
44
+ fitVocabulary(docs: string[]): void;
45
+ /** Dimension of vectors produced by this embedder */
46
+ get dimensions(): number;
47
+ localEmbed(text: string): number[];
48
+ apiEmbed(text: string): Promise<number[]>;
49
+ cosineSimilarity(a: number[], b: number[]): number;
50
+ private tokenize;
51
+ private normalize;
52
+ private hashCode;
53
+ }
54
+ export declare const createEmbedder: () => Embedder;
55
+ //# sourceMappingURL=embedder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedder.d.ts","sourceRoot":"","sources":["../../src/engines/embedder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAyBH;;;GAGG;AACH,eAAO,MAAM,cAAc;IACvB;;;OAGG;YACK,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM;IActC;;;OAGG;iBACU,MAAM,EAAE,KAAK,MAAM,EAAE,GAAG,MAAM;IAc3C,mDAAmD;eACxC,MAAM,EAAE,GAAG,MAAM,EAAE;CAMjC,CAAC;AAMF,qBAAa,QAAQ;IACjB,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,GAAG,CAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;;IAWzB,sCAAsC;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAY5C;;;OAGG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,EAAE;IAmBrF,wEAAwE;IACxE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAyBnC,qDAAqD;IACrD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAID,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA2B5B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAuB/C,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAclD,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,QAAQ;CAOnB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}