@edryslabs/genericprovider 1.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 (63) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +660 -0
  3. package/dist/index.d.ts +323 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +1001 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib.d.ts +36 -0
  8. package/dist/lib.d.ts.map +1 -0
  9. package/dist/lib.js +37 -0
  10. package/dist/lib.js.map +1 -0
  11. package/dist/providers/dummy/index.d.ts +226 -0
  12. package/dist/providers/dummy/index.d.ts.map +1 -0
  13. package/dist/providers/dummy/index.js +326 -0
  14. package/dist/providers/dummy/index.js.map +1 -0
  15. package/dist/providers/gun/index.d.ts +269 -0
  16. package/dist/providers/gun/index.d.ts.map +1 -0
  17. package/dist/providers/gun/index.js +683 -0
  18. package/dist/providers/gun/index.js.map +1 -0
  19. package/dist/providers/indexeddb/index.d.ts +161 -0
  20. package/dist/providers/indexeddb/index.d.ts.map +1 -0
  21. package/dist/providers/indexeddb/index.js +369 -0
  22. package/dist/providers/indexeddb/index.js.map +1 -0
  23. package/dist/providers/matrix/index.d.ts +109 -0
  24. package/dist/providers/matrix/index.d.ts.map +1 -0
  25. package/dist/providers/matrix/index.js +329 -0
  26. package/dist/providers/matrix/index.js.map +1 -0
  27. package/dist/providers/nostr/index.d.ts +172 -0
  28. package/dist/providers/nostr/index.d.ts.map +1 -0
  29. package/dist/providers/nostr/index.js +280 -0
  30. package/dist/providers/nostr/index.js.map +1 -0
  31. package/dist/providers/peerjs/index.d.ts +231 -0
  32. package/dist/providers/peerjs/index.d.ts.map +1 -0
  33. package/dist/providers/peerjs/index.js +1038 -0
  34. package/dist/providers/peerjs/index.js.map +1 -0
  35. package/dist/providers/pubnub/index.d.ts +106 -0
  36. package/dist/providers/pubnub/index.d.ts.map +1 -0
  37. package/dist/providers/pubnub/index.js +357 -0
  38. package/dist/providers/pubnub/index.js.map +1 -0
  39. package/dist/providers/simple-peer/index.d.ts +253 -0
  40. package/dist/providers/simple-peer/index.d.ts.map +1 -0
  41. package/dist/providers/simple-peer/index.js +783 -0
  42. package/dist/providers/simple-peer/index.js.map +1 -0
  43. package/dist/providers/supabase/index.d.ts +80 -0
  44. package/dist/providers/supabase/index.d.ts.map +1 -0
  45. package/dist/providers/supabase/index.js +202 -0
  46. package/dist/providers/supabase/index.js.map +1 -0
  47. package/dist/providers/trystero/index.d.ts +181 -0
  48. package/dist/providers/trystero/index.d.ts.map +1 -0
  49. package/dist/providers/trystero/index.js +187 -0
  50. package/dist/providers/trystero/index.js.map +1 -0
  51. package/dist/providers/websocket/index.d.ts +92 -0
  52. package/dist/providers/websocket/index.d.ts.map +1 -0
  53. package/dist/providers/websocket/index.js +272 -0
  54. package/dist/providers/websocket/index.js.map +1 -0
  55. package/dist/sync-monitor.d.ts +90 -0
  56. package/dist/sync-monitor.d.ts.map +1 -0
  57. package/dist/sync-monitor.js +149 -0
  58. package/dist/sync-monitor.js.map +1 -0
  59. package/dist/transport.d.ts +116 -0
  60. package/dist/transport.d.ts.map +1 -0
  61. package/dist/transport.js +2 -0
  62. package/dist/transport.js.map +1 -0
  63. package/package.json +137 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/simple-peer/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import type { Transport, ConnectionConfig } from '../../transport';
