@nahisaho/yata-scale 1.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +66 -0
  2. package/dist/CacheManager.d.ts +107 -0
  3. package/dist/CacheManager.d.ts.map +1 -0
  4. package/dist/CacheManager.js +343 -0
  5. package/dist/CacheManager.js.map +1 -0
  6. package/dist/IndexManager.d.ts +103 -0
  7. package/dist/IndexManager.d.ts.map +1 -0
  8. package/dist/IndexManager.js +385 -0
  9. package/dist/IndexManager.js.map +1 -0
  10. package/dist/MigrationHelper.d.ts +91 -0
  11. package/dist/MigrationHelper.d.ts.map +1 -0
  12. package/dist/MigrationHelper.js +220 -0
  13. package/dist/MigrationHelper.js.map +1 -0
  14. package/dist/QueryCoordinator.d.ts +76 -0
  15. package/dist/QueryCoordinator.d.ts.map +1 -0
  16. package/dist/QueryCoordinator.js +298 -0
  17. package/dist/QueryCoordinator.js.map +1 -0
  18. package/dist/ShardManager.d.ts +48 -0
  19. package/dist/ShardManager.d.ts.map +1 -0
  20. package/dist/ShardManager.js +193 -0
  21. package/dist/ShardManager.js.map +1 -0
  22. package/dist/SyncController.d.ts +102 -0
  23. package/dist/SyncController.d.ts.map +1 -0
  24. package/dist/SyncController.js +286 -0
  25. package/dist/SyncController.js.map +1 -0
  26. package/dist/YataScaleManager.d.ts +75 -0
  27. package/dist/YataScaleManager.d.ts.map +1 -0
  28. package/dist/YataScaleManager.js +265 -0
  29. package/dist/YataScaleManager.js.map +1 -0
  30. package/dist/cache/CacheManager.d.ts +116 -0
  31. package/dist/cache/CacheManager.d.ts.map +1 -0
  32. package/dist/cache/CacheManager.js +286 -0
  33. package/dist/cache/CacheManager.js.map +1 -0
  34. package/dist/cache/InvalidationManager.d.ts +91 -0
  35. package/dist/cache/InvalidationManager.d.ts.map +1 -0
  36. package/dist/cache/InvalidationManager.js +155 -0
  37. package/dist/cache/InvalidationManager.js.map +1 -0
  38. package/dist/cache/L1Cache.d.ts +97 -0
  39. package/dist/cache/L1Cache.d.ts.map +1 -0
  40. package/dist/cache/L1Cache.js +225 -0
  41. package/dist/cache/L1Cache.js.map +1 -0
  42. package/dist/cache/L2Cache.d.ts +93 -0
  43. package/dist/cache/L2Cache.d.ts.map +1 -0
  44. package/dist/cache/L2Cache.js +248 -0
  45. package/dist/cache/L2Cache.js.map +1 -0
  46. package/dist/cache/L3Cache.d.ts +101 -0
  47. package/dist/cache/L3Cache.d.ts.map +1 -0
  48. package/dist/cache/L3Cache.js +229 -0
  49. package/dist/cache/L3Cache.js.map +1 -0
  50. package/dist/cache/index.d.ts +12 -0
  51. package/dist/cache/index.d.ts.map +1 -0
  52. package/dist/cache/index.js +11 -0
  53. package/dist/cache/index.js.map +1 -0
  54. package/dist/errors.d.ts +255 -0
  55. package/dist/errors.d.ts.map +1 -0
  56. package/dist/errors.js +515 -0
  57. package/dist/errors.js.map +1 -0
  58. package/dist/index/BPlusTreeIndex.d.ts +101 -0
  59. package/dist/index/BPlusTreeIndex.d.ts.map +1 -0
  60. package/dist/index/BPlusTreeIndex.js +310 -0
  61. package/dist/index/BPlusTreeIndex.js.map +1 -0
  62. package/dist/index/BloomFilter.d.ts +85 -0
  63. package/dist/index/BloomFilter.d.ts.map +1 -0
  64. package/dist/index/BloomFilter.js +215 -0
  65. package/dist/index/BloomFilter.js.map +1 -0
  66. package/dist/index/FullTextIndex.d.ts +87 -0
  67. package/dist/index/FullTextIndex.d.ts.map +1 -0
  68. package/dist/index/FullTextIndex.js +213 -0
  69. package/dist/index/FullTextIndex.js.map +1 -0
  70. package/dist/index/GraphIndex.d.ts +116 -0
  71. package/dist/index/GraphIndex.d.ts.map +1 -0
  72. package/dist/index/GraphIndex.js +308 -0
  73. package/dist/index/GraphIndex.js.map +1 -0
  74. package/dist/index/IndexManager.d.ts +105 -0
  75. package/dist/index/IndexManager.d.ts.map +1 -0
  76. package/dist/index/IndexManager.js +287 -0
  77. package/dist/index/IndexManager.js.map +1 -0
  78. package/dist/index/index.d.ts +12 -0
  79. package/dist/index/index.d.ts.map +1 -0
  80. package/dist/index/index.js +11 -0
  81. package/dist/index/index.js.map +1 -0
  82. package/dist/index.d.ts +12 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +12 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/query/DistributedExecutor.d.ts +78 -0
  87. package/dist/query/DistributedExecutor.d.ts.map +1 -0
  88. package/dist/query/DistributedExecutor.js +232 -0
  89. package/dist/query/DistributedExecutor.js.map +1 -0
  90. package/dist/query/QueryCoordinator.d.ts +98 -0
  91. package/dist/query/QueryCoordinator.d.ts.map +1 -0
  92. package/dist/query/QueryCoordinator.js +246 -0
  93. package/dist/query/QueryCoordinator.js.map +1 -0
  94. package/dist/query/QueryPlanner.d.ts +88 -0
  95. package/dist/query/QueryPlanner.d.ts.map +1 -0
  96. package/dist/query/QueryPlanner.js +235 -0
  97. package/dist/query/QueryPlanner.js.map +1 -0
  98. package/dist/query/WorkerPool.d.ts +108 -0
  99. package/dist/query/WorkerPool.d.ts.map +1 -0
  100. package/dist/query/WorkerPool.js +195 -0
  101. package/dist/query/WorkerPool.js.map +1 -0
  102. package/dist/query/index.d.ts +11 -0
  103. package/dist/query/index.d.ts.map +1 -0
  104. package/dist/query/index.js +10 -0
  105. package/dist/query/index.js.map +1 -0
  106. package/dist/shard/GraphPartitionStrategy.d.ts +65 -0
  107. package/dist/shard/GraphPartitionStrategy.d.ts.map +1 -0
  108. package/dist/shard/GraphPartitionStrategy.js +208 -0
  109. package/dist/shard/GraphPartitionStrategy.js.map +1 -0
  110. package/dist/shard/HashPartitionStrategy.d.ts +56 -0
  111. package/dist/shard/HashPartitionStrategy.d.ts.map +1 -0
  112. package/dist/shard/HashPartitionStrategy.js +169 -0
  113. package/dist/shard/HashPartitionStrategy.js.map +1 -0
  114. package/dist/shard/RangePartitionStrategy.d.ts +63 -0
  115. package/dist/shard/RangePartitionStrategy.d.ts.map +1 -0
  116. package/dist/shard/RangePartitionStrategy.js +157 -0
  117. package/dist/shard/RangePartitionStrategy.js.map +1 -0
  118. package/dist/shard/Rebalancer.d.ts +70 -0
  119. package/dist/shard/Rebalancer.d.ts.map +1 -0
  120. package/dist/shard/Rebalancer.js +184 -0
  121. package/dist/shard/Rebalancer.js.map +1 -0
  122. package/dist/shard/ShardManager.d.ts +123 -0
  123. package/dist/shard/ShardManager.d.ts.map +1 -0
  124. package/dist/shard/ShardManager.js +353 -0
  125. package/dist/shard/ShardManager.js.map +1 -0
  126. package/dist/shard/ShardRouter.d.ts +102 -0
  127. package/dist/shard/ShardRouter.d.ts.map +1 -0
  128. package/dist/shard/ShardRouter.js +181 -0
  129. package/dist/shard/ShardRouter.js.map +1 -0
  130. package/dist/shard/index.d.ts +13 -0
  131. package/dist/shard/index.d.ts.map +1 -0
  132. package/dist/shard/index.js +12 -0
  133. package/dist/shard/index.js.map +1 -0
  134. package/dist/sync/ConflictResolver.d.ts +71 -0
  135. package/dist/sync/ConflictResolver.d.ts.map +1 -0
  136. package/dist/sync/ConflictResolver.js +214 -0
  137. package/dist/sync/ConflictResolver.js.map +1 -0
  138. package/dist/sync/SyncController.d.ts +150 -0
  139. package/dist/sync/SyncController.d.ts.map +1 -0
  140. package/dist/sync/SyncController.js +304 -0
  141. package/dist/sync/SyncController.js.map +1 -0
  142. package/dist/sync/VectorClock.d.ts +102 -0
  143. package/dist/sync/VectorClock.d.ts.map +1 -0
  144. package/dist/sync/VectorClock.js +189 -0
  145. package/dist/sync/VectorClock.js.map +1 -0
  146. package/dist/sync/WALManager.d.ts +120 -0
  147. package/dist/sync/WALManager.d.ts.map +1 -0
  148. package/dist/sync/WALManager.js +240 -0
  149. package/dist/sync/WALManager.js.map +1 -0
  150. package/dist/sync/index.d.ts +11 -0
  151. package/dist/sync/index.d.ts.map +1 -0
  152. package/dist/sync/index.js +10 -0
  153. package/dist/sync/index.js.map +1 -0
  154. package/dist/types.d.ts +323 -0
  155. package/dist/types.d.ts.map +1 -0
  156. package/dist/types.js +7 -0
  157. package/dist/types.js.map +1 -0
  158. package/package.json +86 -0
