@soulcraft/brainy 0.24.0 → 0.26.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 (107) hide show
  1. package/README.md +22 -16
  2. package/dist/brainy.js +4553 -2264
  3. package/dist/brainy.min.js +750 -750
  4. package/dist/brainyData.d.ts +141 -0
  5. package/dist/coreTypes.d.ts +31 -0
  6. package/dist/errors/brainyError.d.ts +45 -0
  7. package/dist/hnsw/hnswIndexOptimized.d.ts +13 -1
  8. package/dist/hnsw/hnswIndexOptimized.d.ts.map +1 -1
  9. package/dist/statistics/statisticsManager.d.ts +121 -0
  10. package/dist/storage/adapters/fileSystemStorage.d.ts +99 -30
  11. package/dist/storage/adapters/fileSystemStorage.d.ts.map +1 -1
  12. package/dist/storage/adapters/memoryStorage.d.ts.map +1 -1
  13. package/dist/storage/adapters/opfsStorage.d.ts +21 -1
  14. package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
  15. package/dist/storage/adapters/s3CompatibleStorage.d.ts +58 -1
  16. package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
  17. package/dist/storage/fileSystemStorage.d.ts +2 -15
  18. package/dist/storage/fileSystemStorage.d.ts.map +1 -1
  19. package/dist/storage/opfsStorage.d.ts +3 -66
  20. package/dist/storage/opfsStorage.d.ts.map +1 -1
  21. package/dist/storage/s3CompatibleStorage.d.ts +2 -14
  22. package/dist/storage/s3CompatibleStorage.d.ts.map +1 -1
  23. package/dist/storage/storageFactory.d.ts +6 -1
  24. package/dist/storage/storageFactory.d.ts.map +1 -1
  25. package/dist/testing/prettyReporter.d.ts +23 -0
  26. package/dist/testing/prettySummaryReporter.d.ts +22 -0
  27. package/dist/types/tensorflowTypes.d.ts +0 -8
  28. package/dist/types/tensorflowTypes.d.ts.map +1 -1
  29. package/dist/unified.d.ts +4 -0
  30. package/dist/unified.js +3170 -1464
  31. package/dist/unified.min.js +750 -750
  32. package/dist/utils/embedding.d.ts +7 -0
  33. package/dist/utils/embedding.d.ts.map +1 -1
  34. package/dist/utils/environmentDetection.d.ts +47 -0
  35. package/dist/utils/environmentDetection.d.ts.map +1 -0
  36. package/dist/utils/logger.d.ts +99 -0
  37. package/dist/utils/logger.d.ts.map +1 -0
  38. package/dist/utils/operationUtils.d.ts +58 -0
  39. package/dist/utils/operationUtils.d.ts.map +1 -0
  40. package/dist/utils/textEncoding.d.ts +0 -7
  41. package/dist/utils/textEncoding.d.ts.map +1 -1
  42. package/dist/utils/version.d.ts +1 -1
  43. package/package.json +14 -3
  44. package/dist/augmentations/conduitAugmentations.js +0 -1158
  45. package/dist/augmentations/conduitAugmentations.js.map +0 -1
  46. package/dist/augmentations/memoryAugmentations.js +0 -255
  47. package/dist/augmentations/memoryAugmentations.js.map +0 -1
  48. package/dist/augmentations/serverSearchAugmentations.js +0 -531
  49. package/dist/augmentations/serverSearchAugmentations.js.map +0 -1
  50. package/dist/examples/basicUsage.js +0 -128
  51. package/dist/examples/basicUsage.js.map +0 -1
  52. package/dist/hnsw/hnswIndex.js +0 -550
  53. package/dist/hnsw/hnswIndex.js.map +0 -1
  54. package/dist/hnsw/hnswIndexOptimized.js +0 -441
  55. package/dist/hnsw/hnswIndexOptimized.js.map +0 -1
  56. package/dist/mcp/brainyMCPAdapter.js +0 -142
  57. package/dist/mcp/brainyMCPAdapter.js.map +0 -1
  58. package/dist/mcp/brainyMCPService.js +0 -248
  59. package/dist/mcp/brainyMCPService.js.map +0 -1
  60. package/dist/mcp/index.js +0 -17
  61. package/dist/mcp/index.js.map +0 -1
  62. package/dist/mcp/mcpAugmentationToolset.js +0 -180
  63. package/dist/mcp/mcpAugmentationToolset.js.map +0 -1
  64. package/dist/storage/adapters/baseStorageAdapter.js +0 -233
  65. package/dist/storage/adapters/baseStorageAdapter.js.map +0 -1
  66. package/dist/storage/adapters/fileSystemStorage.js +0 -568
  67. package/dist/storage/adapters/fileSystemStorage.js.map +0 -1
  68. package/dist/storage/adapters/memoryStorage.js +0 -300
  69. package/dist/storage/adapters/memoryStorage.js.map +0 -1
  70. package/dist/storage/adapters/opfsStorage.js +0 -778
  71. package/dist/storage/adapters/opfsStorage.js.map +0 -1
  72. package/dist/storage/adapters/s3CompatibleStorage.js +0 -1021
  73. package/dist/storage/adapters/s3CompatibleStorage.js.map +0 -1
  74. package/dist/storage/baseStorage.js +0 -126
  75. package/dist/storage/baseStorage.js.map +0 -1
  76. package/dist/storage/storageFactory.js +0 -183
  77. package/dist/storage/storageFactory.js.map +0 -1
  78. package/dist/types/augmentations.js +0 -16
  79. package/dist/types/augmentations.js.map +0 -1
  80. package/dist/types/brainyDataInterface.js +0 -8
  81. package/dist/types/brainyDataInterface.js.map +0 -1
  82. package/dist/types/fileSystemTypes.js +0 -8
  83. package/dist/types/fileSystemTypes.js.map +0 -1
  84. package/dist/types/graphTypes.js +0 -36
  85. package/dist/types/graphTypes.js.map +0 -1
  86. package/dist/types/mcpTypes.js +0 -22
  87. package/dist/types/mcpTypes.js.map +0 -1
  88. package/dist/types/pipelineTypes.js +0 -7
  89. package/dist/types/pipelineTypes.js.map +0 -1
  90. package/dist/types/tensorflowTypes.js +0 -6
  91. package/dist/types/tensorflowTypes.js.map +0 -1
  92. package/dist/utils/distance.js +0 -239
  93. package/dist/utils/distance.js.map +0 -1
  94. package/dist/utils/embedding.js +0 -622
  95. package/dist/utils/embedding.js.map +0 -1
  96. package/dist/utils/environment.js +0 -75
  97. package/dist/utils/environment.js.map +0 -1
  98. package/dist/utils/index.js +0 -5
  99. package/dist/utils/index.js.map +0 -1
  100. package/dist/utils/statistics.js +0 -25
  101. package/dist/utils/statistics.js.map +0 -1
  102. package/dist/utils/tensorflowUtils.js +0 -25
  103. package/dist/utils/tensorflowUtils.js.map +0 -1
  104. package/dist/utils/textEncoding.js +0 -281
  105. package/dist/utils/textEncoding.js.map +0 -1
  106. package/dist/utils/workerUtils.js +0 -458
  107. package/dist/utils/workerUtils.js.map +0 -1
