@affectively/aeon 1.3.1 → 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 (61) hide show
  1. package/LICENSE +15 -21
  2. package/README.md +422 -342
  3. package/dist/compression/index.cjs +20 -3
  4. package/dist/compression/index.cjs.map +1 -1
  5. package/dist/compression/index.js +20 -3
  6. package/dist/compression/index.js.map +1 -1
  7. package/dist/crypto/index.cjs +30 -0
  8. package/dist/crypto/index.cjs.map +1 -1
  9. package/dist/crypto/index.js +29 -1
  10. package/dist/crypto/index.js.map +1 -1
  11. package/dist/distributed/index.cjs +15 -8
  12. package/dist/distributed/index.cjs.map +1 -1
  13. package/dist/distributed/index.js +15 -8
  14. package/dist/distributed/index.js.map +1 -1
  15. package/dist/index.cjs +6686 -3118
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.js +6642 -3117
  18. package/dist/index.js.map +1 -1
  19. package/dist/offline/index.cjs.map +1 -1
  20. package/dist/offline/index.js.map +1 -1
  21. package/dist/optimization/index.cjs +6 -3
  22. package/dist/optimization/index.cjs.map +1 -1
  23. package/dist/optimization/index.js +6 -3
  24. package/dist/optimization/index.js.map +1 -1
  25. package/dist/persistence/index.cjs +91 -29
  26. package/dist/persistence/index.cjs.map +1 -1
  27. package/dist/persistence/index.js +91 -29
  28. package/dist/persistence/index.js.map +1 -1
  29. package/dist/presence/index.cjs.map +1 -1
  30. package/dist/presence/index.js.map +1 -1
  31. package/dist/utils/index.cjs.map +1 -1
  32. package/dist/utils/index.js.map +1 -1
  33. package/dist/versioning/index.cjs +4 -3
  34. package/dist/versioning/index.cjs.map +1 -1
  35. package/dist/versioning/index.js +4 -3
  36. package/dist/versioning/index.js.map +1 -1
  37. package/package.json +195 -196
  38. package/dist/compression/index.d.cts +0 -189
  39. package/dist/compression/index.d.ts +0 -189
  40. package/dist/core/index.d.cts +0 -216
  41. package/dist/core/index.d.ts +0 -216
  42. package/dist/crypto/index.d.cts +0 -446
  43. package/dist/crypto/index.d.ts +0 -446
  44. package/dist/distributed/index.d.cts +0 -1016
  45. package/dist/distributed/index.d.ts +0 -1016
  46. package/dist/index.d.cts +0 -57
  47. package/dist/index.d.ts +0 -57
  48. package/dist/offline/index.d.cts +0 -154
  49. package/dist/offline/index.d.ts +0 -154
  50. package/dist/optimization/index.d.cts +0 -347
  51. package/dist/optimization/index.d.ts +0 -347
  52. package/dist/persistence/index.d.cts +0 -63
  53. package/dist/persistence/index.d.ts +0 -63
  54. package/dist/presence/index.d.cts +0 -283
  55. package/dist/presence/index.d.ts +0 -283
  56. package/dist/types-B7CxsoLh.d.cts +0 -33
  57. package/dist/types-B7CxsoLh.d.ts +0 -33
  58. package/dist/utils/index.d.cts +0 -38
  59. package/dist/utils/index.d.ts +0 -38
  60. package/dist/versioning/index.d.cts +0 -537
  61. package/dist/versioning/index.d.ts +0 -537
