@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,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HybridProvider - DashRelay v1 transport.
|
|
3
|
+
*
|
|
4
|
+
* Uses a real relay socket with strict join-first handshake (`dashrelay-v1`).
|
|
5
|
+
* On relay outage, falls back to WebRTC peer mode for small rooms, then to
|
|
6
|
+
* local-authoritative mode until relay connectivity returns.
|
|
7
|
+
*/
|
|
8
|
+
import * as Y from 'yjs';
|
|
9
|
+
import { type AeonDurableSyncConfig } from './AeonDurableSync';
|
|
10
|
+
export interface RelayDiscoveryConfig {
|
|
11
|
+
url?: string;
|
|
12
|
+
bootstrap?: string[];
|
|
13
|
+
announce?: boolean;
|
|
14
|
+
announceIntervalMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface RelayPerformanceConfig {
|
|
17
|
+
compressionThresholdBytes?: number;
|
|
18
|
+
batchIntervalMs?: number;
|
|
19
|
+
maxBatchSize?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface RelayPrivacyConfig {
|
|
22
|
+
roomKey?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface HybridProviderConfig {
|
|
25
|
+
websocket?: {
|
|
26
|
+
url: string;
|
|
27
|
+
};
|
|
28
|
+
webtransport?: {
|
|
29
|
+
url: string;
|
|
30
|
+
};
|
|
31
|
+
roomName: string;
|
|
32
|
+
/** DashRelay API key (format: dr_<64-hex>) - alternative to UCAN auth */
|
|
33
|
+
apiKey?: string;
|
|
34
|
+
/** UCAN token for authorization */
|
|
35
|
+
ucanToken?: string;
|
|
36
|
+
discovery?: RelayDiscoveryConfig;
|
|
37
|
+
performance?: RelayPerformanceConfig;
|
|
38
|
+
privacy?: RelayPrivacyConfig;
|
|
39
|
+
aeon?: Omit<AeonDurableSyncConfig, 'roomName'>;
|
|
40
|
+
}
|
|
41
|
+
export interface HybridProviderStatus {
|
|
42
|
+
connected: boolean;
|
|
43
|
+
roomName: string;
|
|
44
|
+
transport: 'websocket' | 'webtransport' | null;
|
|
45
|
+
activeRelay: string | null;
|
|
46
|
+
discoveryCount: number;
|
|
47
|
+
isHighFrequencyMode: boolean;
|
|
48
|
+
fallbackMode: 'relay' | 'webrtc-peer' | 'local-authoritative';
|
|
49
|
+
performance: Required<RelayPerformanceConfig>;
|
|
50
|
+
privacy: {
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export declare class HybridProvider {
|
|
55
|
+
private readonly doc;
|
|
56
|
+
private config;
|
|
57
|
+
private readonly _roomName;
|
|
58
|
+
private _ready;
|
|
59
|
+
private _destroyed;
|
|
60
|
+
private _connected;
|
|
61
|
+
private _joined;
|
|
62
|
+
private _isHighFrequencyMode;
|
|
63
|
+
private _transport;
|
|
64
|
+
private _activeRelay;
|
|
65
|
+
private _discoveredRelays;
|
|
66
|
+
private _fallbackMode;
|
|
67
|
+
private _serverSeq;
|
|
68
|
+
private _webSocket;
|
|
69
|
+
private _reconnectTimer;
|
|
70
|
+
private _reconnectDelayMs;
|
|
71
|
+
private _applyingRemoteUpdate;
|
|
72
|
+
private _docUpdateHandler;
|
|
73
|
+
private _webrtcConnection;
|
|
74
|
+
private _discoveryTimer;
|
|
75
|
+
private _discoveryAnnounceBlockedUntilMs;
|
|
76
|
+
private _discoveryAnnounceFailures;
|
|
77
|
+
private _discoveryAnnounceInFlight;
|
|
78
|
+
private _discoveryAnnounceController;
|
|
79
|
+
private _aeonRuntime;
|
|
80
|
+
constructor(doc: Y.Doc, config: HybridProviderConfig);
|
|
81
|
+
private initialize;
|
|
82
|
+
private getDiscoveryAnnounceIntervalMs;
|
|
83
|
+
private scheduleDiscoveryAnnounce;
|
|
84
|
+
private computeDiscoveryAnnounceNextDelayMs;
|
|
85
|
+
private runDiscoveryAnnounceTick;
|
|
86
|
+
private fetchDiscoveryPeers;
|
|
87
|
+
private normalizeRelay;
|
|
88
|
+
refreshDiscovery(): Promise<void>;
|
|
89
|
+
private startDiscoveryAnnouncements;
|
|
90
|
+
private stopDiscoveryAnnouncements;
|
|
91
|
+
private resolvePreferredRelaySocketUrl;
|
|
92
|
+
private getJoinAuthToken;
|
|
93
|
+
private getClientId;
|
|
94
|
+
private connectRelay;
|
|
95
|
+
private scheduleRelayReconnect;
|
|
96
|
+
private clearRelayReconnect;
|
|
97
|
+
private activateFallback;
|
|
98
|
+
private deactivateFallback;
|
|
99
|
+
private applyYjsUpdate;
|
|
100
|
+
private handleRelayMessage;
|
|
101
|
+
private sendLocalUpdate;
|
|
102
|
+
get ready(): Promise<void>;
|
|
103
|
+
get roomName(): string;
|
|
104
|
+
getConnectionStatus(): HybridProviderStatus;
|
|
105
|
+
setRoomKey(roomKey: string | undefined): void;
|
|
106
|
+
destroy(): Promise<void>;
|
|
107
|
+
disconnect(): void;
|
|
108
|
+
enterHighFrequencyMode(): Promise<void>;
|
|
109
|
+
exitHighFrequencyMode(): void;
|
|
110
|
+
isHighFrequencyMode(): boolean;
|
|
111
|
+
}
|
|
112
|
+
export declare class SyncConnection {
|
|
113
|
+
private provider;
|
|
114
|
+
constructor(options: {
|
|
115
|
+
doc: Y.Doc;
|
|
116
|
+
roomName: string;
|
|
117
|
+
url: string;
|
|
118
|
+
protocol?: 'websocket' | 'webtransport';
|
|
119
|
+
});
|
|
120
|
+
get ready(): Promise<void>;
|
|
121
|
+
enterHighFrequencyMode(): Promise<void>;
|
|
122
|
+
disconnect(): void;
|
|
123
|
+
destroy(): void;
|
|
124
|
+
}
|