@hashtree/worker 0.1.26 → 0.2.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/README.md +16 -16
- package/package.json +23 -19
- package/src/app-runtime.ts +393 -0
- package/src/capabilities/blossomBandwidthTracker.ts +74 -0
- package/src/capabilities/blossomTransport.ts +179 -0
- package/src/capabilities/connectivity.ts +54 -0
- package/src/capabilities/idbStorage.ts +94 -0
- package/src/capabilities/meshRouterStore.ts +426 -0
- package/src/capabilities/rootResolver.ts +497 -0
- package/src/client-id.ts +137 -0
- package/src/client.ts +501 -0
- package/{dist/entry.js → src/entry.ts} +1 -1
- package/src/htree-path.ts +53 -0
- package/src/htree-url.ts +156 -0
- package/src/index.ts +76 -0
- package/src/mediaStreaming.ts +64 -0
- package/src/p2p/boundedQueue.ts +168 -0
- package/src/p2p/errorMessage.ts +6 -0
- package/src/p2p/index.ts +48 -0
- package/src/p2p/lruCache.ts +78 -0
- package/src/p2p/meshQueryRouter.ts +361 -0
- package/src/p2p/protocol.ts +11 -0
- package/src/p2p/queryForwardingMachine.ts +197 -0
- package/src/p2p/signaling.ts +284 -0
- package/src/p2p/uploadRateLimiter.ts +85 -0
- package/src/p2p/webrtcController.ts +1168 -0
- package/src/p2p/webrtcProxy.ts +519 -0
- package/src/privacyGuards.ts +31 -0
- package/src/protocol.ts +124 -0
- package/src/relay/identity.ts +86 -0
- package/src/relay/mediaHandler.ts +1633 -0
- package/src/relay/ndk.ts +590 -0
- package/{dist/iris/nostr-wasm.js → src/relay/nostr-wasm.ts} +4 -1
- package/src/relay/nostr.ts +249 -0
- package/src/relay/protocol.ts +361 -0
- package/src/relay/publicAssetUrl.ts +25 -0
- package/src/relay/rootPathResolver.ts +50 -0
- package/src/relay/shims.d.ts +17 -0
- package/src/relay/signing.ts +332 -0
- package/src/relay/treeRootCache.ts +354 -0
- package/src/relay/treeRootSubscription.ts +577 -0
- package/src/relay/utils/constants.ts +139 -0
- package/src/relay/utils/errorMessage.ts +7 -0
- package/src/relay/utils/lruCache.ts +79 -0
- package/src/relay/webrtc.ts +5 -0
- package/src/relay/webrtcSignaling.ts +108 -0
- package/src/relay/worker.ts +1787 -0
- package/src/relay-client.ts +265 -0
- package/src/relay-entry.ts +1 -0
- package/src/runtime-network.ts +134 -0
- package/src/runtime.ts +153 -0
- package/src/transferableBytes.ts +5 -0
- package/src/tree-root.ts +851 -0
- package/src/types.ts +8 -0
- package/src/worker.ts +975 -0
- package/LICENSE +0 -21
- package/dist/app-runtime.d.ts +0 -60
- package/dist/app-runtime.d.ts.map +0 -1
- package/dist/app-runtime.js +0 -271
- package/dist/app-runtime.js.map +0 -1
- package/dist/capabilities/blossomBandwidthTracker.d.ts +0 -26
- package/dist/capabilities/blossomBandwidthTracker.d.ts.map +0 -1
- package/dist/capabilities/blossomBandwidthTracker.js +0 -53
- package/dist/capabilities/blossomBandwidthTracker.js.map +0 -1
- package/dist/capabilities/blossomTransport.d.ts +0 -22
- package/dist/capabilities/blossomTransport.d.ts.map +0 -1
- package/dist/capabilities/blossomTransport.js +0 -144
- package/dist/capabilities/blossomTransport.js.map +0 -1
- package/dist/capabilities/connectivity.d.ts +0 -3
- package/dist/capabilities/connectivity.d.ts.map +0 -1
- package/dist/capabilities/connectivity.js +0 -49
- package/dist/capabilities/connectivity.js.map +0 -1
- package/dist/capabilities/idbStorage.d.ts +0 -25
- package/dist/capabilities/idbStorage.d.ts.map +0 -1
- package/dist/capabilities/idbStorage.js +0 -73
- package/dist/capabilities/idbStorage.js.map +0 -1
- package/dist/capabilities/meshRouterStore.d.ts +0 -71
- package/dist/capabilities/meshRouterStore.d.ts.map +0 -1
- package/dist/capabilities/meshRouterStore.js +0 -316
- package/dist/capabilities/meshRouterStore.js.map +0 -1
- package/dist/capabilities/rootResolver.d.ts +0 -10
- package/dist/capabilities/rootResolver.d.ts.map +0 -1
- package/dist/capabilities/rootResolver.js +0 -393
- package/dist/capabilities/rootResolver.js.map +0 -1
- package/dist/client-id.d.ts +0 -18
- package/dist/client-id.d.ts.map +0 -1
- package/dist/client-id.js +0 -98
- package/dist/client-id.js.map +0 -1
- package/dist/client.d.ts +0 -61
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -417
- package/dist/client.js.map +0 -1
- package/dist/entry.d.ts +0 -2
- package/dist/entry.d.ts.map +0 -1
- package/dist/entry.js.map +0 -1
- package/dist/htree-path.d.ts +0 -13
- package/dist/htree-path.d.ts.map +0 -1
- package/dist/htree-path.js +0 -38
- package/dist/htree-path.js.map +0 -1
- package/dist/htree-url.d.ts +0 -22
- package/dist/htree-url.d.ts.map +0 -1
- package/dist/htree-url.js +0 -118
- package/dist/htree-url.js.map +0 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- package/dist/iris/identity.d.ts +0 -36
- package/dist/iris/identity.d.ts.map +0 -1
- package/dist/iris/identity.js +0 -78
- package/dist/iris/identity.js.map +0 -1
- package/dist/iris/mediaHandler.d.ts +0 -64
- package/dist/iris/mediaHandler.d.ts.map +0 -1
- package/dist/iris/mediaHandler.js +0 -1285
- package/dist/iris/mediaHandler.js.map +0 -1
- package/dist/iris/ndk.d.ts +0 -96
- package/dist/iris/ndk.d.ts.map +0 -1
- package/dist/iris/ndk.js +0 -502
- package/dist/iris/ndk.js.map +0 -1
- package/dist/iris/nostr-wasm.d.ts +0 -14
- package/dist/iris/nostr-wasm.d.ts.map +0 -1
- package/dist/iris/nostr-wasm.js.map +0 -1
- package/dist/iris/nostr.d.ts +0 -60
- package/dist/iris/nostr.d.ts.map +0 -1
- package/dist/iris/nostr.js +0 -207
- package/dist/iris/nostr.js.map +0 -1
- package/dist/iris/protocol.d.ts +0 -583
- package/dist/iris/protocol.d.ts.map +0 -1
- package/dist/iris/protocol.js +0 -16
- package/dist/iris/protocol.js.map +0 -1
- package/dist/iris/publicAssetUrl.d.ts +0 -6
- package/dist/iris/publicAssetUrl.d.ts.map +0 -1
- package/dist/iris/publicAssetUrl.js +0 -14
- package/dist/iris/publicAssetUrl.js.map +0 -1
- package/dist/iris/rootPathResolver.d.ts +0 -9
- package/dist/iris/rootPathResolver.d.ts.map +0 -1
- package/dist/iris/rootPathResolver.js +0 -32
- package/dist/iris/rootPathResolver.js.map +0 -1
- package/dist/iris/signing.d.ts +0 -50
- package/dist/iris/signing.d.ts.map +0 -1
- package/dist/iris/signing.js +0 -299
- package/dist/iris/signing.js.map +0 -1
- package/dist/iris/treeRootCache.d.ts +0 -86
- package/dist/iris/treeRootCache.d.ts.map +0 -1
- package/dist/iris/treeRootCache.js +0 -269
- package/dist/iris/treeRootCache.js.map +0 -1
- package/dist/iris/treeRootSubscription.d.ts +0 -55
- package/dist/iris/treeRootSubscription.d.ts.map +0 -1
- package/dist/iris/treeRootSubscription.js +0 -479
- package/dist/iris/treeRootSubscription.js.map +0 -1
- package/dist/iris/utils/constants.d.ts +0 -76
- package/dist/iris/utils/constants.d.ts.map +0 -1
- package/dist/iris/utils/constants.js +0 -113
- package/dist/iris/utils/constants.js.map +0 -1
- package/dist/iris/utils/errorMessage.d.ts +0 -5
- package/dist/iris/utils/errorMessage.d.ts.map +0 -1
- package/dist/iris/utils/errorMessage.js +0 -8
- package/dist/iris/utils/errorMessage.js.map +0 -1
- package/dist/iris/utils/lruCache.d.ts +0 -26
- package/dist/iris/utils/lruCache.d.ts.map +0 -1
- package/dist/iris/utils/lruCache.js +0 -66
- package/dist/iris/utils/lruCache.js.map +0 -1
- package/dist/iris/webrtc.d.ts +0 -2
- package/dist/iris/webrtc.d.ts.map +0 -1
- package/dist/iris/webrtc.js +0 -3
- package/dist/iris/webrtc.js.map +0 -1
- package/dist/iris/webrtcSignaling.d.ts +0 -37
- package/dist/iris/webrtcSignaling.d.ts.map +0 -1
- package/dist/iris/webrtcSignaling.js +0 -86
- package/dist/iris/webrtcSignaling.js.map +0 -1
- package/dist/iris/worker.d.ts +0 -12
- package/dist/iris/worker.d.ts.map +0 -1
- package/dist/iris/worker.js +0 -1529
- package/dist/iris/worker.js.map +0 -1
- package/dist/iris-client.d.ts +0 -31
- package/dist/iris-client.d.ts.map +0 -1
- package/dist/iris-client.js +0 -197
- package/dist/iris-client.js.map +0 -1
- package/dist/iris-entry.d.ts +0 -2
- package/dist/iris-entry.d.ts.map +0 -1
- package/dist/iris-entry.js +0 -2
- package/dist/iris-entry.js.map +0 -1
- package/dist/mediaStreaming.d.ts +0 -7
- package/dist/mediaStreaming.d.ts.map +0 -1
- package/dist/mediaStreaming.js +0 -48
- package/dist/mediaStreaming.js.map +0 -1
- package/dist/p2p/boundedQueue.d.ts +0 -79
- package/dist/p2p/boundedQueue.d.ts.map +0 -1
- package/dist/p2p/boundedQueue.js +0 -134
- package/dist/p2p/boundedQueue.js.map +0 -1
- package/dist/p2p/errorMessage.d.ts +0 -5
- package/dist/p2p/errorMessage.d.ts.map +0 -1
- package/dist/p2p/errorMessage.js +0 -7
- package/dist/p2p/errorMessage.js.map +0 -1
- package/dist/p2p/index.d.ts +0 -8
- package/dist/p2p/index.d.ts.map +0 -1
- package/dist/p2p/index.js +0 -6
- package/dist/p2p/index.js.map +0 -1
- package/dist/p2p/lruCache.d.ts +0 -26
- package/dist/p2p/lruCache.d.ts.map +0 -1
- package/dist/p2p/lruCache.js +0 -65
- package/dist/p2p/lruCache.js.map +0 -1
- package/dist/p2p/meshQueryRouter.d.ts +0 -44
- package/dist/p2p/meshQueryRouter.d.ts.map +0 -1
- package/dist/p2p/meshQueryRouter.js +0 -228
- package/dist/p2p/meshQueryRouter.js.map +0 -1
- package/dist/p2p/protocol.d.ts +0 -10
- package/dist/p2p/protocol.d.ts.map +0 -1
- package/dist/p2p/protocol.js +0 -2
- package/dist/p2p/protocol.js.map +0 -1
- package/dist/p2p/queryForwardingMachine.d.ts +0 -46
- package/dist/p2p/queryForwardingMachine.d.ts.map +0 -1
- package/dist/p2p/queryForwardingMachine.js +0 -144
- package/dist/p2p/queryForwardingMachine.js.map +0 -1
- package/dist/p2p/signaling.d.ts +0 -63
- package/dist/p2p/signaling.d.ts.map +0 -1
- package/dist/p2p/signaling.js +0 -185
- package/dist/p2p/signaling.js.map +0 -1
- package/dist/p2p/uploadRateLimiter.d.ts +0 -21
- package/dist/p2p/uploadRateLimiter.d.ts.map +0 -1
- package/dist/p2p/uploadRateLimiter.js +0 -62
- package/dist/p2p/uploadRateLimiter.js.map +0 -1
- package/dist/p2p/webrtcController.d.ts +0 -168
- package/dist/p2p/webrtcController.d.ts.map +0 -1
- package/dist/p2p/webrtcController.js +0 -902
- package/dist/p2p/webrtcController.js.map +0 -1
- package/dist/p2p/webrtcProxy.d.ts +0 -62
- package/dist/p2p/webrtcProxy.d.ts.map +0 -1
- package/dist/p2p/webrtcProxy.js +0 -447
- package/dist/p2p/webrtcProxy.js.map +0 -1
- package/dist/privacyGuards.d.ts +0 -14
- package/dist/privacyGuards.d.ts.map +0 -1
- package/dist/privacyGuards.js +0 -27
- package/dist/privacyGuards.js.map +0 -1
- package/dist/protocol.d.ts +0 -225
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -2
- package/dist/protocol.js.map +0 -1
- package/dist/runtime-network.d.ts +0 -23
- package/dist/runtime-network.d.ts.map +0 -1
- package/dist/runtime-network.js +0 -105
- package/dist/runtime-network.js.map +0 -1
- package/dist/runtime.d.ts +0 -23
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js +0 -122
- package/dist/runtime.js.map +0 -1
- package/dist/tree-root.d.ts +0 -201
- package/dist/tree-root.d.ts.map +0 -1
- package/dist/tree-root.js +0 -632
- package/dist/tree-root.js.map +0 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/dist/worker.d.ts +0 -9
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -797
- package/dist/worker.js.map +0 -1
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worker WebRTC Controller
|
|
3
|
-
*
|
|
4
|
-
* Controls WebRTC connections from the worker thread.
|
|
5
|
-
* Main thread proxy executes RTCPeerConnection operations.
|
|
6
|
-
*
|
|
7
|
-
* Worker owns:
|
|
8
|
-
* - Peer state tracking
|
|
9
|
-
* - Connection lifecycle decisions
|
|
10
|
-
* - Data protocol (request/response)
|
|
11
|
-
* - Signaling message handling
|
|
12
|
-
*
|
|
13
|
-
* Main thread proxy owns:
|
|
14
|
-
* - RTCPeerConnection instances (not available in workers)
|
|
15
|
-
* - Data channel I/O
|
|
16
|
-
*/
|
|
17
|
-
import type { Store } from '@hashtree/core';
|
|
18
|
-
import type { WebRTCCommand, WebRTCEvent } from './protocol.js';
|
|
19
|
-
import { type SignalingMessage, type PeerPool, type SelectionStrategy, type RequestDispatchConfig } from '@hashtree/nostr';
|
|
20
|
-
export interface WebRTCControllerConfig {
|
|
21
|
-
pubkey: string;
|
|
22
|
-
localStore: Store;
|
|
23
|
-
sendCommand: (cmd: WebRTCCommand) => void;
|
|
24
|
-
sendSignaling: (msg: SignalingMessage, recipientPubkey?: string) => Promise<void>;
|
|
25
|
-
upstreamFetch?: (hash: Uint8Array) => Promise<Uint8Array | null>;
|
|
26
|
-
getFollows?: () => Set<string>;
|
|
27
|
-
requestTimeout?: number;
|
|
28
|
-
forwardRateLimit?: {
|
|
29
|
-
maxForwardsPerPeerWindow?: number;
|
|
30
|
-
windowMs?: number;
|
|
31
|
-
};
|
|
32
|
-
requestSelectionStrategy?: SelectionStrategy;
|
|
33
|
-
requestFairnessEnabled?: boolean;
|
|
34
|
-
requestDispatch?: RequestDispatchConfig;
|
|
35
|
-
debug?: boolean;
|
|
36
|
-
}
|
|
37
|
-
export declare class WebRTCController {
|
|
38
|
-
private myPeerId;
|
|
39
|
-
private peers;
|
|
40
|
-
private pendingRemoteCandidates;
|
|
41
|
-
private localStore;
|
|
42
|
-
private sendCommand;
|
|
43
|
-
private sendSignaling;
|
|
44
|
-
private classifyPeer;
|
|
45
|
-
private requestTimeout;
|
|
46
|
-
private debug;
|
|
47
|
-
private recentRequests;
|
|
48
|
-
private readonly meshRouter;
|
|
49
|
-
private readonly peerSelector;
|
|
50
|
-
private routing;
|
|
51
|
-
private poolConfig;
|
|
52
|
-
private helloInterval?;
|
|
53
|
-
private readonly HELLO_INTERVAL;
|
|
54
|
-
constructor(config: WebRTCControllerConfig);
|
|
55
|
-
start(): void;
|
|
56
|
-
stop(): void;
|
|
57
|
-
private sendHello;
|
|
58
|
-
/**
|
|
59
|
-
* Public method to trigger a hello broadcast.
|
|
60
|
-
* Used for testing to force peer discovery after follows are set up.
|
|
61
|
-
*/
|
|
62
|
-
broadcastHello(): void;
|
|
63
|
-
/**
|
|
64
|
-
* Handle incoming signaling message (from Nostr kind 25050)
|
|
65
|
-
*
|
|
66
|
-
* `peerId` is the remote endpoint identity.
|
|
67
|
-
*/
|
|
68
|
-
handleSignalingMessage(msg: SignalingMessage, senderPubkey: string): Promise<void>;
|
|
69
|
-
private isMessageForUs;
|
|
70
|
-
private handleHello;
|
|
71
|
-
private handleOffer;
|
|
72
|
-
private handleAnswer;
|
|
73
|
-
private handleIceCandidate;
|
|
74
|
-
private shouldConnect;
|
|
75
|
-
private getPoolCount;
|
|
76
|
-
/**
|
|
77
|
-
* Check if we already have a connection from this pubkey in the 'other' pool.
|
|
78
|
-
* In the 'other' pool, we only allow 1 connection per pubkey to prevent spam.
|
|
79
|
-
*/
|
|
80
|
-
private hasOtherPoolPubkey;
|
|
81
|
-
private createPeer;
|
|
82
|
-
private createOutboundPeer;
|
|
83
|
-
private closePeer;
|
|
84
|
-
/**
|
|
85
|
-
* Handle event from main thread proxy
|
|
86
|
-
*/
|
|
87
|
-
handleProxyEvent(event: WebRTCEvent): void;
|
|
88
|
-
private onPeerCreated;
|
|
89
|
-
private onPeerStateChange;
|
|
90
|
-
private onPeerClosed;
|
|
91
|
-
private onOfferCreated;
|
|
92
|
-
private onAnswerCreated;
|
|
93
|
-
private onDescriptionSet;
|
|
94
|
-
private onIceCandidate;
|
|
95
|
-
private onDataChannelOpen;
|
|
96
|
-
private onDataChannelClose;
|
|
97
|
-
private onDataChannelError;
|
|
98
|
-
private onBufferHigh;
|
|
99
|
-
private onBufferLow;
|
|
100
|
-
private processDeferredRequests;
|
|
101
|
-
private orderedConnectedPeers;
|
|
102
|
-
private peerMetadataPointerHash;
|
|
103
|
-
private createInFlightRequest;
|
|
104
|
-
private waitForInFlightResult;
|
|
105
|
-
private clearPendingHashFromPeers;
|
|
106
|
-
/**
|
|
107
|
-
* Persist selector metadata snapshot to local store.
|
|
108
|
-
* Returns the snapshot hash.
|
|
109
|
-
*/
|
|
110
|
-
persistPeerMetadata(): Promise<Uint8Array | null>;
|
|
111
|
-
/**
|
|
112
|
-
* Load selector metadata snapshot from local store.
|
|
113
|
-
*/
|
|
114
|
-
loadPeerMetadata(): Promise<boolean>;
|
|
115
|
-
private sendDataToPeer;
|
|
116
|
-
private onDataChannelMessage;
|
|
117
|
-
private handleRequest;
|
|
118
|
-
private processRequest;
|
|
119
|
-
private handleResponse;
|
|
120
|
-
private sendResponse;
|
|
121
|
-
private sendRequestToPeer;
|
|
122
|
-
/**
|
|
123
|
-
* Request data from peers
|
|
124
|
-
*/
|
|
125
|
-
get(hash: Uint8Array): Promise<Uint8Array | null>;
|
|
126
|
-
/**
|
|
127
|
-
* Get peer stats for UI
|
|
128
|
-
*/
|
|
129
|
-
getPeerStats(): Array<{
|
|
130
|
-
peerId: string;
|
|
131
|
-
pubkey: string;
|
|
132
|
-
connected: boolean;
|
|
133
|
-
pool: PeerPool;
|
|
134
|
-
requestsSent: number;
|
|
135
|
-
requestsReceived: number;
|
|
136
|
-
responsesSent: number;
|
|
137
|
-
responsesReceived: number;
|
|
138
|
-
bytesSent: number;
|
|
139
|
-
bytesReceived: number;
|
|
140
|
-
forwardedRequests: number;
|
|
141
|
-
forwardedResolved: number;
|
|
142
|
-
forwardedSuppressed: number;
|
|
143
|
-
}>;
|
|
144
|
-
/**
|
|
145
|
-
* Get connected peer count
|
|
146
|
-
*/
|
|
147
|
-
getConnectedCount(): number;
|
|
148
|
-
/**
|
|
149
|
-
* Set pool configuration
|
|
150
|
-
*/
|
|
151
|
-
setPoolConfig(config: {
|
|
152
|
-
follows: {
|
|
153
|
-
max: number;
|
|
154
|
-
satisfied: number;
|
|
155
|
-
};
|
|
156
|
-
other: {
|
|
157
|
-
max: number;
|
|
158
|
-
satisfied: number;
|
|
159
|
-
};
|
|
160
|
-
}): void;
|
|
161
|
-
/**
|
|
162
|
-
* Update identity (pubkey) and restart signaling if already running.
|
|
163
|
-
* This keeps peerId consistent with the current account.
|
|
164
|
-
*/
|
|
165
|
-
setIdentity(pubkey: string): void;
|
|
166
|
-
private log;
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=webrtcController.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webrtcController.d.ts","sourceRoot":"","sources":["../../src/p2p/webrtcController.ts"],"names":[],"mappings":"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"}
|