@affectively/dash 5.4.0 → 5.4.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.
- package/README.md +8 -189
- package/dist/automerge_wasm_bg-4hg5vg2g.wasm +0 -0
- package/dist/engine/sqlite.d.ts +30 -0
- package/dist/engine/vec_extension.d.ts +2 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.js +53895 -0
- package/dist/middleware/errorHandler.d.ts +60 -0
- package/dist/{src/sync → sync}/AeonDurableSync.d.ts +8 -9
- package/dist/sync/AeonDurableSync.js +1984 -0
- package/dist/{src/sync → sync}/AutomergeProvider.d.ts +8 -8
- package/dist/sync/AutomergeProvider.js +4421 -0
- package/dist/sync/HybridProvider.d.ts +124 -0
- package/dist/sync/HybridProvider.js +8328 -0
- package/dist/sync/connection/WebRTCConnection.d.ts +23 -0
- package/dist/sync/connection/WebRTCConnection.js +59 -0
- package/dist/sync/index.d.ts +13 -0
- package/dist/sync/index.js +12773 -0
- package/dist/sync/provider/YjsSqliteProvider.d.ts +17 -0
- package/dist/sync/provider/YjsSqliteProvider.js +54 -0
- package/dist/sync/types.d.ts +74 -0
- package/dist/sync/webtransport/WebTransportProvider.d.ts +16 -0
- package/dist/sync/webtransport/WebTransportProvider.js +55 -0
- package/package.json +62 -70
- package/dist/src/api/firebase/auth/index.d.ts +0 -137
- package/dist/src/api/firebase/auth/index.js +0 -352
- package/dist/src/api/firebase/auth/providers.d.ts +0 -254
- package/dist/src/api/firebase/auth/providers.js +0 -518
- package/dist/src/api/firebase/database/index.d.ts +0 -108
- package/dist/src/api/firebase/database/index.js +0 -368
- package/dist/src/api/firebase/errors.d.ts +0 -15
- package/dist/src/api/firebase/errors.js +0 -215
- package/dist/src/api/firebase/firestore/data-types.d.ts +0 -116
- package/dist/src/api/firebase/firestore/data-types.js +0 -280
- package/dist/src/api/firebase/firestore/index.d.ts +0 -7
- package/dist/src/api/firebase/firestore/index.js +0 -13
- package/dist/src/api/firebase/firestore/listeners.d.ts +0 -20
- package/dist/src/api/firebase/firestore/listeners.js +0 -50
- package/dist/src/api/firebase/firestore/operations.d.ts +0 -123
- package/dist/src/api/firebase/firestore/operations.js +0 -490
- package/dist/src/api/firebase/firestore/query.d.ts +0 -118
- package/dist/src/api/firebase/firestore/query.js +0 -418
- package/dist/src/api/firebase/index.d.ts +0 -11
- package/dist/src/api/firebase/index.js +0 -17
- package/dist/src/api/firebase/storage/index.d.ts +0 -100
- package/dist/src/api/firebase/storage/index.js +0 -286
- package/dist/src/api/firebase/types.d.ts +0 -341
- package/dist/src/api/firebase/types.js +0 -4
- package/dist/src/auth/manager.d.ts +0 -182
- package/dist/src/auth/manager.js +0 -598
- package/dist/src/engine/ai.js +0 -76
- package/dist/src/engine/sqlite.d.ts +0 -353
- package/dist/src/engine/sqlite.js +0 -1328
- package/dist/src/engine/vec_extension.d.ts +0 -5
- package/dist/src/engine/vec_extension.js +0 -10
- package/dist/src/index.d.ts +0 -21
- package/dist/src/index.js +0 -26
- package/dist/src/mcp/server.js +0 -87
- package/dist/src/reactivity/signal.js +0 -31
- package/dist/src/schema/lens.d.ts +0 -29
- package/dist/src/schema/lens.js +0 -122
- package/dist/src/sync/AeonDurableSync.js +0 -67
- package/dist/src/sync/AutomergeProvider.js +0 -153
- package/dist/src/sync/aeon/config.d.ts +0 -21
- package/dist/src/sync/aeon/config.js +0 -14
- package/dist/src/sync/aeon/delta-adapter.d.ts +0 -62
- package/dist/src/sync/aeon/delta-adapter.js +0 -98
- package/dist/src/sync/aeon/index.d.ts +0 -18
- package/dist/src/sync/aeon/index.js +0 -19
- package/dist/src/sync/aeon/offline-adapter.d.ts +0 -110
- package/dist/src/sync/aeon/offline-adapter.js +0 -227
- package/dist/src/sync/aeon/presence-adapter.d.ts +0 -114
- package/dist/src/sync/aeon/presence-adapter.js +0 -157
- package/dist/src/sync/aeon/schema-adapter.d.ts +0 -95
- package/dist/src/sync/aeon/schema-adapter.js +0 -163
- package/dist/src/sync/backup.d.ts +0 -12
- package/dist/src/sync/backup.js +0 -44
- package/dist/src/sync/connection.d.ts +0 -20
- package/dist/src/sync/connection.js +0 -50
- package/dist/src/sync/d1-provider.d.ts +0 -103
- package/dist/src/sync/d1-provider.js +0 -418
- package/dist/src/sync/hybrid-provider.d.ts +0 -307
- package/dist/src/sync/hybrid-provider.js +0 -1353
- package/dist/src/sync/provider.d.ts +0 -11
- package/dist/src/sync/provider.js +0 -67
- package/dist/src/sync/types.d.ts +0 -32
- package/dist/src/sync/types.js +0 -4
- package/dist/src/sync/verify.d.ts +0 -1
- package/dist/src/sync/verify.js +0 -23
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/{src/engine → engine}/ai.d.ts +0 -0
- /package/dist/{src/mcp → mcp}/server.d.ts +0 -0
- /package/dist/{src/reactivity → reactivity}/signal.d.ts +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dash Error Handling Middleware
|
|
3
|
+
* Provides retry logic, rate limiting, and error recovery for Dash operations
|
|
4
|
+
*/
|
|
5
|
+
export interface RetryConfig {
|
|
6
|
+
maxRetries: number;
|
|
7
|
+
baseDelay: number;
|
|
8
|
+
maxDelay: number;
|
|
9
|
+
backoffFactor: number;
|
|
10
|
+
}
|
|
11
|
+
export interface RateLimitConfig {
|
|
12
|
+
maxRequests: number;
|
|
13
|
+
windowMs: number;
|
|
14
|
+
skipSuccessfulRequests: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface ErrorHandlerConfig {
|
|
17
|
+
retry?: RetryConfig;
|
|
18
|
+
rateLimit?: RateLimitConfig;
|
|
19
|
+
onError?: (error: Error, context: string) => void;
|
|
20
|
+
onRetry?: (attempt: number, error: Error) => void;
|
|
21
|
+
}
|
|
22
|
+
export declare class DashErrorHandler {
|
|
23
|
+
private config;
|
|
24
|
+
private requestCounts;
|
|
25
|
+
constructor(config?: ErrorHandlerConfig);
|
|
26
|
+
/**
|
|
27
|
+
* Execute operation with retry logic
|
|
28
|
+
*/
|
|
29
|
+
executeWithRetry<T>(operation: () => Promise<T>, context?: string): Promise<T>;
|
|
30
|
+
/**
|
|
31
|
+
* Check if operation should be rate limited
|
|
32
|
+
*/
|
|
33
|
+
checkRateLimit(key?: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Record a request for rate limiting
|
|
36
|
+
*/
|
|
37
|
+
recordRequest(key?: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Execute operation with rate limiting and retry logic
|
|
40
|
+
*/
|
|
41
|
+
execute<T>(operation: () => Promise<T>, context?: string, rateLimitKey?: string): Promise<T>;
|
|
42
|
+
private delay;
|
|
43
|
+
/**
|
|
44
|
+
* Reset rate limit counters
|
|
45
|
+
*/
|
|
46
|
+
resetRateLimit(key?: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Get current rate limit status
|
|
49
|
+
*/
|
|
50
|
+
getRateLimitStatus(key?: string): {
|
|
51
|
+
current: number;
|
|
52
|
+
limit: number;
|
|
53
|
+
remaining: number;
|
|
54
|
+
resetTime: number;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export declare const defaultErrorHandler: DashErrorHandler;
|
|
58
|
+
export declare function withRetry<T>(operation: () => Promise<T>, config?: RetryConfig): Promise<T>;
|
|
59
|
+
export declare function withRateLimit<T>(operation: () => Promise<T>, rateLimitKey: string, config?: RateLimitConfig): Promise<T>;
|
|
60
|
+
export declare function withErrorHandling<T>(operation: () => Promise<T>, config?: ErrorHandlerConfig, rateLimitKey?: string): Promise<T>;
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
* AeonDurableSync - Durable telemetry runtime for sync operations
|
|
3
|
-
*
|
|
4
|
-
* Records transport selection, discovery events, and sync protocol messages
|
|
5
|
-
* using Aeon's OfflineOperationQueue, SyncProtocol, and ReplicationManager.
|
|
6
|
-
*
|
|
7
|
-
* Operates in-memory by default. Persistence requires @affectively/aeon/persistence
|
|
8
|
-
* (available in a future release).
|
|
9
|
-
*/
|
|
1
|
+
import { type DashStorageBackend, type DashStorageAdapterOptions } from '@affectively/aeon/persistence';
|
|
10
2
|
type TransportType = 'websocket' | 'webtransport' | null;
|
|
11
3
|
export interface AeonDurableSyncConfig {
|
|
12
4
|
enabled?: boolean;
|
|
13
5
|
roomName: string;
|
|
14
6
|
persistenceKeyPrefix?: string;
|
|
7
|
+
storageBackend?: DashStorageBackend;
|
|
8
|
+
storageOptions?: DashStorageAdapterOptions;
|
|
15
9
|
}
|
|
16
10
|
export declare class AeonDurableSyncRuntime {
|
|
11
|
+
private readonly adapter;
|
|
17
12
|
private readonly queue;
|
|
18
13
|
private readonly protocol;
|
|
19
14
|
private readonly replication;
|
|
20
15
|
constructor(config: AeonDurableSyncConfig);
|
|
21
16
|
initialize(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Flush all pending writes to the storage backend.
|
|
19
|
+
*/
|
|
20
|
+
flushSync(): Promise<void>;
|
|
22
21
|
recordTransportSelection(roomName: string, transport: TransportType, relay: string | null): void;
|
|
23
22
|
recordDiscovery(roomName: string, relays: string[]): void;
|
|
24
23
|
getPendingOperations(): number;
|