@@ -0,0 +1,229 @@
1
+ /**
2
+ * @nahisaho/yata-scale - L3 Cache (Cold)
3
+ *
4
+ * Disk-based cache for cold data using LMDB
5
+ */
6
+ /**
7
+ * L3 Cache - Cold tier, disk-based
8
+ * Note: This is a simplified in-memory simulation.
9
+ * In production, would use LMDB or similar.
10
+ */
11
+ export class L3Cache {
12
+ entities = new Map();
13
+ relationships = new Map();
14
+ maxEntries;
15
+ hits = 0;
16
+ misses = 0;
17
+ evictions = 0;
18
+ constructor(maxEntries = 1000000) {
19
+ this.maxEntries = maxEntries;
20
+ }
21
+ /**
22
+ * Get entity from cache
23
+ */
24
+ async getEntity(id) {
25
+ const entry = this.entities.get(id);
26
+ if (entry) {
27
+ this.hits++;
28
+ entry.accessCount++;
29
+ entry.lastAccess = Date.now();
30
+ return JSON.parse(entry.data);
31
+ }
32
+ this.misses++;
33
+ return undefined;
34
+ }
35
+ /**
36
+ * Set entity in cache
37
+ */
38
+ async setEntity(entity) {
39
+ // Evict if at capacity
40
+ if (this.entities.size >= this.maxEntries && !this.entities.has(entity.id)) {
41
+ this.evictOldestEntity();
42
+ }
43
+ this.entities.set(entity.id, {
44
+ data: JSON.stringify(entity),
45
+ accessCount: 1,
46
+ lastAccess: Date.now(),
47
+ });
48
+ }
49
+ /**
50
+ * Delete entity from cache
51
+ */
52
+ async deleteEntity(id) {
53
+ return this.entities.delete(id);
54
+ }
55
+ /**
56
+ * Get relationship from cache
57
+ */
58
+ async getRelationship(id) {
59
+ const entry = this.relationships.get(id);
60
+ if (entry) {
61
+ this.hits++;
62
+ entry.accessCount++;
63
+ entry.lastAccess = Date.now();
64
+ return JSON.parse(entry.data);
65
+ }
66
+ this.misses++;
67
+ return undefined;
68
+ }
69
+ /**
70
+ * Set relationship in cache
71
+ */
72
+ async setRelationship(relationship) {
73
+ if (this.relationships.size >= this.maxEntries &&
74
+ !this.relationships.has(relationship.id)) {
75
+ this.evictOldestRelationship();
76
+ }
77
+ this.relationships.set(relationship.id, {
78
+ data: JSON.stringify(relationship),
79
+ accessCount: 1,
80
+ lastAccess: Date.now(),
81
+ });
82
+ }
83
+ /**
84
+ * Delete relationship from cache
85
+ */
86
+ async deleteRelationship(id) {
87
+ return this.relationships.delete(id);
88
+ }
89
+ /**
90
+ * Batch get entities
91
+ */
92
+ async getEntities(ids) {
93
+ const result = new Map();
94
+ for (const id of ids) {
95
+ const entity = await this.getEntity(id);
96
+ if (entity) {
97
+ result.set(id, entity);
98
+ }
99
+ }
100
+ return result;
101
+ }
102
+ /**
103
+ * Batch set entities
104
+ */
105
+ async setEntities(entities) {
106
+ for (const entity of entities) {
107
+ await this.setEntity(entity);
108
+ }
109
+ }
110
+ /**
111
+ * Evict oldest entity
112
+ */
113
+ evictOldestEntity() {
114
+ let oldestKey = null;
115
+ let oldestTime = Infinity;
116
+ for (const [key, entry] of this.entities) {
117
+ if (entry.lastAccess < oldestTime) {
118
+ oldestTime = entry.lastAccess;
119
+ oldestKey = key;
120
+ }
121
+ }
122
+ if (oldestKey) {
123
+ this.entities.delete(oldestKey);
124
+ this.evictions++;
125
+ }
126
+ }
127
+ /**
128
+ * Evict oldest relationship
129
+ */
130
+ evictOldestRelationship() {
131
+ let oldestKey = null;
132
+ let oldestTime = Infinity;
133
+ for (const [key, entry] of this.relationships) {
134
+ if (entry.lastAccess < oldestTime) {
135
+ oldestTime = entry.lastAccess;
136
+ oldestKey = key;
137
+ }
138
+ }
139
+ if (oldestKey) {
140
+ this.relationships.delete(oldestKey);
141
+ this.evictions++;
142
+ }
143
+ }
144
+ /**
145
+ * Promote entity to L2 (returns it for L2 to cache)
146
+ */
147
+ async promoteEntity(id) {
148
+ const entity = await this.getEntity(id);
149
+ if (entity) {
150
+ await this.deleteEntity(id);
151
+ }
152
+ return entity;
153
+ }
154
+ /**
155
+ * Demote entity from L2 (accepts and caches it)
156
+ */
157
+ async demoteEntity(entity) {
158
+ await this.setEntity(entity);
159
+ }
160
+ /**
161
+ * Clear all caches
162
+ */
163
+ async clear() {
164
+ this.entities.clear();
165
+ this.relationships.clear();
166
+ this.hits = 0;
167
+ this.misses = 0;
168
+ this.evictions = 0;
169
+ }
170
+ /**
171
+ * Sync to disk (no-op in this simulation)
172
+ */
173
+ async sync() {
174
+ // In production with LMDB, this would sync to disk
175
+ }
176
+ /**
177
+ * Close the cache
178
+ */
179
+ async close() {
180
+ await this.sync();
181
+ }
182
+ /**
183
+ * Get cache statistics
184
+ */
185
+ getStats() {
186
+ const total = this.hits + this.misses;
187
+ return {
188
+ tier: 'L3',
189
+ hitCount: this.hits,
190
+ missCount: this.misses,
191
+ hitRate: total > 0 ? this.hits / total : 0,
192
+ entryCount: this.entities.size + this.relationships.size,
193
+ sizeBytes: this.estimateSize(),
194
+ evictionCount: this.evictions,
195
+ };
196
+ }
197
+ /**
198
+ * Estimate size in bytes
199
+ */
200
+ estimateSize() {
201
+ let size = 0;
202
+ for (const entry of this.entities.values()) {
203
+ size += entry.data.length * 2;
204
+ }
205
+ for (const entry of this.relationships.values()) {
206
+ size += entry.data.length * 2;
207
+ }
208
+ return size;
209
+ }
210
+ /**
211
+ * Get entity count
212
+ */
213
+ get entityCount() {
214
+ return this.entities.size;
215
+ }
216
+ /**
217
+ * Get relationship count
218
+ */
219
+ get relationshipCount() {
220
+ return this.relationships.size;
221
+ }
222
+ /**
223
+ * Get total entry count
224
+ */
225
+ get size() {
226
+ return this.entities.size + this.relationships.size;
227
+ }
228
+ }
229
+ //# sourceMappingURL=L3Cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"L3Cache.js","sourceRoot":"","sources":["../../src/cache/L3Cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @nahisaho/yata-scale - Cache Module
3
+ *
4
+ * Exports for caching functionality
5
+ */
6
+ export { CacheManager } from './CacheManager.js';
7
+ export { L1Cache } from './L1Cache.js';
8
+ export { L2Cache } from './L2Cache.js';
9
+ export { L3Cache } from './L3Cache.js';
10
+ export { InvalidationManager } from './InvalidationManager.js';
11
+ export type { CacheConfig, CacheStats, CacheTier, CachePolicy, } from '../types.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,YAAY,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @nahisaho/yata-scale - Cache Module
3
+ *
4
+ * Exports for caching functionality
5
+ */
6
+ export { CacheManager } from './CacheManager.js';
7
+ export { L1Cache } from './L1Cache.js';
8
+ export { L2Cache } from './L2Cache.js';
9
+ export { L3Cache } from './L3Cache.js';
10
+ export { InvalidationManager } from './InvalidationManager.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,255 @@
1
+ /**
2
+ * @nahisaho/yata-scale - Error Classes
3
+ *
4
+ * Hierarchical error types for yata-scale operations
5
+ */
6
+ /**
7
+ * Base error class for all yata-scale errors
8
+ */
9
+ export declare class YataScaleError extends Error {
10
+ readonly code: string;
11
+ readonly cause?: Error | undefined;
12
+ readonly timestamp: Date;
13
+ constructor(message: string, code: string, cause?: Error | undefined);
14
+ toJSON(): Record<string, unknown>;
15
+ }
16
+ /**
17
+ * Shard-related error
18
+ */
19
+ export declare class ShardError extends YataScaleError {
20
+ readonly shardId: string;
21
+ constructor(message: string, shardId: string, cause?: Error);
22
+ toJSON(): Record<string, unknown>;
23
+ }
24
+ /**
25
+ * Shard not found error
26
+ */
27
+ export declare class ShardNotFoundError extends ShardError {
28
+ constructor(shardId: string);
29
+ }
30
+ /**
31
+ * Shard unavailable error
32
+ */
33
+ export declare class ShardUnavailableError extends ShardError {
34
+ constructor(shardId: string, cause?: Error);
35
+ }
36
+ /**
37
+ * Shard capacity exceeded error
38
+ */
39
+ export declare class ShardCapacityExceededError extends ShardError {
40
+ readonly currentSize: number;
41
+ readonly maxCapacity: number;
42
+ constructor(shardId: string, currentSize: number, maxCapacity: number);
43
+ toJSON(): Record<string, unknown>;
44
+ }
45
+ /**
46
+ * Rebalance error
47
+ */
48
+ export declare class RebalanceError extends YataScaleError {
49
+ readonly jobId: string;
50
+ constructor(message: string, jobId: string, cause?: Error);
51
+ toJSON(): Record<string, unknown>;
52
+ }
53
+ /**
54
+ * Index-related error
55
+ */
56
+ export declare class IndexError extends YataScaleError {
57
+ readonly indexName: string;
58
+ constructor(message: string, indexName: string, cause?: Error);
59
+ toJSON(): Record<string, unknown>;
60
+ }
61
+ /**
62
+ * Index not found error
63
+ */
64
+ export declare class IndexNotFoundError extends IndexError {
65
+ constructor(indexName: string);
66
+ }
67
+ /**
68
+ * Index corrupted error
69
+ */
70
+ export declare class IndexCorruptedError extends IndexError {
71
+ constructor(indexName: string, details?: string);
72
+ }
73
+ /**
74
+ * Duplicate key error
75
+ */
76
+ export declare class DuplicateKeyError extends IndexError {
77
+ readonly key: string;
78
+ constructor(indexName: string, key: string);
79
+ toJSON(): Record<string, unknown>;
80
+ }
81
+ /**
82
+ * Cache-related error
83
+ */
84
+ export declare class CacheError extends YataScaleError {
85
+ constructor(message: string, cause?: Error);
86
+ }
87
+ /**
88
+ * Cache miss error (when strict mode requires hit)
89
+ */
90
+ export declare class CacheMissError extends CacheError {
91
+ readonly key: string;
92
+ constructor(key: string);
93
+ toJSON(): Record<string, unknown>;
94
+ }
95
+ /**
96
+ * Cache full error
97
+ */
98
+ export declare class CacheFullError extends CacheError {
99
+ readonly tier: string;
100
+ readonly currentSize: number;
101
+ readonly maxSize: number;
102
+ constructor(tier: string, currentSize: number, maxSize: number);
103
+ toJSON(): Record<string, unknown>;
104
+ }
105
+ /**
106
+ * Query-related error
107
+ */
108
+ export declare class QueryError extends YataScaleError {
109
+ constructor(message: string, cause?: Error);
110
+ }
111
+ /**
112
+ * Query timeout error
113
+ */
114
+ export declare class QueryTimeoutError extends QueryError {
115
+ readonly timeoutMs: number;
116
+ constructor(timeoutMs: number);
117
+ toJSON(): Record<string, unknown>;
118
+ }
119
+ /**
120
+ * Invalid query error
121
+ */
122
+ export declare class InvalidQueryError extends QueryError {
123
+ readonly query: unknown;
124
+ constructor(message: string, query: unknown);
125
+ toJSON(): Record<string, unknown>;
126
+ }
127
+ /**
128
+ * Query execution error
129
+ */
130
+ export declare class QueryExecutionError extends QueryError {
131
+ readonly step: string;
132
+ constructor(message: string, step: string, cause?: Error);
133
+ toJSON(): Record<string, unknown>;
134
+ }
135
+ /**
136
+ * Sync-related error
137
+ */
138
+ export declare class SyncError extends YataScaleError {
139
+ constructor(message: string, cause?: Error);
140
+ }
141
+ /**
142
+ * Conflict error
143
+ */
144
+ export declare class ConflictError extends SyncError {
145
+ readonly entityId: string;
146
+ readonly localVersion: number;
147
+ readonly remoteVersion: number;
148
+ constructor(entityId: string, localVersion: number, remoteVersion: number);
149
+ toJSON(): Record<string, unknown>;
150
+ }
151
+ /**
152
+ * Sync connection error
153
+ */
154
+ export declare class SyncConnectionError extends SyncError {
155
+ readonly remote: string;
156
+ constructor(remote: string, cause?: Error);
157
+ toJSON(): Record<string, unknown>;
158
+ }
159
+ /**
160
+ * WAL error
161
+ */
162
+ export declare class WALError extends SyncError {
163
+ constructor(message: string, cause?: Error);
164
+ }
165
+ /**
166
+ * Storage-related error
167
+ */
168
+ export declare class StorageError extends YataScaleError {
169
+ constructor(message: string, cause?: Error);
170
+ }
171
+ /**
172
+ * Storage I/O error
173
+ */
174
+ export declare class StorageIOError extends StorageError {
175
+ readonly path: string;
176
+ readonly operation: 'read' | 'write' | 'delete';
177
+ constructor(path: string, operation: 'read' | 'write' | 'delete', cause?: Error);
178
+ toJSON(): Record<string, unknown>;
179
+ }
180
+ /**
181
+ * Storage corruption error
182
+ */
183
+ export declare class StorageCorruptionError extends StorageError {
184
+ readonly path: string;
185
+ constructor(path: string, details?: string);
186
+ toJSON(): Record<string, unknown>;
187
+ }
188
+ /**
189
+ * Compaction error
190
+ */
191
+ export declare class CompactionError extends StorageError {
192
+ constructor(message: string, cause?: Error);
193
+ }
194
+ /**
195
+ * Entity-related error
196
+ */
197
+ export declare class EntityError extends YataScaleError {
198
+ readonly entityId: string;
199
+ constructor(message: string, entityId: string, cause?: Error);
200
+ toJSON(): Record<string, unknown>;
201
+ }
202
+ /**
203
+ * Entity not found error
204
+ */
205
+ export declare class EntityNotFoundError extends EntityError {
206
+ constructor(entityId: string);
207
+ }
208
+ /**
209
+ * Entity already exists error
210
+ */
211
+ export declare class EntityAlreadyExistsError extends EntityError {
212
+ constructor(entityId: string);
213
+ }
214
+ /**
215
+ * Entity validation error
216
+ */
217
+ export declare class EntityValidationError extends EntityError {
218
+ readonly violations: string[];
219
+ constructor(entityId: string, violations: string[]);
220
+ toJSON(): Record<string, unknown>;
221
+ }
222
+ /**
223
+ * Configuration error
224
+ */
225
+ export declare class ConfigurationError extends YataScaleError {
226
+ constructor(message: string);
227
+ }
228
+ /**
229
+ * Invalid configuration error
230
+ */
231
+ export declare class InvalidConfigurationError extends ConfigurationError {
232
+ readonly field: string;
233
+ readonly reason: string;
234
+ constructor(field: string, reason: string);
235
+ toJSON(): Record<string, unknown>;
236
+ }
237
+ /**
238
+ * Initialization error
239
+ */
240
+ export declare class InitializationError extends YataScaleError {
241
+ constructor(message: string, cause?: Error);
242
+ }
243
+ /**
244
+ * Already initialized error
245
+ */
246
+ export declare class AlreadyInitializedError extends InitializationError {
247
+ constructor();
248
+ }
249
+ /**
250
+ * Not initialized error
251
+ */
252
+ export declare class NotInitializedError extends InitializationError {
253
+ constructor();
254
+ }
255
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}