@soulcraft/brainy 0.28.0 → 0.29.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.
@@ -429,6 +429,28 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
429
429
  * @returns Array of vector documents
430
430
  */
431
431
  getAllNouns(): Promise<VectorDocument<T>[]>;
432
+ /**
433
+ * Get nouns with pagination and filtering
434
+ * @param options Pagination and filtering options
435
+ * @returns Paginated result of vector documents
436
+ */
437
+ getNouns(options?: {
438
+ pagination?: {
439
+ offset?: number;
440
+ limit?: number;
441
+ cursor?: string;
442
+ };
443
+ filter?: {
444
+ nounType?: string | string[];
445
+ service?: string | string[];
446
+ metadata?: Record<string, any>;
447
+ };
448
+ }): Promise<{
449
+ items: VectorDocument<T>[];
450
+ totalCount?: number;
451
+ hasMore: boolean;
452
+ nextCursor?: string;
453
+ }>;
432
454
  /**
433
455
  * Delete a vector by ID
434
456
  * @param id The ID of the vector to delete
@@ -494,18 +516,49 @@ export declare class BrainyData<T = any> implements BrainyDataInterface<T> {
494
516
  getVerb(id: string): Promise<GraphVerb | null>;
495
517
  /**
496
518
  * Get all verbs
519
+ * @returns Array of all verbs
497
520
  */
498
521
  getAllVerbs(): Promise<GraphVerb[]>;
522
+ /**
523
+ * Get verbs with pagination and filtering
524
+ * @param options Pagination and filtering options
525
+ * @returns Paginated result of verbs
526
+ */
527
+ getVerbs(options?: {
528
+ pagination?: {
529
+ offset?: number;
530
+ limit?: number;
531
+ cursor?: string;
532
+ };
533
+ filter?: {
534
+ verbType?: string | string[];
535
+ sourceId?: string | string[];
536
+ targetId?: string | string[];
537
+ service?: string | string[];
538
+ metadata?: Record<string, any>;
539
+ };
540
+ }): Promise<{
541
+ items: GraphVerb[];
542
+ totalCount?: number;
543
+ hasMore: boolean;
544
+ nextCursor?: string;
545
+ }>;
499
546
  /**
500
547
  * Get verbs by source noun ID
548
+ * @param sourceId The ID of the source noun
549
+ * @returns Array of verbs originating from the specified source
501
550
  */
502
551
  getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
503
552
  /**
504
553
  * Get verbs by target noun ID
554
+ * @param targetId The ID of the target noun
555
+ * @returns Array of verbs targeting the specified noun
505
556
  */
506
557
  getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
507
558
  /**
508
559
  * Get verbs by type
560
+ * @param type The type of verb to retrieve
561
+ * @returns Array of verbs of the specified type
509
562
  */
510
563
  getVerbsByType(type: string): Promise<GraphVerb[]>;
511
564
  /**
@@ -148,19 +148,94 @@ export interface StorageAdapter {
148
148
  init(): Promise<void>;
149
149
  saveNoun(noun: HNSWNoun): Promise<void>;
150
150
  getNoun(id: string): Promise<HNSWNoun | null>;
151
+ /**
152
+ * Get all nouns from storage
153
+ * @deprecated Use getNouns() with pagination instead for better scalability
154
+ * @returns Promise that resolves to an array of all nouns
155
+ */
151
156
  getAllNouns(): Promise<HNSWNoun[]>;
157
+ /**
158
+ * Get nouns with pagination and filtering
159
+ * @param options Pagination and filtering options
160
+ * @returns Promise that resolves to a paginated result of nouns
161
+ */
162
+ getNouns(options?: {
163
+ pagination?: {
164
+ offset?: number;
165
+ limit?: number;
166
+ cursor?: string;
167
+ };
168
+ filter?: {
169
+ nounType?: string | string[];
170
+ service?: string | string[];
171
+ metadata?: Record<string, any>;
172
+ };
173
+ }): Promise<{
174
+ items: HNSWNoun[];
175
+ totalCount?: number;
176
+ hasMore: boolean;
177
+ nextCursor?: string;
178
+ }>;
152
179
  /**
153
180
  * Get nouns by noun type
154
181
  * @param nounType The noun type to filter by
155
182
  * @returns Promise that resolves to an array of nouns of the specified noun type
183
+ * @deprecated Use getNouns() with filter.nounType instead
156
184
  */
157
185
  getNounsByNounType(nounType: string): Promise<HNSWNoun[]>;
158
186
  deleteNoun(id: string): Promise<void>;
159
187
  saveVerb(verb: GraphVerb): Promise<void>;
160
188
  getVerb(id: string): Promise<GraphVerb | null>;
