@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
package/dist/protocol.d.ts
DELETED
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import type { CID } from '@hashtree/core';
|
|
2
|
-
export interface BlossomServerConfig {
|
|
3
|
-
url: string;
|
|
4
|
-
read?: boolean;
|
|
5
|
-
write?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface WorkerConfig {
|
|
8
|
-
storeName?: string;
|
|
9
|
-
blossomServers?: BlossomServerConfig[];
|
|
10
|
-
relays?: string[];
|
|
11
|
-
storageMaxBytes?: number;
|
|
12
|
-
connectivityProbeIntervalMs?: number;
|
|
13
|
-
diagnosticsEnabled?: boolean;
|
|
14
|
-
diagnosticsMirrorToConsole?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export type WorkerDiagnosticLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
17
|
-
export type WorkerDiagnosticDataValue = string | number | boolean | null;
|
|
18
|
-
export interface WorkerDiagnosticEvent {
|
|
19
|
-
scope: string;
|
|
20
|
-
code: string;
|
|
21
|
-
level: WorkerDiagnosticLevel;
|
|
22
|
-
message: string;
|
|
23
|
-
timestamp: number;
|
|
24
|
-
data?: Record<string, WorkerDiagnosticDataValue>;
|
|
25
|
-
}
|
|
26
|
-
export interface ConnectivityState {
|
|
27
|
-
online: boolean;
|
|
28
|
-
reachableReadServers: number;
|
|
29
|
-
totalReadServers: number;
|
|
30
|
-
reachableWriteServers: number;
|
|
31
|
-
totalWriteServers: number;
|
|
32
|
-
updatedAt: number;
|
|
33
|
-
}
|
|
34
|
-
export type BlobSource = 'idb' | 'blossom' | 'p2p';
|
|
35
|
-
export interface UploadServerStatus {
|
|
36
|
-
url: string;
|
|
37
|
-
uploaded: number;
|
|
38
|
-
skipped: number;
|
|
39
|
-
failed: number;
|
|
40
|
-
}
|
|
41
|
-
export interface UploadProgressState {
|
|
42
|
-
hashHex: string;
|
|
43
|
-
nhash: string;
|
|
44
|
-
totalServers: number;
|
|
45
|
-
processedServers: number;
|
|
46
|
-
uploadedServers: number;
|
|
47
|
-
skippedServers: number;
|
|
48
|
-
failedServers: number;
|
|
49
|
-
totalChunks?: number;
|
|
50
|
-
processedChunks?: number;
|
|
51
|
-
/** 0..1 normalized progress for chunk upload traversal */
|
|
52
|
-
progressRatio?: number;
|
|
53
|
-
serverStatuses?: UploadServerStatus[];
|
|
54
|
-
complete: boolean;
|
|
55
|
-
error?: string;
|
|
56
|
-
}
|
|
57
|
-
export interface BlossomBandwidthServerStats {
|
|
58
|
-
url: string;
|
|
59
|
-
bytesSent: number;
|
|
60
|
-
bytesReceived: number;
|
|
61
|
-
}
|
|
62
|
-
export interface BlossomBandwidthState {
|
|
63
|
-
totalBytesSent: number;
|
|
64
|
-
totalBytesReceived: number;
|
|
65
|
-
updatedAt: number;
|
|
66
|
-
servers: BlossomBandwidthServerStats[];
|
|
67
|
-
}
|
|
68
|
-
export interface BlobStreamStarted {
|
|
69
|
-
id: string;
|
|
70
|
-
streamId: string;
|
|
71
|
-
}
|
|
72
|
-
export interface RootResolveOptions {
|
|
73
|
-
timeoutMs?: number;
|
|
74
|
-
settleMs?: number;
|
|
75
|
-
}
|
|
76
|
-
export type WorkerRequest = {
|
|
77
|
-
type: 'init';
|
|
78
|
-
id: string;
|
|
79
|
-
config: WorkerConfig;
|
|
80
|
-
} | {
|
|
81
|
-
type: 'close';
|
|
82
|
-
id: string;
|
|
83
|
-
} | {
|
|
84
|
-
type: 'putBlob';
|
|
85
|
-
id: string;
|
|
86
|
-
data: Uint8Array;
|
|
87
|
-
mimeType?: string;
|
|
88
|
-
upload?: boolean;
|
|
89
|
-
} | {
|
|
90
|
-
type: 'beginPutBlobStream';
|
|
91
|
-
id: string;
|
|
92
|
-
mimeType?: string;
|
|
93
|
-
upload?: boolean;
|
|
94
|
-
} | {
|
|
95
|
-
type: 'appendPutBlobStream';
|
|
96
|
-
id: string;
|
|
97
|
-
streamId: string;
|
|
98
|
-
chunk: Uint8Array;
|
|
99
|
-
} | {
|
|
100
|
-
type: 'finishPutBlobStream';
|
|
101
|
-
id: string;
|
|
102
|
-
streamId: string;
|
|
103
|
-
} | {
|
|
104
|
-
type: 'cancelPutBlobStream';
|
|
105
|
-
id: string;
|
|
106
|
-
streamId: string;
|
|
107
|
-
} | {
|
|
108
|
-
type: 'p2pFetchResult';
|
|
109
|
-
id: string;
|
|
110
|
-
requestId: string;
|
|
111
|
-
data?: Uint8Array;
|
|
112
|
-
error?: string;
|
|
113
|
-
} | {
|
|
114
|
-
type: 'getBlob';
|
|
115
|
-
id: string;
|
|
116
|
-
hashHex: string;
|
|
117
|
-
forPeer?: boolean;
|
|
118
|
-
} | {
|
|
119
|
-
type: 'registerMediaPort';
|
|
120
|
-
id: string;
|
|
121
|
-
port: MessagePort;
|
|
122
|
-
} | {
|
|
123
|
-
type: 'setBlossomServers';
|
|
124
|
-
id: string;
|
|
125
|
-
servers: BlossomServerConfig[];
|
|
126
|
-
} | {
|
|
127
|
-
type: 'setStorageMaxBytes';
|
|
128
|
-
id: string;
|
|
129
|
-
maxBytes: number;
|
|
130
|
-
} | {
|
|
131
|
-
type: 'getStorageStats';
|
|
132
|
-
id: string;
|
|
133
|
-
} | {
|
|
134
|
-
type: 'probeConnectivity';
|
|
135
|
-
id: string;
|
|
136
|
-
} | {
|
|
137
|
-
type: 'resolveRoot';
|
|
138
|
-
id: string;
|
|
139
|
-
npub: string;
|
|
140
|
-
path?: string;
|
|
141
|
-
timeoutMs?: number;
|
|
142
|
-
settleMs?: number;
|
|
143
|
-
} | {
|
|
144
|
-
type: 'watchRoot';
|
|
145
|
-
id: string;
|
|
146
|
-
npub: string;
|
|
147
|
-
path?: string;
|
|
148
|
-
timeoutMs?: number;
|
|
149
|
-
settleMs?: number;
|
|
150
|
-
} | {
|
|
151
|
-
type: 'unwatchRoot';
|
|
152
|
-
id: string;
|
|
153
|
-
watchId: string;
|
|
154
|
-
};
|
|
155
|
-
export type WorkerResponse = {
|
|
156
|
-
type: 'ready';
|
|
157
|
-
id: string;
|
|
158
|
-
} | {
|
|
159
|
-
type: 'error';
|
|
160
|
-
id?: string;
|
|
161
|
-
error: string;
|
|
162
|
-
} | {
|
|
163
|
-
type: 'diagnostic';
|
|
164
|
-
event: WorkerDiagnosticEvent;
|
|
165
|
-
} | {
|
|
166
|
-
type: 'p2pFetch';
|
|
167
|
-
requestId: string;
|
|
168
|
-
hashHex: string;
|
|
169
|
-
} | {
|
|
170
|
-
type: 'blobStreamStarted';
|
|
171
|
-
id: string;
|
|
172
|
-
streamId: string;
|
|
173
|
-
} | {
|
|
174
|
-
type: 'blobStored';
|
|
175
|
-
id: string;
|
|
176
|
-
hashHex: string;
|
|
177
|
-
nhash: string;
|
|
178
|
-
} | {
|
|
179
|
-
type: 'blob';
|
|
180
|
-
id: string;
|
|
181
|
-
data?: Uint8Array;
|
|
182
|
-
source?: BlobSource;
|
|
183
|
-
error?: string;
|
|
184
|
-
} | {
|
|
185
|
-
type: 'cid';
|
|
186
|
-
id: string;
|
|
187
|
-
cid?: CID;
|
|
188
|
-
error?: string;
|
|
189
|
-
} | {
|
|
190
|
-
type: 'void';
|
|
191
|
-
id: string;
|
|
192
|
-
error?: string;
|
|
193
|
-
} | {
|
|
194
|
-
type: 'storageStats';
|
|
195
|
-
id: string;
|
|
196
|
-
items: number;
|
|
197
|
-
bytes: number;
|
|
198
|
-
maxBytes: number;
|
|
199
|
-
error?: string;
|
|
200
|
-
} | {
|
|
201
|
-
type: 'connectivity';
|
|
202
|
-
id: string;
|
|
203
|
-
state?: ConnectivityState;
|
|
204
|
-
error?: string;
|
|
205
|
-
} | {
|
|
206
|
-
type: 'rootWatchStarted';
|
|
207
|
-
id: string;
|
|
208
|
-
watchId: string;
|
|
209
|
-
cid?: CID;
|
|
210
|
-
error?: string;
|
|
211
|
-
} | {
|
|
212
|
-
type: 'rootUpdate';
|
|
213
|
-
watchId: string;
|
|
214
|
-
cid?: CID;
|
|
215
|
-
} | {
|
|
216
|
-
type: 'connectivityUpdate';
|
|
217
|
-
state: ConnectivityState;
|
|
218
|
-
} | {
|
|
219
|
-
type: 'blossomBandwidth';
|
|
220
|
-
stats: BlossomBandwidthState;
|
|
221
|
-
} | {
|
|
222
|
-
type: 'uploadProgress';
|
|
223
|
-
progress: UploadProgressState;
|
|
224
|
-
};
|
|
225
|
-
//# sourceMappingURL=protocol.d.ts.map
|
package/dist/protocol.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js
DELETED
package/dist/protocol.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":""}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { BlossomServerConfig } from './protocol.js';
|
|
2
|
-
import { type HtreeRuntimeWindowLike } from './runtime.js';
|
|
3
|
-
export interface RuntimeNetworkOptions {
|
|
4
|
-
windowLike?: HtreeRuntimeWindowLike;
|
|
5
|
-
}
|
|
6
|
-
export interface ResolveRuntimeEndpointsOptions extends RuntimeNetworkOptions {
|
|
7
|
-
relays?: readonly string[];
|
|
8
|
-
blossomServers?: readonly BlossomServerConfig[];
|
|
9
|
-
}
|
|
10
|
-
export interface RuntimeEndpoints {
|
|
11
|
-
htreeServerUrl: string | null;
|
|
12
|
-
nostrRelays: string[];
|
|
13
|
-
blossomServers: BlossomServerConfig[];
|
|
14
|
-
}
|
|
15
|
-
export declare function normalizeRuntimeServerUrl(url: string): string;
|
|
16
|
-
export declare function normalizeRuntimeRelayUrl(url: string): string;
|
|
17
|
-
export declare function getRuntimeHtreeServerUrl(windowLike?: HtreeRuntimeWindowLike): string | null;
|
|
18
|
-
export declare function getRuntimeNostrRelayUrl(windowLike?: HtreeRuntimeWindowLike): string | null;
|
|
19
|
-
export declare function getRuntimeBlossomServer(windowLike?: HtreeRuntimeWindowLike): BlossomServerConfig | null;
|
|
20
|
-
export declare function getRuntimeNostrRelays(relays: readonly string[], options?: RuntimeNetworkOptions): string[];
|
|
21
|
-
export declare function getRuntimeBlossomServers(servers: readonly BlossomServerConfig[], options?: RuntimeNetworkOptions): BlossomServerConfig[];
|
|
22
|
-
export declare function resolveRuntimeEndpoints(options?: ResolveRuntimeEndpointsOptions): RuntimeEndpoints;
|
|
23
|
-
//# sourceMappingURL=runtime-network.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-network.d.ts","sourceRoot":"","sources":["../src/runtime-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAA6B,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtF,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,8BAA+B,SAAQ,qBAAqB;IAC3E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,mBAAmB,EAAE,CAAC;CACvC;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5D;AAwBD,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAI3F;AAED,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAoB1F;AAED,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI,CAQvG;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,qBAA0B,GAClC,MAAM,EAAE,CAMV;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE,qBAA0B,GAClC,mBAAmB,EAAE,CAuBvB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,8BAAmC,GAC3C,gBAAgB,CAMlB"}
|
package/dist/runtime-network.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { getInjectedHtreeServerUrl } from './runtime.js';
|
|
2
|
-
export function normalizeRuntimeServerUrl(url) {
|
|
3
|
-
return url.trim().replace(/\/+$/, '');
|
|
4
|
-
}
|
|
5
|
-
export function normalizeRuntimeRelayUrl(url) {
|
|
6
|
-
return url.trim().replace(/\/+$/, '');
|
|
7
|
-
}
|
|
8
|
-
function normalizeBlossomServer(server) {
|
|
9
|
-
const url = normalizeRuntimeServerUrl(server.url);
|
|
10
|
-
if (!url)
|
|
11
|
-
return null;
|
|
12
|
-
return {
|
|
13
|
-
url,
|
|
14
|
-
read: server.read ?? true,
|
|
15
|
-
write: server.write ?? false,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function uniqueRelayUrls(relays) {
|
|
19
|
-
const seen = new Set();
|
|
20
|
-
const normalized = [];
|
|
21
|
-
for (const relay of relays) {
|
|
22
|
-
const url = normalizeRuntimeRelayUrl(relay);
|
|
23
|
-
if (!url || seen.has(url))
|
|
24
|
-
continue;
|
|
25
|
-
seen.add(url);
|
|
26
|
-
normalized.push(url);
|
|
27
|
-
}
|
|
28
|
-
return normalized;
|
|
29
|
-
}
|
|
30
|
-
export function getRuntimeHtreeServerUrl(windowLike) {
|
|
31
|
-
const serverUrl = getInjectedHtreeServerUrl(windowLike);
|
|
32
|
-
if (!serverUrl)
|
|
33
|
-
return null;
|
|
34
|
-
return normalizeRuntimeServerUrl(serverUrl);
|
|
35
|
-
}
|
|
36
|
-
export function getRuntimeNostrRelayUrl(windowLike) {
|
|
37
|
-
const serverUrl = getRuntimeHtreeServerUrl(windowLike);
|
|
38
|
-
if (!serverUrl)
|
|
39
|
-
return null;
|
|
40
|
-
try {
|
|
41
|
-
const url = new URL(serverUrl);
|
|
42
|
-
if (url.protocol === 'http:') {
|
|
43
|
-
url.protocol = 'ws:';
|
|
44
|
-
}
|
|
45
|
-
else if (url.protocol === 'https:') {
|
|
46
|
-
url.protocol = 'wss:';
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
url.pathname = '/ws';
|
|
52
|
-
url.search = '';
|
|
53
|
-
url.hash = '';
|
|
54
|
-
return normalizeRuntimeRelayUrl(url.toString());
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export function getRuntimeBlossomServer(windowLike) {
|
|
61
|
-
const serverUrl = getRuntimeHtreeServerUrl(windowLike);
|
|
62
|
-
if (!serverUrl)
|
|
63
|
-
return null;
|
|
64
|
-
return {
|
|
65
|
-
url: serverUrl,
|
|
66
|
-
read: true,
|
|
67
|
-
write: true,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
export function getRuntimeNostrRelays(relays, options = {}) {
|
|
71
|
-
const runtimeRelayUrl = getRuntimeNostrRelayUrl(options.windowLike);
|
|
72
|
-
if (runtimeRelayUrl) {
|
|
73
|
-
return [runtimeRelayUrl];
|
|
74
|
-
}
|
|
75
|
-
return uniqueRelayUrls(relays);
|
|
76
|
-
}
|
|
77
|
-
export function getRuntimeBlossomServers(servers, options = {}) {
|
|
78
|
-
const merged = new Map();
|
|
79
|
-
const runtimeServer = getRuntimeBlossomServer(options.windowLike);
|
|
80
|
-
const candidates = runtimeServer ? [runtimeServer, ...servers] : [...servers];
|
|
81
|
-
for (const candidate of candidates) {
|
|
82
|
-
const normalized = normalizeBlossomServer(candidate);
|
|
83
|
-
if (!normalized)
|
|
84
|
-
continue;
|
|
85
|
-
const existing = merged.get(normalized.url);
|
|
86
|
-
if (existing) {
|
|
87
|
-
merged.set(normalized.url, {
|
|
88
|
-
url: normalized.url,
|
|
89
|
-
read: existing.read || normalized.read,
|
|
90
|
-
write: existing.write || normalized.write,
|
|
91
|
-
});
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
merged.set(normalized.url, normalized);
|
|
95
|
-
}
|
|
96
|
-
return Array.from(merged.values());
|
|
97
|
-
}
|
|
98
|
-
export function resolveRuntimeEndpoints(options = {}) {
|
|
99
|
-
return {
|
|
100
|
-
htreeServerUrl: getRuntimeHtreeServerUrl(options.windowLike),
|
|
101
|
-
nostrRelays: getRuntimeNostrRelays(options.relays ?? [], options),
|
|
102
|
-
blossomServers: getRuntimeBlossomServers(options.blossomServers ?? [], options),
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=runtime-network.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-network.js","sourceRoot":"","sources":["../src/runtime-network.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface HtreeRuntimeLocationLike {
|
|
2
|
-
protocol?: string;
|
|
3
|
-
hostname?: string;
|
|
4
|
-
search?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface HtreeRuntimeWindowLike {
|
|
7
|
-
location?: HtreeRuntimeLocationLike;
|
|
8
|
-
__HTREE_SERVER_URL__?: string;
|
|
9
|
-
htree?: {
|
|
10
|
-
htreeBaseUrl?: string;
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export interface ResolveRuntimeHtreeBaseUrlOptions {
|
|
14
|
-
windowLike?: HtreeRuntimeWindowLike;
|
|
15
|
-
fallbackBaseUrl?: string | null;
|
|
16
|
-
}
|
|
17
|
-
export declare function getInjectedHtreeServerUrl(windowLike?: HtreeRuntimeWindowLike): string | null;
|
|
18
|
-
export declare function shouldEagerLoadMediaInNativeChildRuntime(windowLike?: HtreeRuntimeWindowLike): boolean;
|
|
19
|
-
export declare function shouldPreferSameOriginHtreeRoutes(windowLike?: HtreeRuntimeWindowLike): boolean;
|
|
20
|
-
export declare function canUseInjectedHtreeServerUrl(windowLike?: HtreeRuntimeWindowLike): boolean;
|
|
21
|
-
export declare function canUseSameOriginHtreeProtocolStreaming(windowLike?: HtreeRuntimeWindowLike): boolean;
|
|
22
|
-
export declare function resolveRuntimeHtreeBaseUrl(options?: ResolveRuntimeHtreeBaseUrlOptions): string;
|
|
23
|
-
//# sourceMappingURL=runtime.d.ts.map
|
package/dist/runtime.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,iCAAiC;IAChD,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAyED,wBAAgB,yBAAyB,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI,CAQ5F;AAED,wBAAgB,wCAAwC,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAErG;AAED,wBAAgB,iCAAiC,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAc9F;AAED,wBAAgB,4BAA4B,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAGzF;AAED,wBAAgB,sCAAsC,CAAC,UAAU,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAEnG;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,iCAAsC,GAC9C,MAAM,CAgBR"}
|
package/dist/runtime.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
function getWindowLike(windowLike) {
|
|
2
|
-
if (windowLike)
|
|
3
|
-
return windowLike;
|
|
4
|
-
if (typeof window === 'undefined')
|
|
5
|
-
return null;
|
|
6
|
-
return window;
|
|
7
|
-
}
|
|
8
|
-
function normalizeBaseUrl(url) {
|
|
9
|
-
return (url ?? '').trim().replace(/\/$/, '');
|
|
10
|
-
}
|
|
11
|
-
function getQueryParam(name, windowLike) {
|
|
12
|
-
const runtimeWindow = getWindowLike(windowLike);
|
|
13
|
-
if (!runtimeWindow)
|
|
14
|
-
return null;
|
|
15
|
-
try {
|
|
16
|
-
const value = new URLSearchParams(runtimeWindow.location?.search ?? '').get(name);
|
|
17
|
-
return typeof value === 'string' ? value.trim() || null : null;
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function getPageProtocol(windowLike) {
|
|
24
|
-
const runtimeWindow = getWindowLike(windowLike);
|
|
25
|
-
const protocol = runtimeWindow?.location?.protocol;
|
|
26
|
-
return typeof protocol === 'string' ? protocol.toLowerCase() : null;
|
|
27
|
-
}
|
|
28
|
-
function getPageHostname(windowLike) {
|
|
29
|
-
const runtimeWindow = getWindowLike(windowLike);
|
|
30
|
-
const hostname = runtimeWindow?.location?.hostname;
|
|
31
|
-
return typeof hostname === 'string' ? hostname.toLowerCase() : null;
|
|
32
|
-
}
|
|
33
|
-
function hasCanonicalHtreeIdentity(windowLike) {
|
|
34
|
-
const canonical = getQueryParam('iris_htree_canonical', windowLike);
|
|
35
|
-
return typeof canonical === 'string' && canonical.toLowerCase().startsWith('htree://');
|
|
36
|
-
}
|
|
37
|
-
function isLoopbackChildRuntime(windowLike) {
|
|
38
|
-
if (getPageProtocol(windowLike) !== 'http:')
|
|
39
|
-
return false;
|
|
40
|
-
const hostname = getPageHostname(windowLike);
|
|
41
|
-
if (!hostname)
|
|
42
|
-
return false;
|
|
43
|
-
return hostname === '127.0.0.1'
|
|
44
|
-
|| hostname === 'localhost'
|
|
45
|
-
|| hostname.endsWith('.htree.localhost');
|
|
46
|
-
}
|
|
47
|
-
function getServerProtocol(serverUrl) {
|
|
48
|
-
try {
|
|
49
|
-
return new URL(serverUrl).protocol.toLowerCase();
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function isLocalHttpServerUrl(serverUrl) {
|
|
56
|
-
try {
|
|
57
|
-
const parsed = new URL(serverUrl);
|
|
58
|
-
const hostname = parsed.hostname.toLowerCase();
|
|
59
|
-
return (parsed.protocol === 'http:' || parsed.protocol === 'https:')
|
|
60
|
-
&& (hostname === '127.0.0.1' || hostname === 'localhost' || hostname.endsWith('.htree.localhost'));
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function getWindowHtreeBaseUrl(windowLike) {
|
|
67
|
-
const runtimeWindow = getWindowLike(windowLike);
|
|
68
|
-
return normalizeBaseUrl(runtimeWindow?.htree?.htreeBaseUrl);
|
|
69
|
-
}
|
|
70
|
-
export function getInjectedHtreeServerUrl(windowLike) {
|
|
71
|
-
const runtimeWindow = getWindowLike(windowLike);
|
|
72
|
-
if (!runtimeWindow)
|
|
73
|
-
return null;
|
|
74
|
-
const override = runtimeWindow.__HTREE_SERVER_URL__;
|
|
75
|
-
const fallback = getQueryParam('iris_htree_server', runtimeWindow);
|
|
76
|
-
const candidate = typeof override === 'string' && override.trim() ? override : fallback;
|
|
77
|
-
const normalized = normalizeBaseUrl(candidate);
|
|
78
|
-
return normalized || null;
|
|
79
|
-
}
|
|
80
|
-
export function shouldEagerLoadMediaInNativeChildRuntime(windowLike) {
|
|
81
|
-
return isLoopbackChildRuntime(windowLike) && hasCanonicalHtreeIdentity(windowLike);
|
|
82
|
-
}
|
|
83
|
-
export function shouldPreferSameOriginHtreeRoutes(windowLike) {
|
|
84
|
-
const serverUrl = getInjectedHtreeServerUrl(windowLike);
|
|
85
|
-
if (!serverUrl)
|
|
86
|
-
return false;
|
|
87
|
-
const serverProtocol = getServerProtocol(serverUrl);
|
|
88
|
-
if (serverProtocol !== 'http:')
|
|
89
|
-
return false;
|
|
90
|
-
const pageProtocol = getPageProtocol(windowLike);
|
|
91
|
-
if (pageProtocol === 'https:')
|
|
92
|
-
return true;
|
|
93
|
-
if (pageProtocol === 'htree:') {
|
|
94
|
-
const hostname = getPageHostname(windowLike);
|
|
95
|
-
return hostname?.startsWith('npub1') === true || hostname === 'self';
|
|
96
|
-
}
|
|
97
|
-
if (hasCanonicalHtreeIdentity(windowLike) && !isLoopbackChildRuntime(windowLike))
|
|
98
|
-
return true;
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
export function canUseInjectedHtreeServerUrl(windowLike) {
|
|
102
|
-
const serverUrl = getInjectedHtreeServerUrl(windowLike);
|
|
103
|
-
return !!serverUrl && !shouldPreferSameOriginHtreeRoutes(windowLike);
|
|
104
|
-
}
|
|
105
|
-
export function canUseSameOriginHtreeProtocolStreaming(windowLike) {
|
|
106
|
-
return getPageProtocol(windowLike) === 'htree:';
|
|
107
|
-
}
|
|
108
|
-
export function resolveRuntimeHtreeBaseUrl(options = {}) {
|
|
109
|
-
const { windowLike, fallbackBaseUrl } = options;
|
|
110
|
-
const injectedServerUrl = getInjectedHtreeServerUrl(windowLike);
|
|
111
|
-
if (injectedServerUrl && canUseInjectedHtreeServerUrl(windowLike)) {
|
|
112
|
-
return injectedServerUrl;
|
|
113
|
-
}
|
|
114
|
-
const windowBaseUrl = getWindowHtreeBaseUrl(windowLike);
|
|
115
|
-
if (windowBaseUrl) {
|
|
116
|
-
if (!isLocalHttpServerUrl(windowBaseUrl) || canUseInjectedHtreeServerUrl(windowLike)) {
|
|
117
|
-
return windowBaseUrl;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return normalizeBaseUrl(fallbackBaseUrl);
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|