dropspace 0.0.0-stage → 0.1.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 (67) hide show
  1. package/README.md +17 -2
  2. package/dist/automerge/index.d.ts +108 -0
  3. package/dist/automerge/index.d.ts.map +1 -0
  4. package/dist/automerge/index.js +437 -0
  5. package/dist/automerge/index.js.map +1 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +372 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/client/channel.d.ts +153 -0
  11. package/dist/client/channel.d.ts.map +1 -0
  12. package/dist/client/channel.js +704 -0
  13. package/dist/client/channel.js.map +1 -0
  14. package/dist/client/client.d.ts +376 -0
  15. package/dist/client/client.d.ts.map +1 -0
  16. package/dist/client/client.js +1421 -0
  17. package/dist/client/client.js.map +1 -0
  18. package/dist/client/events.d.ts +14 -0
  19. package/dist/client/events.d.ts.map +1 -0
  20. package/dist/client/events.js +71 -0
  21. package/dist/client/events.js.map +1 -0
  22. package/dist/client/identity.d.ts +89 -0
  23. package/dist/client/identity.d.ts.map +1 -0
  24. package/dist/client/identity.js +274 -0
  25. package/dist/client/identity.js.map +1 -0
  26. package/dist/client/index.d.ts +8 -0
  27. package/dist/client/index.d.ts.map +1 -0
  28. package/dist/client/index.js +8 -0
  29. package/dist/client/index.js.map +1 -0
  30. package/dist/client/peer-connection.d.ts +190 -0
  31. package/dist/client/peer-connection.d.ts.map +1 -0
  32. package/dist/client/peer-connection.js +647 -0
  33. package/dist/client/peer-connection.js.map +1 -0
  34. package/dist/client/peer-selection.d.ts +70 -0
  35. package/dist/client/peer-selection.d.ts.map +1 -0
  36. package/dist/client/peer-selection.js +193 -0
  37. package/dist/client/peer-selection.js.map +1 -0
  38. package/dist/client/storage.d.ts +118 -0
  39. package/dist/client/storage.d.ts.map +1 -0
  40. package/dist/client/storage.js +463 -0
  41. package/dist/client/storage.js.map +1 -0
  42. package/dist/files/index.d.ts +140 -0
  43. package/dist/files/index.d.ts.map +1 -0
  44. package/dist/files/index.js +751 -0
  45. package/dist/files/index.js.map +1 -0
  46. package/dist/files/sha256.d.ts +24 -0
  47. package/dist/files/sha256.d.ts.map +1 -0
  48. package/dist/files/sha256.js +147 -0
  49. package/dist/files/sha256.js.map +1 -0
  50. package/dist/index.d.ts +4 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +4 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/protocol/envelope.d.ts +61 -0
  55. package/dist/protocol/envelope.d.ts.map +1 -0
  56. package/dist/protocol/envelope.js +268 -0
  57. package/dist/protocol/envelope.js.map +1 -0
  58. package/dist/protocol/framing.d.ts +69 -0
  59. package/dist/protocol/framing.d.ts.map +1 -0
  60. package/dist/protocol/framing.js +145 -0
  61. package/dist/protocol/framing.js.map +1 -0
  62. package/dist/protocol/index.d.ts +3 -0
  63. package/dist/protocol/index.d.ts.map +1 -0
  64. package/dist/protocol/index.js +3 -0
  65. package/dist/protocol/index.js.map +1 -0
  66. package/fixtures/envelopes.json +132 -0
  67. package/package.json +51 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/client/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,376 @@
