@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.
Files changed (124) hide show
  1. package/README.md +8 -2
  2. package/bin/memory_mesh.js +1 -1
  3. package/lib/llm/client.d.ts +86 -0
  4. package/lib/llm/client.js +300 -357
  5. package/lib/llm/client.ts +334 -0
  6. package/lib/llm/index.d.ts +17 -0
  7. package/lib/llm/index.js +16 -8
  8. package/lib/llm/index.ts +18 -0
  9. package/lib/memory/adapters/client.d.ts +120 -0
  10. package/lib/memory/adapters/client.js +519 -0
  11. package/lib/memory/adapters/client.ts +519 -0
  12. package/lib/memory/adapters/config.d.ts +130 -0
  13. package/lib/memory/adapters/config.js +190 -0
  14. package/lib/memory/adapters/config.ts +190 -0
  15. package/lib/memory/adapters/errors.d.ts +84 -0
  16. package/lib/memory/adapters/errors.js +129 -0
  17. package/lib/memory/adapters/errors.ts +129 -0
  18. package/lib/memory/context-manager.d.ts +41 -0
  19. package/lib/memory/context-manager.js +345 -0
  20. package/lib/memory/context-manager.ts +345 -0
  21. package/lib/memory/embeddings/factory.d.ts +57 -0
  22. package/lib/memory/embeddings/factory.js +149 -0
  23. package/lib/memory/embeddings/factory.ts +149 -0
  24. package/lib/memory/embeddings/index.d.ts +2 -0
  25. package/lib/memory/embeddings/index.js +3 -0
  26. package/lib/memory/embeddings/index.ts +3 -0
  27. package/lib/memory/embeddings/service.d.ts +134 -0
  28. package/lib/memory/embeddings/service.js +516 -0
  29. package/lib/memory/embeddings/service.ts +516 -0
  30. package/lib/memory/index.d.ts +9 -0
  31. package/lib/memory/index.js +10 -1
  32. package/lib/memory/index.ts +10 -0
  33. package/lib/memory/memory-mesh.d.ts +332 -0
  34. package/lib/memory/memory-mesh.js +1470 -678
  35. package/lib/memory/memory-mesh.ts +1517 -0
  36. package/lib/memory/memory-translator.d.ts +14 -0
  37. package/lib/memory/memory-translator.js +126 -0
  38. package/lib/memory/memory-translator.ts +126 -0
  39. package/lib/memory/schema.d.ts +130 -0
  40. package/lib/memory/schema.js +184 -0
  41. package/lib/memory/schema.ts +184 -0
  42. package/lib/memory/scorer.d.ts +25 -0
  43. package/lib/memory/scorer.js +78 -0
  44. package/lib/memory/scorer.ts +78 -0
  45. package/lib/memory/search/index.d.ts +1 -0
  46. package/lib/memory/search/index.js +2 -0
  47. package/lib/memory/search/index.ts +2 -0
  48. package/lib/memory/search/keyword-search.d.ts +46 -0
  49. package/lib/memory/search/keyword-search.js +136 -0
  50. package/lib/memory/search/keyword-search.ts +136 -0
  51. package/lib/scrubber/config/defaults.d.ts +46 -0
  52. package/lib/scrubber/config/defaults.js +50 -57
  53. package/lib/scrubber/config/defaults.ts +55 -0
  54. package/lib/scrubber/errors/scrubber-error.d.ts +22 -0
  55. package/lib/scrubber/errors/scrubber-error.js +28 -32
  56. package/lib/scrubber/errors/scrubber-error.ts +44 -0
  57. package/lib/scrubber/index.d.ts +5 -0
  58. package/lib/scrubber/index.js +4 -23
  59. package/lib/scrubber/index.ts +6 -0
  60. package/lib/scrubber/scrubber.d.ts +44 -0
  61. package/lib/scrubber/scrubber.js +100 -121
  62. package/lib/scrubber/scrubber.ts +109 -0
  63. package/lib/scrubber/stages/chunker.d.ts +25 -0
  64. package/lib/scrubber/stages/chunker.js +74 -91
  65. package/lib/scrubber/stages/chunker.ts +104 -0
  66. package/lib/scrubber/stages/metadata-annotator.d.ts +17 -0
  67. package/lib/scrubber/stages/metadata-annotator.js +55 -65
  68. package/lib/scrubber/stages/metadata-annotator.ts +75 -0
  69. package/lib/scrubber/stages/normalizer.d.ts +16 -0
  70. package/lib/scrubber/stages/normalizer.js +42 -50
  71. package/lib/scrubber/stages/normalizer.ts +60 -0
  72. package/lib/scrubber/stages/semantic-filter.d.ts +16 -0
  73. package/lib/scrubber/stages/semantic-filter.js +42 -52
  74. package/lib/scrubber/stages/semantic-filter.ts +62 -0
  75. package/lib/scrubber/stages/structural-cleaner.d.ts +18 -0
  76. package/lib/scrubber/stages/structural-cleaner.js +66 -75
  77. package/lib/scrubber/stages/structural-cleaner.ts +83 -0
  78. package/lib/scrubber/stages/validator.d.ts +17 -0
  79. package/lib/scrubber/stages/validator.js +46 -56
  80. package/lib/scrubber/stages/validator.ts +67 -0
  81. package/lib/scrubber/telemetry.d.ts +29 -0
  82. package/lib/scrubber/telemetry.js +54 -58
  83. package/lib/scrubber/telemetry.ts +62 -0
  84. package/lib/scrubber/utils/hash.d.ts +14 -0
  85. package/lib/scrubber/utils/hash.js +30 -32
  86. package/lib/scrubber/utils/hash.ts +40 -0
  87. package/lib/scrubber/utils/html-parser.d.ts +14 -0
  88. package/lib/scrubber/utils/html-parser.js +32 -39
  89. package/lib/scrubber/utils/html-parser.ts +46 -0
  90. package/lib/scrubber/utils/pattern-matcher.d.ts +12 -0
  91. package/lib/scrubber/utils/pattern-matcher.js +48 -57
  92. package/lib/scrubber/utils/pattern-matcher.ts +64 -0
  93. package/lib/scrubber/utils/token-counter.d.ts +18 -0
  94. package/lib/scrubber/utils/token-counter.js +24 -25
  95. package/lib/scrubber/utils/token-counter.ts +32 -0
  96. package/lib/utils/logger.d.ts +19 -0
  97. package/lib/utils/logger.js +65 -0
  98. package/lib/utils/logger.ts +65 -0
  99. package/lib/utils/skill-metadata.d.ts +24 -0
  100. package/lib/utils/skill-metadata.js +133 -0
  101. package/lib/utils/skill-metadata.ts +133 -0
  102. package/lib/yamo/emitter.d.ts +46 -0
  103. package/lib/yamo/emitter.js +79 -143
  104. package/lib/yamo/emitter.ts +171 -0
  105. package/lib/yamo/index.d.ts +14 -0
  106. package/lib/yamo/index.js +6 -7
  107. package/lib/yamo/index.ts +16 -0
  108. package/lib/yamo/schema.d.ts +56 -0
  109. package/lib/yamo/schema.js +82 -108
  110. package/lib/yamo/schema.ts +133 -0
  111. package/package.json +13 -8
  112. package/index.d.ts +0 -111
  113. package/lib/embeddings/factory.js +0 -151
  114. package/lib/embeddings/index.js +0 -2
  115. package/lib/embeddings/service.js +0 -586
  116. package/lib/index.js +0 -6
  117. package/lib/lancedb/client.js +0 -633
  118. package/lib/lancedb/config.js +0 -215
  119. package/lib/lancedb/errors.js +0 -144
  120. package/lib/lancedb/index.js +0 -4
  121. package/lib/lancedb/schema.js +0 -217
  122. package/lib/search/index.js +0 -1
  123. package/lib/search/keyword-search.js +0 -144
  124. 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;
@@ -1,2 +0,0 @@
1
- export { default as EmbeddingService } from './service.js';
2
- export { default as EmbeddingFactory } from './factory.js';