2
+ /**
3
+ * Options passed to the SupabaseTransport constructor.
4
+ *
5
+ * The `createClient` function must be supplied by the caller so that the
6
+ * transport works with the Supabase JS library loaded from any source
7
+ * (CDN, ESM import, or otherwise) without bundling it as a hard dependency.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * // CDN usage — supabase global is exposed by the <script> tag
12
+ * const transport = new SupabaseTransport({
13
+ * createClient: (globalThis as any).supabase.createClient,
14
+ * })
15
+ * ```
16
+ */
17
+ export interface SupabaseTransportOptions {
18
+ /** The `createClient` function from the Supabase JS library. */
19
+ createClient: (url: string, key: string) => any;
20
+ }
21
+ /**
22
+ * Supabase transport configuration
23
+ */
24
+ export interface SupabaseConfig extends ConnectionConfig {
25
+ /** Supabase project URL (required) e.g., 'https://xxxxx.supabase.co' */
26
+ supabaseUrl: string;
27
+ /** Supabase anon/public key (required) */
28
+ supabaseKey: string;
29
+ /** Room/channel name for collaboration (required) */
30
+ room: string;
31
+ /** Optional password to secure the room */
32
+ password?: string;
33
+ /** Enable debug logging */
34
+ debug?: boolean;
35
+ }
36
+ /**
37
+ * Supabase Transport for Yjs
38
+ *
39
+ * Provides real-time synchronization using Supabase Realtime channels.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * import * as Y from 'yjs'
44
+ * import { GenericProvider } from 'y-generic'
45
+ * import { SupabaseTransport } from 'y-generic/providers/supabase'
46
+ *
47
+ * const doc = new Y.Doc()
48
+ * const transport = new SupabaseTransport({
49
+ * createClient: (globalThis as any).supabase.createClient,
50
+ * })
51
+ * const provider = new GenericProvider(doc, transport)
52
+ *
53
+ * await provider.connect({
54
+ * supabaseUrl: 'https://xxxxx.supabase.co',
55
+ * supabaseKey: 'your-anon-key',
56
+ * room: 'my-room',
57
+ * })
58
+ * ```
59
+ */
60
+ export declare class SupabaseTransport implements Transport {
61
+ private readonly options;
62
+ private supabase;
63
+ private channel;
64
+ private config;
65
+ private messageCallback?;
66
+ private _isConnected;
67
+ private debug;
68
+ private roomId;
69
+ constructor(options: SupabaseTransportOptions);
70
+ get isConnected(): boolean;
71
+ connect(config: SupabaseConfig): Promise<void>;
72
+ disconnect(): Promise<void>;
73
+ send(data: Uint8Array): void;
74
+ onMessage(callback: (data: Uint8Array) => void): () => void;
75
+ private handleMessage;
76
+ private uint8ArrayToBase64;
77
+ private base64ToUint8Array;
78
+ private log;
79
+ }
80
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/supabase/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMlE;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAA;CAChD;AA2DD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IASrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAa;gBAEE,OAAO,EAAE,wBAAwB;IAE9D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAoB5B,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAW3D,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,GAAG;CAKZ"}
@@ -0,0 +1,202 @@
1
+ // ---------------------------------------------------------------------------
2
+ // CRC32 helpers (GenericProvider wraps messages with CRC32 header)
3
+ // ---------------------------------------------------------------------------
4
+ const _CRC32_TABLE = (() => {
5
+ const table = new Uint32Array(256);
6
+ for (let i = 0; i < 256; i++) {
7
+ let c = i;
8
+ for (let j = 0; j < 8; j++)
9
+ c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
10
+ table[i] = c;
11
+ }
12
+ return table;
13
+ })();
14
+ function _crc32(data) {
15
+ let crc = 0xffffffff;
16
+ for (let i = 0; i < data.length; i++)
17
+ crc = (crc >>> 8) ^ _CRC32_TABLE[(crc ^ data[i]) & 0xff];
18
+ return (crc ^ 0xffffffff) >>> 0;
19
+ }
20
+ /** Add a valid CRC32 header so GenericProvider accepts the message. */
21
+ function addCRC32Header(data) {
22
+ const crc = _crc32(data);
23
+ const wrapped = new Uint8Array(4 + data.length);
24
+ wrapped[0] = (crc >>> 24) & 0xff;
25
+ wrapped[1] = (crc >>> 16) & 0xff;
26
+ wrapped[2] = (crc >>> 8) & 0xff;
27
+ wrapped[3] = crc & 0xff;
28
+ wrapped.set(data, 4);
29
+ return wrapped;
30
+ }
31
+ /** Strip the 4-byte CRC32 header that GenericProvider prepends. */
32
+ function stripCRC32Header(data) {
33
+ return data.length >= 4 ? data.subarray(4) : data;
34
+ }
35
+ // ---------------------------------------------------------------------------
36
+ // Password hashing helper (simple hash for channel name obfuscation)
37
+ // ---------------------------------------------------------------------------
38
+ async function hashPassword(password) {
39
+ const encoder = new TextEncoder();
40
+ const data = encoder.encode(password);
41
+ const hashBuffer = await crypto.subtle.digest('SHA-256', data);
42
+ const hashArray = Array.from(new Uint8Array(hashBuffer));
43
+ return hashArray
44
+ .map((b) => b.toString(16).padStart(2, '0'))
45
+ .join('')
46
+ .substring(0, 16);
47
+ }
48
+ // ---------------------------------------------------------------------------
49
+ // Supabase Transport Implementation
50
+ // ---------------------------------------------------------------------------
51
+ /**
52
+ * Supabase Transport for Yjs
53
+ *
54
+ * Provides real-time synchronization using Supabase Realtime channels.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import * as Y from 'yjs'
59
+ * import { GenericProvider } from 'y-generic'
60
+ * import { SupabaseTransport } from 'y-generic/providers/supabase'
61
+ *
62
+ * const doc = new Y.Doc()
63
+ * const transport = new SupabaseTransport({
64
+ * createClient: (globalThis as any).supabase.createClient,
65
+ * })
66
+ * const provider = new GenericProvider(doc, transport)
67
+ *
68
+ * await provider.connect({
69
+ * supabaseUrl: 'https://xxxxx.supabase.co',
70
+ * supabaseKey: 'your-anon-key',
71
+ * room: 'my-room',
72
+ * })
73
+ * ```
74
+ */
75
+ export class SupabaseTransport {
76
+ constructor(options) {
77
+ this.options = options;
78
+ this.supabase = null;
79
+ this.channel = null;
80
+ this.config = null;
81
+ this._isConnected = false;
82
+ this.debug = false;
83
+ this.roomId = '';
84
+ }
85
+ get isConnected() {
86
+ return this._isConnected;
87
+ }
88
+ async connect(config) {
89
+ this.config = config;
90
+ this.debug = config.debug || false;
91
+ if (!config.supabaseUrl || !config.supabaseKey) {
92
+ throw new Error('SupabaseTransport: supabaseUrl and supabaseKey are required');
93
+ }
94
+ if (!config.room) {
95
+ throw new Error('SupabaseTransport: room name is required');
96
+ }
97
+ // Create Supabase client using the injected createClient function
98
+ this.supabase = this.options.createClient(config.supabaseUrl, config.supabaseKey);
99
+ // Generate room ID (with optional password hashing)
100
+ this.roomId = config.password
101
+ ? `${config.room}-${await hashPassword(config.password)}`
102
+ : config.room;
103
+ this.log('Connecting to room:', this.roomId);
104
+ // Create and subscribe to channel
105
+ this.channel = this.supabase.channel(this.roomId);
106
+ // Listen for messages
107
+ this.channel.on('broadcast', { event: 'message' }, (payload) => {
108
+ this.handleMessage(payload.payload);
109
+ });
110
+ // Subscribe to channel
111
+ await new Promise((resolve, reject) => {
112
+ const timeout = setTimeout(() => {
113
+ reject(new Error('Supabase channel subscription timeout'));
114
+ }, 10000);
115
+ this.channel.subscribe((status) => {
116
+ clearTimeout(timeout);
117
+ if (status === 'SUBSCRIBED') {
118
+ this._isConnected = true;
119
+ this.log('Connected to Supabase channel');
120
+ resolve();
121
+ }
122
+ else if (status === 'CHANNEL_ERROR' || status === 'TIMED_OUT') {
123
+ reject(new Error(`Supabase subscription failed: ${status}`));
124
+ }
125
+ });
126
+ });
127
+ }
128
+ async disconnect() {
129
+ this.log('Disconnecting...');
130
+ if (this.channel) {
131
+ await this.channel.unsubscribe();
132
+ this.channel = null;
133
+ }
134
+ this._isConnected = false;
135
+ this.supabase = null;
136
+ this.config = null;
137
+ this.messageCallback = undefined;
138
+ }
139
+ send(data) {
140
+ if (!this._isConnected || !this.channel) {
141
+ this.log('Cannot send: not connected');
142
+ return;
143
+ }
144
+ // Strip CRC32 header before sending
145
+ const payload = stripCRC32Header(data);
146
+ // Convert Uint8Array to base64 for JSON transport
147
+ const base64 = this.uint8ArrayToBase64(payload);
148
+ // Broadcast to channel
149
+ this.channel.send({
150
+ type: 'broadcast',
151
+ event: 'message',
152
+ payload: base64,
153
+ });
154
+ }
155
+ onMessage(callback) {
156
+ this.messageCallback = callback;
157
+ return () => {
158
+ this.messageCallback = undefined;
159
+ };
160
+ }
161
+ // ---------------------------------------------------------------------------
162
+ // Private methods
163
+ // ---------------------------------------------------------------------------
164
+ handleMessage(payload) {
165
+ if (!this.messageCallback)
166
+ return;
167
+ try {
168
+ // Convert base64 back to Uint8Array
169
+ const data = typeof payload === 'string'
170
+ ? this.base64ToUint8Array(payload)
171
+ : new Uint8Array(0);
172
+ // Add CRC32 header for GenericProvider
173
+ const wrapped = addCRC32Header(data);
174
+ this.messageCallback(wrapped);
175
+ }
176
+ catch (error) {
177
+ this.log('Error handling message:', error);
178
+ }
179
+ }
180
+ // Utility methods for base64 conversion
181
+ uint8ArrayToBase64(data) {
182
+ let binary = '';
183
+ for (let i = 0; i < data.length; i++) {
184
+ binary += String.fromCharCode(data[i]);
185
+ }
186
+ return btoa(binary);
187
+ }
188
+ base64ToUint8Array(base64) {
189
+ const binary = atob(base64);
190
+ const bytes = new Uint8Array(binary.length);
191
+ for (let i = 0; i < binary.length; i++) {
192
+ bytes[i] = binary.charCodeAt(i);
193
+ }
194
+ return bytes;
195
+ }
196
+ log(...args) {
197
+ if (this.debug) {
198
+ console.log('[SupabaseTransport]', ...args);
199
+ }
200
+ }
201
+ }
202
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/supabase/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Trystero Transport Provider
3
+ *
4
+ * Serverless peer-to-peer transport using Trystero with multiple strategies.
5
+ * Trystero uses decentralized infrastructure for peer discovery while keeping
6
+ * all data transmission direct and end-to-end encrypted.
7
+ *
8
+ * Features:
9
+ * - Zero server setup required
10
+ * - Multiple strategies: Nostr, BitTorrent, MQTT, Supabase, Firebase, IPFS
11
+ * - End-to-end encrypted P2P connections
12
+ * - Automatic chunking and serialization
13
+ * - Session encryption via AES-GCM
14
+ * - Optional TURN server support
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { GenericProvider } from 'y-generic'
19
+ * import { TrysteroTransport } from 'y-generic/providers/trystero'
20
+ * import { joinRoom } from 'trystero/nostr' // or other strategy
21
+ *
22
+ * const doc = new Y.Doc()
23
+ * const transport = new TrysteroTransport({
24
+ * joinRoom,
25
+ * appId: 'my-unique-app-id'
26
+ * })
27
+ * const provider = new GenericProvider(doc, transport)
28
+ * await provider.connect({ room: 'my-room' })
29
+ * ```
30
+ */
31
+ import type { Transport, ConnectionConfig } from '../../transport';
32
+ /**
33
+ * Trystero room instance type.
34
+ */
35
+ export interface TrysteroRoom {
36
+ leave: () => void;
37
+ getPeers: () => Record<string, any>;
38
+ onPeerJoin: (callback: (peerId: string) => void) => void;
39
+ onPeerLeave: (callback: (peerId: string) => void) => void;
40
+ makeAction: (actionId: string) => [
41
+ (data: any, targetPeers?: string | string[] | null, metadata?: any, onProgress?: (percent: number, peerId: string) => void) => Promise<void>,
42
+ (callback: (data: any, peerId: string, metadata?: any) => void) => void,
43
+ (callback: (percent: number, peerId: string, metadata?: any) => void) => void
44
+ ];
45
+ ping: (peerId: string) => Promise<number>;
46
+ }
47
+ /**
48
+ * Trystero joinRoom function type.
49
+ */
50
+ export type JoinRoomFunction = (config: TrysteroConfig, roomId: string, onJoinError?: (details: any) => void) => TrysteroRoom;
51
+ /**
52
+ * Trystero configuration object.
53
+ */
54
+ export interface TrysteroConfig {
55
+ appId: string;
56
+ password?: string;
57
+ relayUrls?: string[];
58
+ relayRedundancy?: number;
59
+ rtcConfig?: RTCConfiguration;
60
+ turnConfig?: RTCIceServer[];
61
+ rtcPolyfill?: any;
62
+ supabaseKey?: string;
63
+ firebaseApp?: any;
64
+ rootPath?: string;
65
+ manualRelayReconnection?: boolean;
66
+ }
67
+ /**
68
+ * Configuration options for Trystero transport.
69
+ */
70
+ export interface TrysteroTransportOptions {
71
+ /**
72
+ * The Trystero joinRoom function.
73
+ * Import from specific strategy: trystero/nostr, trystero/torrent, etc.
74
+ * @example
75
+ * ```typescript
76
+ * import { joinRoom } from 'trystero/nostr'
77
+ * const transport = new TrysteroTransport({ joinRoom, appId: 'my-app' })
78
+ * ```
79
+ */
80
+ joinRoom: JoinRoomFunction;
81
+ /**
82
+ * Unique app identifier (required).
83
+ * For Supabase: use project URL
84
+ * For Firebase: use databaseURL
85
+ * @example 'my-app-unique-id-123'
86
+ */
87
+ appId: string;
88
+ /**
89
+ * Optional password for encrypting session descriptions.
90
+ * Must match between all peers to connect.
91
+ * @default undefined
92
+ */
93
+ password?: string;
94
+ /**
95
+ * Custom relay URLs for the strategy.
96
+ * For BitTorrent: tracker URLs
97
+ * For Nostr: relay URLs
98
+ * For MQTT: broker URLs
99
+ * @default undefined (uses strategy defaults)
100
+ */
101
+ relayUrls?: string[];
102
+ /**
103
+ * Number of relays to connect to simultaneously.
104
+ * Ignored if relayUrls is provided.
105
+ * @default undefined
106
+ */
107
+ relayRedundancy?: number;
108
+ /**
109
+ * Custom RTCConfiguration for peer connections.
110
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/RTCConfiguration
111
+ */
112
+ rtcConfig?: RTCConfiguration;
113
+ /**
114
+ * TURN server configuration for NAT traversal.
115
+ * Each item should be an RTCIceServer config.
116
+ * @example [{urls: 'turn:my-turn.server:3478', username: 'user', credential: 'pass'}]
117
+ */
118
+ turnConfig?: RTCIceServer[];
119
+ /**
120
+ * Custom RTCPeerConnection polyfill for server-side usage.
121
+ * @example import { RTCPeerConnection } from 'node-datachannel/polyfill'
122
+ */
123
+ rtcPolyfill?: any;
124
+ /**
125
+ * (Supabase only) Supabase project's anon public API key.
126
+ */
127
+ supabaseKey?: string;
128
+ /**
129
+ * (Firebase only) Firebase app instance.
130
+ */
131
+ firebaseApp?: any;
132
+ /**
133
+ * (Firebase only) Custom root path for matchmaking data.
134
+ * @default '__trystero__'
135
+ */
136
+ rootPath?: string;
137
+ /**
138
+ * (Nostr/BitTorrent only) Disable automatic relay reconnection.
139
+ * @default false
140
+ */
141
+ manualRelayReconnection?: boolean;
142
+ /**
143
+ * Enable debug logging.
144
+ * @default false
145
+ */
146
+ debug?: boolean;
147
+ }
148
+ /**
149
+ * Trystero transport implementation.
150
+ * Creates serverless P2P connections using Trystero library.
151
+ */
152
+ export declare class TrysteroTransport implements Transport {
153
+ private options;
154
+ private _connected;
155
+ private _room;
156
+ private _callback?;
157
+ private room;
158
+ private sendUpdate;
159
+ private peers;
160
+ private onJoinErrorCallback?;
161
+ constructor(options: TrysteroTransportOptions);
162
+ private log;
163
+ get isConnected(): boolean;
164
+ connect(config: ConnectionConfig): Promise<void>;
165
+ disconnect(): void;
166
+ send(data: Uint8Array): Promise<void>;
167
+ onMessage(callback: (data: Uint8Array) => void): () => void;
168
+ /**
169
+ * Set a callback for join errors (optional).
170
+ */
171
+ onJoinError(callback: (details: any) => void): void;
172
+ /**
173
+ * Get the set of connected peer IDs.
174
+ */
175
+ getPeers(): Set<string>;
176
+ /**
177
+ * Ping a peer and get round-trip time in ms.
178
+ */
179
+ ping(peerId: string): Promise<number>;
180
+ }
181
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/trystero/index.ts"],"names":[],"mappings":"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"}