1
+ import { type CryptoAlgorithm, type ErrorCode, type PairingState, type PeerPresence, type PermissionScope, type SignalingEnvelope, type DecodedWireFrame } from "../protocol/index.js";
2
+ import { type DeviceIdentity, type IdentityStorageAdapter } from "./identity.js";
3
+ import { TypedEventEmitter } from "./events.js";
4
+ import { SmartPeerSelector, type PeerSelectionDecision, type PeerSelectionQuery } from "./peer-selection.js";
5
+ import { ManagedPeerSession, type PeerConnectionFactory, type PeerConnectionLifecycleState } from "./peer-connection.js";
6
+ import type { IncomingMessageEvent, SendMessageOptions } from "./channel.js";
7
+ export type SignalingLifecycleState = "disconnected" | "connecting" | "authenticating" | "connected" | "reconnecting" | "closed";
8
+ export interface WebSocketLike {
9
+ readyState: number;
10
+ send(data: string): void;
11
+ close(code?: number, reason?: string): void;
12
+ addEventListener(type: string, listener: (ev: any) => void): void;
13
+ removeEventListener(type: string, listener: (ev: any) => void): void;
14
+ }
15
+ export type WebSocketFactory = (url: string) => WebSocketLike;
16
+ export interface TrustedPeer {
17
+ pairingId: string;
18
+ spaceId: string;
19
+ peerDeviceId: string;
20
+ peerLabel: string;
21
+ peerPublicKey: string;
22
+ peerAlgorithm: CryptoAlgorithm;
23
+ peerFingerprint: string;
24
+ permissions: PermissionScope[];
25
+ createdAt: number;
26
+ }
27
+ export interface PairingInvite {
28
+ pairingId: string;
29
+ spaceId: string;
30
+ inviteToken: string;
31
+ deepLink: string;
32
+ state: PairingState;
33
+ permissions: PermissionScope[];
34
+ expiresAt: number;
35
+ }
36
+ export interface PairingClaimResult {
37
+ pairingId: string;
38
+ spaceId: string;
39
+ creatorDeviceId: string;
40
+ state: PairingState;
41
+ requestedPermissions: PermissionScope[];
42
+ expiresAt: number;
43
+ }
44
+ export interface PairingApprovalRequest {
45
+ pairingId: string;
46
+ spaceId: string;
47
+ claimerDeviceId: string;
48
+ claimerLabel: string;
49
+ claimerPublicKey: string;
50
+ claimerAlgorithm: CryptoAlgorithm;
51
+ claimerFingerprint: string;
52
+ requestedPermissions: PermissionScope[];
53
+ expiresAt: number;
54
+ }
55
+ export interface RevocationEvent {
56
+ revocationId?: string;
57
+ spaceId: string;
58
+ revokedDeviceId: string;
59
+ pairingId?: string;
60
+ revokedByDeviceId: string;
61
+ revokedAt: number;
62
+ reason: string;
63
+ }
64
+ export interface DebugLogEntry {
65
+ timestamp: number;
66
+ category: "signaling" | "webrtc" | "pairing" | "selection" | "hub" | "security";
67
+ summary: string;
68
+ details?: Record<string, unknown>;
69
+ }
70
+ export type DropspaceClientEvents = {
71
+ signalingStateChange: {
72
+ previousState: SignalingLifecycleState;
73
+ state: SignalingLifecycleState;
74
+ sessionId: string | null;
75
+ generation: number;
76
+ reason: string;
77
+ };
78
+ peerStateChange: {
79
+ peerDeviceId: string;
80
+ previousState: PeerConnectionLifecycleState;
81
+ state: PeerConnectionLifecycleState;
82
+ generation: number;
83
+ connectionId: string;
84
+ reason: string;
85
+ };
86
+ presenceSnapshot: {
87
+ spaceId: string;
88
+ hubDeviceId: string | null;
89
+ peers: PeerPresence[];
90
+ revocations: RevocationEvent[];
91
+ };
92
+ presenceUpdate: {
93
+ spaceId: string;
94
+ status: "online" | "offline" | "updated";
95
+ peer: PeerPresence;
96
+ };
97
+ pairingAwaitingApproval: PairingApprovalRequest;
98
+ pairingAccepted: TrustedPeer;
99
+ pairingStatusChanged: {
100
+ pairingId: string;
101
+ spaceId: string;
102
+ state: PairingState;
103
+ };
104
+ revocationNotice: RevocationEvent;
105
+ hubChanged: {
106
+ spaceId: string;
107
+ hubDeviceId: string | null;
108
+ updatedBy: string;
109
+ updatedAt: number;
110
+ };
111
+ hubStatusChange: {
112
+ spaceId: string;
113
+ hubDeviceId: string;
114
+ reachable: boolean;
115
+ };
116
+ message: IncomingMessageEvent;
117
+ transferFrame: {
118
+ peerDeviceId: string;
119
+ frame: DecodedWireFrame;
120
+ };
121
+ crdtFrame: {
122
+ peerDeviceId: string;
123
+ frame: DecodedWireFrame;
124
+ };
125
+ debugEvent: DebugLogEntry;
126
+ error: {
127
+ code: ErrorCode | string;
128
+ message: string;
129
+ retryable: boolean;
130
+ retryAfterMs?: number;
131
+ };
132
+ };
133
+ export declare class DropspaceError extends Error {
134
+ readonly code: ErrorCode | string;
135
+ readonly retryable: boolean;
136
+ readonly retryAfterMs?: number;
137
+ readonly status?: number;
138
+ constructor(code: ErrorCode | string, message: string, opts?: {
139
+ retryable?: boolean;
140
+ retryAfterMs?: number;
141
+ status?: number;
142
+ });
143
+ }
144
+ export interface AppCapabilities {
145
+ appId: string;
146
+ mode: "hosted" | "self_host" | string;
147
+ environment: string;
148
+ authPolicy: "public_client" | "backend_authorized" | string;
149
+ status: "active" | "disabled" | string;
150
+ publicPlaygroundEnabled: boolean;
151
+ limits: {
152
+ maxActiveSessions: number;
153
+ maxSessionsPerDevice: number;
154
+ maxPeersPerSpace: number;
155
+ maxSpaces: number;
156
+ spaceTtlMs: number;
157
+ maxSignalingMsgsPerWindow: number;
158
+ maxSignalingBytesPerWindow: number;
159
+ maxPairingCreatesPerWindow: number;
160
+ maxPairingClaimsPerWindow: number;
161
+ maxAuthChallengesPerWindow: number;
162
+ maxWsFrameBytes: number;
163
+ turnEnabled: boolean;
164
+ turnTtlSeconds: number;
165
+ turnMaxCredentialsPerWindow: number;
166
+ turnMaxConcurrentAllocations: number;
167
+ hubEnabled: boolean;
168
+ hubMaxConcurrentTransfers: number;
169
+ hubMaxBandwidthBps: number;
170
+ };
171
+ }
172
+ export interface CreateDropspaceClientOptions {
173
+ /** Base HTTP URL of the Core service, e.g. `http://127.0.0.1:4000` */
174
+ coreHttpUrl?: string;
175
+ /** Alias for coreHttpUrl */
176
+ baseUrl?: string;
177
+ /** Public application identifier (optional; defaults to public playground or self-host default) */
178
+ appId?: string;
179
+ /** Callback returning a short-lived backend-authorized JWT access ticket */
180
+ getAccessTicket?: () => Promise<string> | string;
181
+ /** Optional explicit WebSocket URL, defaults to derived `ws(s)://.../ws` */
182
+ coreWsUrl?: string;
183
+ deviceLabel?: string;
184
+ algorithm?: CryptoAlgorithm;
185
+ capabilities?: string[];
186
+ identityStorage?: IdentityStorageAdapter;
187
+ fetchImpl?: typeof fetch;
188
+ webSocketFactory?: WebSocketFactory;
189
+ peerConnectionFactory?: PeerConnectionFactory;
190
+ iceTransportPolicy?: "all" | "relay";
191
+ staticStunUrls?: string[];
192
+ /** Optional Bring-Your-Own TURN/STUN ICE servers (useful when playground TURN quota is limited) */
193
+ byoIceServers?: Array<{
194
+ urls: string | string[];
195
+ username?: string;
196
+ credential?: string;
197
+ }>;
198
+ /** Enable automatic WebRTC connection when a trusted peer comes online */
199
+ autoConnectTrustedPeers?: boolean;
200
+ /** Enable acting as an Explicit Hub relay for spaces where this device is designated hub */
201
+ enableHubRelay?: boolean;
202
+ maxPeers?: number;
203
+ heartbeatIntervalMs?: number;
204
+ disconnectGracePeriodMs?: number;
205
+ iceRestartTimeoutMs?: number;
206
+ connectTimeoutMs?: number;
207
+ maxReconnectAttempts?: number;
208
+ baseBackoffMs?: number;
209
+ }
210
+ export declare class DropspaceClient {
211
+ private readonly options;
212
+ readonly events: TypedEventEmitter<DropspaceClientEvents>;
213
+ readonly peerSelector: SmartPeerSelector;
214
+ private identity;
215
+ private sessionToken;
216
+ private sessionId;
217
+ private sessionGeneration;
218
+ private sessionExpiresAt;
219
+ private defaultSpaceId;
220
+ private turnCredentials;
221
+ private signalingState;
222
+ private ws;
223
+ private manuallyClosed;
224
+ private wsReconnectAttempt;
225
+ private wsReconnectTimer;
226
+ private heartbeatTimer;
227
+ private capabilities;
228
+ private readonly subscribedSpaces;
229
+ private readonly peersBySpace;
230
+ private readonly revokedPeersBySpace;
231
+ private readonly hubBySpace;
232
+ private readonly trustedPeers;
233
+ private readonly peerSessions;
234
+ private readonly peersWentOffline;
235
+ private readonly peerQuality;
236
+ private readonly routeByPeer;
237
+ private readonly pendingRequests;
238
+ private readonly hubSeenRelayIds;
239
+ private readonly debugLogs;
240
+ readonly pairing: {
241
+ createInvite: (opts?: {
242
+ spaceId?: string;
243
+ permissions?: PermissionScope[];
244
+ ttlMs?: number;
245
+ }) => Promise<PairingInvite>;
246
+ claimInvite: (tokenOrDeepLink: string) => Promise<PairingClaimResult>;
247
+ approve: (pairingId: string, grantedPermissions?: PermissionScope[]) => Promise<TrustedPeer>;
248
+ reject: (pairingId: string, reason?: string) => Promise<void>;
249
+ cancel: (pairingId: string) => Promise<void>;
250
+ revoke: (opts: {
251
+ targetDeviceId: string;
252
+ spaceId?: string;
253
+ pairingId?: string;
254
+ reason?: string;
255
+ }) => Promise<void>;
256
+ listTrustedDevices: () => Promise<TrustedPeer[]>;
257
+ };
258
+ readonly devices: {
259
+ subscribeSpace: (spaceId: string) => Promise<void>;
260
+ getPeers: (spaceId?: string) => PeerPresence[];
261
+ updateCapabilities: (caps: string[]) => Promise<void>;
262
+ selectPeer: (query: Omit<PeerSelectionQuery, "spaceId"> & {
263
+ spaceId?: string;
264
+ }) => PeerSelectionDecision;
265
+ setExplicitHub: (spaceId: string, hubDeviceId: string | null) => Promise<void>;
266
+ getSpaceHub: (spaceId?: string) => string | null;
267
+ };
268
+ readonly channels: {
269
+ sendBinary: (peerDeviceId: string, payload: Uint8Array, options?: SendMessageOptions) => Promise<{
270
+ messageId: string;
271
+ ackSemantics?: import("../index.js").AckSemantics;
272
+ }>;
273
+ sendJson: (peerDeviceId: string, value: unknown, options?: SendMessageOptions) => Promise<{
274
+ messageId: string;
275
+ ackSemantics?: import("../index.js").AckSemantics;
276
+ }>;
277
+ };
278
+ constructor(options: CreateDropspaceClientOptions);
279
+ getIdentity(): DeviceIdentity;
280
+ getSessionInfo(): {
281
+ sessionId: string | null;
282
+ generation: number;
283
+ expiresAt: number;
284
+ defaultSpaceId: string | null;
285
+ signalingState: SignalingLifecycleState;
286
+ };
287
+ getDebugLogs(): readonly DebugLogEntry[];
288
+ private redactDebugValue;
289
+ private recordDebug;
290
+ start(signal?: AbortSignal): Promise<DeviceIdentity>;
291
+ private getFetch;
292
+ private getCoreHttpUrl;
293
+ getCapabilities(signal?: AbortSignal): Promise<AppCapabilities>;
294
+ private parseHttpError;
295
+ private isPermanentStopError;
296
+ private authenticateHttpSession;
297
+ private getWsUrl;
298
+ private transitionSignalingState;
299
+ private connectSignalingWebSocket;
300
+ private scheduleSignalingReconnect;
301
+ private startHeartbeat;
302
+ private stopHeartbeat;
303
+ sendSignalingEnvelope(envelope: SignalingEnvelope): Promise<void>;
304
+ private sendSignalingRequest;
305
+ private handleIncomingSignalingEnvelope;
306
+ subscribeSpace(spaceId: string): Promise<void>;
307
+ getSpacePeers(spaceId?: string): PeerPresence[];
308
+ updateCapabilities(capabilities: string[]): Promise<void>;
309
+ selectBestPeer(query: Omit<PeerSelectionQuery, "spaceId"> & {
310
+ spaceId?: string;
311
+ }): PeerSelectionDecision;
312
+ createPairingInvite(opts?: {
313
+ spaceId?: string;
314
+ permissions?: PermissionScope[];
315
+ ttlMs?: number;
316
+ }): Promise<PairingInvite>;
317
+ claimPairingInvite(tokenOrDeepLink: string): Promise<PairingClaimResult>;
318
+ approvePairing(pairingId: string, grantedPermissions?: PermissionScope[]): Promise<TrustedPeer>;
319
+ rejectPairing(pairingId: string, reason?: string): Promise<void>;
320
+ cancelPairing(pairingId: string): Promise<void>;
321
+ revokePeerAccess(opts: {
322
+ targetDeviceId: string;
323
+ spaceId?: string;
324
+ pairingId?: string;
325
+ reason?: string;
326
+ }): Promise<void>;
327
+ listTrustedDevices(): Promise<TrustedPeer[]>;
328
+ setExplicitHub(spaceId: string, hubDeviceId: string | null): Promise<void>;
329
+ getFreshIceServers(): Promise<Array<{
330
+ urls: string | string[];
331
+ username?: string;
332
+ credential?: string;
333
+ }>>;
334
+ private getOrCreateManagedPeerSession;
335
+ /**
336
+ * Handles Explicit Hub forwarding or local delivery of a HUB_RELAY frame (Section 11).
337
+ * Enforces authorization, deduplication, hop limit, and loop prevention.
338
+ */
339
+ private handleHubRelayFrame;
340
+ connect(peerDeviceId: string, options?: {
341
+ spaceId?: string;
342
+ waitForOpen?: boolean;
343
+ timeoutMs?: number;
344
+ }): Promise<ManagedPeerSession>;
345
+ waitForPeerConnected(peerDeviceId: string, timeoutMs?: number): Promise<void>;
346
+ getPeerSession(peerDeviceId: string): ManagedPeerSession | undefined;
347
+ getConnectedPeerIds(): string[];
348
+ sendBinaryMessage(peerDeviceId: string, payload: Uint8Array, options?: SendMessageOptions): Promise<{
349
+ messageId: string;
350
+ ackSemantics?: import("../index.js").AckSemantics;
351
+ }>;
352
+ sendJsonMessage(peerDeviceId: string, value: unknown, options?: SendMessageOptions): Promise<{
353
+ messageId: string;
354
+ ackSemantics?: import("../index.js").AckSemantics;
355
+ }>;
356
+ /**
357
+ * Explicitly closes the client, all peer connections, signaling socket, timers, and listeners.
358
+ * Disables all automatic reconnection loops.
359
+ */
360
+ close(): void;
361
+ hasPeerPermission(peerDeviceId: string, permission: PermissionScope, spaceId?: string): boolean;
362
+ getPeerRouteInfo(peerDeviceId: string): {
363
+ candidateType: "direct" | "relay" | "unknown";
364
+ protocol?: string;
365
+ rttMs?: number;
366
+ } | null;
367
+ getActiveResourceCounts(): {
368
+ listenerCount: number;
369
+ pendingRequests: number;
370
+ activePeerSessions: number;
371
+ hasHeartbeatTimer: boolean;
372
+ hasReconnectTimer: boolean;
373
+ };
374
+ }
375
+ export declare function createClient(options: CreateDropspaceClientOptions): DropspaceClient;
376
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}