@soulcraft/brainy 0.20.0 → 0.22.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 (83) hide show
  1. package/README.md +1 -1
  2. package/dist/augmentations/conduitAugmentations.js +1158 -0
  3. package/dist/augmentations/conduitAugmentations.js.map +1 -0
  4. package/dist/augmentations/memoryAugmentations.js +255 -0
  5. package/dist/augmentations/memoryAugmentations.js.map +1 -0
  6. package/dist/augmentations/serverSearchAugmentations.js +531 -0
  7. package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
  8. package/dist/coreTypes.d.ts +12 -0
  9. package/dist/examples/basicUsage.js +128 -0
  10. package/dist/examples/basicUsage.js.map +1 -0
  11. package/dist/hnsw/hnswIndex.js +550 -0
  12. package/dist/hnsw/hnswIndex.js.map +1 -0
  13. package/dist/hnsw/hnswIndexOptimized.js +441 -0
  14. package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
  15. package/dist/mcp/brainyMCPAdapter.js +142 -0
  16. package/dist/mcp/brainyMCPAdapter.js.map +1 -0
  17. package/dist/mcp/brainyMCPService.js +248 -0
  18. package/dist/mcp/brainyMCPService.js.map +1 -0
  19. package/dist/mcp/index.js +17 -0
  20. package/dist/mcp/index.js.map +1 -0
  21. package/dist/mcp/mcpAugmentationToolset.js +180 -0
  22. package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
  23. package/dist/storage/adapters/baseStorageAdapter.d.ts +14 -0
  24. package/dist/storage/adapters/baseStorageAdapter.d.ts.map +1 -1
  25. package/dist/storage/adapters/baseStorageAdapter.js +233 -0
  26. package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
  27. package/dist/storage/adapters/fileSystemStorage.d.ts +27 -27
  28. package/dist/storage/adapters/fileSystemStorage.d.ts.map +1 -1
  29. package/dist/storage/adapters/fileSystemStorage.js +568 -0
  30. package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
  31. package/dist/storage/adapters/memoryStorage.d.ts +27 -27
  32. package/dist/storage/adapters/memoryStorage.d.ts.map +1 -1
  33. package/dist/storage/adapters/memoryStorage.js +300 -0
  34. package/dist/storage/adapters/memoryStorage.js.map +1 -0
  35. package/dist/storage/adapters/opfsStorage.d.ts +64 -6
  36. package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
  37. package/dist/storage/adapters/opfsStorage.js +778 -0
  38. package/dist/storage/adapters/opfsStorage.js.map +1 -0
  39. package/dist/storage/adapters/s3CompatibleStorage.d.ts +86 -1
  40. package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
  41. package/dist/storage/adapters/s3CompatibleStorage.js +1021 -0
  42. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
  43. package/dist/storage/baseStorage.d.ts +24 -24
  44. package/dist/storage/baseStorage.d.ts.map +1 -1
  45. package/dist/storage/baseStorage.js +126 -0
  46. package/dist/storage/baseStorage.js.map +1 -0
  47. package/dist/storage/storageFactory.js +183 -0
  48. package/dist/storage/storageFactory.js.map +1 -0
  49. package/dist/types/augmentations.js +16 -0
  50. package/dist/types/augmentations.js.map +1 -0
  51. package/dist/types/brainyDataInterface.js +8 -0
  52. package/dist/types/brainyDataInterface.js.map +1 -0
  53. package/dist/types/fileSystemTypes.js +8 -0
  54. package/dist/types/fileSystemTypes.js.map +1 -0
  55. package/dist/types/graphTypes.d.ts +2 -1
  56. package/dist/types/graphTypes.d.ts.map +1 -1
  57. package/dist/types/graphTypes.js +36 -0
  58. package/dist/types/graphTypes.js.map +1 -0
  59. package/dist/types/mcpTypes.js +22 -0
  60. package/dist/types/mcpTypes.js.map +1 -0
  61. package/dist/types/pipelineTypes.js +7 -0
  62. package/dist/types/pipelineTypes.js.map +1 -0
  63. package/dist/types/tensorflowTypes.js +6 -0
  64. package/dist/types/tensorflowTypes.js.map +1 -0
  65. package/dist/unified.js +983 -336
  66. package/dist/unified.min.js +623 -623
  67. package/dist/utils/distance.js +239 -0
  68. package/dist/utils/distance.js.map +1 -0
  69. package/dist/utils/embedding.js +622 -0
  70. package/dist/utils/embedding.js.map +1 -0
  71. package/dist/utils/environment.js +75 -0
  72. package/dist/utils/environment.js.map +1 -0
  73. package/dist/utils/index.js +5 -0
  74. package/dist/utils/index.js.map +1 -0
  75. package/dist/utils/statistics.js +25 -0
  76. package/dist/utils/statistics.js.map +1 -0
  77. package/dist/utils/tensorflowUtils.js +25 -0
  78. package/dist/utils/tensorflowUtils.js.map +1 -0
  79. package/dist/utils/textEncoding.js +281 -0
  80. package/dist/utils/textEncoding.js.map +1 -0
  81. package/dist/utils/workerUtils.js +458 -0
  82. package/dist/utils/workerUtils.js.map +1 -0
  83. package/package.json +4 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conduitAugmentations.js","sourceRoot":"","sources":["../../src/augmentations/conduitAugmentations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ import { AugmentationType } from '../types/augmentations.js';
