@yamo/memory-mesh 2.3.2 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/bin/memory_mesh.js +1 -1
- package/lib/llm/client.d.ts +86 -0
- package/lib/llm/client.js +300 -357
- package/lib/llm/client.ts +334 -0
- package/lib/llm/index.d.ts +17 -0
- package/lib/llm/index.js +16 -8
- package/lib/llm/index.ts +18 -0
- package/lib/memory/adapters/client.d.ts +120 -0
- package/lib/memory/adapters/client.js +519 -0
- package/lib/memory/adapters/client.ts +519 -0
- package/lib/memory/adapters/config.d.ts +130 -0
- package/lib/memory/adapters/config.js +190 -0
- package/lib/memory/adapters/config.ts +190 -0
- package/lib/memory/adapters/errors.d.ts +84 -0
- package/lib/memory/adapters/errors.js +129 -0
- package/lib/memory/adapters/errors.ts +129 -0
- package/lib/memory/context-manager.d.ts +41 -0
- package/lib/memory/context-manager.js +345 -0
- package/lib/memory/context-manager.ts +345 -0
- package/lib/memory/embeddings/factory.d.ts +57 -0
- package/lib/memory/embeddings/factory.js +149 -0
- package/lib/memory/embeddings/factory.ts +149 -0
- package/lib/memory/embeddings/index.d.ts +2 -0
- package/lib/memory/embeddings/index.js +3 -0
- package/lib/memory/embeddings/index.ts +3 -0
- package/lib/memory/embeddings/service.d.ts +134 -0
- package/lib/memory/embeddings/service.js +516 -0
- package/lib/memory/embeddings/service.ts +516 -0
- package/lib/memory/index.d.ts +9 -0
- package/lib/memory/index.js +10 -1
- package/lib/memory/index.ts +10 -0
- package/lib/memory/memory-mesh.d.ts +332 -0
- package/lib/memory/memory-mesh.js +1470 -678
- package/lib/memory/memory-mesh.ts +1517 -0
- package/lib/memory/memory-translator.d.ts +14 -0
- package/lib/memory/memory-translator.js +126 -0
- package/lib/memory/memory-translator.ts +126 -0
- package/lib/memory/schema.d.ts +130 -0
- package/lib/memory/schema.js +184 -0
- package/lib/memory/schema.ts +184 -0
- package/lib/memory/scorer.d.ts +25 -0
- package/lib/memory/scorer.js +78 -0
- package/lib/memory/scorer.ts +78 -0
- package/lib/memory/search/index.d.ts +1 -0
- package/lib/memory/search/index.js +2 -0
- package/lib/memory/search/index.ts +2 -0
- package/lib/memory/search/keyword-search.d.ts +46 -0
- package/lib/memory/search/keyword-search.js +136 -0
- package/lib/memory/search/keyword-search.ts +136 -0
- package/lib/scrubber/config/defaults.d.ts +46 -0
- package/lib/scrubber/config/defaults.js +50 -57
- package/lib/scrubber/config/defaults.ts +55 -0
- package/lib/scrubber/errors/scrubber-error.d.ts +22 -0
- package/lib/scrubber/errors/scrubber-error.js +28 -32
- package/lib/scrubber/errors/scrubber-error.ts +44 -0
- package/lib/scrubber/index.d.ts +5 -0
- package/lib/scrubber/index.js +4 -23
- package/lib/scrubber/index.ts +6 -0
- package/lib/scrubber/scrubber.d.ts +44 -0
- package/lib/scrubber/scrubber.js +100 -121
- package/lib/scrubber/scrubber.ts +109 -0
- package/lib/scrubber/stages/chunker.d.ts +25 -0
- package/lib/scrubber/stages/chunker.js +74 -91
- package/lib/scrubber/stages/chunker.ts +104 -0
- package/lib/scrubber/stages/metadata-annotator.d.ts +17 -0
- package/lib/scrubber/stages/metadata-annotator.js +55 -65
- package/lib/scrubber/stages/metadata-annotator.ts +75 -0
- package/lib/scrubber/stages/normalizer.d.ts +16 -0
- package/lib/scrubber/stages/normalizer.js +42 -50
- package/lib/scrubber/stages/normalizer.ts +60 -0
- package/lib/scrubber/stages/semantic-filter.d.ts +16 -0
- package/lib/scrubber/stages/semantic-filter.js +42 -52
- package/lib/scrubber/stages/semantic-filter.ts +62 -0
- package/lib/scrubber/stages/structural-cleaner.d.ts +18 -0
- package/lib/scrubber/stages/structural-cleaner.js +66 -75
- package/lib/scrubber/stages/structural-cleaner.ts +83 -0
- package/lib/scrubber/stages/validator.d.ts +17 -0
- package/lib/scrubber/stages/validator.js +46 -56
- package/lib/scrubber/stages/validator.ts +67 -0
- package/lib/scrubber/telemetry.d.ts +29 -0
- package/lib/scrubber/telemetry.js +54 -58
- package/lib/scrubber/telemetry.ts +62 -0
- package/lib/scrubber/utils/hash.d.ts +14 -0
- package/lib/scrubber/utils/hash.js +30 -32
- package/lib/scrubber/utils/hash.ts +40 -0
- package/lib/scrubber/utils/html-parser.d.ts +14 -0
- package/lib/scrubber/utils/html-parser.js +32 -39
- package/lib/scrubber/utils/html-parser.ts +46 -0
- package/lib/scrubber/utils/pattern-matcher.d.ts +12 -0
- package/lib/scrubber/utils/pattern-matcher.js +48 -57
- package/lib/scrubber/utils/pattern-matcher.ts +64 -0
- package/lib/scrubber/utils/token-counter.d.ts +18 -0
- package/lib/scrubber/utils/token-counter.js +24 -25
- package/lib/scrubber/utils/token-counter.ts +32 -0
- package/lib/utils/logger.d.ts +19 -0
- package/lib/utils/logger.js +65 -0
- package/lib/utils/logger.ts +65 -0
- package/lib/utils/skill-metadata.d.ts +24 -0
- package/lib/utils/skill-metadata.js +133 -0
- package/lib/utils/skill-metadata.ts +133 -0
- package/lib/yamo/emitter.d.ts +46 -0
- package/lib/yamo/emitter.js +79 -143
- package/lib/yamo/emitter.ts +171 -0
- package/lib/yamo/index.d.ts +14 -0
- package/lib/yamo/index.js +6 -7
- package/lib/yamo/index.ts +16 -0
- package/lib/yamo/schema.d.ts +56 -0
- package/lib/yamo/schema.js +82 -108
- package/lib/yamo/schema.ts +133 -0
- package/package.json +13 -8
- package/index.d.ts +0 -111
- package/lib/embeddings/factory.js +0 -151
- package/lib/embeddings/index.js +0 -2
- package/lib/embeddings/service.js +0 -586
- package/lib/index.js +0 -6
- package/lib/lancedb/client.js +0 -633
- package/lib/lancedb/config.js +0 -215
- package/lib/lancedb/errors.js +0 -144
- package/lib/lancedb/index.js +0 -4
- package/lib/lancedb/schema.js +0 -217
- package/lib/search/index.js +0 -1
- package/lib/search/keyword-search.js +0 -144
- package/lib/utils/index.js +0 -1
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* EmbeddingFactory - Multi-provider embedding with automatic fallback
|
|
3
|
-
* Manages primary and fallback embedding services
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import EmbeddingService from "./service.js";
|
|
7
|
-
import { ConfigurationError, EmbeddingError } from "../lancedb/errors.js";
|
|
8
|
-
|
|
9
|
-
class EmbeddingFactory {
|
|
10
|
-
constructor(ServiceClass = EmbeddingService) {
|
|
11
|
-
this.primaryService = null;
|
|
12
|
-
this.fallbackServices = [];
|
|
13
|
-
this.configured = false;
|
|
14
|
-
this.ServiceClass = ServiceClass;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Configure embedding services with fallback chain
|
|
19
|
-
* @param {Array} configs - Array of { modelType, modelName, priority, apiKey }
|
|
20
|
-
* @returns {Object} Success status
|
|
21
|
-
*/
|
|
22
|
-
configure(configs) {
|
|
23
|
-
// Sort by priority (lower = higher priority)
|
|
24
|
-
configs.sort((a, b) => a.priority - b.priority);
|
|
25
|
-
|
|
26
|
-
this.primaryService = new this.ServiceClass(configs[0]);
|
|
27
|
-
|
|
28
|
-
if (configs.length > 1) {
|
|
29
|
-
this.fallbackServices = configs.slice(1).map(c => new this.ServiceClass(c));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
this.configured = true;
|
|
33
|
-
return { success: true };
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Initialize all configured services
|
|
38
|
-
* @returns {Promise<Object>} Initialization status
|
|
39
|
-
*/
|
|
40
|
-
async init() {
|
|
41
|
-
if (!this.configured) {
|
|
42
|
-
throw new ConfigurationError('EmbeddingFactory not configured. Call configure() first.');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Initialize primary service
|
|
46
|
-
if (this.primaryService && !this.primaryService.initialized) {
|
|
47
|
-
await this.primaryService.init();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Initialize fallback services lazily (on first use)
|
|
51
|
-
return {
|
|
52
|
-
success: true,
|
|
53
|
-
primary: this.primaryService ? this.primaryService.modelName : null,
|
|
54
|
-
fallbacks: this.fallbackServices.map(s => s.modelName)
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Generate embedding with automatic fallback
|
|
60
|
-
* @param {string} text - Text to embed
|
|
61
|
-
* @param {Object} options - Options
|
|
62
|
-
* @returns {Promise<number[]>} Embedding vector
|
|
63
|
-
*/
|
|
64
|
-
async embed(text, options = {}) {
|
|
65
|
-
if (!this.configured || !this.primaryService) {
|
|
66
|
-
throw new ConfigurationError('EmbeddingFactory not configured');
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Try primary service
|
|
70
|
-
try {
|
|
71
|
-
if (!this.primaryService.initialized) {
|
|
72
|
-
await this.primaryService.init();
|
|
73
|
-
}
|
|
74
|
-
return await this.primaryService.embed(text, options);
|
|
75
|
-
} catch (error) {
|
|
76
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
77
|
-
console.warn(`[EmbeddingFactory] Primary service failed: ${errorMessage}`);
|
|
78
|
-
|
|
79
|
-
// Try fallback services in order
|
|
80
|
-
for (const fallback of this.fallbackServices) {
|
|
81
|
-
try {
|
|
82
|
-
if (!fallback.initialized) {
|
|
83
|
-
await fallback.init();
|
|
84
|
-
}
|
|
85
|
-
console.log(`[EmbeddingFactory] Using fallback: ${fallback.modelName}`);
|
|
86
|
-
return await fallback.embed(text, options);
|
|
87
|
-
} catch (fallbackError) {
|
|
88
|
-
const fallbackErrorMessage = fallbackError instanceof Error ? fallbackError.message : String(fallbackError);
|
|
89
|
-
console.warn(`[EmbeddingFactory] Fallback ${fallback.modelName} failed: ${fallbackErrorMessage}`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
throw new EmbeddingError('All embedding services failed', {
|
|
94
|
-
primaryError: errorMessage,
|
|
95
|
-
fallbackCount: this.fallbackServices.length
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Generate embeddings for batch of texts
|
|
102
|
-
* @param {string[]} texts - Texts to embed
|
|
103
|
-
* @param {Object} options - Options
|
|
104
|
-
* @returns {Promise<number[][]>} Array of embedding vectors
|
|
105
|
-
*/
|
|
106
|
-
async embedBatch(texts, options = {}) {
|
|
107
|
-
if (!this.configured || !this.primaryService) {
|
|
108
|
-
throw new ConfigurationError('EmbeddingFactory not configured');
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// Try primary service
|
|
112
|
-
try {
|
|
113
|
-
if (!this.primaryService.initialized) {
|
|
114
|
-
await this.primaryService.init();
|
|
115
|
-
}
|
|
116
|
-
return await this.primaryService.embedBatch(texts, options);
|
|
117
|
-
} catch (error) {
|
|
118
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
119
|
-
console.warn(`[EmbeddingFactory] Primary batch failed: ${errorMessage}`);
|
|
120
|
-
// Fallback to individual embedding with fallback services
|
|
121
|
-
const results = [];
|
|
122
|
-
for (const text of texts) {
|
|
123
|
-
results.push(await this.embed(text, options));
|
|
124
|
-
}
|
|
125
|
-
return results;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Get factory statistics
|
|
131
|
-
* @returns {Object} Statistics
|
|
132
|
-
*/
|
|
133
|
-
getStats() {
|
|
134
|
-
const stats = {
|
|
135
|
-
configured: this.configured,
|
|
136
|
-
primary: this.primaryService?.getStats() || null,
|
|
137
|
-
fallbacks: this.fallbackServices.map(s => s.getStats())
|
|
138
|
-
};
|
|
139
|
-
return stats;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* Clear all caches
|
|
144
|
-
*/
|
|
145
|
-
clearCache() {
|
|
146
|
-
this.primaryService?.clearCache();
|
|
147
|
-
this.fallbackServices.forEach(s => s.clearCache());
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export default EmbeddingFactory;
|
package/lib/embeddings/index.js
DELETED