@a0n/aeon 5.0.1

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 (73) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +199 -0
  3. package/dist/CryptoProvider-SLWjqByk.d.cts +407 -0
  4. package/dist/CryptoProvider-SLWjqByk.d.ts +407 -0
  5. package/dist/compression/index.cjs +1445 -0
  6. package/dist/compression/index.cjs.map +1 -0
  7. package/dist/compression/index.d.cts +451 -0
  8. package/dist/compression/index.d.ts +451 -0
  9. package/dist/compression/index.js +1426 -0
  10. package/dist/compression/index.js.map +1 -0
  11. package/dist/core/index.cjs +4 -0
  12. package/dist/core/index.cjs.map +1 -0
  13. package/dist/core/index.d.cts +212 -0
  14. package/dist/core/index.d.ts +212 -0
  15. package/dist/core/index.js +3 -0
  16. package/dist/core/index.js.map +1 -0
  17. package/dist/crypto/index.cjs +130 -0
  18. package/dist/crypto/index.cjs.map +1 -0
  19. package/dist/crypto/index.d.cts +56 -0
  20. package/dist/crypto/index.d.ts +56 -0
  21. package/dist/crypto/index.js +124 -0
  22. package/dist/crypto/index.js.map +1 -0
  23. package/dist/distributed/index.cjs +2586 -0
  24. package/dist/distributed/index.cjs.map +1 -0
  25. package/dist/distributed/index.d.cts +1005 -0
  26. package/dist/distributed/index.d.ts +1005 -0
  27. package/dist/distributed/index.js +2580 -0
  28. package/dist/distributed/index.js.map +1 -0
  29. package/dist/index.cjs +10953 -0
  30. package/dist/index.cjs.map +1 -0
  31. package/dist/index.d.cts +1953 -0
  32. package/dist/index.d.ts +1953 -0
  33. package/dist/index.js +10828 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/offline/index.cjs +419 -0
  36. package/dist/offline/index.cjs.map +1 -0
  37. package/dist/offline/index.d.cts +148 -0
  38. package/dist/offline/index.d.ts +148 -0
  39. package/dist/offline/index.js +415 -0
  40. package/dist/offline/index.js.map +1 -0
  41. package/dist/optimization/index.cjs +800 -0
  42. package/dist/optimization/index.cjs.map +1 -0
  43. package/dist/optimization/index.d.cts +347 -0
  44. package/dist/optimization/index.d.ts +347 -0
  45. package/dist/optimization/index.js +790 -0
  46. package/dist/optimization/index.js.map +1 -0
  47. package/dist/persistence/index.cjs +207 -0
  48. package/dist/persistence/index.cjs.map +1 -0
  49. package/dist/persistence/index.d.cts +95 -0
  50. package/dist/persistence/index.d.ts +95 -0
  51. package/dist/persistence/index.js +204 -0
  52. package/dist/persistence/index.js.map +1 -0
  53. package/dist/presence/index.cjs +489 -0
  54. package/dist/presence/index.cjs.map +1 -0
  55. package/dist/presence/index.d.cts +283 -0
  56. package/dist/presence/index.d.ts +283 -0
  57. package/dist/presence/index.js +485 -0
  58. package/dist/presence/index.js.map +1 -0
  59. package/dist/types-CMxO7QF0.d.cts +33 -0
  60. package/dist/types-CMxO7QF0.d.ts +33 -0
  61. package/dist/utils/index.cjs +64 -0
  62. package/dist/utils/index.cjs.map +1 -0
  63. package/dist/utils/index.d.cts +38 -0
  64. package/dist/utils/index.d.ts +38 -0
  65. package/dist/utils/index.js +57 -0
  66. package/dist/utils/index.js.map +1 -0
  67. package/dist/versioning/index.cjs +1164 -0
  68. package/dist/versioning/index.cjs.map +1 -0
  69. package/dist/versioning/index.d.cts +537 -0
  70. package/dist/versioning/index.d.ts +537 -0
  71. package/dist/versioning/index.js +1159 -0
  72. package/dist/versioning/index.js.map +1 -0
  73. package/package.json +194 -0
