universal-agent-memory 0.6.2 → 0.7.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 (85) hide show
  1. package/dist/benchmarks/agents/naive-agent.d.ts +60 -0
  2. package/dist/benchmarks/agents/naive-agent.d.ts.map +1 -0
  3. package/dist/benchmarks/agents/naive-agent.js +144 -0
  4. package/dist/benchmarks/agents/naive-agent.js.map +1 -0
  5. package/dist/benchmarks/agents/uam-agent.d.ts +167 -0
  6. package/dist/benchmarks/agents/uam-agent.d.ts.map +1 -0
  7. package/dist/benchmarks/agents/uam-agent.js +386 -0
  8. package/dist/benchmarks/agents/uam-agent.js.map +1 -0
  9. package/dist/benchmarks/benchmark.d.ts +328 -0
  10. package/dist/benchmarks/benchmark.d.ts.map +1 -0
  11. package/dist/benchmarks/benchmark.js +104 -0
  12. package/dist/benchmarks/benchmark.js.map +1 -0
  13. package/dist/benchmarks/execution-verifier.d.ts +41 -0
  14. package/dist/benchmarks/execution-verifier.d.ts.map +1 -0
  15. package/dist/benchmarks/execution-verifier.js +342 -0
  16. package/dist/benchmarks/execution-verifier.js.map +1 -0
  17. package/dist/benchmarks/hierarchical-prompting.d.ts +37 -0
  18. package/dist/benchmarks/hierarchical-prompting.d.ts.map +1 -0
  19. package/dist/benchmarks/hierarchical-prompting.js +260 -0
  20. package/dist/benchmarks/hierarchical-prompting.js.map +1 -0
  21. package/dist/benchmarks/improved-benchmark.d.ts +88 -0
  22. package/dist/benchmarks/improved-benchmark.d.ts.map +1 -0
  23. package/dist/benchmarks/improved-benchmark.js +533 -0
  24. package/dist/benchmarks/improved-benchmark.js.map +1 -0
  25. package/dist/benchmarks/index.d.ts +10 -0
  26. package/dist/benchmarks/index.d.ts.map +1 -0
  27. package/dist/benchmarks/index.js +10 -0
  28. package/dist/benchmarks/index.js.map +1 -0
  29. package/dist/benchmarks/multi-turn-agent.d.ts +44 -0
  30. package/dist/benchmarks/multi-turn-agent.d.ts.map +1 -0
  31. package/dist/benchmarks/multi-turn-agent.js +235 -0
  32. package/dist/benchmarks/multi-turn-agent.js.map +1 -0
  33. package/dist/benchmarks/runner.d.ts +2 -0
  34. package/dist/benchmarks/runner.d.ts.map +1 -0
  35. package/dist/benchmarks/runner.js +2 -0
  36. package/dist/benchmarks/runner.js.map +1 -0
  37. package/dist/benchmarks/tasks.d.ts +19 -0
  38. package/dist/benchmarks/tasks.d.ts.map +1 -0
  39. package/dist/benchmarks/tasks.js +371 -0
  40. package/dist/benchmarks/tasks.js.map +1 -0
  41. package/dist/index.d.ts +14 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +11 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/memory/backends/qdrant-cloud.d.ts +1 -1
  46. package/dist/memory/backends/qdrant-cloud.d.ts.map +1 -1
  47. package/dist/memory/backends/qdrant-cloud.js +6 -4
  48. package/dist/memory/backends/qdrant-cloud.js.map +1 -1
  49. package/dist/memory/context-compressor.d.ts +66 -0
  50. package/dist/memory/context-compressor.d.ts.map +1 -0
  51. package/dist/memory/context-compressor.js +250 -0
  52. package/dist/memory/context-compressor.js.map +1 -0
  53. package/dist/memory/dynamic-retrieval.d.ts +26 -0
  54. package/dist/memory/dynamic-retrieval.d.ts.map +1 -0
  55. package/dist/memory/dynamic-retrieval.js +378 -0
  56. package/dist/memory/dynamic-retrieval.js.map +1 -0
  57. package/dist/memory/embeddings.d.ts +93 -0
  58. package/dist/memory/embeddings.d.ts.map +1 -0
  59. package/dist/memory/embeddings.js +391 -0
  60. package/dist/memory/embeddings.js.map +1 -0
  61. package/dist/memory/hierarchical-memory.d.ts +116 -0
  62. package/dist/memory/hierarchical-memory.d.ts.map +1 -0
  63. package/dist/memory/hierarchical-memory.js +299 -0
  64. package/dist/memory/hierarchical-memory.js.map +1 -0
  65. package/dist/memory/memory-consolidator.d.ts +88 -0
  66. package/dist/memory/memory-consolidator.d.ts.map +1 -0
  67. package/dist/memory/memory-consolidator.js +348 -0
  68. package/dist/memory/memory-consolidator.js.map +1 -0
  69. package/dist/memory/speculative-cache.d.ts +89 -0
  70. package/dist/memory/speculative-cache.d.ts.map +1 -0
  71. package/dist/memory/speculative-cache.js +259 -0
  72. package/dist/memory/speculative-cache.js.map +1 -0
  73. package/dist/memory/task-classifier.d.ts +33 -0
  74. package/dist/memory/task-classifier.d.ts.map +1 -0
  75. package/dist/memory/task-classifier.js +277 -0
  76. package/dist/memory/task-classifier.js.map +1 -0
  77. package/dist/utils/rate-limiter.d.ts +62 -0
  78. package/dist/utils/rate-limiter.d.ts.map +1 -0
  79. package/dist/utils/rate-limiter.js +150 -0
  80. package/dist/utils/rate-limiter.js.map +1 -0
  81. package/dist/utils/validate-json.d.ts +52 -0
  82. package/dist/utils/validate-json.d.ts.map +1 -0
  83. package/dist/utils/validate-json.js +99 -0
  84. package/dist/utils/validate-json.js.map +1 -0
  85. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-retrieval.js","sourceRoot":"","sources":["../../src/memory/dynamic-retrieval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Embedding Service for UAM Memory System
