@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.
- package/LICENSE +24 -0
- package/README.md +660 -0
- package/dist/index.d.ts +323 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1001 -0
- package/dist/index.js.map +1 -0
- package/dist/lib.d.ts +36 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +37 -0
- package/dist/lib.js.map +1 -0
- package/dist/providers/dummy/index.d.ts +226 -0
- package/dist/providers/dummy/index.d.ts.map +1 -0
- package/dist/providers/dummy/index.js +326 -0
- package/dist/providers/dummy/index.js.map +1 -0
- package/dist/providers/gun/index.d.ts +269 -0
- package/dist/providers/gun/index.d.ts.map +1 -0
- package/dist/providers/gun/index.js +683 -0
- package/dist/providers/gun/index.js.map +1 -0
- package/dist/providers/indexeddb/index.d.ts +161 -0
- package/dist/providers/indexeddb/index.d.ts.map +1 -0
- package/dist/providers/indexeddb/index.js +369 -0
- package/dist/providers/indexeddb/index.js.map +1 -0
- package/dist/providers/matrix/index.d.ts +109 -0
- package/dist/providers/matrix/index.d.ts.map +1 -0
- package/dist/providers/matrix/index.js +329 -0
- package/dist/providers/matrix/index.js.map +1 -0
- package/dist/providers/nostr/index.d.ts +172 -0
- package/dist/providers/nostr/index.d.ts.map +1 -0
- package/dist/providers/nostr/index.js +280 -0
- package/dist/providers/nostr/index.js.map +1 -0
- package/dist/providers/peerjs/index.d.ts +231 -0
- package/dist/providers/peerjs/index.d.ts.map +1 -0
- package/dist/providers/peerjs/index.js +1038 -0
- package/dist/providers/peerjs/index.js.map +1 -0
- package/dist/providers/pubnub/index.d.ts +106 -0
- package/dist/providers/pubnub/index.d.ts.map +1 -0
- package/dist/providers/pubnub/index.js +357 -0
- package/dist/providers/pubnub/index.js.map +1 -0
- package/dist/providers/simple-peer/index.d.ts +253 -0
- package/dist/providers/simple-peer/index.d.ts.map +1 -0
- package/dist/providers/simple-peer/index.js +783 -0
- package/dist/providers/simple-peer/index.js.map +1 -0
- package/dist/providers/supabase/index.d.ts +80 -0
- package/dist/providers/supabase/index.d.ts.map +1 -0
- package/dist/providers/supabase/index.js +202 -0
- package/dist/providers/supabase/index.js.map +1 -0
- package/dist/providers/trystero/index.d.ts +181 -0
- package/dist/providers/trystero/index.d.ts.map +1 -0
- package/dist/providers/trystero/index.js +187 -0
- package/dist/providers/trystero/index.js.map +1 -0
- package/dist/providers/websocket/index.d.ts +92 -0
- package/dist/providers/websocket/index.d.ts.map +1 -0
- package/dist/providers/websocket/index.js +272 -0
- package/dist/providers/websocket/index.js.map +1 -0
- package/dist/sync-monitor.d.ts +90 -0
- package/dist/sync-monitor.d.ts.map +1 -0
- package/dist/sync-monitor.js +149 -0
- package/dist/sync-monitor.js.map +1 -0
- package/dist/transport.d.ts +116 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +2 -0
- package/dist/transport.js.map +1 -0
- 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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"}
|