@@ -0,0 +1,537 @@
1
+ import { S as StorageAdapter, b as PersistenceSerializer, a as PersistenceDeserializer } from '../types-CMxO7QF0.cjs';
2
+
3
+ /**
4
+ * Schema Version Manager
5
+ *
6
+ * Manages schema versioning across the application.
7
+ * Tracks version history, compatibility, and migration paths.
8
+ *
9
+ * Features:
10
+ * - Version tracking and comparison
11
+ * - Compatibility matrix management
12
+ * - Migration path calculation
13
+ * - Version validation
14
+ */
15
+ interface SchemaVersion {
16
+ major: number;
17
+ minor: number;
18
+ patch: number;
19
+ timestamp: string;
20
+ description: string;
21
+ breaking: boolean;
22
+ }
23
+ interface VersionMetadata {
24
+ version: SchemaVersion;
25
+ previousVersion?: SchemaVersion;
26
+ changes: string[];
27
+ migrationsRequired: string[];
28
+ rollbackPossible: boolean;
29
+ }
30
+ interface CompatibilityRule {
31
+ from: string;
32
+ to: string;
33
+ compatible: boolean;
34
+ requiresMigration: boolean;
35
+ migrationSteps: number;
36
+ }
37
+ /**
38
+ * Schema Version Manager
39
+ * Tracks and manages schema versions across the application
40
+ */
41
+ declare class SchemaVersionManager {
42
+ private versions;
43
+ private versionHistory;
44
+ private compatibilityMatrix;
45
+ private currentVersion;
46
+ constructor();
47
+ /**
48
+ * Initialize default versions
49
+ */
50
+ private initializeDefaultVersions;
51
+ /**
52
+ * Register a new schema version
53
+ */
54
+ registerVersion(version: SchemaVersion): void;
55
+ /**
56
+ * Get current version
57
+ */
58
+ getCurrentVersion(): SchemaVersion;
59
+ /**
60
+ * Set current version
61
+ */
62
+ setCurrentVersion(version: SchemaVersion): void;
63
+ /**
64
+ * Get version history
65
+ */
66
+ getVersionHistory(): SchemaVersion[];
67
+ /**
68
+ * Check if version exists
69
+ */
70
+ hasVersion(version: SchemaVersion): boolean;
71
+ /**
72
+ * Get version by string (e.g., "1.2.3")
73
+ */
74
+ getVersion(versionString: string): SchemaVersion | undefined;
75
+ /**
76
+ * Register compatibility rule
77
+ */
78
+ registerCompatibility(rule: CompatibilityRule): void;
79
+ /**
80
+ * Check if migration path exists
81
+ */
82
+ canMigrate(fromVersion: SchemaVersion | string, toVersion: SchemaVersion | string): boolean;
83
+ /**
84
+ * Get migration path
85
+ */
86
+ getMigrationPath(fromVersion: SchemaVersion, toVersion: SchemaVersion): SchemaVersion[];
87
+ /**
88
+ * Compare two versions
89
+ * Returns: -1 if v1 < v2, 0 if equal, 1 if v1 > v2
90
+ */
91
+ compareVersions(v1: SchemaVersion | string, v2: SchemaVersion | string): number;
92
+ /**
93
+ * Parse version string to SchemaVersion
94
+ */
95
+ parseVersion(versionString: string): SchemaVersion;
96
+ /**
97
+ * Create new version
98
+ */
99
+ createVersion(major: number, minor: number, patch: number, description: string, breaking?: boolean): SchemaVersion;
100
+ /**
101
+ * Convert version to string
102
+ */
103
+ versionToString(version: SchemaVersion): string;
104
+ /**
105
+ * Get version metadata
106
+ */
107
+ getVersionMetadata(version: SchemaVersion): VersionMetadata;
108
+ /**
109
+ * Get all registered versions
110
+ */
111
+ getAllVersions(): SchemaVersion[];
112
+ /**
113
+ * Clear all versions (for testing)
114
+ */
115
+ clear(): void;
116
+ }
117
+
118
+ /**
119
+ * Migration Engine
120
+ *
121
+ * Executes schema migrations with rollback support.
122
+ * Manages migration execution, error handling, and state management.
123
+ *
124
+ * Features:
125
+ * - Migration execution and tracking
126
+ * - Rollback support
127
+ * - Error handling and recovery
128
+ * - Migration state management
129
+ */
130
+ interface Migration {
131
+ id: string;
132
+ version: string;
133
+ name: string;
134
+ up: (data: unknown) => unknown;
135
+ down?: (data: unknown) => unknown;
136
+ timestamp: string;
137
+ description: string;
138
+ }
139
+ interface MigrationResult {
140
+ migrationId: string;
141
+ success: boolean;
142
+ timestamp: string;
143
+ duration: number;
144
+ itemsAffected: number;
145
+ errors: string[];
146
+ }
147
+ interface MigrationState {
148
+ currentVersion: string;
149
+ appliedMigrations: string[];
150
+ failedMigrations: string[];
151
+ lastMigrationTime: string;
152
+ totalMigrationsRun: number;
153
+ }
154
+ /**
155
+ * Migration Engine
156
+ * Executes and manages schema migrations
157
+ */
158
+ declare class MigrationEngine {
159
+ private migrations;
160
+ private executedMigrations;
161
+ private state;
162
+ /**
163
+ * Register a migration
164
+ */
165
+ registerMigration(migration: Migration): void;
166
+ /**
167
+ * Execute a migration
168
+ */
169
+ executeMigration(migrationId: string, data: unknown): Promise<MigrationResult>;
170
+ /**
171
+ * Rollback a migration
172
+ */
173
+ rollbackMigration(migrationId: string, data: unknown): Promise<MigrationResult>;
174
+ /**
175
+ * Get migration state
176
+ */
177
+ getState(): MigrationState;
178
+ /**
179
+ * Get migration execution history
180
+ */
181
+ getExecutionHistory(): MigrationResult[];
182
+ /**
183
+ * Get migration by ID
184
+ */
185
+ getMigration(migrationId: string): Migration | undefined;
186
+ /**
187
+ * Get all registered migrations
188
+ */
189
+ getAllMigrations(): Migration[];
190
+ /**
191
+ * Get applied migrations
192
+ */
193
+ getAppliedMigrations(): string[];
194
+ /**
195
+ * Get failed migrations
196
+ */
197
+ getFailedMigrations(): string[];
198
+ /**
199
+ * Get pending migrations
200
+ */
201
+ getPendingMigrations(): Migration[];
202
+ /**
203
+ * Get migration statistics
204
+ */
205
+ getStatistics(): {
206
+ totalExecuted: number;
207
+ successful: number;
208
+ failed: number;
209
+ successRate: number;
210
+ totalDurationMs: number;
211
+ averageDurationMs: number;
212
+ totalAffected: number;
213
+ };
214
+ /**
215
+ * Clear history (for testing)
216
+ */
217
+ clear(): void;
218
+ }
219
+
220
+ /**
221
+ * Data Transformer
222
+ *
223
+ * Transforms data structures during schema migrations.
224
+ * Handles field transformation, type casting, and validation.
225
+ *
226
+ * Features:
227
+ * - Field-level transformation
228
+ * - Type conversion and casting
229
+ * - Validation during transformation
230
+ * - Error handling and reporting
231
+ * - Batch transformation support
232
+ */
233
+ interface FieldTransformer {
234
+ (value: unknown): unknown;
235
+ }
236
+ interface TransformationRule {
237
+ field: string;
238
+ transformer: FieldTransformer;
239
+ required?: boolean;
240
+ defaultValue?: unknown;
241
+ }
242
+ interface TransformationResult {
243
+ success: boolean;
244
+ itemsTransformed: number;
245
+ itemsFailed: number;
246
+ errors: Array<{
247
+ item: unknown;
248
+ error: string;
249
+ }>;
250
+ warnings: string[];
251
+ duration: number;
252
+ }
253
+ /**
254
+ * Data Transformer
255
+ * Transforms data structures during schema migrations
256
+ */
257
+ declare class DataTransformer {
258
+ private rules;
259
+ private transformationHistory;
260
+ /**
261
+ * Register a transformation rule
262
+ */
263
+ registerRule(rule: TransformationRule): void;
264
+ /**
265
+ * Transform a single field value
266
+ */
267
+ transformField(field: string, value: unknown): unknown;
268
+ /**
269
+ * Transform a single object
270
+ */
271
+ transformObject(data: Record<string, unknown>): Record<string, unknown>;
272
+ /**
273
+ * Transform a collection of items
274
+ */
275
+ transformCollection(items: unknown[]): TransformationResult;
276
+ /**
277
+ * Validate transformed data
278
+ */
279
+ validateTransformation(original: unknown[], transformed: unknown[]): {
280
+ valid: boolean;
281
+ issues: string[];
282
+ };
283
+ /**
284
+ * Validate a single item transformation
285
+ */
286
+ private validateItem;
287
+ /**
288
+ * Get transformation history
289
+ */
290
+ getTransformationHistory(): TransformationResult[];
291
+ /**
292
+ * Get transformation statistics
293
+ */
294
+ getStatistics(): {
295
+ totalBatches: number;
296
+ totalTransformed: number;
297
+ totalFailed: number;
298
+ successRate: number;
299
+ totalDurationMs: number;
300
+ averageBatchDurationMs: number;
301
+ };
302
+ /**
303
+ * Get registered rules
304
+ */
305
+ getRules(): TransformationRule[];
306
+ /**
307
+ * Get rule for field
308
+ */
309
+ getRule(field: string): TransformationRule | undefined;
310
+ /**
311
+ * Clear all rules (for testing)
312
+ */
313
+ clearRules(): void;
314
+ /**
315
+ * Clear history (for testing)
316
+ */
317
+ clearHistory(): void;
318
+ /**
319
+ * Clear all state (for testing)
320
+ */
321
+ clear(): void;
322
+ }
323
+
324
+ /**
325
+ * Migration Tracker
326
+ *
327
+ * Tracks migration history and enables rollback.
328
+ * Maintains detailed audit trail of all schema changes.
329
+ *
330
+ * Features:
331
+ * - Migration history tracking
332
+ * - Rollback path calculation
333
+ * - Data snapshots for recovery
334
+ * - Audit trail with timestamps
335
+ * - Migration dependency tracking
336
+ */
337
+
338
+ interface MigrationRecord {
339
+ id: string;
340
+ migrationId: string;
341
+ timestamp: string;
342
+ version: string;
343
+ direction: 'up' | 'down';
344
+ status: 'pending' | 'applied' | 'failed' | 'rolled-back';
345
+ duration: number;
346
+ itemsAffected: number;
347
+ dataSnapshot?: {
348
+ beforeHash: string;
349
+ afterHash: string;
350
+ itemCount: number;
351
+ };
352
+ errorMessage?: string;
353
+ appliedBy: string;
354
+ metadata?: Record<string, unknown>;
355
+ previousHash?: string;
356
+ integrityHash?: string;
357
+ }
358
+ interface RollbackPath {
359
+ path: string[];
360
+ canRollback: boolean;
361
+ affectedVersions: string[];
362
+ estimatedDuration: number;
363
+ }
364
+ interface MigrationIntegrityEntry {
365
+ recordId: string;
366
+ previousHash: string;
367
+ hash: string;
368
+ }
369
+ interface MigrationTrackerPersistenceData {
370
+ migrations: MigrationRecord[];
371
+ snapshots: Array<{
372
+ recordId: string;
373
+ beforeHash: string;
374
+ afterHash: string;
375
+ itemCount: number;
376
+ }>;
377
+ integrity: {
378
+ algorithm: 'sha256-chain-v1';
379
+ entries: MigrationIntegrityEntry[];
380
+ rootHash: string;
381
+ };
382
+ }
383
+ interface MigrationTrackerPersistenceConfig {
384
+ adapter: StorageAdapter;
385
+ key?: string;
386
+ autoPersist?: boolean;
387
+ autoLoad?: boolean;
388
+ persistDebounceMs?: number;
389
+ serializer?: PersistenceSerializer<MigrationTrackerPersistenceData>;
390
+ deserializer?: PersistenceDeserializer<MigrationTrackerPersistenceData>;
391
+ }
392
+ interface MigrationTrackerOptions {
393
+ persistence?: MigrationTrackerPersistenceConfig;
394
+ }
395
+ /**
396
+ * Migration Tracker
397
+ * Tracks and manages migration history with rollback support
398
+ */
399
+ declare class MigrationTracker {
400
+ private static readonly DEFAULT_PERSIST_KEY;
401
+ private static readonly INTEGRITY_ROOT;
402
+ private migrations;
403
+ private snapshots;
404
+ private persistence;
405
+ private persistTimer;
406
+ private persistInFlight;
407
+ private persistPending;
408
+ constructor(options?: MigrationTrackerOptions);
409
+ /**
410
+ * Track a new migration
411
+ */
412
+ recordMigration(record: MigrationRecord): void;
413
+ /**
414
+ * Track migration with snapshot
415
+ */
416
+ trackMigration(migrationId: string, version: string, beforeHash: string, afterHash: string, itemCount: number, duration: number, itemsAffected: number, appliedBy?: string): void;
417
+ /**
418
+ * Get all migration records
419
+ */
420
+ getMigrations(): MigrationRecord[];
421
+ /**
422
+ * Get migrations for a specific version
423
+ */
424
+ getMigrationsForVersion(version: string): MigrationRecord[];
425
+ /**
426
+ * Get migration by ID
427
+ */
428
+ getMigration(id: string): MigrationRecord | undefined;
429
+ /**
430
+ * Check if can rollback
431
+ */
432
+ canRollback(fromVersion: string, toVersion: string): boolean;
433
+ /**
434
+ * Get rollback path
435
+ */
436
+ getRollbackPath(fromVersion: string, toVersion: string): RollbackPath;
437
+ /**
438
+ * Get applied migrations
439
+ */
440
+ getAppliedMigrations(): MigrationRecord[];
441
+ /**
442
+ * Get failed migrations
443
+ */
444
+ getFailedMigrations(): MigrationRecord[];
445
+ /**
446
+ * Get pending migrations
447
+ */
448
+ getPendingMigrations(): MigrationRecord[];
449
+ /**
450
+ * Get latest migration
451
+ */
452
+ getLatestMigration(): MigrationRecord | undefined;
453
+ /**
454
+ * Get migration timeline
455
+ */
456
+ getTimeline(): Array<{
457
+ timestamp: string;
458
+ version: string;
459
+ status: string;
460
+ }>;
461
+ /**
462
+ * Get migration statistics
463
+ */
464
+ getStatistics(): {
465
+ total: number;
466
+ applied: number;
467
+ failed: number;
468
+ pending: number;
469
+ rolledBack: number;
470
+ successRate: number;
471
+ totalDurationMs: number;
472
+ averageDurationMs: number;
473
+ totalItemsAffected: number;
474
+ };
475
+ /**
476
+ * Get audit trail
477
+ */
478
+ getAuditTrail(migrationId?: string): {
479
+ id: string;
480
+ timestamp: string;
481
+ migrationId: string;
482
+ version: string;
483
+ status: "pending" | "failed" | "applied" | "rolled-back";
484
+ appliedBy: string;
485
+ duration: number;
486
+ itemsAffected: number;
487
+ error: string | undefined;
488
+ }[];
489
+ /**
490
+ * Get data snapshot for recovery
491
+ */
492
+ getSnapshot(recordId: string): {
493
+ beforeHash: string;
494
+ afterHash: string;
495
+ itemCount: number;
496
+ } | undefined;
497
+ /**
498
+ * Update migration status
499
+ */
500
+ updateMigrationStatus(recordId: string, status: MigrationRecord['status'], error?: string): void;
501
+ /**
502
+ * Persist tracker state with integrity chain verification metadata.
503
+ */
504
+ saveToPersistence(): Promise<void>;
505
+ /**
506
+ * Load tracker state and verify integrity chain.
507
+ */
508
+ loadFromPersistence(): Promise<{
509
+ migrations: number;
510
+ snapshots: number;
511
+ }>;
512
+ /**
513
+ * Remove persisted migration tracker state.
514
+ */
515
+ clearPersistence(): Promise<void>;
516
+ /**
517
+ * Clear history (for testing)
518
+ */
519
+ clear(): void;
520
+ /**
521
+ * Get total migrations tracked
522
+ */
523
+ getTotalMigrations(): number;
524
+ /**
525
+ * Find migrations by time range
526
+ */
527
+ getMigrationsByTimeRange(startTime: string, endTime: string): MigrationRecord[];
528
+ private schedulePersist;
529
+ private persistSafely;
530
+ private isValidMigrationRecord;
531
+ private stableStringify;
532
+ private computeDigestHex;
533
+ private toHex;
534
+ private fallbackDigestHex;
535
+ }
536
+
537
+ export { type CompatibilityRule, DataTransformer, type FieldTransformer, type Migration, MigrationEngine, type MigrationIntegrityEntry, type MigrationRecord, type MigrationResult, type MigrationState, MigrationTracker, type MigrationTrackerOptions, type MigrationTrackerPersistenceConfig, type MigrationTrackerPersistenceData, type RollbackPath, type SchemaVersion, SchemaVersionManager, type TransformationResult, type TransformationRule, type VersionMetadata };