@soulcraft/brainy 0.18.0 → 0.20.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 +32 -1
- package/dist/brainy.js +4797 -4680
- package/dist/brainy.min.js +750 -750
- package/dist/brainyData.d.ts +63 -4
- package/dist/coreTypes.d.ts +54 -0
- package/dist/index.d.ts +2 -2
- package/dist/storage/adapters/baseStorageAdapter.d.ts +68 -0
- package/dist/storage/adapters/baseStorageAdapter.d.ts.map +1 -0
- package/dist/storage/adapters/fileSystemStorage.d.ts +11 -1
- package/dist/storage/adapters/fileSystemStorage.d.ts.map +1 -1
- package/dist/storage/adapters/memoryStorage.d.ts +12 -1
- package/dist/storage/adapters/memoryStorage.d.ts.map +1 -1
- package/dist/storage/adapters/opfsStorage.d.ts +12 -1
- package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
- package/dist/storage/adapters/s3CompatibleStorage.d.ts +12 -1
- package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
- package/dist/storage/baseStorage.d.ts +16 -2
- package/dist/storage/baseStorage.d.ts.map +1 -1
- package/dist/storage/fileSystemStorage.d.ts +15 -2
- package/dist/storage/fileSystemStorage.d.ts.map +1 -1
- package/dist/storage/opfsStorage.d.ts +66 -3
- package/dist/storage/opfsStorage.d.ts.map +1 -1
- package/dist/storage/s3CompatibleStorage.d.ts +14 -2
- package/dist/storage/s3CompatibleStorage.d.ts.map +1 -1
- package/dist/unified.js +1200 -541
- package/dist/unified.min.js +747 -747
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/statistics.d.ts +28 -0
- package/dist/utils/statistics.d.ts.map +1 -0
- package/dist/utils/version.d.ts +1 -1
- package/package.json +1 -1
- package/README.demo.md +0 -65
- package/dist/utils/logger.d.ts +0 -99
- package/dist/utils/logger.d.ts.map +0 -1
package/dist/brainyData.d.ts
CHANGED
|
@@ -138,6 +138,12 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
138
138
|
* @throws Error if the database is in read-only mode
|
|
139
139
|
*/
|
|
140
140
|
private checkReadOnly;
|
|
141
|
+
/**
|
|
142
|
+
* Get the current augmentation name if available
|
|
143
|
+
* This is used to auto-detect the service performing data operations
|
|
144
|
+
* @returns The name of the current augmentation or 'default' if none is detected
|
|
145
|
+
*/
|
|
146
|
+
private getCurrentAugmentation;
|
|
141
147
|
/**
|
|
142
148
|
* Initialize the database
|
|
143
149
|
* Loads existing data from storage if available
|
|
@@ -162,6 +168,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
162
168
|
forceEmbed?: boolean;
|
|
163
169
|
addToRemote?: boolean;
|
|
164
170
|
id?: string;
|
|
171
|
+
service?: string;
|
|
165
172
|
}): Promise<string>;
|
|
166
173
|
/**
|
|
167
174
|
* Add a text item to the database with automatic embedding
|
|
@@ -222,6 +229,14 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
222
229
|
forceEmbed?: boolean;
|
|
223
230
|
concurrency?: number;
|
|
224
231
|
}): Promise<string[]>;
|
|
232
|
+
/**
|
|
233
|
+
* Filter search results by service
|
|
234
|
+
* @param results Search results to filter
|
|
235
|
+
* @param service Service to filter by
|
|
236
|
+
* @returns Filtered search results
|
|
237
|
+
* @private
|
|
238
|
+
*/
|
|
239
|
+
private filterResultsByService;
|
|
225
240
|
/**
|
|
226
241
|
* Search for similar vectors within specific noun types
|
|
227
242
|
* @param queryVectorOrData Query vector or data to search for
|
|
@@ -232,6 +247,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
232
247
|
*/
|
|
233
248
|
searchByNounTypes(queryVectorOrData: Vector | any, k?: number, nounTypes?: string[] | null, options?: {
|
|
234
249
|
forceEmbed?: boolean;
|
|
250
|
+
service?: string;
|
|
235
251
|
}): Promise<SearchResult<T>[]>;
|
|
236
252
|
/**
|
|
237
253
|
* Search for similar vectors
|
|
@@ -249,6 +265,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
249
265
|
verbTypes?: string[];
|
|
250
266
|
searchConnectedNouns?: boolean;
|
|
251
267
|
verbDirection?: 'outgoing' | 'incoming' | 'both';
|
|
268
|
+
service?: string;
|
|
252
269
|
}): Promise<SearchResult<T>[]>;
|
|
253
270
|
/**
|
|
254
271
|
* Search the local database for similar vectors
|
|
@@ -261,6 +278,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
261
278
|
forceEmbed?: boolean;
|
|
262
279
|
nounTypes?: string[];
|
|
263
280
|
includeVerbs?: boolean;
|
|
281
|
+
service?: string;
|
|
264
282
|
}): Promise<SearchResult<T>[]>;
|
|
265
283
|
/**
|
|
266
284
|
* Find entities similar to a given entity ID
|
|
@@ -285,17 +303,33 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
285
303
|
getAllNouns(): Promise<VectorDocument<T>[]>;
|
|
286
304
|
/**
|
|
287
305
|
* Delete a vector by ID
|
|
306
|
+
* @param id The ID of the vector to delete
|
|
307
|
+
* @param options Additional options
|
|
308
|
+
* @returns Promise that resolves to true if the vector was deleted, false otherwise
|
|
288
309
|
*/
|
|
289
|
-
delete(id: string
|
|
310
|
+
delete(id: string, options?: {
|
|
311
|
+
service?: string;
|
|
312
|
+
}): Promise<boolean>;
|
|
290
313
|
/**
|
|
291
314
|
* Update metadata for a vector
|
|
315
|
+
* @param id The ID of the vector to update metadata for
|
|
316
|
+
* @param metadata The new metadata
|
|
317
|
+
* @param options Additional options
|
|
318
|
+
* @returns Promise that resolves to true if the metadata was updated, false otherwise
|
|
292
319
|
*/
|
|
293
|
-
updateMetadata(id: string, metadata: T
|
|
320
|
+
updateMetadata(id: string, metadata: T, options?: {
|
|
321
|
+
service?: string;
|
|
322
|
+
}): Promise<boolean>;
|
|
294
323
|
/**
|
|
295
324
|
* Create a relationship between two entities
|
|
296
325
|
* This is a convenience wrapper around addVerb
|
|
297
326
|
*/
|
|
298
327
|
relate(sourceId: string, targetId: string, relationType: string, metadata?: any): Promise<string>;
|
|
328
|
+
/**
|
|
329
|
+
* Create a connection between two entities
|
|
330
|
+
* This is an alias for relate() for backward compatibility
|
|
331
|
+
*/
|
|
332
|
+
connect(sourceId: string, targetId: string, relationType: string, metadata?: any): Promise<string>;
|
|
299
333
|
/**
|
|
300
334
|
* Add a verb between two nouns
|
|
301
335
|
* If metadata is provided and vector is not, the metadata will be vectorized using the embedding function
|
|
@@ -324,6 +358,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
324
358
|
id?: string;
|
|
325
359
|
autoCreateMissingNouns?: boolean;
|
|
326
360
|
missingNounMetadata?: any;
|
|
361
|
+
service?: string;
|
|
327
362
|
}): Promise<string>;
|
|
328
363
|
/**
|
|
329
364
|
* Get a verb by ID
|
|
@@ -347,8 +382,13 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
347
382
|
getVerbsByType(type: string): Promise<GraphVerb[]>;
|
|
348
383
|
/**
|
|
349
384
|
* Delete a verb
|
|
385
|
+
* @param id The ID of the verb to delete
|
|
386
|
+
* @param options Additional options
|
|
387
|
+
* @returns Promise that resolves to true if the verb was deleted, false otherwise
|
|
350
388
|
*/
|
|
351
|
-
deleteVerb(id: string
|
|
389
|
+
deleteVerb(id: string, options?: {
|
|
390
|
+
service?: string;
|
|
391
|
+
}): Promise<boolean>;
|
|
352
392
|
/**
|
|
353
393
|
* Clear the database
|
|
354
394
|
*/
|
|
@@ -357,15 +397,31 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
357
397
|
* Get the number of vectors in the database
|
|
358
398
|
*/
|
|
359
399
|
size(): number;
|
|
400
|
+
/**
|
|
401
|
+
* Get the number of nouns in the database (excluding verbs)
|
|
402
|
+
* This is used for statistics reporting to match the expected behavior in tests
|
|
403
|
+
* @private
|
|
404
|
+
*/
|
|
405
|
+
private getNounCount;
|
|
360
406
|
/**
|
|
361
407
|
* Get statistics about the current state of the database
|
|
408
|
+
* @param options Additional options for retrieving statistics
|
|
362
409
|
* @returns Object containing counts of nouns, verbs, metadata entries, and HNSW index size
|
|
363
410
|
*/
|
|
364
|
-
getStatistics(
|
|
411
|
+
getStatistics(options?: {
|
|
412
|
+
service?: string | string[];
|
|
413
|
+
}): Promise<{
|
|
365
414
|
nounCount: number;
|
|
366
415
|
verbCount: number;
|
|
367
416
|
metadataCount: number;
|
|
368
417
|
hnswIndexSize: number;
|
|
418
|
+
serviceBreakdown?: {
|
|
419
|
+
[service: string]: {
|
|
420
|
+
nounCount: number;
|
|
421
|
+
verbCount: number;
|
|
422
|
+
metadataCount: number;
|
|
423
|
+
};
|
|
424
|
+
};
|
|
369
425
|
}>;
|
|
370
426
|
/**
|
|
371
427
|
* Check if the database is in read-only mode
|
|
@@ -395,6 +451,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
395
451
|
searchVerbs(queryVectorOrData: Vector | any, k?: number, options?: {
|
|
396
452
|
forceEmbed?: boolean;
|
|
397
453
|
verbTypes?: string[];
|
|
454
|
+
service?: string;
|
|
398
455
|
}): Promise<Array<GraphVerb & {
|
|
399
456
|
similarity: number;
|
|
400
457
|
}>>;
|
|
@@ -436,6 +493,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
436
493
|
nounTypes?: string[];
|
|
437
494
|
includeVerbs?: boolean;
|
|
438
495
|
storeResults?: boolean;
|
|
496
|
+
service?: string;
|
|
439
497
|
}): Promise<SearchResult<T>[]>;
|
|
440
498
|
/**
|
|
441
499
|
* Search both local and remote Brainy instances, combining the results
|
|
@@ -449,6 +507,7 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
|
|
|
449
507
|
nounTypes?: string[];
|
|
450
508
|
includeVerbs?: boolean;
|
|
451
509
|
localFirst?: boolean;
|
|
510
|
+
service?: string;
|
|
452
511
|
}): Promise<SearchResult<T>[]>;
|
|
453
512
|
/**
|
|
454
513
|
* Check if the instance is connected to a remote server
|
package/dist/coreTypes.d.ts
CHANGED
|
@@ -83,6 +83,31 @@ export interface HNSWConfig {
|
|
|
83
83
|
/**
|
|
84
84
|
* Storage interface for persistence
|
|
85
85
|
*/
|
|
86
|
+
/**
|
|
87
|
+
* Statistics data structure for tracking counts by service
|
|
88
|
+
*/
|
|
89
|
+
export interface StatisticsData {
|
|
90
|
+
/**
|
|
91
|
+
* Count of nouns by service
|
|
92
|
+
*/
|
|
93
|
+
nounCount: Record<string, number>;
|
|
94
|
+
/**
|
|
95
|
+
* Count of verbs by service
|
|
96
|
+
*/
|
|
97
|
+
verbCount: Record<string, number>;
|
|
98
|
+
/**
|
|
99
|
+
* Count of metadata entries by service
|
|
100
|
+
*/
|
|
101
|
+
metadataCount: Record<string, number>;
|
|
102
|
+
/**
|
|
103
|
+
* Size of the HNSW index
|
|
104
|
+
*/
|
|
105
|
+
hnswIndexSize: number;
|
|
106
|
+
/**
|
|
107
|
+
* Last updated timestamp
|
|
108
|
+
*/
|
|
109
|
+
lastUpdated: string;
|
|
110
|
+
}
|
|
86
111
|
export interface StorageAdapter {
|
|
87
112
|
init(): Promise<void>;
|
|
88
113
|
saveNoun(noun: HNSWNoun): Promise<void>;
|
|
@@ -127,4 +152,33 @@ export interface StorageAdapter {
|
|
|
127
152
|
*/
|
|
128
153
|
details?: Record<string, any>;
|
|
129
154
|
}>;
|
|
155
|
+
/**
|
|
156
|
+
* Save statistics data
|
|
157
|
+
* @param statistics The statistics data to save
|
|
158
|
+
*/
|
|
159
|
+
saveStatistics(statistics: StatisticsData): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* Get statistics data
|
|
162
|
+
* @returns Promise that resolves to the statistics data
|
|
163
|
+
*/
|
|
164
|
+
getStatistics(): Promise<StatisticsData | null>;
|
|
165
|
+
/**
|
|
166
|
+
* Increment a statistic counter
|
|
167
|
+
* @param type The type of statistic to increment ('noun', 'verb', 'metadata')
|
|
168
|
+
* @param service The service that inserted the data
|
|
169
|
+
* @param amount The amount to increment by (default: 1)
|
|
170
|
+
*/
|
|
171
|
+
incrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
|
|
172
|
+
/**
|
|
173
|
+
* Decrement a statistic counter
|
|
174
|
+
* @param type The type of statistic to decrement ('noun', 'verb', 'metadata')
|
|
175
|
+
* @param service The service that inserted the data
|
|
176
|
+
* @param amount The amount to decrement by (default: 1)
|
|
177
|
+
*/
|
|
178
|
+
decrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
|
|
179
|
+
/**
|
|
180
|
+
* Update the HNSW index size statistic
|
|
181
|
+
* @param size The new size of the HNSW index
|
|
182
|
+
*/
|
|
183
|
+
updateHnswIndexSize(size: number): Promise<void>;
|
|
130
184
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import './setup.js';
|
|
|
6
6
|
import { BrainyData, BrainyDataConfig } from './brainyData.js';
|
|
7
7
|
export { BrainyData };
|
|
8
8
|
export type { BrainyDataConfig };
|
|
9
|
-
import { euclideanDistance, cosineDistance, manhattanDistance, dotProductDistance } from './utils/index.js';
|
|
10
|
-
export { euclideanDistance, cosineDistance, manhattanDistance, dotProductDistance };
|
|
9
|
+
import { euclideanDistance, cosineDistance, manhattanDistance, dotProductDistance, getStatistics } from './utils/index.js';
|
|
10
|
+
export { euclideanDistance, cosineDistance, manhattanDistance, dotProductDistance, getStatistics };
|
|
11
11
|
import { UniversalSentenceEncoder, createEmbeddingFunction, createTensorFlowEmbeddingFunction, createThreadedEmbeddingFunction, defaultEmbeddingFunction } from './utils/embedding.js';
|
|
12
12
|
import { executeInThread, cleanupWorkerPools } from './utils/workerUtils.js';
|
|
13
13
|
import { isBrowser, isNode, isWebWorker, areWebWorkersAvailable, areWorkerThreadsAvailable, areWorkerThreadsAvailableSync, isThreadingAvailable, isThreadingAvailableAsync } from './utils/environment.js';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Storage Adapter
|
|
3
|
+
* Provides common functionality for all storage adapters, including statistics tracking
|
|
4
|
+
*/
|
|
5
|
+
import { StatisticsData, StorageAdapter } from '../../coreTypes.js';
|
|
6
|
+
/**
|
|
7
|
+
* Base class for storage adapters that implements statistics tracking
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseStorageAdapter implements StorageAdapter {
|
|
10
|
+
abstract init(): Promise<void>;
|
|
11
|
+
abstract saveNoun(noun: any): Promise<void>;
|
|
12
|
+
abstract getNoun(id: string): Promise<any | null>;
|
|
13
|
+
abstract getAllNouns(): Promise<any[]>;
|
|
14
|
+
abstract getNounsByNounType(nounType: string): Promise<any[]>;
|
|
15
|
+
abstract deleteNoun(id: string): Promise<void>;
|
|
16
|
+
abstract saveVerb(verb: any): Promise<void>;
|
|
17
|
+
abstract getVerb(id: string): Promise<any | null>;
|
|
18
|
+
abstract getAllVerbs(): Promise<any[]>;
|
|
19
|
+
abstract getVerbsBySource(sourceId: string): Promise<any[]>;
|
|
20
|
+
abstract getVerbsByTarget(targetId: string): Promise<any[]>;
|
|
21
|
+
abstract getVerbsByType(type: string): Promise<any[]>;
|
|
22
|
+
abstract deleteVerb(id: string): Promise<void>;
|
|
23
|
+
abstract saveMetadata(id: string, metadata: any): Promise<void>;
|
|
24
|
+
abstract getMetadata(id: string): Promise<any | null>;
|
|
25
|
+
abstract clear(): Promise<void>;
|
|
26
|
+
abstract getStorageStatus(): Promise<{
|
|
27
|
+
type: string;
|
|
28
|
+
used: number;
|
|
29
|
+
quota: number | null;
|
|
30
|
+
details?: Record<string, any>;
|
|
31
|
+
}>;
|
|
32
|
+
protected abstract saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
33
|
+
protected abstract getStatisticsData(): Promise<StatisticsData | null>;
|
|
34
|
+
/**
|
|
35
|
+
* Save statistics data
|
|
36
|
+
* @param statistics The statistics data to save
|
|
37
|
+
*/
|
|
38
|
+
saveStatistics(statistics: StatisticsData): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Get statistics data
|
|
41
|
+
* @returns Promise that resolves to the statistics data
|
|
42
|
+
*/
|
|
43
|
+
getStatistics(): Promise<StatisticsData | null>;
|
|
44
|
+
/**
|
|
45
|
+
* Increment a statistic counter
|
|
46
|
+
* @param type The type of statistic to increment ('noun', 'verb', 'metadata')
|
|
47
|
+
* @param service The service that inserted the data
|
|
48
|
+
* @param amount The amount to increment by (default: 1)
|
|
49
|
+
*/
|
|
50
|
+
incrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Decrement a statistic counter
|
|
53
|
+
* @param type The type of statistic to decrement ('noun', 'verb', 'metadata')
|
|
54
|
+
* @param service The service that inserted the data
|
|
55
|
+
* @param amount The amount to decrement by (default: 1)
|
|
56
|
+
*/
|
|
57
|
+
decrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Update the HNSW index size statistic
|
|
60
|
+
* @param size The new size of the HNSW index
|
|
61
|
+
*/
|
|
62
|
+
updateHnswIndexSize(size: number): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Create default statistics data
|
|
65
|
+
* @returns Default statistics data
|
|
66
|
+
*/
|
|
67
|
+
protected createDefaultStatistics(): StatisticsData;
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/baseStorageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* File System Storage Adapter
|
|
3
3
|
* File system storage adapter for Node.js environments
|
|
4
4
|
*/
|
|
5
|
-
import { GraphVerb, HNSWNoun } from '../../coreTypes.js';
|
|
5
|
+
import { GraphVerb, HNSWNoun, StatisticsData } from '../../coreTypes.js';
|
|
6
6
|
import { BaseStorage } from '../baseStorage.js';
|
|
7
7
|
type HNSWNode = HNSWNoun;
|
|
8
8
|
type Edge = GraphVerb;
|
|
@@ -100,5 +100,15 @@ export declare class FileSystemStorage extends BaseStorage {
|
|
|
100
100
|
quota: number | null;
|
|
101
101
|
details?: Record<string, any>;
|
|
102
102
|
}>;
|
|
103
|
+
/**
|
|
104
|
+
* Save statistics data to storage
|
|
105
|
+
* @param statistics The statistics data to save
|
|
106
|
+
*/
|
|
107
|
+
protected saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Get statistics data from storage
|
|
110
|
+
* @returns Promise that resolves to the statistics data or null if not found
|
|
111
|
+
*/
|
|
112
|
+
protected getStatisticsData(): Promise<StatisticsData | null>;
|
|
103
113
|
}
|
|
104
114
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystemStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/fileSystemStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"fileSystemStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/fileSystemStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAiE,MAAM,mBAAmB,CAAA;AAG9G,KAAK,QAAQ,GAAG,QAAQ,CAAA;AACxB,KAAK,IAAI,GAAG,SAAS,CAAA;AAyBrB;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAQ;IAExB;;;OAGG;gBACS,aAAa,EAAE,MAAM;IASjC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmClC;;OAEG;YACW,qBAAqB;IAWnC;;OAEG;cACa,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD;;OAEG;cACa,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA2B7D;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAiClD;;;;OAIG;cACa,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuCzE;;OAEG;cACa,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrD;;OAEG;cACa,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAenD;;OAEG;cACa,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAgCzD;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsC9C;;OAEG;cACa,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKnE;;OAEG;cACa,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKnE;;OAEG;cACa,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAK7D;;OAEG;cACa,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrD;;OAEG;IACU,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE;;OAEG;IACU,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAezD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCnC;;OAEG;IACU,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;IAuFF;;;OAGG;cACa,kBAAkB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7E;;;OAGG;cACa,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAgBpE"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Memory Storage Adapter
|
|
3
3
|
* In-memory storage adapter for environments where persistent storage is not available or needed
|
|
4
4
|
*/
|
|
5
|
-
import { GraphVerb, HNSWNoun } from '../../coreTypes.js';
|
|
5
|
+
import { GraphVerb, HNSWNoun, StatisticsData } from '../../coreTypes.js';
|
|
6
6
|
import { BaseStorage } from '../baseStorage.js';
|
|
7
7
|
/**
|
|
8
8
|
* Type alias for HNSWNoun to make the code more readable
|
|
@@ -20,6 +20,7 @@ export declare class MemoryStorage extends BaseStorage {
|
|
|
20
20
|
private nouns;
|
|
21
21
|
private verbs;
|
|
22
22
|
private metadata;
|
|
23
|
+
private statistics;
|
|
23
24
|
constructor();
|
|
24
25
|
/**
|
|
25
26
|
* Initialize the storage adapter
|
|
@@ -97,5 +98,15 @@ export declare class MemoryStorage extends BaseStorage {
|
|
|
97
98
|
quota: number | null;
|
|
98
99
|
details?: Record<string, any>;
|
|
99
100
|
}>;
|
|
101
|
+
/**
|
|
102
|
+
* Save statistics data to storage
|
|
103
|
+
* @param statistics The statistics data to save
|
|
104
|
+
*/
|
|
105
|
+
protected saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Get statistics data from storage
|
|
108
|
+
* @returns Promise that resolves to the statistics data or null if not found
|
|
109
|
+
*/
|
|
110
|
+
protected getStatisticsData(): Promise<StatisticsData | null>;
|
|
100
111
|
}
|
|
101
112
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/memoryStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"memoryStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/memoryStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAA;AAE/D;;GAEG;AACH,KAAK,QAAQ,GAAG,QAAQ,CAAA;AAExB;;GAEG;AACH,KAAK,IAAI,GAAG,SAAS,CAAA;AAErB;;;GAGG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,UAAU,CAA8B;;IAMhD;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;OAEG;cACa,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvD;;OAEG;cACa,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwB7D;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuBlD;;;;OAIG;cACa,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA6BzE;;OAEG;cACa,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;OAEG;cACa,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD;;OAEG;cACa,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IA6BzD;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IA4B9C;;OAEG;cACa,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKnE;;OAEG;cACa,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAKnE;;OAEG;cACa,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAK7D;;OAEG;cACa,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;OAEG;IACU,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;OAEG;IACU,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IASzD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;OAEG;IACU,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;IAaF;;;OAGG;cACa,kBAAkB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7E;;;OAGG;cACa,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAcpE"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* OPFS (Origin Private File System) Storage Adapter
|
|
3
3
|
* Provides persistent storage for the vector database using the Origin Private File System API
|
|
4
4
|
*/
|
|
5
|
-
import { GraphVerb, HNSWNoun } from '../../coreTypes.js';
|
|
5
|
+
import { GraphVerb, HNSWNoun, StatisticsData } from '../../coreTypes.js';
|
|
6
6
|
import { BaseStorage } from '../baseStorage.js';
|
|
7
7
|
import '../../types/fileSystemTypes.js';
|
|
8
8
|
type HNSWNode = HNSWNoun;
|
|
@@ -20,6 +20,7 @@ export declare class OPFSStorage extends BaseStorage {
|
|
|
20
20
|
private isAvailable;
|
|
21
21
|
private isPersistentRequested;
|
|
22
22
|
private isPersistentGranted;
|
|
23
|
+
private statistics;
|
|
23
24
|
constructor();
|
|
24
25
|
/**
|
|
25
26
|
* Initialize the storage adapter
|
|
@@ -110,5 +111,15 @@ export declare class OPFSStorage extends BaseStorage {
|
|
|
110
111
|
quota: number | null;
|
|
111
112
|
details?: Record<string, any>;
|
|
112
113
|
}>;
|
|
114
|
+
/**
|
|
115
|
+
* Save statistics data to storage
|
|
116
|
+
* @param statistics The statistics data to save
|
|
117
|
+
*/
|
|
118
|
+
protected saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Get statistics data from storage
|
|
121
|
+
* @returns Promise that resolves to the statistics data or null if not found
|
|
122
|
+
*/
|
|
123
|
+
protected getStatisticsData(): Promise<StatisticsData | null>;
|
|
113
124
|
}
|
|
114
125
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opfsStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/opfsStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"opfsStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/opfsStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Uses the AWS S3 client to interact with S3-compatible storage services
|
|
4
4
|
* including Amazon S3, Cloudflare R2, and Google Cloud Storage
|
|
5
5
|
*/
|
|
6
|
-
import { GraphVerb, HNSWNoun } from '../../coreTypes.js';
|
|
6
|
+
import { GraphVerb, HNSWNoun, StatisticsData } from '../../coreTypes.js';
|
|
7
7
|
import { BaseStorage } from '../baseStorage.js';
|
|
8
8
|
type HNSWNode = HNSWNoun;
|
|
9
9
|
type Edge = GraphVerb;
|
|
@@ -44,6 +44,7 @@ export declare class S3CompatibleStorage extends BaseStorage {
|
|
|
44
44
|
private verbPrefix;
|
|
45
45
|
private metadataPrefix;
|
|
46
46
|
private indexPrefix;
|
|
47
|
+
private statisticsCache;
|
|
47
48
|
/**
|
|
48
49
|
* Initialize the storage adapter
|
|
49
50
|
* @param options Configuration options for the S3-compatible storage
|
|
@@ -133,4 +134,14 @@ export declare class S3CompatibleStorage extends BaseStorage {
|
|
|
133
134
|
quota: number | null;
|
|
134
135
|
details?: Record<string, any>;
|
|
135
136
|
}>;
|
|
137
|
+
/**
|
|
138
|
+
* Save statistics data to storage
|
|
139
|
+
* @param statistics The statistics data to save
|
|
140
|
+
*/
|
|
141
|
+
protected saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
142
|
+
/**
|
|
143
|
+
* Get statistics data from storage
|
|
144
|
+
* @returns Promise that resolves to the statistics data or null if not found
|
|
145
|
+
*/
|
|
146
|
+
protected getStatisticsData(): Promise<StatisticsData | null>;
|
|
136
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3CompatibleStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/s3CompatibleStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"s3CompatibleStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/s3CompatibleStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
* Base Storage Adapter
|
|
3
3
|
* Provides common functionality for all storage adapters
|
|
4
4
|
*/
|
|
5
|
-
import { GraphVerb, HNSWNoun,
|
|
5
|
+
import { GraphVerb, HNSWNoun, StatisticsData } from '../coreTypes.js';
|
|
6
|
+
import { BaseStorageAdapter } from './adapters/baseStorageAdapter.js';
|
|
6
7
|
export declare const NOUNS_DIR = "nouns";
|
|
7
8
|
export declare const VERBS_DIR = "verbs";
|
|
8
9
|
export declare const METADATA_DIR = "metadata";
|
|
9
10
|
export declare const INDEX_DIR = "index";
|
|
11
|
+
export declare const STATISTICS_KEY = "statistics";
|
|
10
12
|
/**
|
|
11
13
|
* Base storage adapter that implements common functionality
|
|
12
14
|
* This is an abstract class that should be extended by specific storage adapters
|
|
13
15
|
*/
|
|
14
|
-
export declare abstract class BaseStorage
|
|
16
|
+
export declare abstract class BaseStorage extends BaseStorageAdapter {
|
|
15
17
|
protected isInitialized: boolean;
|
|
16
18
|
/**
|
|
17
19
|
* Initialize the storage adapter
|
|
@@ -161,4 +163,16 @@ export declare abstract class BaseStorage implements StorageAdapter {
|
|
|
161
163
|
* Helper method to convert a Map to a plain object for serialization
|
|
162
164
|
*/
|
|
163
165
|
protected mapToObject<K extends string | number, V>(map: Map<K, V>, valueTransformer?: (value: V) => any): Record<string, any>;
|
|
166
|
+
/**
|
|
167
|
+
* Save statistics data to storage
|
|
168
|
+
* This method should be implemented by each specific adapter
|
|
169
|
+
* @param statistics The statistics data to save
|
|
170
|
+
*/
|
|
171
|
+
protected abstract saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
172
|
+
/**
|
|
173
|
+
* Get statistics data from storage
|
|
174
|
+
* This method should be implemented by each specific adapter
|
|
175
|
+
* @returns Promise that resolves to the statistics data or null if not found
|
|
176
|
+
*/
|
|
177
|
+
protected abstract getStatisticsData(): Promise<StatisticsData | null>;
|
|
164
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseStorage.d.ts","sourceRoot":"","sources":["../../src/storage/baseStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGrE,eAAO,MAAM,SAAS,UAAU,CAAA;AAChC,eAAO,MAAM,SAAS,UAAU,CAAA;AAChC,eAAO,MAAM,YAAY,aAAa,CAAA;AACtC,eAAO,MAAM,SAAS,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"baseStorage.d.ts","sourceRoot":"","sources":["../../src/storage/baseStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { GraphVerb, HNSWNoun,
|
|
1
|
+
import { GraphVerb, HNSWNoun, StatisticsData } from '../coreTypes.js';
|
|
2
|
+
import { BaseStorageAdapter } from './adapters/baseStorageAdapter.js';
|
|
2
3
|
/**
|
|
3
4
|
* File system storage adapter for Node.js environments
|
|
4
5
|
*/
|
|
5
|
-
export declare class FileSystemStorage
|
|
6
|
+
export declare class FileSystemStorage extends BaseStorageAdapter {
|
|
6
7
|
private rootDir;
|
|
7
8
|
private nounsDir;
|
|
8
9
|
private verbsDir;
|
|
9
10
|
private metadataDir;
|
|
11
|
+
private indexDir;
|
|
10
12
|
private isInitialized;
|
|
13
|
+
private statistics;
|
|
11
14
|
constructor(rootDirectory?: string);
|
|
12
15
|
/**
|
|
13
16
|
* Initialize the storage adapter
|
|
@@ -70,4 +73,14 @@ export declare class FileSystemStorage implements StorageAdapter {
|
|
|
70
73
|
quota: number | null;
|
|
71
74
|
details?: Record<string, any>;
|
|
72
75
|
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Save statistics data to storage
|
|
78
|
+
* @param statistics The statistics data to save
|
|
79
|
+
*/
|
|
80
|
+
protected saveStatisticsData(statistics: StatisticsData): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Get statistics data from storage
|
|
83
|
+
* @returns Promise that resolves to the statistics data or null if not found
|
|
84
|
+
*/
|
|
85
|
+
protected getStatisticsData(): Promise<StatisticsData | null>;
|
|
73
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSystemStorage.d.ts","sourceRoot":"","sources":["../../src/storage/fileSystemStorage.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fileSystemStorage.d.ts","sourceRoot":"","sources":["../../src/storage/fileSystemStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAA;AAqDnE;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACrD,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,UAAU,CAA8B;gBAEpC,aAAa,CAAC,EAAE,MAAM;IAUlC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YA6CpB,qBAAqB;IAWnC,OAAO,CAAC,WAAW;IAKN,QAAQ,CACjB,IAAI,EAAE,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAClD,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;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;IA0CF;;;OAGG;cACa,kBAAkB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7E;;;OAGG;cACa,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CA8CtE"}
|