189
+ /**
190
+ * Get all verbs from storage
191
+ * @deprecated Use getVerbs() with pagination instead for better scalability
192
+ * @returns Promise that resolves to an array of all verbs
193
+ */
161
194
  getAllVerbs(): Promise<GraphVerb[]>;
195
+ /**
196
+ * Get verbs with pagination and filtering
197
+ * @param options Pagination and filtering options
198
+ * @returns Promise that resolves to a paginated result of verbs
199
+ */
200
+ getVerbs(options?: {
201
+ pagination?: {
202
+ offset?: number;
203
+ limit?: number;
204
+ cursor?: string;
205
+ };
206
+ filter?: {
207
+ verbType?: string | string[];
208
+ sourceId?: string | string[];
209
+ targetId?: string | string[];
210
+ service?: string | string[];
211
+ metadata?: Record<string, any>;
212
+ };
213
+ }): Promise<{
214
+ items: GraphVerb[];
215
+ totalCount?: number;
216
+ hasMore: boolean;
217
+ nextCursor?: string;
218
+ }>;
219
+ /**
220
+ * Get verbs by source
221
+ * @param sourceId The source ID to filter by
222
+ * @returns Promise that resolves to an array of verbs with the specified source ID
223
+ * @deprecated Use getVerbs() with filter.sourceId instead
224
+ */
162
225
  getVerbsBySource(sourceId: string): Promise<GraphVerb[]>;
226
+ /**
227
+ * Get verbs by target
228
+ * @param targetId The target ID to filter by
229
+ * @returns Promise that resolves to an array of verbs with the specified target ID
230
+ * @deprecated Use getVerbs() with filter.targetId instead
231
+ */
163
232
  getVerbsByTarget(targetId: string): Promise<GraphVerb[]>;
233
+ /**
234
+ * Get verbs by type
235
+ * @param type The verb type to filter by
236
+ * @returns Promise that resolves to an array of verbs with the specified type
237
+ * @deprecated Use getVerbs() with filter.verbType instead
238
+ */
164
239
  getVerbsByType(type: string): Promise<GraphVerb[]>;
165
240
  deleteVerb(id: string): Promise<void>;
166
241
  saveMetadata(id: string, metadata: any): Promise<void>;
