@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.
Files changed (92) hide show
  1. package/README.md +8 -189
  2. package/dist/automerge_wasm_bg-4hg5vg2g.wasm +0 -0
  3. package/dist/engine/sqlite.d.ts +30 -0
  4. package/dist/engine/vec_extension.d.ts +2 -0
  5. package/dist/index.d.ts +73 -0
  6. package/dist/index.js +53895 -0
  7. package/dist/middleware/errorHandler.d.ts +60 -0
  8. package/dist/{src/sync → sync}/AeonDurableSync.d.ts +8 -9
  9. package/dist/sync/AeonDurableSync.js +1984 -0
  10. package/dist/{src/sync → sync}/AutomergeProvider.d.ts +8 -8
  11. package/dist/sync/AutomergeProvider.js +4421 -0
  12. package/dist/sync/HybridProvider.d.ts +124 -0
  13. package/dist/sync/HybridProvider.js +8328 -0
  14. package/dist/sync/connection/WebRTCConnection.d.ts +23 -0
  15. package/dist/sync/connection/WebRTCConnection.js +59 -0
  16. package/dist/sync/index.d.ts +13 -0
  17. package/dist/sync/index.js +12773 -0
  18. package/dist/sync/provider/YjsSqliteProvider.d.ts +17 -0
  19. package/dist/sync/provider/YjsSqliteProvider.js +54 -0
  20. package/dist/sync/types.d.ts +74 -0
  21. package/dist/sync/webtransport/WebTransportProvider.d.ts +16 -0
  22. package/dist/sync/webtransport/WebTransportProvider.js +55 -0
  23. package/package.json +62 -70
  24. package/dist/src/api/firebase/auth/index.d.ts +0 -137
  25. package/dist/src/api/firebase/auth/index.js +0 -352
  26. package/dist/src/api/firebase/auth/providers.d.ts +0 -254
  27. package/dist/src/api/firebase/auth/providers.js +0 -518
  28. package/dist/src/api/firebase/database/index.d.ts +0 -108
  29. package/dist/src/api/firebase/database/index.js +0 -368
  30. package/dist/src/api/firebase/errors.d.ts +0 -15
  31. package/dist/src/api/firebase/errors.js +0 -215
  32. package/dist/src/api/firebase/firestore/data-types.d.ts +0 -116
  33. package/dist/src/api/firebase/firestore/data-types.js +0 -280
  34. package/dist/src/api/firebase/firestore/index.d.ts +0 -7
  35. package/dist/src/api/firebase/firestore/index.js +0 -13
  36. package/dist/src/api/firebase/firestore/listeners.d.ts +0 -20
  37. package/dist/src/api/firebase/firestore/listeners.js +0 -50
  38. package/dist/src/api/firebase/firestore/operations.d.ts +0 -123
  39. package/dist/src/api/firebase/firestore/operations.js +0 -490
  40. package/dist/src/api/firebase/firestore/query.d.ts +0 -118
  41. package/dist/src/api/firebase/firestore/query.js +0 -418
  42. package/dist/src/api/firebase/index.d.ts +0 -11
  43. package/dist/src/api/firebase/index.js +0 -17
  44. package/dist/src/api/firebase/storage/index.d.ts +0 -100
  45. package/dist/src/api/firebase/storage/index.js +0 -286
  46. package/dist/src/api/firebase/types.d.ts +0 -341
  47. package/dist/src/api/firebase/types.js +0 -4
  48. package/dist/src/auth/manager.d.ts +0 -182
  49. package/dist/src/auth/manager.js +0 -598
  50. package/dist/src/engine/ai.js +0 -76
  51. package/dist/src/engine/sqlite.d.ts +0 -353
  52. package/dist/src/engine/sqlite.js +0 -1328
  53. package/dist/src/engine/vec_extension.d.ts +0 -5
  54. package/dist/src/engine/vec_extension.js +0 -10
  55. package/dist/src/index.d.ts +0 -21
  56. package/dist/src/index.js +0 -26
  57. package/dist/src/mcp/server.js +0 -87
  58. package/dist/src/reactivity/signal.js +0 -31
  59. package/dist/src/schema/lens.d.ts +0 -29
  60. package/dist/src/schema/lens.js +0 -122
  61. package/dist/src/sync/AeonDurableSync.js +0 -67
  62. package/dist/src/sync/AutomergeProvider.js +0 -153
  63. package/dist/src/sync/aeon/config.d.ts +0 -21
  64. package/dist/src/sync/aeon/config.js +0 -14
  65. package/dist/src/sync/aeon/delta-adapter.d.ts +0 -62
  66. package/dist/src/sync/aeon/delta-adapter.js +0 -98
  67. package/dist/src/sync/aeon/index.d.ts +0 -18
  68. package/dist/src/sync/aeon/index.js +0 -19
  69. package/dist/src/sync/aeon/offline-adapter.d.ts +0 -110
  70. package/dist/src/sync/aeon/offline-adapter.js +0 -227
  71. package/dist/src/sync/aeon/presence-adapter.d.ts +0 -114
  72. package/dist/src/sync/aeon/presence-adapter.js +0 -157
  73. package/dist/src/sync/aeon/schema-adapter.d.ts +0 -95
  74. package/dist/src/sync/aeon/schema-adapter.js +0 -163
  75. package/dist/src/sync/backup.d.ts +0 -12
  76. package/dist/src/sync/backup.js +0 -44
  77. package/dist/src/sync/connection.d.ts +0 -20
  78. package/dist/src/sync/connection.js +0 -50
  79. package/dist/src/sync/d1-provider.d.ts +0 -103
  80. package/dist/src/sync/d1-provider.js +0 -418
  81. package/dist/src/sync/hybrid-provider.d.ts +0 -307
  82. package/dist/src/sync/hybrid-provider.js +0 -1353
  83. package/dist/src/sync/provider.d.ts +0 -11
  84. package/dist/src/sync/provider.js +0 -67
  85. package/dist/src/sync/types.d.ts +0 -32
  86. package/dist/src/sync/types.js +0 -4
  87. package/dist/src/sync/verify.d.ts +0 -1
  88. package/dist/src/sync/verify.js +0 -23
  89. package/dist/tsconfig.tsbuildinfo +0 -1
  90. /package/dist/{src/engine → engine}/ai.d.ts +0 -0
  91. /package/dist/{src/mcp → mcp}/server.d.ts +0 -0
  92. /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
+ }