3
+ *
4
+ * Provides text embedding generation for semantic memory retrieval.
5
+ * Supports multiple backends: OpenAI, local transformers, or simple TF-IDF fallback.
6
+ */
7
+ export interface EmbeddingProvider {
8
+ name: string;
9
+ dimensions: number;
10
+ embed(text: string): Promise<number[]>;
11
+ embedBatch(texts: string[]): Promise<number[][]>;
12
+ isAvailable(): Promise<boolean>;
13
+ }
14
+ /**
15
+ * OpenAI Embeddings Provider
16
+ * Uses text-embedding-3-small (1536 dimensions) or text-embedding-ada-002
17
+ */
18
+ export declare class OpenAIEmbeddingProvider implements EmbeddingProvider {
19
+ name: string;
20
+ dimensions: number;
21
+ private apiKey;
22
+ private model;
23
+ constructor(apiKey?: string, model?: string);
24
+ isAvailable(): Promise<boolean>;
25
+ embed(text: string): Promise<number[]>;
26
+ embedBatch(texts: string[]): Promise<number[][]>;
27
+ }
28
+ /**
29
+ * Local Sentence Transformers Provider
30
+ * Uses Python sentence-transformers library for local embedding generation
31
+ */
32
+ export declare class LocalEmbeddingProvider implements EmbeddingProvider {
33
+ name: string;
34
+ dimensions: number;
35
+ private model;
36
+ private pythonPath;
37
+ constructor(model?: string, pythonPath?: string);
38
+ isAvailable(): Promise<boolean>;
39
+ embed(text: string): Promise<number[]>;
40
+ embedBatch(texts: string[]): Promise<number[][]>;
41
+ }
42
+ /**
43
+ * Enhanced TF-IDF Fallback Provider with Word Vectors
44
+ * Improved keyword-based embeddings with semantic awareness
45
+ */
46
+ export declare class TFIDFEmbeddingProvider implements EmbeddingProvider {
47
+ name: string;
48
+ dimensions: number;
49
+ private vocabulary;
50
+ private idfScores;
51
+ private documents;
52
+ private wordVectors;
53
+ constructor();
54
+ isAvailable(): Promise<boolean>;
55
+ embed(text: string): Promise<number[]>;
56
+ embedBatch(texts: string[]): Promise<number[][]>;
57
+ addDocument(text: string): void;
58
+ private tokenize;
59
+ private isStopWord;
60
+ private getBigrams;
61
+ private hashString;
62
+ private getTokenIndex;
63
+ private updateIDF;
64
+ private normalize;
65
+ /**
66
+ * Initialize semantic word clusters for domain-specific terms
67
+ * Words in the same cluster get similar vector contributions
68
+ */
69
+ private initializeSemanticClusters;
70
+ private generateClusterVector;
71
+ }
72
+ /**
73
+ * Embedding Service - Main interface for UAM memory system
74
+ * Automatically selects best available provider
75
+ */
76
+ export declare class EmbeddingService {
77
+ private provider;
78
+ private providers;
79
+ private cache;
80
+ private cacheMaxSize;
81
+ constructor();
82
+ initialize(): Promise<void>;
83
+ embed(text: string): Promise<number[]>;
84
+ embedBatch(texts: string[]): Promise<number[][]>;
85
+ cosineSimilarity(a: number[], b: number[]): number;
86
+ getDimensions(): number;
87
+ getProviderName(): string;
88
+ private getCacheKey;
89
+ }
90
+ export declare function getEmbeddingService(): EmbeddingService;
91
+ export declare function generateEmbedding(text: string): Promise<number[]>;
92
+ export declare function generateEmbeddings(texts: string[]): Promise<number[][]>;
93
+ //# sourceMappingURL=embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/memory/embeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,391 @@
1
+ /**
2
+ * Embedding Service for UAM Memory System
3
+ *
4
+ * Provides text embedding generation for semantic memory retrieval.
5
+ * Supports multiple backends: OpenAI, local transformers, or simple TF-IDF fallback.
6
+ */
7
+ import { execSync } from 'child_process';
8
+ /**
9
+ * OpenAI Embeddings Provider
10
+ * Uses text-embedding-3-small (1536 dimensions) or text-embedding-ada-002
11
+ */
12
+ export class OpenAIEmbeddingProvider {
13
+ name = 'openai';
14
+ dimensions = 1536;
15
+ apiKey;
16
+ model;
17
+ constructor(apiKey, model = 'text-embedding-3-small') {
18
+ this.apiKey = apiKey || process.env.OPENAI_API_KEY || '';
19
+ this.model = model;
20
+ }
21
+ async isAvailable() {
22
+ return !!this.apiKey;
23
+ }
24
+ async embed(text) {
25
+ const results = await this.embedBatch([text]);
26
+ return results[0];
27
+ }
28
+ async embedBatch(texts) {
29
+ if (!this.apiKey) {
30
+ throw new Error('OpenAI API key not configured');
31
+ }
32
+ const response = await fetch('https://api.openai.com/v1/embeddings', {
33
+ method: 'POST',
34
+ headers: {
35
+ 'Authorization': `Bearer ${this.apiKey}`,
36
+ 'Content-Type': 'application/json',
37
+ },
38
+ body: JSON.stringify({
39
+ model: this.model,
40
+ input: texts,
41
+ }),
42
+ });
43
+ if (!response.ok) {
44
+ throw new Error(`OpenAI API error: ${response.status} ${response.statusText}`);
45
+ }
46
+ const data = await response.json();
47
+ return data.data.map(d => d.embedding);
48
+ }
49
+ }
50
+ /**
51
+ * Local Sentence Transformers Provider
52
+ * Uses Python sentence-transformers library for local embedding generation
53
+ */
54
+ export class LocalEmbeddingProvider {
55
+ name = 'local';
56
+ dimensions = 384;
57
+ model;
58
+ pythonPath;
59
+ constructor(model = 'all-MiniLM-L6-v2', pythonPath = 'python3') {
60
+ this.model = model;
61
+ this.pythonPath = pythonPath;
62
+ }
63
+ async isAvailable() {
64
+ try {
65
+ execSync(`${this.pythonPath} -c "from sentence_transformers import SentenceTransformer"`, {
66
+ stdio: 'pipe',
67
+ timeout: 10000,
68
+ });
69
+ return true;
70
+ }
71
+ catch {
72
+ return false;
73
+ }
74
+ }
75
+ async embed(text) {
76
+ const results = await this.embedBatch([text]);
77
+ return results[0];
78
+ }
79
+ async embedBatch(texts) {
80
+ const escapedTexts = JSON.stringify(texts);
81
+ const script = `
82
+ import json
83
+ import sys
84
+ from sentence_transformers import SentenceTransformer
85
+
86
+ model = SentenceTransformer('${this.model}')
87
+ texts = json.loads('''${escapedTexts}''')
88
+ embeddings = model.encode(texts, convert_to_numpy=True)
89
+ print(json.dumps(embeddings.tolist()))
90
+ `;
91
+ try {
92
+ const result = execSync(`${this.pythonPath} -c "${script.replace(/"/g, '\\"')}"`, {
93
+ encoding: 'utf-8',
94
+ timeout: 60000,
95
+ maxBuffer: 50 * 1024 * 1024,
96
+ });
97
+ return JSON.parse(result.trim());
98
+ }
99
+ catch (error) {
100
+ throw new Error(`Local embedding generation failed: ${error}`);
101
+ }
102
+ }
103
+ }
104
+ /**
105
+ * Enhanced TF-IDF Fallback Provider with Word Vectors
106
+ * Improved keyword-based embeddings with semantic awareness
107
+ */
108
+ export class TFIDFEmbeddingProvider {
109
+ name = 'tfidf-enhanced';
110
+ dimensions = 384;
111
+ vocabulary = new Map();
112
+ idfScores = new Map();
113
+ documents = [];
114
+ wordVectors = new Map();
115
+ constructor() {
116
+ // Initialize semantic word clusters for better similarity
117
+ this.initializeSemanticClusters();
118
+ }
119
+ async isAvailable() {
120
+ return true; // Always available as fallback
121
+ }
122
+ async embed(text) {
123
+ const tokens = this.tokenize(text);
124
+ const vector = new Array(this.dimensions).fill(0);
125
+ // Combine TF-IDF with semantic clustering
126
+ for (const token of tokens) {
127
+ const idx = this.getTokenIndex(token);
128
+ const tf = tokens.filter(t => t === token).length / tokens.length;
129
+ const idf = this.idfScores.get(token) || Math.log(this.documents.length + 2);
130
+ // Base TF-IDF contribution
131
+ vector[idx % this.dimensions] += tf * idf;
132
+ // Add semantic cluster contribution
133
+ const wordVec = this.wordVectors.get(token);
134
+ if (wordVec) {
135
+ for (let i = 0; i < wordVec.length; i++) {
136
+ vector[i] += wordVec[i] * tf * 0.3; // Weighted semantic contribution
137
+ }
138
+ }
139
+ }
140
+ // Add n-gram features for better phrase matching
141
+ const bigrams = this.getBigrams(tokens);
142
+ for (const bigram of bigrams) {
143
+ const idx = this.hashString(bigram) % this.dimensions;
144
+ vector[idx] += 0.5;
145
+ }
146
+ return this.normalize(vector);
147
+ }
148
+ async embedBatch(texts) {
149
+ // Update IDF scores with new documents
150
+ this.updateIDF(texts);
151
+ return Promise.all(texts.map(t => this.embed(t)));
152
+ }
153
+ addDocument(text) {
154
+ this.documents.push(text);
155
+ this.updateIDF([text]);
156
+ }
157
+ tokenize(text) {
158
+ // Enhanced tokenization that handles code better
159
+ return text.toLowerCase()
160
+ .replace(/([a-z])([A-Z])/g, '$1 $2') // Split camelCase
161
+ .replace(/_/g, ' ') // Split snake_case
162
+ .replace(/[^\w\s-]/g, ' ')
163
+ .split(/\s+/)
164
+ .filter(t => t.length > 1 && !this.isStopWord(t));
165
+ }
166
+ isStopWord(token) {
167
+ const stopWords = new Set([
168
+ 'the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been',
169
+ 'being', 'have', 'has', 'had', 'do', 'does', 'did', 'will',
170
+ 'would', 'could', 'should', 'may', 'might', 'must', 'shall',
171
+ 'can', 'need', 'dare', 'ought', 'used', 'to', 'of', 'in',
172
+ 'for', 'on', 'with', 'at', 'by', 'from', 'as', 'into',
173
+ 'through', 'during', 'before', 'after', 'above', 'below',
174
+ 'between', 'under', 'again', 'further', 'then', 'once',
175
+ 'here', 'there', 'when', 'where', 'why', 'how', 'all',
176
+ 'each', 'few', 'more', 'most', 'other', 'some', 'such',
177
+ 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than',
178
+ 'too', 'very', 'just', 'and', 'but', 'if', 'or', 'because',
179
+ 'until', 'while', 'this', 'that', 'these', 'those', 'it',
180
+ ]);
181
+ return stopWords.has(token);
182
+ }
183
+ getBigrams(tokens) {
184
+ const bigrams = [];
185
+ for (let i = 0; i < tokens.length - 1; i++) {
186
+ bigrams.push(`${tokens[i]}_${tokens[i + 1]}`);
187
+ }
188
+ return bigrams;
189
+ }
190
+ hashString(str) {
191
+ let hash = 0;
192
+ for (let i = 0; i < str.length; i++) {
193
+ const char = str.charCodeAt(i);
194
+ hash = ((hash << 5) - hash) + char;
195
+ hash = hash & hash;
196
+ }
197
+ return Math.abs(hash);
198
+ }
199
+ getTokenIndex(token) {
200
+ if (!this.vocabulary.has(token)) {
201
+ this.vocabulary.set(token, this.vocabulary.size);
202
+ }
203
+ return this.vocabulary.get(token);
204
+ }
205
+ updateIDF(_newDocs) {
206
+ const tokenDocs = new Map();
207
+ for (let i = 0; i < this.documents.length; i++) {
208
+ const tokens = new Set(this.tokenize(this.documents[i]));
209
+ for (const token of tokens) {
210
+ if (!tokenDocs.has(token)) {
211
+ tokenDocs.set(token, new Set());
212
+ }
213
+ tokenDocs.get(token).add(i);
214
+ }
215
+ }
216
+ for (const [token, docs] of tokenDocs) {
217
+ this.idfScores.set(token, Math.log((this.documents.length + 1) / (docs.size + 1)) + 1);
218
+ }
219
+ }
220
+ normalize(vector) {
221
+ const magnitude = Math.sqrt(vector.reduce((sum, v) => sum + v * v, 0));
222
+ if (magnitude === 0)
223
+ return vector;
224
+ return vector.map(v => v / magnitude);
225
+ }
226
+ /**
227
+ * Initialize semantic word clusters for domain-specific terms
228
+ * Words in the same cluster get similar vector contributions
229
+ */
230
+ initializeSemanticClusters() {
231
+ const clusters = {
232
+ // Programming concepts
233
+ programming: ['code', 'function', 'class', 'method', 'variable', 'const', 'let', 'var', 'import', 'export', 'async', 'await', 'promise', 'callback'],
234
+ types: ['type', 'interface', 'enum', 'string', 'number', 'boolean', 'array', 'object', 'null', 'undefined'],
235
+ errors: ['error', 'exception', 'throw', 'catch', 'try', 'finally', 'bug', 'fix', 'debug', 'trace', 'stack'],
236
+ testing: ['test', 'spec', 'describe', 'it', 'expect', 'assert', 'mock', 'stub', 'spy', 'coverage'],
237
+ git: ['git', 'commit', 'push', 'pull', 'merge', 'branch', 'checkout', 'rebase', 'stash', 'diff'],
238
+ memory: ['memory', 'cache', 'store', 'retrieve', 'query', 'embed', 'vector', 'semantic', 'context'],
239
+ security: ['security', 'auth', 'token', 'secret', 'password', 'encrypt', 'decrypt', 'hash', 'salt'],
240
+ performance: ['performance', 'optimize', 'fast', 'slow', 'latency', 'throughput', 'cache', 'batch'],
241
+ database: ['database', 'sql', 'query', 'table', 'index', 'schema', 'migration', 'insert', 'update', 'delete'],
242
+ network: ['network', 'http', 'api', 'request', 'response', 'endpoint', 'url', 'fetch', 'axios'],
243
+ };
244
+ // Generate pseudo-random but consistent vectors for each cluster
245
+ for (const [clusterName, words] of Object.entries(clusters)) {
246
+ const clusterVector = this.generateClusterVector(clusterName);
247
+ for (const word of words) {
248
+ // Add slight variation for each word
249
+ const wordVector = clusterVector.map((v, i) => v + (this.hashString(word + i.toString()) % 100 - 50) / 500);
250
+ this.wordVectors.set(word, wordVector);
251
+ }
252
+ }
253
+ }
254
+ generateClusterVector(seed) {
255
+ const vector = new Array(this.dimensions).fill(0);
256
+ const hash = this.hashString(seed);
257
+ // Create sparse activation pattern for this cluster
258
+ for (let i = 0; i < 20; i++) {
259
+ const idx = (hash + i * 17) % this.dimensions;
260
+ vector[idx] = ((hash + i) % 100) / 100;
261
+ }
262
+ return vector;
263
+ }
264
+ }
265
+ /**
266
+ * Embedding Service - Main interface for UAM memory system
267
+ * Automatically selects best available provider
268
+ */
269
+ export class EmbeddingService {
270
+ provider = null;
271
+ providers;
272
+ cache = new Map();
273
+ cacheMaxSize = 10000;
274
+ constructor() {
275
+ this.providers = [
276
+ new OpenAIEmbeddingProvider(),
277
+ new LocalEmbeddingProvider(),
278
+ new TFIDFEmbeddingProvider(),
279
+ ];
280
+ }
281
+ async initialize() {
282
+ for (const provider of this.providers) {
283
+ if (await provider.isAvailable()) {
284
+ this.provider = provider;
285
+ console.log(`[EmbeddingService] Using provider: ${provider.name} (${provider.dimensions} dims)`);
286
+ return;
287
+ }
288
+ }
289
+ // Fallback to TF-IDF which is always available
290
+ this.provider = this.providers[this.providers.length - 1];
291
+ console.log(`[EmbeddingService] Fallback to TF-IDF provider`);
292
+ }
293
+ async embed(text) {
294
+ if (!this.provider) {
295
+ await this.initialize();
296
+ }
297
+ // Check cache
298
+ const cacheKey = this.getCacheKey(text);
299
+ if (this.cache.has(cacheKey)) {
300
+ return this.cache.get(cacheKey);
301
+ }
302
+ const embedding = await this.provider.embed(text);
303
+ // Update cache
304
+ if (this.cache.size >= this.cacheMaxSize) {
305
+ // Remove oldest entry
306
+ const firstKey = this.cache.keys().next().value;
307
+ if (firstKey !== undefined) {
308
+ this.cache.delete(firstKey);
309
+ }
310
+ }
311
+ this.cache.set(cacheKey, embedding);
312
+ return embedding;
313
+ }
314
+ async embedBatch(texts) {
315
+ if (!this.provider) {
316
+ await this.initialize();
317
+ }
318
+ const results = [];
319
+ const uncachedTexts = [];
320
+ const uncachedIndices = [];
321
+ // Check cache for each text
322
+ for (let i = 0; i < texts.length; i++) {
323
+ const cacheKey = this.getCacheKey(texts[i]);
324
+ if (this.cache.has(cacheKey)) {
325
+ results[i] = this.cache.get(cacheKey);
326
+ }
327
+ else {
328
+ uncachedTexts.push(texts[i]);
329
+ uncachedIndices.push(i);
330
+ }
331
+ }
332
+ // Generate embeddings for uncached texts
333
+ if (uncachedTexts.length > 0) {
334
+ const newEmbeddings = await this.provider.embedBatch(uncachedTexts);
335
+ for (let i = 0; i < uncachedTexts.length; i++) {
336
+ const idx = uncachedIndices[i];
337
+ results[idx] = newEmbeddings[i];
338
+ // Update cache
339
+ const cacheKey = this.getCacheKey(uncachedTexts[i]);
340
+ if (this.cache.size < this.cacheMaxSize) {
341
+ this.cache.set(cacheKey, newEmbeddings[i]);
342
+ }
343
+ }
344
+ }
345
+ return results;
346
+ }
347
+ cosineSimilarity(a, b) {
348
+ if (a.length !== b.length) {
349
+ throw new Error('Vectors must have same dimensions');
350
+ }
351
+ let dotProduct = 0;
352
+ let normA = 0;
353
+ let normB = 0;
354
+ for (let i = 0; i < a.length; i++) {
355
+ dotProduct += a[i] * b[i];
356
+ normA += a[i] * a[i];
357
+ normB += b[i] * b[i];
358
+ }
359
+ const denominator = Math.sqrt(normA) * Math.sqrt(normB);
360
+ if (denominator === 0)
361
+ return 0;
362
+ return dotProduct / denominator;
363
+ }
364
+ getDimensions() {
365
+ return this.provider?.dimensions || 384;
366
+ }
367
+ getProviderName() {
368
+ return this.provider?.name || 'uninitialized';
369
+ }
370
+ getCacheKey(text) {
371
+ // Simple hash for cache key
372
+ return text.slice(0, 500).toLowerCase().trim();
373
+ }
374
+ }
375
+ // Singleton instance
376
+ let embeddingServiceInstance = null;
377
+ export function getEmbeddingService() {
378
+ if (!embeddingServiceInstance) {
379
+ embeddingServiceInstance = new EmbeddingService();
380
+ }
381
+ return embeddingServiceInstance;
382
+ }
383
+ export async function generateEmbedding(text) {
384
+ const service = getEmbeddingService();
385
+ return service.embed(text);
386
+ }
387
+ export async function generateEmbeddings(texts) {
388
+ const service = getEmbeddingService();
389
+ return service.embedBatch(texts);
390
+ }
391
+ //# sourceMappingURL=embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/memory/embeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Hierarchical Memory System for UAM
3
+ *
4
+ * Implements hot/warm/cold memory tiering with automatic promotion/demotion.
5
+ * Based on MemGPT and R³Mem research for efficient memory management.
6
+ */
7
+ export interface MemoryEntry {
8
+ id: string;
9
+ content: string;
10
+ type: 'action' | 'observation' | 'thought' | 'goal';
11
+ timestamp: string;
12
+ importance: number;
13
+ accessCount: number;
14
+ lastAccessed: string;
15
+ embedding?: number[];
16
+ compressed?: string;
17
+ tier?: 'hot' | 'warm' | 'cold';
18
+ }
19
+ export interface TieredMemory {
20
+ hot: MemoryEntry[];
21
+ warm: MemoryEntry[];
22
+ cold: MemoryEntry[];
23
+ }
24
+ export interface HierarchicalConfig {
25
+ hotMaxEntries: number;
26
+ warmMaxEntries: number;
27
+ coldMaxEntries: number;
28
+ hotMaxTokens: number;
29
+ decayRate: number;
30
+ promotionThreshold: number;
31
+ demotionThreshold: number;
32
+ }
33
+ /**
34
+ * Calculate effective importance with time decay
35
+ * Formula: effective_importance = importance × (decayRate ^ days_since_access)
36
+ */
37
+ export declare function calculateEffectiveImportance(entry: MemoryEntry, decayRate?: number): number;
38
+ /**
39
+ * Hierarchical Memory Manager
40
+ */
41
+ export declare class HierarchicalMemoryManager {
42
+ private config;
43
+ private memory;
44
+ private accessLog;
45
+ constructor(config?: Partial<HierarchicalConfig>);
46
+ /**
47
+ * Add a new memory entry
48
+ */
49
+ add(entry: Omit<MemoryEntry, 'accessCount' | 'lastAccessed' | 'tier'>): void;
50
+ /**
51
+ * Access a memory (promote if accessed frequently)
52
+ */
53
+ access(id: string): MemoryEntry | null;
54
+ /**
55
+ * Query memories with automatic tier traversal
56
+ */
57
+ query(queryText: string, limit?: number): Promise<MemoryEntry[]>;
58
+ /**
59
+ * Get hot tier context (for inclusion in prompts)
60
+ */
61
+ getHotContext(): {
62
+ entries: MemoryEntry[];
63
+ tokens: number;
64
+ };
65
+ /**
66
+ * Consolidate old memories into summaries
67
+ */
68
+ consolidate(): Promise<void>;
69
+ /**
70
+ * Rebalance tiers based on importance and access patterns
71
+ */
72
+ private rebalance;
73
+ /**
74
+ * Check and promote entry if accessed frequently
75
+ */
76
+ private checkPromotion;
77
+ /**
78
+ * Find entry across all tiers
79
+ */
80
+ private findEntry;
81
+ /**
82
+ * Simple text similarity (Jaccard on words)
83
+ */
84
+ private textSimilarity;
85
+ /**
86
+ * Get stats about memory usage
87
+ */
88
+ getStats(): {
89
+ hot: {
90
+ count: number;
91
+ tokens: number;
92
+ };
93
+ warm: {
94
+ count: number;
95
+ tokens: number;
96
+ };
97
+ cold: {
98
+ count: number;
99
+ tokens: number;
100
+ };
101
+ total: {
102
+ count: number;
103
+ tokens: number;
104
+ };
105
+ };
106
+ /**
107
+ * Export all memories (for persistence)
108
+ */
109
+ export(): TieredMemory;
110
+ /**
111
+ * Import memories (for initialization)
112
+ */
113
+ import(data: TieredMemory): void;
114
+ }
115
+ export declare function getHierarchicalMemoryManager(config?: Partial<HierarchicalConfig>): HierarchicalMemoryManager;
116
+ //# sourceMappingURL=hierarchical-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchical-memory.d.ts","sourceRoot":"","sources":["../../src/memory/hierarchical-memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,EAAE,CAAC;IACnB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAYD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,WAAW,EAClB,SAAS,GAAE,MAAa,GACvB,MAAM,CAMR;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,SAAS,CAAoC;gBAEzC,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAKpD;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC,GAAG,IAAI;IAgB5E;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAoBtC;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAyDzE;;OAEG;IACH,aAAa,IAAI;QAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAe3D;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsClC;;OAEG;IACH,OAAO,CAAC,SAAS;IA4CjB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,SAAS;IAQjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,QAAQ,IAAI;QACV,GAAG,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC1C;IAgBD;;OAEG;IACH,MAAM,IAAI,YAAY;IAItB;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;CAGjC;AAKD,wBAAgB,4BAA4B,CAC1C,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,yBAAyB,CAK3B"}