@@ -46,8 +46,23 @@ export declare class HNSWIndex {
46
46
  removeItem(id: string): boolean;
47
47
  /**
48
48
  * Get all nouns in the index
49
+ * @deprecated Use getNounsPaginated() instead for better scalability
49
50
  */
50
51
  getNouns(): Map<string, HNSWNoun>;
52
+ /**
53
+ * Get nouns with pagination
54
+ * @param options Pagination options
55
+ * @returns Object containing paginated nouns and pagination info
56
+ */
57
+ getNounsPaginated(options?: {
58
+ offset?: number;
59
+ limit?: number;
60
+ filter?: (noun: HNSWNoun) => boolean;
61
+ }): {
62
+ items: Map<string, HNSWNoun>;
63
+ totalCount: number;
64
+ hasMore: boolean;
65
+ };
51
66
  /**
52
67
  * Clear the index
53
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hnswIndex.d.ts","sourceRoot":"","sources":["../../src/hnsw/hnswIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACf,MAAM,iBAAiB,CAAA;AAYxB,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,kBAAkB,CAAgB;gBAGxC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,EAChC,gBAAgB,GAAE,gBAAoC,EACtD,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAO;IAUhD;;OAEG;IACI,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,GAAG,IAAI;IAI/D;;OAEG;IACI,qBAAqB,IAAI,OAAO;IAIvC;;;;;;;;OAQG;YACW,4BAA4B;IA0C1C;;OAEG;IACU,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAmK3D;;OAEG;IACU,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,CAAC,GAAE,MAAW,GACb,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAsGnC;;OAEG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAqEtC;;OAEG;IACI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIxC;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,mBAAmB,IAAI,gBAAgB;IAI9C;;OAEG;IACI,eAAe,IAAI,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACI,WAAW,IAAI,MAAM;IAI5B;;OAEG;IACI,YAAY,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACI,SAAS,IAAI,UAAU;IAI9B;;;OAGG;YACW,WAAW;IAwHzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"hnswIndex.d.ts","sourceRoot":"","sources":["../../src/hnsw/hnswIndex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACf,MAAM,iBAAiB,CAAA;AAYxB,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAI;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,kBAAkB,CAAgB;gBAGxC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,EAChC,gBAAgB,GAAE,gBAAoC,EACtD,OAAO,GAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAO;IAUhD;;OAEG;IACI,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,GAAG,IAAI;IAI/D;;OAEG;IACI,qBAAqB,IAAI,OAAO;IAIvC;;;;;;;;OAQG;YACW,4BAA4B;IA0C1C;;OAEG;IACU,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAmK3D;;OAEG;IACU,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,CAAC,GAAE,MAAW,GACb,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAsGnC;;OAEG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAqEtC;;;OAGG;IACI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIxC;;;;OAIG;IACI,iBAAiB,CACtB,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAA;KAChC,GACL;QACD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;KACjB;IA8BD;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,mBAAmB,IAAI,gBAAgB;IAI9C;;OAEG;IACI,eAAe,IAAI,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACI,WAAW,IAAI,MAAM;IAI5B;;OAEG;IACI,YAAY,IAAI,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACI,SAAS,IAAI,UAAU;IAI9B;;;OAGG;YACW,WAAW;IAwHzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;;OAGG;IACH,OAAO,CAAC,cAAc;CAIvB"}
@@ -0,0 +1,121 @@
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
+ }
@@ -29,6 +29,52 @@ export declare abstract class BaseStorageAdapter implements StorageAdapter {
29
29
  quota: number | null;
30
30
  details?: Record<string, any>;
31
31
  }>;
32
+ /**
33
+ * Get nouns with pagination and filtering
34
+ * @param options Pagination and filtering options
35
+ * @returns Promise that resolves to a paginated result of nouns
36
+ */
37
+ abstract getNouns(options?: {
38
+ pagination?: {
39
+ offset?: number;
40
+ limit?: number;
41
+ cursor?: string;
42
+ };
43
+ filter?: {
44
+ nounType?: string | string[];
45
+ service?: string | string[];
46
+ metadata?: Record<string, any>;
47
+ };
48
+ }): Promise<{
49
+ items: any[];
50
+ totalCount?: number;
51
+ hasMore: boolean;
52
+ nextCursor?: string;
53
+ }>;
54
+ /**
55
+ * Get verbs with pagination and filtering
56
+ * @param options Pagination and filtering options
57
+ * @returns Promise that resolves to a paginated result of verbs
58
+ */
59
+ abstract getVerbs(options?: {
60
+ pagination?: {
61
+ offset?: number;
62
+ limit?: number;
63
+ cursor?: string;
64
+ };
65
+ filter?: {
66
+ verbType?: string | string[];
67
+ sourceId?: string | string[];
68
+ targetId?: string | string[];
69
+ service?: string | string[];
70
+ metadata?: Record<string, any>;
71
+ };
72
+ }): Promise<{
73
+ items: any[];
74
+ totalCount?: number;
75
+ hasMore: boolean;
76
+ nextCursor?: string;
77
+ }>;
32
78
  protected statisticsCache: StatisticsData | null;
33
79
  protected statisticsBatchUpdateTimerId: NodeJS.Timeout | null;
34
80
  protected statisticsModified: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"baseStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/baseStorageAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/baseStorageAdapter.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { GraphVerb, HNSWNoun, StatisticsData } from '../../coreTypes.js';
6
6
  import { BaseStorage } from '../baseStorage.js';
7
+ import { PaginatedResult } from '../../types/paginationTypes.js';
7
8
  /**
8
9
  * In-memory storage adapter
9
10
  * Uses Maps to store data in memory
@@ -31,10 +32,28 @@ export declare class MemoryStorage extends BaseStorage {
31
32
  * Get all nouns from storage
32
33
  */
33
34
  protected getAllNouns_internal(): Promise<HNSWNoun[]>;
35
+ /**
36
+ * Get nouns with pagination and filtering
37
+ * @param options Pagination and filtering options
38
+ * @returns Promise that resolves to a paginated result of nouns
39
+ */
40
+ getNouns(options?: {
41
+ pagination?: {
42
+ offset?: number;
43
+ limit?: number;
44
+ cursor?: string;
45
+ };
46
+ filter?: {
47
+ nounType?: string | string[];
48
+ service?: string | string[];
49
+ metadata?: Record<string, any>;
50
+ };
51
+ }): Promise<PaginatedResult<HNSWNoun>>;
34
52
  /**
35
53
  * Get nouns by noun type
36
54
  * @param nounType The noun type to filter by
37
55
  * @returns Promise that resolves to an array of nouns of the specified noun type
56
+ * @deprecated Use getNouns() with filter.nounType instead
38
57
  */
39
58
  protected getNounsByNounType_internal(nounType: string): Promise<HNSWNoun[]>;
40
59
  /**
@@ -53,16 +72,38 @@ export declare class MemoryStorage extends BaseStorage {
53
72
  * Get all verbs from storage
54
73
  */
55
74
  protected getAllVerbs_internal(): Promise<GraphVerb[]>;
75
+ /**
76
+ * Get verbs with pagination and filtering
77
+ * @param options Pagination and filtering options
78
+ * @returns Promise that resolves to a paginated result of verbs
79
+ */
80
+ getVerbs(options?: {
81
+ pagination?: {
82
+ offset?: number;
83
+ limit?: number;
84
+ cursor?: string;
85
+ };
86
+ filter?: {
87
+ verbType?: string | string[];
88
+ sourceId?: string | string[];
89
+ targetId?: string | string[];
90
+ service?: string | string[];
91
+ metadata?: Record<string, any>;
92
+ };
93
+ }): Promise<PaginatedResult<GraphVerb>>;
56
94
  /**
57
95
  * Get verbs by source
96
+ * @deprecated Use getVerbs() with filter.sourceId instead
58
97
  */
59
98
  protected getVerbsBySource_internal(sourceId: string): Promise<GraphVerb[]>;
60
99
  /**
61
100
  * Get verbs by target
101
+ * @deprecated Use getVerbs() with filter.targetId instead
62
102
  */
63
103
  protected getVerbsByTarget_internal(targetId: string): Promise<GraphVerb[]>;
64
104
  /**
65
105
  * Get verbs by type
106
+ * @deprecated Use getVerbs() with filter.verbType instead
66
107
  */
67
108
  protected getVerbsByType_internal(type: string): Promise<GraphVerb[]>;
68
109
  /**
@@ -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,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAA;AAI/D;;;GAGG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,UAAU,CAA8B;;IAMhD;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;OAEG;cACa,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhE;;OAEG;cACa,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwBtE;;OAEG;cACa,oBAAoB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAuB3D;;;;OAIG;cACa,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA6BlF;;OAEG;cACa,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D;;OAEG;cACa,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBjE;;OAEG;cACa,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA+CvE;;OAEG;cACa,oBAAoB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA6C5D;;OAEG;cACa,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKjF;;OAEG;cACa,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKjF;;OAEG;cACa,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK3E;;OAEG;cACa,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;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;IAOnC;;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;IAe7E;;;OAGG;cACa,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CAiBpE"}
1
+ {"version":3,"file":"memoryStorage.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/memoryStorage.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,52 @@ export declare abstract class BaseStorage extends BaseStorageAdapter {
70
70
  * Get verbs by type
71
71
  */
72
72
  getVerbsByType(type: string): Promise<GraphVerb[]>;
73
+ /**
74
+ * Get nouns with pagination and filtering
75
+ * @param options Pagination and filtering options
76
+ * @returns Promise that resolves to a paginated result of nouns
77
+ */
78
+ getNouns(options?: {
79
+ pagination?: {
80
+ offset?: number;
81
+ limit?: number;
82
+ cursor?: string;
83
+ };
84
+ filter?: {
85
+ nounType?: string | string[];
86
+ service?: string | string[];
87
+ metadata?: Record<string, any>;
88
+ };
89
+ }): Promise<{
90
+ items: HNSWNoun[];
91
+ totalCount?: number;
92
+ hasMore: boolean;
93
+ nextCursor?: string;
94
+ }>;
95
+ /**
96
+ * Get verbs with pagination and filtering
97
+ * @param options Pagination and filtering options
98
+ * @returns Promise that resolves to a paginated result of verbs
99
+ */
100
+ getVerbs(options?: {
101
+ pagination?: {
102
+ offset?: number;
103
+ limit?: number;
104
+ cursor?: string;
105
+ };
106
+ filter?: {
107
+ verbType?: string | string[];
108
+ sourceId?: string | string[];
109
+ targetId?: string | string[];
110
+ service?: string | string[];
111
+ metadata?: Record<string, any>;
112
+ };
113
+ }): Promise<{
114
+ items: GraphVerb[];
115
+ totalCount?: number;
116
+ hasMore: boolean;
117
+ nextCursor?: string;
118
+ }>;
73
119
  /**
74
120
  * Delete a verb from storage
75
121
  */
@@ -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;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,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;AAChC,eAAO,MAAM,cAAc,eAAe,CAAA;AAE1C;;;GAGG;AACH,8BAAsB,WAAY,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,aAAa,UAAQ;IAE/B;;;OAGG;aACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAErC;;OAEG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD;;OAEG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAK1D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAK/C;;;;OAIG;IACU,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKtE;;OAEG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD;;OAEG;IACU,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;OAEG;IACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAK3D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAKhD;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKrE;;OAEG;IACU,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKrE;;OAEG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK/D;;OAEG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD;;;OAGG;aACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC;;;OAGG;aACa,gBAAgB,IAAI,OAAO,CAAC;QAC1C,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;IAEF;;;OAGG;aACa,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtE;;;OAGG;aACa,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAE5D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEzE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE9D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAErF;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAEpE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAE1E;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,oBAAoB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAE/D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAEpF;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAEpF;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAE9E;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,EAChD,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,gBAAgB,GAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAc,GAC7C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQtB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhF;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;CACvE"}
1
+ {"version":3,"file":"baseStorage.d.ts","sourceRoot":"","sources":["../../src/storage/baseStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
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
+ }
@@ -0,0 +1 @@
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"}