@soulcraft/brainy 0.41.0 → 0.44.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.
- package/README.md +605 -194
- package/dist/augmentationFactory.d.ts.map +1 -0
- package/dist/augmentationFactory.js +342 -0
- package/dist/augmentationFactory.js.map +1 -0
- package/dist/augmentationPipeline.d.ts.map +1 -0
- package/dist/augmentationPipeline.js +472 -0
- package/dist/augmentationPipeline.js.map +1 -0
- package/dist/augmentationRegistry.d.ts.map +1 -0
- package/dist/augmentationRegistry.js +105 -0
- package/dist/augmentationRegistry.js.map +1 -0
- package/dist/augmentationRegistryLoader.d.ts.map +1 -0
- package/dist/augmentationRegistryLoader.js +213 -0
- package/dist/augmentationRegistryLoader.js.map +1 -0
- package/dist/augmentations/conduitAugmentations.js +1158 -0
- package/dist/augmentations/conduitAugmentations.js.map +1 -0
- package/dist/augmentations/memoryAugmentations.d.ts +2 -0
- package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
- package/dist/augmentations/memoryAugmentations.js +270 -0
- package/dist/augmentations/memoryAugmentations.js.map +1 -0
- package/dist/augmentations/serverSearchAugmentations.js +531 -0
- package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
- package/dist/brainyData.d.ts.map +1 -0
- package/dist/brainyData.js +3999 -0
- package/dist/brainyData.js.map +1 -0
- package/dist/browserFramework.d.ts +15 -0
- package/dist/browserFramework.d.ts.map +1 -0
- package/dist/browserFramework.js +31 -0
- package/dist/browserFramework.js.map +1 -0
- package/dist/coreTypes.d.ts.map +1 -0
- package/dist/coreTypes.js +5 -0
- package/dist/coreTypes.js.map +1 -0
- package/dist/demo.d.ts +106 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/demo.js +201 -0
- package/dist/demo.js.map +1 -0
- package/dist/distributed/configManager.d.ts.map +1 -0
- package/dist/distributed/configManager.js +322 -0
- package/dist/distributed/configManager.js.map +1 -0
- package/dist/distributed/domainDetector.d.ts.map +1 -0
- package/dist/distributed/domainDetector.js +307 -0
- package/dist/distributed/domainDetector.js.map +1 -0
- package/dist/distributed/hashPartitioner.d.ts.map +1 -0
- package/dist/distributed/hashPartitioner.js +146 -0
- package/dist/distributed/hashPartitioner.js.map +1 -0
- package/dist/distributed/healthMonitor.d.ts.map +1 -0
- package/dist/distributed/healthMonitor.js +244 -0
- package/dist/distributed/healthMonitor.js.map +1 -0
- package/dist/distributed/index.d.ts.map +1 -0
- package/dist/distributed/index.js +9 -0
- package/dist/distributed/index.js.map +1 -0
- package/dist/distributed/operationalModes.d.ts.map +1 -0
- package/dist/distributed/operationalModes.js +201 -0
- package/dist/distributed/operationalModes.js.map +1 -0
- package/dist/errors/brainyError.d.ts.map +1 -0
- package/dist/errors/brainyError.js +113 -0
- package/dist/errors/brainyError.js.map +1 -0
- package/dist/examples/basicUsage.js +118 -0
- package/dist/examples/basicUsage.js.map +1 -0
- package/dist/hnsw/distributedSearch.js +452 -0
- package/dist/hnsw/distributedSearch.js.map +1 -0
- package/dist/hnsw/hnswIndex.js +602 -0
- package/dist/hnsw/hnswIndex.js.map +1 -0
- package/dist/hnsw/hnswIndexOptimized.js +471 -0
- package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
- package/dist/hnsw/optimizedHNSWIndex.js +313 -0
- package/dist/hnsw/optimizedHNSWIndex.js.map +1 -0
- package/dist/hnsw/partitionedHNSWIndex.js +304 -0
- package/dist/hnsw/partitionedHNSWIndex.js.map +1 -0
- package/dist/hnsw/scaledHNSWSystem.js +559 -0
- package/dist/hnsw/scaledHNSWSystem.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/brainyMCPAdapter.js +142 -0
- package/dist/mcp/brainyMCPAdapter.js.map +1 -0
- package/dist/mcp/brainyMCPService.js +248 -0
- package/dist/mcp/brainyMCPService.js.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcpAugmentationToolset.js +180 -0
- package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +590 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/sequentialPipeline.d.ts.map +1 -0
- package/dist/sequentialPipeline.js +417 -0
- package/dist/sequentialPipeline.js.map +1 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +46 -0
- package/dist/setup.js.map +1 -0
- package/dist/storage/adapters/baseStorageAdapter.js +349 -0
- package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
- package/dist/storage/adapters/batchS3Operations.js +287 -0
- package/dist/storage/adapters/batchS3Operations.js.map +1 -0
- package/dist/storage/adapters/fileSystemStorage.js +846 -0
- package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
- package/dist/storage/adapters/memoryStorage.js +532 -0
- package/dist/storage/adapters/memoryStorage.js.map +1 -0
- package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
- package/dist/storage/adapters/opfsStorage.js +1118 -0
- package/dist/storage/adapters/opfsStorage.js.map +1 -0
- package/dist/storage/adapters/optimizedS3Search.js +248 -0
- package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
- package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
- package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
- package/dist/storage/baseStorage.js +603 -0
- package/dist/storage/baseStorage.js.map +1 -0
- package/dist/storage/cacheManager.js +1306 -0
- package/dist/storage/cacheManager.js.map +1 -0
- package/dist/storage/enhancedCacheManager.js +520 -0
- package/dist/storage/enhancedCacheManager.js.map +1 -0
- package/dist/storage/readOnlyOptimizations.js +425 -0
- package/dist/storage/readOnlyOptimizations.js.map +1 -0
- package/dist/storage/storageFactory.d.ts +0 -1
- package/dist/storage/storageFactory.d.ts.map +1 -1
- package/dist/storage/storageFactory.js +227 -0
- package/dist/storage/storageFactory.js.map +1 -0
- package/dist/types/augmentations.js +16 -0
- package/dist/types/augmentations.js.map +1 -0
- package/dist/types/brainyDataInterface.js +8 -0
- package/dist/types/brainyDataInterface.js.map +1 -0
- package/dist/types/distributedTypes.js +6 -0
- package/dist/types/distributedTypes.js.map +1 -0
- package/dist/types/fileSystemTypes.js +8 -0
- package/dist/types/fileSystemTypes.js.map +1 -0
- package/dist/types/graphTypes.js +247 -0
- package/dist/types/graphTypes.js.map +1 -0
- package/dist/types/mcpTypes.js +22 -0
- package/dist/types/mcpTypes.js.map +1 -0
- package/dist/types/paginationTypes.js +5 -0
- package/dist/types/paginationTypes.js.map +1 -0
- package/dist/types/pipelineTypes.js +7 -0
- package/dist/types/pipelineTypes.js.map +1 -0
- package/dist/types/tensorflowTypes.js +6 -0
- package/dist/types/tensorflowTypes.js.map +1 -0
- package/dist/unified.d.ts.map +1 -0
- package/dist/unified.js +52 -128251
- package/dist/unified.js.map +1 -0
- package/dist/utils/autoConfiguration.js +341 -0
- package/dist/utils/autoConfiguration.js.map +1 -0
- package/dist/utils/cacheAutoConfig.js +261 -0
- package/dist/utils/cacheAutoConfig.js.map +1 -0
- package/dist/utils/crypto.js +45 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/distance.js +239 -0
- package/dist/utils/distance.js.map +1 -0
- package/dist/utils/embedding.d.ts.map +1 -1
- package/dist/utils/embedding.js +702 -0
- package/dist/utils/embedding.js.map +1 -0
- package/dist/utils/environment.js +75 -0
- package/dist/utils/environment.js.map +1 -0
- package/dist/utils/fieldNameTracking.js +90 -0
- package/dist/utils/fieldNameTracking.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jsonProcessing.js +179 -0
- package/dist/utils/jsonProcessing.js.map +1 -0
- package/dist/utils/logger.js +129 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/operationUtils.js +126 -0
- package/dist/utils/operationUtils.js.map +1 -0
- package/dist/utils/robustModelLoader.d.ts +14 -0
- package/dist/utils/robustModelLoader.d.ts.map +1 -1
- package/dist/utils/robustModelLoader.js +537 -0
- package/dist/utils/robustModelLoader.js.map +1 -0
- package/dist/utils/searchCache.js +248 -0
- package/dist/utils/searchCache.js.map +1 -0
- package/dist/utils/statistics.js +25 -0
- package/dist/utils/statistics.js.map +1 -0
- package/dist/utils/statisticsCollector.js +224 -0
- package/dist/utils/statisticsCollector.js.map +1 -0
- package/dist/utils/textEncoding.js +309 -0
- package/dist/utils/textEncoding.js.map +1 -0
- package/dist/utils/typeUtils.js +40 -0
- package/dist/utils/typeUtils.js.map +1 -0
- package/dist/utils/version.d.ts +15 -3
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +24 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/utils/workerUtils.js +458 -0
- package/dist/utils/workerUtils.js.map +1 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +54 -0
- package/dist/worker.js.map +1 -0
- package/package.json +30 -29
- package/dist/brainy.js +0 -90220
- package/dist/brainy.min.js +0 -12511
- package/dist/patched-platform-node.d.ts +0 -17
- package/dist/statistics/statisticsManager.d.ts +0 -121
- package/dist/storage/fileSystemStorage.d.ts +0 -73
- package/dist/storage/fileSystemStorage.d.ts.map +0 -1
- package/dist/storage/opfsStorage.d.ts +0 -236
- package/dist/storage/opfsStorage.d.ts.map +0 -1
- package/dist/storage/s3CompatibleStorage.d.ts +0 -157
- package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
- package/dist/testing/prettyReporter.d.ts +0 -23
- package/dist/testing/prettySummaryReporter.d.ts +0 -22
- package/dist/unified.min.js +0 -16153
- package/dist/utils/environmentDetection.d.ts +0 -47
- package/dist/utils/environmentDetection.d.ts.map +0 -1
- package/dist/utils/tensorflowUtils.d.ts +0 -17
- package/dist/utils/tensorflowUtils.d.ts.map +0 -1
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Custom patched implementation of TensorFlow.js PlatformNode class
|
|
3
|
-
* This resolves the TextEncoder/TextDecoder constructor issues
|
|
4
|
-
*/
|
|
5
|
-
export declare class PatchedPlatformNode {
|
|
6
|
-
util: {
|
|
7
|
-
TextEncoder: typeof TextEncoder;
|
|
8
|
-
TextDecoder: typeof TextDecoder;
|
|
9
|
-
isFloat32Array: (arr: any) => boolean;
|
|
10
|
-
isTypedArray: (arr: any) => boolean;
|
|
11
|
-
};
|
|
12
|
-
textEncoder: TextEncoder;
|
|
13
|
-
textDecoder: TextDecoder;
|
|
14
|
-
constructor();
|
|
15
|
-
isFloat32Array(arr: any): boolean;
|
|
16
|
-
isTypedArray(arr: any): boolean;
|
|
17
|
-
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Statistics Manager
|
|
3
|
-
* Provides optimized statistics collection and storage with configurable rate limiting,
|
|
4
|
-
* batching, and exponential backoff to handle high-frequency data updates without
|
|
5
|
-
* overwhelming storage systems like S3.
|
|
6
|
-
*/
|
|
7
|
-
import { StatisticsData } from '../coreTypes.js';
|
|
8
|
-
export interface StatisticsConfig {
|
|
9
|
-
minFlushIntervalMs?: number;
|
|
10
|
-
maxFlushDelayMs?: number;
|
|
11
|
-
maxBatchSize?: number;
|
|
12
|
-
enableExponentialBackoff?: boolean;
|
|
13
|
-
backoffMultiplier?: number;
|
|
14
|
-
maxBackoffMs?: number;
|
|
15
|
-
enableRealtimeMonitoring?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export interface RealtimeStatistics {
|
|
18
|
-
nounCount: {
|
|
19
|
-
[service: string]: number;
|
|
20
|
-
};
|
|
21
|
-
verbCount: {
|
|
22
|
-
[service: string]: number;
|
|
23
|
-
};
|
|
24
|
-
metadataCount: {
|
|
25
|
-
[service: string]: number;
|
|
26
|
-
};
|
|
27
|
-
hnswIndexSize: number;
|
|
28
|
-
operations: {
|
|
29
|
-
add: number;
|
|
30
|
-
search: number;
|
|
31
|
-
delete: number;
|
|
32
|
-
update: number;
|
|
33
|
-
relate: number;
|
|
34
|
-
total: number;
|
|
35
|
-
};
|
|
36
|
-
lastUpdated: string;
|
|
37
|
-
pendingWrites: number;
|
|
38
|
-
lastFlushTime: number;
|
|
39
|
-
nextFlushTime: number;
|
|
40
|
-
}
|
|
41
|
-
export declare class StatisticsManager {
|
|
42
|
-
private config;
|
|
43
|
-
private statisticsCache;
|
|
44
|
-
private realtimeStats;
|
|
45
|
-
private batchUpdateTimerId;
|
|
46
|
-
private statisticsModified;
|
|
47
|
-
private lastFlushTime;
|
|
48
|
-
private consecutiveFlushes;
|
|
49
|
-
private currentBackoffMs;
|
|
50
|
-
private operationCount;
|
|
51
|
-
private saveStatisticsCallback;
|
|
52
|
-
constructor(config?: StatisticsConfig);
|
|
53
|
-
/**
|
|
54
|
-
* Set the callback function for saving statistics to storage
|
|
55
|
-
*/
|
|
56
|
-
setSaveCallback(callback: (stats: StatisticsData) => Promise<void>): void;
|
|
57
|
-
/**
|
|
58
|
-
* Initialize the statistics manager with existing data
|
|
59
|
-
*/
|
|
60
|
-
initialize(existingStats?: StatisticsData): Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* Increment a statistic counter with optimized batching
|
|
63
|
-
*/
|
|
64
|
-
incrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Decrement a statistic counter with optimized batching
|
|
67
|
-
*/
|
|
68
|
-
decrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* Update HNSW index size
|
|
71
|
-
*/
|
|
72
|
-
updateHnswIndexSize(size: number): Promise<void>;
|
|
73
|
-
/**
|
|
74
|
-
* Track search operations for monitoring
|
|
75
|
-
*/
|
|
76
|
-
trackSearchOperation(count?: number): void;
|
|
77
|
-
/**
|
|
78
|
-
* Track update operations for monitoring
|
|
79
|
-
*/
|
|
80
|
-
trackUpdateOperation(count?: number): void;
|
|
81
|
-
/**
|
|
82
|
-
* Track relate operations for monitoring
|
|
83
|
-
*/
|
|
84
|
-
trackRelateOperation(count?: number): void;
|
|
85
|
-
/**
|
|
86
|
-
* Get real-time statistics without triggering storage writes
|
|
87
|
-
*/
|
|
88
|
-
getRealtimeStatistics(): RealtimeStatistics;
|
|
89
|
-
/**
|
|
90
|
-
* Get cached statistics data
|
|
91
|
-
*/
|
|
92
|
-
getCachedStatistics(): StatisticsData | null;
|
|
93
|
-
/**
|
|
94
|
-
* Force an immediate flush with rate limiting protection
|
|
95
|
-
*/
|
|
96
|
-
forceFlush(): Promise<void>;
|
|
97
|
-
/**
|
|
98
|
-
* Schedule a batch update with intelligent timing
|
|
99
|
-
*/
|
|
100
|
-
private scheduleBatchUpdate;
|
|
101
|
-
/**
|
|
102
|
-
* Flush statistics to storage with error handling
|
|
103
|
-
*/
|
|
104
|
-
private flushStatistics;
|
|
105
|
-
/**
|
|
106
|
-
* Create default statistics data
|
|
107
|
-
*/
|
|
108
|
-
private createDefaultStatistics;
|
|
109
|
-
/**
|
|
110
|
-
* Create default realtime statistics
|
|
111
|
-
*/
|
|
112
|
-
private createDefaultRealtimeStats;
|
|
113
|
-
/**
|
|
114
|
-
* Update realtime stats from statistics data
|
|
115
|
-
*/
|
|
116
|
-
private updateRealtimeStats;
|
|
117
|
-
/**
|
|
118
|
-
* Cleanup resources
|
|
119
|
-
*/
|
|
120
|
-
destroy(): void;
|
|
121
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { GraphVerb, HNSWNoun, StorageAdapter } from '../coreTypes.js';
|
|
2
|
-
/**
|
|
3
|
-
* File system storage adapter for Node.js environments
|
|
4
|
-
*/
|
|
5
|
-
export declare class FileSystemStorage implements StorageAdapter {
|
|
6
|
-
private rootDir;
|
|
7
|
-
private nounsDir;
|
|
8
|
-
private verbsDir;
|
|
9
|
-
private metadataDir;
|
|
10
|
-
private isInitialized;
|
|
11
|
-
constructor(rootDirectory?: string);
|
|
12
|
-
/**
|
|
13
|
-
* Initialize the storage adapter
|
|
14
|
-
*/
|
|
15
|
-
init(): Promise<void>;
|
|
16
|
-
private ensureDirectoryExists;
|
|
17
|
-
private getNounPath;
|
|
18
|
-
saveNoun(noun: HNSWNoun & {
|
|
19
|
-
metadata?: {
|
|
20
|
-
noun?: string;
|
|
21
|
-
};
|
|
22
|
-
}): Promise<void>;
|
|
23
|
-
getNoun(id: string): Promise<HNSWNoun | null>;
|
|
24
|
-
deleteNoun(id: string): Promise<void>;
|
|
25
|
-
getAllNouns(): Promise<HNSWNoun[]>;
|
|
26
|
-
/**
|
|
27
|
-
* Get nouns by noun type
|
|
28
|
-
* @param nounType The noun type to filter by
|
|
29
|
-
* @returns Promise that resolves to an array of nouns of the specified noun type
|
|
30
|
-
*/
|
|
31
|
-
getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
|
|
32
|
-
saveVerb(verb: GraphVerb): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Get a verb by its ID
|
|
35
|
-
* @param id The ID of the verb to retrieve
|
|
36
|
-
* @returns Promise that resolves to the verb or null if not found
|
|
37
|
-
*/
|
|
38
|
-
getVerb(id: string): Promise<GraphVerb | null>;
|
|
39
|
-
getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
|
|
40
|
-
/**
|
|
41
|
-
* Get verbs by target ID
|
|
42
|
-
* @param targetId The target ID to filter by
|
|
43
|
-
* @returns Promise that resolves to an array of verbs with the specified target ID
|
|
44
|
-
*/
|
|
45
|
-
getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
|
|
46
|
-
/**
|
|
47
|
-
* Get verbs by type
|
|
48
|
-
* @param type The verb type to filter by
|
|
49
|
-
* @returns Promise that resolves to an array of verbs of the specified type
|
|
50
|
-
*/
|
|
51
|
-
getVerbsByType(type: string): Promise<GraphVerb[]>;
|
|
52
|
-
getAllVerbs(): Promise<GraphVerb[]>;
|
|
53
|
-
deleteVerb(id: string): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Save metadata for an entity
|
|
56
|
-
* @param id The ID of the entity
|
|
57
|
-
* @param metadata The metadata to save
|
|
58
|
-
*/
|
|
59
|
-
saveMetadata(id: string, metadata: any): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Get metadata for an entity
|
|
62
|
-
* @param id The ID of the entity
|
|
63
|
-
* @returns Promise that resolves to the metadata or null if not found
|
|
64
|
-
*/
|
|
65
|
-
getMetadata(id: string): Promise<any | null>;
|
|
66
|
-
clear(): Promise<void>;
|
|
67
|
-
getStorageStatus(): Promise<{
|
|
68
|
-
type: string;
|
|
69
|
-
used: number;
|
|
70
|
-
quota: number | null;
|
|
71
|
-
details?: Record<string, any>;
|
|
72
|
-
}>;
|
|
73
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystemStorage.d.ts","sourceRoot":"","sources":["../../src/storage/fileSystemStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAqDrE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,aAAa,CAAQ;gBAEjB,aAAa,CAAC,EAAE,MAAM;IAQlC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YA2CpB,qBAAqB;IAWnC,OAAO,CAAC,WAAW;IAKN,QAAQ,CACnB,IAAI,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAChD,OAAO,CAAC,IAAI,CAAC;IAQH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAc7C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrC,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoB/C;;;;OAIG;IACU,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4BzD,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD;;;;OAIG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAc9C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMrE;;;;OAIG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMrE;;;;OAIG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAMlD,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAoBnC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD;;;;OAIG;IACU,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;;;OAIG;IACU,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAc5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DtB,gBAAgB,IAAI,OAAO,CAAC;QACvC,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC9B,CAAC;CAyCH"}
|
|
@@ -1,236 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OPFS (Origin Private File System) Storage Adapter
|
|
3
|
-
* Provides persistent storage for the vector database using the Origin Private File System API
|
|
4
|
-
*/
|
|
5
|
-
import { GraphVerb, HNSWNoun, StorageAdapter } from '../coreTypes.js';
|
|
6
|
-
import '../types/fileSystemTypes.js';
|
|
7
|
-
declare global {
|
|
8
|
-
interface FileSystemDirectoryHandle {
|
|
9
|
-
entries(): AsyncIterableIterator<[string, FileSystemHandle]>;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
type HNSWNode = HNSWNoun;
|
|
13
|
-
type Edge = GraphVerb;
|
|
14
|
-
export declare class OPFSStorage implements StorageAdapter {
|
|
15
|
-
private rootDir;
|
|
16
|
-
private nounsDir;
|
|
17
|
-
private verbsDir;
|
|
18
|
-
private metadataDir;
|
|
19
|
-
private isInitialized;
|
|
20
|
-
private isAvailable;
|
|
21
|
-
private isPersistentRequested;
|
|
22
|
-
private isPersistentGranted;
|
|
23
|
-
constructor();
|
|
24
|
-
/**
|
|
25
|
-
* Initialize the storage adapter
|
|
26
|
-
*/
|
|
27
|
-
init(): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Check if OPFS is available in the current environment
|
|
30
|
-
*/
|
|
31
|
-
isOPFSAvailable(): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Request persistent storage permission from the user
|
|
34
|
-
* @returns Promise that resolves to true if permission was granted, false otherwise
|
|
35
|
-
*/
|
|
36
|
-
requestPersistentStorage(): Promise<boolean>;
|
|
37
|
-
/**
|
|
38
|
-
* Check if persistent storage is granted
|
|
39
|
-
* @returns Promise that resolves to true if persistent storage is granted, false otherwise
|
|
40
|
-
*/
|
|
41
|
-
isPersistent(): Promise<boolean>;
|
|
42
|
-
/**
|
|
43
|
-
* Save a noun to storage
|
|
44
|
-
*/
|
|
45
|
-
saveNoun(noun: HNSWNoun): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Get a noun from storage
|
|
48
|
-
*/
|
|
49
|
-
getNoun(id: string): Promise<HNSWNoun | null>;
|
|
50
|
-
/**
|
|
51
|
-
* Get nouns by noun type
|
|
52
|
-
* @param nounType The noun type to filter by
|
|
53
|
-
* @returns Promise that resolves to an array of nouns of the specified noun type
|
|
54
|
-
*/
|
|
55
|
-
getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
|
|
56
|
-
/**
|
|
57
|
-
* Get all nouns from storage
|
|
58
|
-
*/
|
|
59
|
-
getAllNouns(): Promise<HNSWNoun[]>;
|
|
60
|
-
/**
|
|
61
|
-
* Delete a noun from storage
|
|
62
|
-
*/
|
|
63
|
-
deleteNoun(id: string): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Save a verb to storage
|
|
66
|
-
*/
|
|
67
|
-
saveVerb(verb: GraphVerb): Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* Get a verb from storage
|
|
70
|
-
*/
|
|
71
|
-
getVerb(id: string): Promise<GraphVerb | null>;
|
|
72
|
-
/**
|
|
73
|
-
* Get all edges from storage
|
|
74
|
-
*/
|
|
75
|
-
getAllEdges(): Promise<Edge[]>;
|
|
76
|
-
/**
|
|
77
|
-
* Get all verbs from storage (alias for getAllEdges)
|
|
78
|
-
*/
|
|
79
|
-
getAllVerbs(): Promise<GraphVerb[]>;
|
|
80
|
-
/**
|
|
81
|
-
* Delete an edge from storage
|
|
82
|
-
*/
|
|
83
|
-
deleteEdge(id: string): Promise<void>;
|
|
84
|
-
/**
|
|
85
|
-
* Delete a verb from storage (alias for deleteEdge)
|
|
86
|
-
*/
|
|
87
|
-
deleteVerb(id: string): Promise<void>;
|
|
88
|
-
/**
|
|
89
|
-
* Get edges by source node ID
|
|
90
|
-
*/
|
|
91
|
-
getEdgesBySource(sourceId: string): Promise<Edge[]>;
|
|
92
|
-
/**
|
|
93
|
-
* Get verbs by source node ID (alias for getEdgesBySource)
|
|
94
|
-
*/
|
|
95
|
-
getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
|
|
96
|
-
/**
|
|
97
|
-
* Get edges by target node ID
|
|
98
|
-
*/
|
|
99
|
-
getEdgesByTarget(targetId: string): Promise<Edge[]>;
|
|
100
|
-
/**
|
|
101
|
-
* Get verbs by target node ID (alias for getEdgesByTarget)
|
|
102
|
-
*/
|
|
103
|
-
getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
|
|
104
|
-
/**
|
|
105
|
-
* Get edges by type
|
|
106
|
-
*/
|
|
107
|
-
getEdgesByType(type: string): Promise<Edge[]>;
|
|
108
|
-
/**
|
|
109
|
-
* Get verbs by type (alias for getEdgesByType)
|
|
110
|
-
*/
|
|
111
|
-
getVerbsByType(type: string): Promise<GraphVerb[]>;
|
|
112
|
-
/**
|
|
113
|
-
* Save metadata for a node
|
|
114
|
-
*/
|
|
115
|
-
saveMetadata(id: string, metadata: any): Promise<void>;
|
|
116
|
-
/**
|
|
117
|
-
* Get metadata for a node
|
|
118
|
-
*/
|
|
119
|
-
getMetadata(id: string): Promise<any | null>;
|
|
120
|
-
/**
|
|
121
|
-
* Clear all data from storage
|
|
122
|
-
*/
|
|
123
|
-
clear(): Promise<void>;
|
|
124
|
-
/**
|
|
125
|
-
* Ensure the storage adapter is initialized
|
|
126
|
-
*/
|
|
127
|
-
private ensureInitialized;
|
|
128
|
-
/**
|
|
129
|
-
* Convert a Map to a plain object for serialization
|
|
130
|
-
*/
|
|
131
|
-
private mapToObject;
|
|
132
|
-
/**
|
|
133
|
-
* Get the directory for a node - now all nouns use the same directory
|
|
134
|
-
*/
|
|
135
|
-
private getNodeDirectory;
|
|
136
|
-
/**
|
|
137
|
-
* Get information about storage usage and capacity
|
|
138
|
-
*/
|
|
139
|
-
getStorageStatus(): Promise<{
|
|
140
|
-
type: string;
|
|
141
|
-
used: number;
|
|
142
|
-
quota: number | null;
|
|
143
|
-
details?: Record<string, any>;
|
|
144
|
-
}>;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* In-memory storage adapter for environments where OPFS is not available
|
|
148
|
-
*/
|
|
149
|
-
export declare class MemoryStorage implements StorageAdapter {
|
|
150
|
-
private nouns;
|
|
151
|
-
private verbs;
|
|
152
|
-
private metadata;
|
|
153
|
-
constructor();
|
|
154
|
-
saveNoun(noun: HNSWNoun): Promise<void>;
|
|
155
|
-
getNoun(id: string): Promise<HNSWNoun | null>;
|
|
156
|
-
getAllNouns(): Promise<HNSWNoun[]>;
|
|
157
|
-
getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
|
|
158
|
-
deleteNoun(id: string): Promise<void>;
|
|
159
|
-
saveVerb(verb: GraphVerb): Promise<void>;
|
|
160
|
-
getVerb(id: string): Promise<GraphVerb | null>;
|
|
161
|
-
getAllVerbs(): Promise<GraphVerb[]>;
|
|
162
|
-
getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
|
|
163
|
-
getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
|
|
164
|
-
getVerbsByType(type: string): Promise<GraphVerb[]>;
|
|
165
|
-
deleteVerb(id: string): Promise<void>;
|
|
166
|
-
init(): Promise<void>;
|
|
167
|
-
/**
|
|
168
|
-
* Get the noun type for a node from its metadata
|
|
169
|
-
*/
|
|
170
|
-
private getNounType;
|
|
171
|
-
saveNode(node: HNSWNode): Promise<void>;
|
|
172
|
-
getNode(id: string): Promise<HNSWNode | null>;
|
|
173
|
-
/**
|
|
174
|
-
* Get nodes by noun type
|
|
175
|
-
* @param nounType The noun type to filter by
|
|
176
|
-
* @returns Promise that resolves to an array of nodes of the specified noun type
|
|
177
|
-
*/
|
|
178
|
-
getNodesByNounType(nounType: string): Promise<HNSWNode[]>;
|
|
179
|
-
getAllNodes(): Promise<HNSWNode[]>;
|
|
180
|
-
deleteNode(id: string): Promise<void>;
|
|
181
|
-
saveMetadata(id: string, metadata: any): Promise<void>;
|
|
182
|
-
getMetadata(id: string): Promise<any | null>;
|
|
183
|
-
saveEdge(edge: Edge): Promise<void>;
|
|
184
|
-
getEdge(id: string): Promise<Edge | null>;
|
|
185
|
-
getAllEdges(): Promise<Edge[]>;
|
|
186
|
-
getEdgesBySource(sourceId: string): Promise<Edge[]>;
|
|
187
|
-
getEdgesByTarget(targetId: string): Promise<Edge[]>;
|
|
188
|
-
getEdgesByType(type: string): Promise<Edge[]>;
|
|
189
|
-
deleteEdge(id: string): Promise<void>;
|
|
190
|
-
clear(): Promise<void>;
|
|
191
|
-
/**
|
|
192
|
-
* Get information about storage usage and capacity
|
|
193
|
-
*/
|
|
194
|
-
getStorageStatus(): Promise<{
|
|
195
|
-
type: string;
|
|
196
|
-
used: number;
|
|
197
|
-
quota: number | null;
|
|
198
|
-
details?: Record<string, any>;
|
|
199
|
-
}>;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Factory function to create the appropriate storage adapter based on the environment
|
|
203
|
-
* @param options Configuration options for storage
|
|
204
|
-
* @returns Promise that resolves to a StorageAdapter instance
|
|
205
|
-
*/
|
|
206
|
-
export declare function createStorage(options?: {
|
|
207
|
-
requestPersistentStorage?: boolean;
|
|
208
|
-
r2Storage?: {
|
|
209
|
-
bucketName?: string;
|
|
210
|
-
accountId?: string;
|
|
211
|
-
accessKeyId?: string;
|
|
212
|
-
secretAccessKey?: string;
|
|
213
|
-
};
|
|
214
|
-
s3Storage?: {
|
|
215
|
-
bucketName?: string;
|
|
216
|
-
accessKeyId?: string;
|
|
217
|
-
secretAccessKey?: string;
|
|
218
|
-
region?: string;
|
|
219
|
-
};
|
|
220
|
-
gcsStorage?: {
|
|
221
|
-
bucketName?: string;
|
|
222
|
-
accessKeyId?: string;
|
|
223
|
-
secretAccessKey?: string;
|
|
224
|
-
endpoint?: string;
|
|
225
|
-
};
|
|
226
|
-
customS3Storage?: {
|
|
227
|
-
bucketName?: string;
|
|
228
|
-
accessKeyId?: string;
|
|
229
|
-
secretAccessKey?: string;
|
|
230
|
-
endpoint?: string;
|
|
231
|
-
region?: string;
|
|
232
|
-
};
|
|
233
|
-
forceFileSystemStorage?: boolean;
|
|
234
|
-
forceMemoryStorage?: boolean;
|
|
235
|
-
}): Promise<StorageAdapter>;
|
|
236
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opfsStorage.d.ts","sourceRoot":"","sources":["../../src/storage/opfsStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACnE,OAAO,6BAA6B,CAAA;AAEpC,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,yBAAyB;QAC/B,OAAO,IAAI,qBAAqB,CAAC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;KAC/D;CACJ;AAGD,KAAK,QAAQ,GAAG,QAAQ,CAAA;AACxB,KAAK,IAAI,GAAG,SAAS,CAAA;AAYrB,qBAAa,WAAY,YAAW,cAAc;IAC9C,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,mBAAmB,CAAQ;;IAUnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwClC;;OAEG;IACI,eAAe,IAAI,OAAO;IAIjC;;;OAGG;IACU,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBzD;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAc7C;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BpD;;OAEG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAqC1D;;;;OAIG;IACU,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoEtE;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4D/C;;OAEG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrD;;OAEG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAuC3D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IA2B3C;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIhD;;OAEG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD;;OAEG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAYhE;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIrE;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAYhE;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIrE;;OAEG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAY1D;;OAEG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAI/D;;OAEG;IACU,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnE;;OAEG;IACU,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAsBzD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2BnC;;OAEG;YACW,iBAAiB;IAM/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;OAEG;YACW,gBAAgB;IAO9B;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAChC,CAAC;CAqGL;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,cAAc;IAEhD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAA8B;;IAOjC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAI7C,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIlC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAIzD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAI9C,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAInC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIxD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIxD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAIlD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;OAEG;YACW,WAAW;IAkBZ,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwB1D;;;;OAIG;IACU,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA6BzD,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuBlC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAS5C,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA4BzC,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAa9B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAenD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAenD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAe7C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC;QACrC,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAChC,CAAC;CA8JL;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAC/B,OAAO,GAAE;IACL,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,SAAS,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;IACD,SAAS,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,UAAU,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,eAAe,CAAC,EAAE;QACd,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC1B,GACP,OAAO,CAAC,cAAc,CAAC,CAoOzB"}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { GraphVerb, HNSWNoun, StorageAdapter } from '../coreTypes.js';
|
|
2
|
-
type HNSWNode = HNSWNoun;
|
|
3
|
-
type Edge = GraphVerb;
|
|
4
|
-
export { S3CompatibleStorage as R2Storage };
|
|
5
|
-
/**
|
|
6
|
-
* S3-compatible storage adapter for server environments
|
|
7
|
-
* Uses the AWS S3 client to interact with S3-compatible storage services
|
|
8
|
-
* including Amazon S3, Cloudflare R2, and Google Cloud Storage
|
|
9
|
-
*
|
|
10
|
-
* To use this adapter with Cloudflare R2, you need to provide:
|
|
11
|
-
* - bucketName: Your bucket name
|
|
12
|
-
* - accountId: Your Cloudflare account ID
|
|
13
|
-
* - accessKeyId: R2 access key ID
|
|
14
|
-
* - secretAccessKey: R2 secret access key
|
|
15
|
-
* - serviceType: 'r2'
|
|
16
|
-
*
|
|
17
|
-
* To use this adapter with Amazon S3, you need to provide:
|
|
18
|
-
* - bucketName: Your S3 bucket name
|
|
19
|
-
* - accessKeyId: AWS access key ID
|
|
20
|
-
* - secretAccessKey: AWS secret access key
|
|
21
|
-
* - region: AWS region (e.g., 'us-east-1')
|
|
22
|
-
* - serviceType: 's3'
|
|
23
|
-
*
|
|
24
|
-
* To use this adapter with Google Cloud Storage, you need to provide:
|
|
25
|
-
* - bucketName: Your GCS bucket name
|
|
26
|
-
* - accessKeyId: HMAC access key
|
|
27
|
-
* - secretAccessKey: HMAC secret
|
|
28
|
-
* - endpoint: GCS endpoint (e.g., 'https://storage.googleapis.com')
|
|
29
|
-
* - serviceType: 'gcs'
|
|
30
|
-
*
|
|
31
|
-
* For other S3-compatible services, provide:
|
|
32
|
-
* - bucketName: Your bucket name
|
|
33
|
-
* - accessKeyId: Access key ID
|
|
34
|
-
* - secretAccessKey: Secret access key
|
|
35
|
-
* - endpoint: Service endpoint URL
|
|
36
|
-
* - region: Region (if required)
|
|
37
|
-
* - serviceType: 'custom'
|
|
38
|
-
*/
|
|
39
|
-
export declare class S3CompatibleStorage implements StorageAdapter {
|
|
40
|
-
private bucketName;
|
|
41
|
-
private accessKeyId;
|
|
42
|
-
private secretAccessKey;
|
|
43
|
-
private endpoint?;
|
|
44
|
-
private region?;
|
|
45
|
-
private accountId?;
|
|
46
|
-
private serviceType;
|
|
47
|
-
private s3Client;
|
|
48
|
-
private isInitialized;
|
|
49
|
-
saveNoun(noun: HNSWNoun): Promise<void>;
|
|
50
|
-
getNoun(id: string): Promise<HNSWNoun | null>;
|
|
51
|
-
getAllNouns(): Promise<HNSWNoun[]>;
|
|
52
|
-
getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
|
|
53
|
-
deleteNoun(id: string): Promise<void>;
|
|
54
|
-
saveVerb(verb: GraphVerb): Promise<void>;
|
|
55
|
-
getVerb(id: string): Promise<GraphVerb | null>;
|
|
56
|
-
getAllVerbs(): Promise<GraphVerb[]>;
|
|
57
|
-
getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
|
|
58
|
-
getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
|
|
59
|
-
getVerbsByType(type: string): Promise<GraphVerb[]>;
|
|
60
|
-
deleteVerb(id: string): Promise<void>;
|
|
61
|
-
constructor(options: {
|
|
62
|
-
bucketName: string;
|
|
63
|
-
accessKeyId: string;
|
|
64
|
-
secretAccessKey: string;
|
|
65
|
-
serviceType: 'r2' | 's3' | 'gcs' | 'custom';
|
|
66
|
-
accountId?: string;
|
|
67
|
-
region?: string;
|
|
68
|
-
endpoint?: string;
|
|
69
|
-
});
|
|
70
|
-
/**
|
|
71
|
-
* Initialize the storage adapter
|
|
72
|
-
*/
|
|
73
|
-
init(): Promise<void>;
|
|
74
|
-
/**
|
|
75
|
-
* Save a node to storage
|
|
76
|
-
*/
|
|
77
|
-
saveNode(node: HNSWNode): Promise<void>;
|
|
78
|
-
/**
|
|
79
|
-
* Get a node from storage
|
|
80
|
-
*/
|
|
81
|
-
getNode(id: string): Promise<HNSWNode | null>;
|
|
82
|
-
/**
|
|
83
|
-
* Get nodes by noun type
|
|
84
|
-
* @param nounType The noun type to filter by
|
|
85
|
-
* @returns Promise that resolves to an array of nodes of the specified noun type
|
|
86
|
-
*/
|
|
87
|
-
getNodesByNounType(nounType: string): Promise<HNSWNode[]>;
|
|
88
|
-
/**
|
|
89
|
-
* Get all nodes from storage
|
|
90
|
-
*/
|
|
91
|
-
getAllNodes(): Promise<HNSWNode[]>;
|
|
92
|
-
/**
|
|
93
|
-
* Delete a node from storage
|
|
94
|
-
*/
|
|
95
|
-
deleteNode(id: string): Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* Save an edge to storage
|
|
98
|
-
*/
|
|
99
|
-
saveEdge(edge: Edge): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Get an edge from storage
|
|
102
|
-
*/
|
|
103
|
-
getEdge(id: string): Promise<Edge | null>;
|
|
104
|
-
/**
|
|
105
|
-
* Get all edges from storage
|
|
106
|
-
*/
|
|
107
|
-
getAllEdges(): Promise<Edge[]>;
|
|
108
|
-
/**
|
|
109
|
-
* Get edges by source node ID
|
|
110
|
-
*/
|
|
111
|
-
getEdgesBySource(sourceId: string): Promise<Edge[]>;
|
|
112
|
-
/**
|
|
113
|
-
* Get edges by target node ID
|
|
114
|
-
*/
|
|
115
|
-
getEdgesByTarget(targetId: string): Promise<Edge[]>;
|
|
116
|
-
/**
|
|
117
|
-
* Get edges by type
|
|
118
|
-
*/
|
|
119
|
-
getEdgesByType(type: string): Promise<Edge[]>;
|
|
120
|
-
/**
|
|
121
|
-
* Delete an edge from storage
|
|
122
|
-
*/
|
|
123
|
-
deleteEdge(id: string): Promise<void>;
|
|
124
|
-
/**
|
|
125
|
-
* Save metadata to storage
|
|
126
|
-
*/
|
|
127
|
-
saveMetadata(id: string, metadata: any): Promise<void>;
|
|
128
|
-
/**
|
|
129
|
-
* Get metadata from storage
|
|
130
|
-
*/
|
|
131
|
-
getMetadata(id: string): Promise<any | null>;
|
|
132
|
-
/**
|
|
133
|
-
* Clear all data from storage
|
|
134
|
-
*/
|
|
135
|
-
clear(): Promise<void>;
|
|
136
|
-
/**
|
|
137
|
-
* Get information about storage usage and capacity
|
|
138
|
-
*/
|
|
139
|
-
getStorageStatus(): Promise<{
|
|
140
|
-
type: string;
|
|
141
|
-
used: number;
|
|
142
|
-
quota: number | null;
|
|
143
|
-
details?: Record<string, any>;
|
|
144
|
-
}>;
|
|
145
|
-
/**
|
|
146
|
-
* Ensure the storage adapter is initialized
|
|
147
|
-
*/
|
|
148
|
-
private ensureInitialized;
|
|
149
|
-
/**
|
|
150
|
-
* Get the appropriate prefix for a node - now all nouns use the same prefix
|
|
151
|
-
*/
|
|
152
|
-
private getNodePrefix;
|
|
153
|
-
/**
|
|
154
|
-
* Convert a Map to a plain object for serialization
|
|
155
|
-
*/
|
|
156
|
-
private mapToObject;
|
|
157
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s3CompatibleStorage.d.ts","sourceRoot":"","sources":["../../src/storage/s3CompatibleStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Reporter, File, Vitest, TaskResultPack, RunnerTaskEventPack as TaskEventPack } from 'vitest';
|
|
2
|
-
/**
|
|
3
|
-
* PrettyReporter - A visually appealing reporter for Vitest
|
|
4
|
-
*
|
|
5
|
-
* This reporter creates a visually enhanced summary of test results
|
|
6
|
-
* with colors, symbols, and formatted output.
|
|
7
|
-
*/
|
|
8
|
-
export default class PrettyReporter implements Reporter {
|
|
9
|
-
private startTime;
|
|
10
|
-
private testResults;
|
|
11
|
-
private totalTests;
|
|
12
|
-
private failedTests;
|
|
13
|
-
private ctx;
|
|
14
|
-
onInit(ctx: Vitest): void;
|
|
15
|
-
onFinished(files?: File[] | undefined): void;
|
|
16
|
-
onTaskUpdate(packs: TaskResultPack[], events: TaskEventPack[]): void;
|
|
17
|
-
onCollected(files?: File[] | undefined): void;
|
|
18
|
-
private countTestsInTasks;
|
|
19
|
-
private processTask;
|
|
20
|
-
private printSummary;
|
|
21
|
-
private formatDuration;
|
|
22
|
-
private truncateString;
|
|
23
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Reporter, File, Vitest, TaskResultPack, RunnerTaskEventPack as TaskEventPack } from 'vitest';
|
|
2
|
-
/**
|
|
3
|
-
* PrettySummaryReporter - A visually appealing summary reporter for Vitest
|
|
4
|
-
*
|
|
5
|
-
* This reporter creates a visually enhanced summary of test results
|
|
6
|
-
* with colors, symbols, and formatted output at the end of the test run.
|
|
7
|
-
*/
|
|
8
|
-
export default class PrettySummaryReporter implements Reporter {
|
|
9
|
-
private startTime;
|
|
10
|
-
private testFiles;
|
|
11
|
-
private testCounts;
|
|
12
|
-
private fileResults;
|
|
13
|
-
private failedTests;
|
|
14
|
-
private ctx;
|
|
15
|
-
onInit(ctx: Vitest): void;
|
|
16
|
-
onCollected(files?: File[]): void;
|
|
17
|
-
onFinished(files?: File[]): void;
|
|
18
|
-
onTaskUpdate(packs: TaskResultPack[], events: TaskEventPack[]): void;
|
|
19
|
-
private printSummary;
|
|
20
|
-
private formatDuration;
|
|
21
|
-
private truncateString;
|
|
22
|
-
}
|