@@ -1,33 +0,0 @@
1
- /**
2
- * Persistence types for Aeon durable state.
3
- *
4
- * The adapter interface is intentionally minimal so consumers can map it to
5
- * local storage, WASM-backed stores, D1/R2 synchronization layers, or custom
6
- * encrypted stores without extra dependencies.
7
- */
8
- /**
9
- * Minimal storage adapter interface.
10
- */
11
- interface StorageAdapter {
12
- getItem(key: string): Promise<string | null> | string | null;
13
- setItem(key: string, value: string): Promise<void> | void;
14
- removeItem(key: string): Promise<void> | void;
15
- }
16
- /**
17
- * Versioned envelope for persisted payloads.
18
- */
19
- interface PersistedEnvelope<T> {
20
- version: 1;
21
- updatedAt: number;
22
- data: T;
23
- }
24
- /**
25
- * Serialization hook for custom privacy/security implementations.
26
- */
27
- type PersistenceSerializer<T> = (value: PersistedEnvelope<T>) => string;
28
- /**
29
- * Deserialization hook for custom privacy/security implementations.
30
- */
31
- type PersistenceDeserializer<T> = (raw: string) => PersistedEnvelope<T>;
32
-
33
- export type { PersistedEnvelope as P, StorageAdapter as S, PersistenceDeserializer as a, PersistenceSerializer as b };
@@ -1,33 +0,0 @@
1
- /**
2
- * Persistence types for Aeon durable state.
3
- *
4
- * The adapter interface is intentionally minimal so consumers can map it to
5
- * local storage, WASM-backed stores, D1/R2 synchronization layers, or custom
6
- * encrypted stores without extra dependencies.
7
- */
8
- /**
9
- * Minimal storage adapter interface.
10
- */
11
- interface StorageAdapter {
12
- getItem(key: string): Promise<string | null> | string | null;
13
- setItem(key: string, value: string): Promise<void> | void;
14
- removeItem(key: string): Promise<void> | void;
15
- }
16
- /**
17
- * Versioned envelope for persisted payloads.
18
- */
19
- interface PersistedEnvelope<T> {
20
- version: 1;
21
- updatedAt: number;
22
- data: T;
23
- }
24
- /**
25
- * Serialization hook for custom privacy/security implementations.
26
- */
27
- type PersistenceSerializer<T> = (value: PersistedEnvelope<T>) => string;
28
- /**
29
- * Deserialization hook for custom privacy/security implementations.
30
- */
31
- type PersistenceDeserializer<T> = (raw: string) => PersistedEnvelope<T>;
32
-
33
- export type { PersistedEnvelope as P, StorageAdapter as S, PersistenceDeserializer as a, PersistenceSerializer as b };
@@ -1,38 +0,0 @@
1
- /**
2
- * Aeon Logger Interface
3
- *
4
- * Provides a pluggable logging interface that can be configured
5
- * by consumers to integrate with their preferred logging solution.
6
- */
7
- /**
8
- * Logger interface that consumers can implement
9
- */
10
- interface Logger {
11
- debug: (...args: unknown[]) => void;
12
- info: (...args: unknown[]) => void;
13
- warn: (...args: unknown[]) => void;
14
- error: (...args: unknown[]) => void;
15
- }
16
- /**
17
- * Get the current logger instance
18
- */
19
- declare function getLogger(): Logger;
20
- /**
21
- * Set a custom logger implementation
22
- */
23
- declare function setLogger(logger: Logger): void;
24
- /**
25
- * Reset to the default console logger
26
- */
27
- declare function resetLogger(): void;
28
- /**
29
- * Disable all logging
30
- */
31
- declare function disableLogging(): void;
32
- /**
33
- * Create a namespaced logger
34
- */
35
- declare function createNamespacedLogger(namespace: string): Logger;
36
- declare const logger: Logger;
37
-
38
- export { type Logger, createNamespacedLogger, disableLogging, getLogger, logger, resetLogger, setLogger };
@@ -1,38 +0,0 @@
1
- /**
2
- * Aeon Logger Interface
3
- *
4
- * Provides a pluggable logging interface that can be configured
5
- * by consumers to integrate with their preferred logging solution.
6
- */
7
- /**
8
- * Logger interface that consumers can implement
9
- */
10
- interface Logger {
11
- debug: (...args: unknown[]) => void;
12
- info: (...args: unknown[]) => void;
13
- warn: (...args: unknown[]) => void;
14
- error: (...args: unknown[]) => void;
15
- }
16
- /**
17
- * Get the current logger instance
18
- */
19
- declare function getLogger(): Logger;
20
- /**
21
- * Set a custom logger implementation
22
- */
23
- declare function setLogger(logger: Logger): void;
24
- /**
25
- * Reset to the default console logger
26
- */
27
- declare function resetLogger(): void;
28
- /**
29
- * Disable all logging
30
- */
31
- declare function disableLogging(): void;
32
- /**
33
- * Create a namespaced logger
34
- */
35
- declare function createNamespacedLogger(namespace: string): Logger;
36
- declare const logger: Logger;
37
-
38
- export { type Logger, createNamespacedLogger, disableLogging, getLogger, logger, resetLogger, setLogger };
@@ -1,537 +0,0 @@
1
- import { S as StorageAdapter, b as PersistenceSerializer, a as PersistenceDeserializer } from '../types-B7CxsoLh.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 };