2
+ import { MemoryStorage, FileSystemStorage, OPFSStorage } from '../storage/storageFactory.js';
3
+ import { cosineDistance } from '../utils/distance.js';
4
+ /**
5
+ * Base class for memory augmentations that wrap a StorageAdapter
6
+ */
7
+ class BaseMemoryAugmentation {
8
+ constructor(name, storage) {
9
+ this.description = 'Base memory augmentation';
10
+ this.enabled = true;
11
+ this.isInitialized = false;
12
+ this.name = name;
13
+ this.storage = storage;
14
+ }
15
+ async initialize() {
16
+ if (this.isInitialized) {
17
+ return;
18
+ }
19
+ try {
20
+ await this.storage.init();
21
+ this.isInitialized = true;
22
+ }
23
+ catch (error) {
24
+ console.error(`Failed to initialize ${this.name}:`, error);
25
+ throw new Error(`Failed to initialize ${this.name}: ${error}`);
26
+ }
27
+ }
28
+ async shutDown() {
29
+ this.isInitialized = false;
30
+ }
31
+ async getStatus() {
32
+ return this.isInitialized ? 'active' : 'inactive';
33
+ }
34
+ async storeData(key, data, options) {
35
+ await this.ensureInitialized();
36
+ try {
37
+ await this.storage.saveMetadata(key, data);
38
+ return { success: true, data: true };
39
+ }
40
+ catch (error) {
41
+ console.error(`Failed to store data for key ${key}:`, error);
42
+ return {
43
+ success: false,
44
+ data: false,
45
+ error: `Failed to store data: ${error}`
46
+ };
47
+ }
48
+ }
49
+ async retrieveData(key, options) {
50
+ await this.ensureInitialized();
51
+ try {
52
+ const data = await this.storage.getMetadata(key);
53
+ return {
54
+ success: true,
55
+ data
56
+ };
57
+ }
58
+ catch (error) {
59
+ console.error(`Failed to retrieve data for key ${key}:`, error);
60
+ return {
61
+ success: false,
62
+ data: null,
63
+ error: `Failed to retrieve data: ${error}`
64
+ };
65
+ }
66
+ }
67
+ async updateData(key, data, options) {
68
+ await this.ensureInitialized();
69
+ try {
70
+ await this.storage.saveMetadata(key, data);
71
+ return { success: true, data: true };
72
+ }
73
+ catch (error) {
74
+ console.error(`Failed to update data for key ${key}:`, error);
75
+ return {
76
+ success: false,
77
+ data: false,
78
+ error: `Failed to update data: ${error}`
79
+ };
80
+ }
81
+ }
82
+ async deleteData(key, options) {
83
+ await this.ensureInitialized();
84
+ try {
85
+ // There's no direct deleteMetadata method, so we save null
86
+ await this.storage.saveMetadata(key, null);
87
+ return { success: true, data: true };
88
+ }
89
+ catch (error) {
90
+ console.error(`Failed to delete data for key ${key}:`, error);
91
+ return {
92
+ success: false,
93
+ data: false,
94
+ error: `Failed to delete data: ${error}`
95
+ };
96
+ }
97
+ }
98
+ async listDataKeys(pattern, options) {
99
+ // This is a limitation of the current StorageAdapter interface
100
+ // It doesn't provide a way to list all metadata keys
101
+ // We could implement this in the future by extending the StorageAdapter interface
102
+ return {
103
+ success: false,
104
+ data: [],
105
+ error: 'listDataKeys is not supported by this storage adapter'
106
+ };
107
+ }
108
+ /**
109
+ * Searches for data in the storage using vector similarity.
110
+ * Implements the findNearest functionality by calculating distances client-side.
111
+ * @param query The query vector or data to search for
112
+ * @param k Number of results to return (default: 10)
113
+ * @param options Optional search options
114
+ */
115
+ async search(query, k = 10, options) {
116
+ await this.ensureInitialized();
117
+ try {
118
+ // Check if query is a vector
119
+ let queryVector;
120
+ if (Array.isArray(query) && query.every(item => typeof item === 'number')) {
121
+ queryVector = query;
122
+ }
123
+ else {
124
+ // If query is not a vector, we can't perform vector search
125
+ return {
126
+ success: false,
127
+ data: [],
128
+ error: 'Query must be a vector (array of numbers) for vector search'
129
+ };
130
+ }
131
+ // Get all nodes from storage
132
+ const nodes = await this.storage.getAllNouns();
133
+ // Calculate distances and prepare results
134
+ const results = [];
135
+ for (const node of nodes) {
136
+ // Skip nodes that don't have a vector
137
+ if (!node.vector || !Array.isArray(node.vector)) {
138
+ continue;
139
+ }
140
+ // Get metadata for the node
141
+ const metadata = await this.storage.getMetadata(node.id);
142
+ // Calculate distance between query vector and node vector
143
+ const distance = cosineDistance(queryVector, node.vector);
144
+ // Convert distance to similarity score (1 - distance for cosine)
145
+ // This way higher scores are better (more similar)
146
+ const score = 1 - distance;
147
+ results.push({
148
+ id: node.id,
149
+ score,
150
+ data: metadata
151
+ });
152
+ }
153
+ // Sort results by score (descending) and take top k
154
+ results.sort((a, b) => b.score - a.score);
155
+ const topResults = results.slice(0, k);
156
+ return {
157
+ success: true,
158
+ data: topResults
159
+ };
160
+ }
161
+ catch (error) {
162
+ console.error(`Failed to search in storage:`, error);
163
+ return {
164
+ success: false,
165
+ data: [],
166
+ error: `Failed to search in storage: ${error}`
167
+ };
168
+ }
169
+ }
170
+ async ensureInitialized() {
171
+ if (!this.isInitialized) {
172
+ await this.initialize();
173
+ }
174
+ }
175
+ }
176
+ /**
177
+ * Memory augmentation that uses in-memory storage
178
+ */
179
+ export class MemoryStorageAugmentation extends BaseMemoryAugmentation {
180
+ constructor(name) {
181
+ super(name, new MemoryStorage());
182
+ this.description = 'Memory augmentation that stores data in memory';
183
+ this.enabled = true;
184
+ }
185
+ getType() {
186
+ return AugmentationType.MEMORY;
187
+ }
188
+ }
189
+ /**
190
+ * Memory augmentation that uses file system storage
191
+ */
192
+ export class FileSystemStorageAugmentation extends BaseMemoryAugmentation {
193
+ constructor(name, rootDirectory) {
194
+ super(name, new FileSystemStorage(rootDirectory || '.'));
195
+ this.description = 'Memory augmentation that stores data in the file system';
196
+ this.enabled = true;
197
+ }
198
+ getType() {
199
+ return AugmentationType.MEMORY;
200
+ }
201
+ }
202
+ /**
203
+ * Memory augmentation that uses OPFS (Origin Private File System) storage
204
+ */
205
+ export class OPFSStorageAugmentation extends BaseMemoryAugmentation {
206
+ constructor(name) {
207
+ super(name, new OPFSStorage());
208
+ this.description = 'Memory augmentation that stores data in the Origin Private File System';
209
+ this.enabled = true;
210
+ }
211
+ getType() {
212
+ return AugmentationType.MEMORY;
213
+ }
214
+ }
215
+ /**
216
+ * Factory function to create the appropriate memory augmentation based on the environment
217
+ */
218
+ export async function createMemoryAugmentation(name, options = {}) {
219
+ // If a specific storage type is requested, use that
220
+ if (options.storageType) {
221
+ switch (options.storageType) {
222
+ case 'memory':
223
+ return new MemoryStorageAugmentation(name);
224
+ case 'filesystem':
225
+ return new FileSystemStorageAugmentation(name, options.rootDirectory);
226
+ case 'opfs':
227
+ return new OPFSStorageAugmentation(name);
228
+ }
229
+ }
230
+ // Otherwise, select based on environment
231
+ // Use the global isNode variable from the environment detection
232
+ const isNodeEnv = globalThis.__ENV__?.isNode || (typeof process !== 'undefined' &&
233
+ process.versions != null &&
234
+ process.versions.node != null);
235
+ if (isNodeEnv) {
236
+ // In Node.js, use FileSystemStorage
237
+ return new FileSystemStorageAugmentation(name, options.rootDirectory);
238
+ }
239
+ else {
240
+ // In browser, try OPFS first
241
+ const opfsStorage = new OPFSStorage();
242
+ if (opfsStorage.isOPFSAvailable()) {
243
+ // Request persistent storage if specified
244
+ if (options.requestPersistentStorage) {
245
+ await opfsStorage.requestPersistentStorage();
246
+ }
247
+ return new OPFSStorageAugmentation(name);
248
+ }
249
+ else {
250
+ // Fall back to memory storage
251
+ return new MemoryStorageAugmentation(name);
252
+ }
253
+ }
254
+ }
255
+ //# sourceMappingURL=memoryAugmentations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryAugmentations.js","sourceRoot":"","sources":["../../src/augmentations/memoryAugmentations.ts"],"names":[],"mappings":"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"}