@@ -1,300 +0,0 @@
1
- /**
2
- * Memory Storage Adapter
3
- * In-memory storage adapter for environments where persistent storage is not available or needed
4
- */
5
- import { BaseStorage } from '../baseStorage.js';
6
- /**
7
- * In-memory storage adapter
8
- * Uses Maps to store data in memory
9
- */
10
- export class MemoryStorage extends BaseStorage {
11
- constructor() {
12
- super();
13
- // Single map of noun ID to noun
14
- this.nouns = new Map();
15
- this.verbs = new Map();
16
- this.metadata = new Map();
17
- this.statistics = null;
18
- }
19
- /**
20
- * Initialize the storage adapter
21
- * Nothing to initialize for in-memory storage
22
- */
23
- async init() {
24
- this.isInitialized = true;
25
- }
26
- /**
27
- * Save a node to storage
28
- */
29
- async saveNode(node) {
30
- // Create a deep copy to avoid reference issues
31
- const nodeCopy = {
32
- id: node.id,
33
- vector: [...node.vector],
34
- connections: new Map()
35
- };
36
- // Copy connections
37
- for (const [level, connections] of node.connections.entries()) {
38
- nodeCopy.connections.set(level, new Set(connections));
39
- }
40
- // Save the node directly in the nouns map
41
- this.nouns.set(node.id, nodeCopy);
42
- }
43
- /**
44
- * Get a node from storage
45
- */
46
- async getNode(id) {
47
- // Get the node directly from the nouns map
48
- const node = this.nouns.get(id);
49
- // If not found, return null
50
- if (!node) {
51
- return null;
52
- }
53
- // Return a deep copy to avoid reference issues
54
- const nodeCopy = {
55
- id: node.id,
56
- vector: [...node.vector],
57
- connections: new Map()
58
- };
59
- // Copy connections
60
- for (const [level, connections] of node.connections.entries()) {
61
- nodeCopy.connections.set(level, new Set(connections));
62
- }
63
- return nodeCopy;
64
- }
65
- /**
66
- * Get all nodes from storage
67
- */
68
- async getAllNodes() {
69
- const allNodes = [];
70
- // Iterate through all nodes in the nouns map
71
- for (const [nodeId, node] of this.nouns.entries()) {
72
- // Return a deep copy to avoid reference issues
73
- const nodeCopy = {
74
- id: node.id,
75
- vector: [...node.vector],
76
- connections: new Map()
77
- };
78
- // Copy connections
79
- for (const [level, connections] of node.connections.entries()) {
80
- nodeCopy.connections.set(level, new Set(connections));
81
- }
82
- allNodes.push(nodeCopy);
83
- }
84
- return allNodes;
85
- }
86
- /**
87
- * Get nodes by noun type
88
- * @param nounType The noun type to filter by
89
- * @returns Promise that resolves to an array of nodes of the specified noun type
90
- */
91
- async getNodesByNounType(nounType) {
92
- const nodes = [];
93
- // Iterate through all nodes and filter by noun type using metadata
94
- for (const [nodeId, node] of this.nouns.entries()) {
95
- // Get the metadata to check the noun type
96
- const metadata = await this.getMetadata(nodeId);
97
- // Include the node if its noun type matches the requested type
98
- if (metadata && metadata.noun === nounType) {
99
- // Return a deep copy to avoid reference issues
100
- const nodeCopy = {
101
- id: node.id,
102
- vector: [...node.vector],
103
- connections: new Map()
104
- };
105
- // Copy connections
106
- for (const [level, connections] of node.connections.entries()) {
107
- nodeCopy.connections.set(level, new Set(connections));
108
- }
109
- nodes.push(nodeCopy);
110
- }
111
- }
112
- return nodes;
113
- }
114
- /**
115
- * Delete a node from storage
116
- */
117
- async deleteNode(id) {
118
- // Delete the node directly from the nouns map
119
- this.nouns.delete(id);
120
- }
121
- /**
122
- * Save an edge to storage
123
- */
124
- async saveEdge(edge) {
125
- // Create a deep copy to avoid reference issues
126
- const edgeCopy = {
127
- id: edge.id,
128
- vector: [...edge.vector],
129
- connections: new Map(),
130
- sourceId: edge.sourceId,
131
- targetId: edge.targetId,
132
- type: edge.type,
133
- weight: edge.weight,
134
- metadata: edge.metadata
135
- };
136
- // Copy connections
137
- for (const [level, connections] of edge.connections.entries()) {
138
- edgeCopy.connections.set(level, new Set(connections));
139
- }
140
- // Save the edge directly in the verbs map
141
- this.verbs.set(edge.id, edgeCopy);
142
- }
143
- /**
144
- * Get an edge from storage
145
- */
146
- async getEdge(id) {
147
- // Get the edge directly from the verbs map
148
- const edge = this.verbs.get(id);
149
- // If not found, return null
150
- if (!edge) {
151
- return null;
152
- }
153
- // Return a deep copy to avoid reference issues
154
- const edgeCopy = {
155
- id: edge.id,
156
- vector: [...edge.vector],
157
- connections: new Map(),
158
- sourceId: edge.sourceId,
159
- targetId: edge.targetId,
160
- type: edge.type,
161
- weight: edge.weight,
162
- metadata: edge.metadata
163
- };
164
- // Copy connections
165
- for (const [level, connections] of edge.connections.entries()) {
166
- edgeCopy.connections.set(level, new Set(connections));
167
- }
168
- return edgeCopy;
169
- }
170
- /**
171
- * Get all edges from storage
172
- */
173
- async getAllEdges() {
174
- const allEdges = [];
175
- // Iterate through all edges in the verbs map
176
- for (const [edgeId, edge] of this.verbs.entries()) {
177
- // Return a deep copy to avoid reference issues
178
- const edgeCopy = {
179
- id: edge.id,
180
- vector: [...edge.vector],
181
- connections: new Map(),
182
- sourceId: edge.sourceId,
183
- targetId: edge.targetId,
184
- type: edge.type,
185
- weight: edge.weight,
186
- metadata: edge.metadata
187
- };
188
- // Copy connections
189
- for (const [level, connections] of edge.connections.entries()) {
190
- edgeCopy.connections.set(level, new Set(connections));
191
- }
192
- allEdges.push(edgeCopy);
193
- }
194
- return allEdges;
195
- }
196
- /**
197
- * Get edges by source
198
- */
199
- async getEdgesBySource(sourceId) {
200
- const edges = await this.getAllEdges();
201
- return edges.filter((edge) => edge.sourceId === sourceId);
202
- }
203
- /**
204
- * Get edges by target
205
- */
206
- async getEdgesByTarget(targetId) {
207
- const edges = await this.getAllEdges();
208
- return edges.filter((edge) => edge.targetId === targetId);
209
- }
210
- /**
211
- * Get edges by type
212
- */
213
- async getEdgesByType(type) {
214
- const edges = await this.getAllEdges();
215
- return edges.filter((edge) => edge.type === type);
216
- }
217
- /**
218
- * Delete an edge from storage
219
- */
220
- async deleteEdge(id) {
221
- // Delete the edge directly from the verbs map
222
- this.verbs.delete(id);
223
- }
224
- /**
225
- * Save metadata to storage
226
- */
227
- async saveMetadata(id, metadata) {
228
- this.metadata.set(id, JSON.parse(JSON.stringify(metadata)));
229
- }
230
- /**
231
- * Get metadata from storage
232
- */
233
- async getMetadata(id) {
234
- const metadata = this.metadata.get(id);
235
- if (!metadata) {
236
- return null;
237
- }
238
- return JSON.parse(JSON.stringify(metadata));
239
- }
240
- /**
241
- * Clear all data from storage
242
- */
243
- async clear() {
244
- this.nouns.clear();
245
- this.verbs.clear();
246
- this.metadata.clear();
247
- }
248
- /**
249
- * Get information about storage usage and capacity
250
- */
251
- async getStorageStatus() {
252
- return {
253
- type: 'memory',
254
- used: 0, // In-memory storage doesn't have a meaningful size
255
- quota: null, // In-memory storage doesn't have a quota
256
- details: {
257
- nodeCount: this.nouns.size,
258
- edgeCount: this.verbs.size,
259
- metadataCount: this.metadata.size
260
- }
261
- };
262
- }
263
- /**
264
- * Save statistics data to storage
265
- * @param statistics The statistics data to save
266
- */
267
- async saveStatisticsData(statistics) {
268
- // For memory storage, we just need to store the statistics in memory
269
- // Create a deep copy to avoid reference issues
270
- this.statistics = {
271
- nounCount: { ...statistics.nounCount },
272
- verbCount: { ...statistics.verbCount },
273
- metadataCount: { ...statistics.metadataCount },
274
- hnswIndexSize: statistics.hnswIndexSize,
275
- lastUpdated: statistics.lastUpdated
276
- };
277
- // Since this is in-memory, there's no need for time-based partitioning
278
- // or legacy file handling
279
- }
280
- /**
281
- * Get statistics data from storage
282
- * @returns Promise that resolves to the statistics data or null if not found
283
- */
284
- async getStatisticsData() {
285
- if (!this.statistics) {
286
- return null;
287
- }
288
- // Return a deep copy to avoid reference issues
289
- return {
290
- nounCount: { ...this.statistics.nounCount },
291
- verbCount: { ...this.statistics.verbCount },
292
- metadataCount: { ...this.statistics.metadataCount },
293
- hnswIndexSize: this.statistics.hnswIndexSize,
294
- lastUpdated: this.statistics.lastUpdated
295
- };
296
- // Since this is in-memory, there's no need for fallback mechanisms
297
- // to check multiple storage locations
298
- }
299
- }
300
- //# sourceMappingURL=memoryStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoryStorage.js","sourceRoot":"","sources":["../../../src/storage/adapters/memoryStorage.ts"],"names":[],"mappings":"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"}