@hashtree/worker 0.2.1 → 0.2.3

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 (212) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app-runtime.d.ts +60 -0
  3. package/dist/app-runtime.d.ts.map +1 -0
  4. package/dist/app-runtime.js +271 -0
  5. package/dist/app-runtime.js.map +1 -0
  6. package/dist/capabilities/blossomBandwidthTracker.d.ts +26 -0
  7. package/dist/capabilities/blossomBandwidthTracker.d.ts.map +1 -0
  8. package/dist/capabilities/blossomBandwidthTracker.js +53 -0
  9. package/dist/capabilities/blossomBandwidthTracker.js.map +1 -0
  10. package/dist/capabilities/blossomTransport.d.ts +22 -0
  11. package/dist/capabilities/blossomTransport.d.ts.map +1 -0
  12. package/dist/capabilities/blossomTransport.js +139 -0
  13. package/dist/capabilities/blossomTransport.js.map +1 -0
  14. package/dist/capabilities/connectivity.d.ts +3 -0
  15. package/dist/capabilities/connectivity.d.ts.map +1 -0
  16. package/dist/capabilities/connectivity.js +49 -0
  17. package/dist/capabilities/connectivity.js.map +1 -0
  18. package/dist/capabilities/idbStorage.d.ts +25 -0
  19. package/dist/capabilities/idbStorage.d.ts.map +1 -0
  20. package/dist/capabilities/idbStorage.js +73 -0
  21. package/dist/capabilities/idbStorage.js.map +1 -0
  22. package/dist/capabilities/meshRouterStore.d.ts +71 -0
  23. package/dist/capabilities/meshRouterStore.d.ts.map +1 -0
  24. package/dist/capabilities/meshRouterStore.js +316 -0
  25. package/dist/capabilities/meshRouterStore.js.map +1 -0
  26. package/dist/capabilities/rootResolver.d.ts +10 -0
  27. package/dist/capabilities/rootResolver.d.ts.map +1 -0
  28. package/dist/capabilities/rootResolver.js +392 -0
  29. package/dist/capabilities/rootResolver.js.map +1 -0
  30. package/dist/client-id.d.ts +18 -0
  31. package/dist/client-id.d.ts.map +1 -0
  32. package/dist/client-id.js +98 -0
  33. package/dist/client-id.js.map +1 -0
  34. package/dist/client.d.ts +61 -0
  35. package/dist/client.d.ts.map +1 -0
  36. package/dist/client.js +417 -0
  37. package/dist/client.js.map +1 -0
  38. package/dist/entry.d.ts +2 -0
  39. package/dist/entry.d.ts.map +1 -0
  40. package/dist/entry.js +3 -0
  41. package/dist/entry.js.map +1 -0
  42. package/dist/htree-path.d.ts +13 -0
  43. package/dist/htree-path.d.ts.map +1 -0
  44. package/dist/htree-path.js +38 -0
  45. package/dist/htree-path.js.map +1 -0
  46. package/dist/htree-url.d.ts +22 -0
  47. package/dist/htree-url.d.ts.map +1 -0
  48. package/dist/htree-url.js +118 -0
  49. package/dist/htree-url.js.map +1 -0
  50. package/dist/index.d.ts +17 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +8 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/mediaStreaming.d.ts +7 -0
  55. package/dist/mediaStreaming.d.ts.map +1 -0
  56. package/dist/mediaStreaming.js +48 -0
  57. package/dist/mediaStreaming.js.map +1 -0
  58. package/dist/p2p/boundedQueue.d.ts +79 -0
  59. package/dist/p2p/boundedQueue.d.ts.map +1 -0
  60. package/dist/p2p/boundedQueue.js +134 -0
  61. package/dist/p2p/boundedQueue.js.map +1 -0
  62. package/dist/p2p/errorMessage.d.ts +5 -0
  63. package/dist/p2p/errorMessage.d.ts.map +1 -0
  64. package/dist/p2p/errorMessage.js +7 -0
  65. package/dist/p2p/errorMessage.js.map +1 -0
  66. package/dist/p2p/index.d.ts +8 -0
  67. package/dist/p2p/index.d.ts.map +1 -0
  68. package/dist/p2p/index.js +6 -0
  69. package/dist/p2p/index.js.map +1 -0
  70. package/dist/p2p/lruCache.d.ts +26 -0
  71. package/dist/p2p/lruCache.d.ts.map +1 -0
  72. package/dist/p2p/lruCache.js +65 -0
  73. package/dist/p2p/lruCache.js.map +1 -0
  74. package/dist/p2p/meshQueryRouter.d.ts +57 -0
  75. package/dist/p2p/meshQueryRouter.d.ts.map +1 -0
  76. package/dist/p2p/meshQueryRouter.js +264 -0
  77. package/dist/p2p/meshQueryRouter.js.map +1 -0
  78. package/dist/p2p/protocol.d.ts +10 -0
  79. package/dist/p2p/protocol.d.ts.map +1 -0
  80. package/dist/p2p/protocol.js +2 -0
  81. package/dist/p2p/protocol.js.map +1 -0
  82. package/dist/p2p/queryForwardingMachine.d.ts +46 -0
  83. package/dist/p2p/queryForwardingMachine.d.ts.map +1 -0
  84. package/dist/p2p/queryForwardingMachine.js +144 -0
  85. package/dist/p2p/queryForwardingMachine.js.map +1 -0
  86. package/dist/p2p/signaling.d.ts +63 -0
  87. package/dist/p2p/signaling.d.ts.map +1 -0
  88. package/dist/p2p/signaling.js +185 -0
  89. package/dist/p2p/signaling.js.map +1 -0
  90. package/dist/p2p/uploadRateLimiter.d.ts +21 -0
  91. package/dist/p2p/uploadRateLimiter.d.ts.map +1 -0
  92. package/dist/p2p/uploadRateLimiter.js +62 -0
  93. package/dist/p2p/uploadRateLimiter.js.map +1 -0
  94. package/dist/p2p/webrtcController.d.ts +176 -0
  95. package/dist/p2p/webrtcController.d.ts.map +1 -0
  96. package/dist/p2p/webrtcController.js +938 -0
  97. package/dist/p2p/webrtcController.js.map +1 -0
  98. package/dist/p2p/webrtcProxy.d.ts +62 -0
  99. package/dist/p2p/webrtcProxy.d.ts.map +1 -0
  100. package/dist/p2p/webrtcProxy.js +447 -0
  101. package/dist/p2p/webrtcProxy.js.map +1 -0
  102. package/dist/privacyGuards.d.ts +14 -0
  103. package/dist/privacyGuards.d.ts.map +1 -0
  104. package/dist/privacyGuards.js +27 -0
  105. package/dist/privacyGuards.js.map +1 -0
  106. package/dist/protocol.d.ts +225 -0
  107. package/dist/protocol.d.ts.map +1 -0
  108. package/dist/protocol.js +2 -0
  109. package/dist/protocol.js.map +1 -0
  110. package/dist/relay/identity.d.ts +36 -0
  111. package/dist/relay/identity.d.ts.map +1 -0
  112. package/dist/relay/identity.js +78 -0
  113. package/dist/relay/identity.js.map +1 -0
  114. package/dist/relay/mediaHandler.d.ts +64 -0
  115. package/dist/relay/mediaHandler.d.ts.map +1 -0
  116. package/dist/relay/mediaHandler.js +1285 -0
  117. package/dist/relay/mediaHandler.js.map +1 -0
  118. package/dist/relay/ndk.d.ts +96 -0
  119. package/dist/relay/ndk.d.ts.map +1 -0
  120. package/dist/relay/ndk.js +502 -0
  121. package/dist/relay/ndk.js.map +1 -0
  122. package/dist/relay/nostr-wasm.d.ts +14 -0
  123. package/dist/relay/nostr-wasm.d.ts.map +1 -0
  124. package/dist/relay/nostr-wasm.js +246 -0
  125. package/dist/relay/nostr-wasm.js.map +1 -0
  126. package/dist/relay/nostr.d.ts +60 -0
  127. package/dist/relay/nostr.d.ts.map +1 -0
  128. package/dist/relay/nostr.js +207 -0
  129. package/dist/relay/nostr.js.map +1 -0
  130. package/dist/relay/protocol.d.ts +592 -0
  131. package/dist/relay/protocol.d.ts.map +1 -0
  132. package/dist/relay/protocol.js +16 -0
  133. package/dist/relay/protocol.js.map +1 -0
  134. package/dist/relay/publicAssetUrl.d.ts +6 -0
  135. package/dist/relay/publicAssetUrl.d.ts.map +1 -0
  136. package/dist/relay/publicAssetUrl.js +14 -0
  137. package/dist/relay/publicAssetUrl.js.map +1 -0
  138. package/dist/relay/rootPathResolver.d.ts +9 -0
  139. package/dist/relay/rootPathResolver.d.ts.map +1 -0
  140. package/dist/relay/rootPathResolver.js +32 -0
  141. package/dist/relay/rootPathResolver.js.map +1 -0
  142. package/dist/relay/signing.d.ts +50 -0
  143. package/dist/relay/signing.d.ts.map +1 -0
  144. package/dist/relay/signing.js +299 -0
  145. package/dist/relay/signing.js.map +1 -0
  146. package/dist/relay/treeRootCache.d.ts +86 -0
  147. package/dist/relay/treeRootCache.d.ts.map +1 -0
  148. package/dist/relay/treeRootCache.js +269 -0
  149. package/dist/relay/treeRootCache.js.map +1 -0
  150. package/dist/relay/treeRootSubscription.d.ts +55 -0
  151. package/dist/relay/treeRootSubscription.d.ts.map +1 -0
  152. package/dist/relay/treeRootSubscription.js +478 -0
  153. package/dist/relay/treeRootSubscription.js.map +1 -0
  154. package/dist/relay/utils/constants.d.ts +76 -0
  155. package/dist/relay/utils/constants.d.ts.map +1 -0
  156. package/dist/relay/utils/constants.js +113 -0
  157. package/dist/relay/utils/constants.js.map +1 -0
  158. package/dist/relay/utils/errorMessage.d.ts +5 -0
  159. package/dist/relay/utils/errorMessage.d.ts.map +1 -0
  160. package/dist/relay/utils/errorMessage.js +8 -0
  161. package/dist/relay/utils/errorMessage.js.map +1 -0
  162. package/dist/relay/utils/lruCache.d.ts +26 -0
  163. package/dist/relay/utils/lruCache.d.ts.map +1 -0
  164. package/dist/relay/utils/lruCache.js +66 -0
  165. package/dist/relay/utils/lruCache.js.map +1 -0
  166. package/dist/relay/webrtc.d.ts +2 -0
  167. package/dist/relay/webrtc.d.ts.map +1 -0
  168. package/dist/relay/webrtc.js +3 -0
  169. package/dist/relay/webrtc.js.map +1 -0
  170. package/dist/relay/webrtcSignaling.d.ts +37 -0
  171. package/dist/relay/webrtcSignaling.d.ts.map +1 -0
  172. package/dist/relay/webrtcSignaling.js +86 -0
  173. package/dist/relay/webrtcSignaling.js.map +1 -0
  174. package/dist/relay/worker.d.ts +12 -0
  175. package/dist/relay/worker.d.ts.map +1 -0
  176. package/dist/relay/worker.js +1540 -0
  177. package/dist/relay/worker.js.map +1 -0
  178. package/dist/relay-client.d.ts +31 -0
  179. package/dist/relay-client.d.ts.map +1 -0
  180. package/dist/relay-client.js +197 -0
  181. package/dist/relay-client.js.map +1 -0
  182. package/dist/relay-entry.d.ts +2 -0
  183. package/dist/relay-entry.d.ts.map +1 -0
  184. package/dist/relay-entry.js +2 -0
  185. package/dist/relay-entry.js.map +1 -0
  186. package/dist/runtime-network.d.ts +23 -0
  187. package/dist/runtime-network.d.ts.map +1 -0
  188. package/dist/runtime-network.js +105 -0
  189. package/dist/runtime-network.js.map +1 -0
  190. package/dist/runtime.d.ts +24 -0
  191. package/dist/runtime.d.ts.map +1 -0
  192. package/dist/runtime.js +126 -0
  193. package/dist/runtime.js.map +1 -0
  194. package/dist/transferableBytes.d.ts +2 -0
  195. package/dist/transferableBytes.d.ts.map +1 -0
  196. package/dist/transferableBytes.js +6 -0
  197. package/dist/transferableBytes.js.map +1 -0
  198. package/dist/tree-root.d.ts +201 -0
  199. package/dist/tree-root.d.ts.map +1 -0
  200. package/dist/tree-root.js +632 -0
  201. package/dist/tree-root.js.map +1 -0
  202. package/dist/types.d.ts +2 -0
  203. package/dist/types.d.ts.map +1 -0
  204. package/dist/types.js +2 -0
  205. package/dist/types.js.map +1 -0
  206. package/dist/worker.d.ts +9 -0
  207. package/dist/worker.d.ts.map +1 -0
  208. package/dist/worker.js +793 -0
  209. package/dist/worker.js.map +1 -0
  210. package/package.json +14 -14
  211. package/src/capabilities/blossomTransport.ts +1 -1
  212. package/src/worker.ts +2 -1
@@ -0,0 +1,478 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * Tree Root Subscription Handler
4
+ *
5
+ * Worker subscribes directly to tree root events (kind 30078 with #l=hashtree).
6
+ * Updates local cache and notifies main thread of changes.
7
+ */
8
+ import { SimplePool } from 'nostr-tools';
9
+ import { storeTreeEventSnapshot } from '@hashtree/nostr';
10
+ import { getNdk, subscribe as ndkSubscribe, unsubscribe as ndkUnsubscribe } from './ndk';
11
+ import { getCachedRoot, getTreeRootCacheStore, setCachedRoot } from './treeRootCache';
12
+ import { nip19 } from 'nostr-tools';
13
+ import { NDKSubscriptionCacheUsage } from 'ndk';
14
+ // Active subscriptions by pubkey
15
+ const activeSubscriptions = new Map(); // pubkeyHex -> subId
16
+ const inFlightRootResolutions = new Map();
17
+ const inFlightHistoricalRootLists = new Map();
18
+ const historicalRootListCache = new Map();
19
+ const MAX_HISTORICAL_TREE_ROOT_EVENTS = 20;
20
+ const HISTORICAL_TREE_ROOT_CACHE_TTL_MS = 30_000;
21
+ const DEFAULT_TREE_ROOT_RELAYS = [
22
+ 'wss://relay.damus.io',
23
+ 'wss://relay.primal.net',
24
+ 'wss://relay.nostr.band',
25
+ 'wss://relay.snort.social',
26
+ ];
27
+ // Callback to notify main thread
28
+ let notifyCallback = null;
29
+ async function storeSnapshotNhash(event) {
30
+ const snapshotTarget = getTreeRootCacheStore();
31
+ if (!snapshotTarget) {
32
+ return undefined;
33
+ }
34
+ const snapshot = await storeTreeEventSnapshot(snapshotTarget, nip19, event);
35
+ return snapshot?.snapshotNhash;
36
+ }
37
+ function withTimeout(promise, timeoutMs) {
38
+ return Promise.race([
39
+ promise,
40
+ new Promise((resolve) => setTimeout(() => resolve(null), timeoutMs)),
41
+ ]);
42
+ }
43
+ function getHistoryRelayUrls() {
44
+ const urls = new Set(DEFAULT_TREE_ROOT_RELAYS);
45
+ const ndk = getNdk();
46
+ const connected = typeof ndk?.pool?.connectedRelays === 'function'
47
+ ? Array.from(ndk.pool.connectedRelays()).map((relay) => relay.url)
48
+ : [];
49
+ for (const url of connected) {
50
+ urls.add(url);
51
+ }
52
+ if (typeof ndk?.pool?.urls === 'function') {
53
+ for (const url of ndk.pool.urls()) {
54
+ urls.add(url);
55
+ }
56
+ }
57
+ return Array.from(urls);
58
+ }
59
+ function toSignedEvent(event) {
60
+ return {
61
+ id: event.id,
62
+ pubkey: event.pubkey,
63
+ kind: event.kind,
64
+ content: event.content,
65
+ tags: event.tags,
66
+ created_at: event.created_at,
67
+ sig: event.sig,
68
+ };
69
+ }
70
+ function uniqueEvents(events) {
71
+ const seen = new Set();
72
+ const result = [];
73
+ for (const event of events) {
74
+ const eventKey = event.id || `${event.created_at}:${event.pubkey}:${event.tags.find((tag) => tag[0] === 'd')?.[1] ?? ''}`;
75
+ if (seen.has(eventKey))
76
+ continue;
77
+ seen.add(eventKey);
78
+ result.push(event);
79
+ }
80
+ return result;
81
+ }
82
+ function compareReplaceableEvents(left, right) {
83
+ const leftCreatedAt = left.created_at ?? 0;
84
+ const rightCreatedAt = right.created_at ?? 0;
85
+ if (leftCreatedAt !== rightCreatedAt) {
86
+ return rightCreatedAt - leftCreatedAt;
87
+ }
88
+ const leftId = left.id ?? '';
89
+ const rightId = right.id ?? '';
90
+ if (leftId === rightId) {
91
+ return 0;
92
+ }
93
+ if (!leftId)
94
+ return 1;
95
+ if (!rightId)
96
+ return -1;
97
+ return rightId.localeCompare(leftId);
98
+ }
99
+ function parseLabels(event) {
100
+ const seen = new Set();
101
+ const labels = [];
102
+ for (const tag of event.tags) {
103
+ if (tag[0] !== 'l' || !tag[1] || seen.has(tag[1]))
104
+ continue;
105
+ seen.add(tag[1]);
106
+ labels.push(tag[1]);
107
+ }
108
+ return labels.length > 0 ? labels : undefined;
109
+ }
110
+ function parseLegacyContent(event) {
111
+ const content = event.content?.trim();
112
+ if (!content)
113
+ return null;
114
+ try {
115
+ const parsed = JSON.parse(content);
116
+ if (parsed && typeof parsed === 'object') {
117
+ const payload = parsed;
118
+ return {
119
+ hash: typeof payload.hash === 'string' ? payload.hash : undefined,
120
+ key: typeof payload.key === 'string' ? payload.key : undefined,
121
+ visibility: typeof payload.visibility === 'string' ? payload.visibility : undefined,
122
+ encryptedKey: typeof payload.encryptedKey === 'string' ? payload.encryptedKey : undefined,
123
+ keyId: typeof payload.keyId === 'string' ? payload.keyId : undefined,
124
+ selfEncryptedKey: typeof payload.selfEncryptedKey === 'string' ? payload.selfEncryptedKey : undefined,
125
+ selfEncryptedLinkKey: typeof payload.selfEncryptedLinkKey === 'string' ? payload.selfEncryptedLinkKey : undefined,
126
+ };
127
+ }
128
+ }
129
+ catch {
130
+ // Ignore JSON parse errors.
131
+ }
132
+ if (/^[0-9a-fA-F]{64}$/.test(content)) {
133
+ return { hash: content };
134
+ }
135
+ return null;
136
+ }
137
+ export function parseTreeRootEvent(event) {
138
+ const hashTag = event.tags.find(t => t[0] === 'hash')?.[1];
139
+ const legacyContent = hashTag ? null : parseLegacyContent(event);
140
+ const hash = hashTag ?? legacyContent?.hash;
141
+ if (!hash)
142
+ return null;
143
+ const keyTag = event.tags.find(t => t[0] === 'key')?.[1];
144
+ const encryptedKeyTag = event.tags.find(t => t[0] === 'encryptedKey')?.[1];
145
+ const keyIdTag = event.tags.find(t => t[0] === 'keyId')?.[1];
146
+ const selfEncryptedKeyTag = event.tags.find(t => t[0] === 'selfEncryptedKey')?.[1];
147
+ const selfEncryptedLinkKeyTag = event.tags.find(t => t[0] === 'selfEncryptedLinkKey')?.[1];
148
+ const key = keyTag ?? legacyContent?.key;
149
+ const encryptedKey = encryptedKeyTag ?? legacyContent?.encryptedKey;
150
+ const keyId = keyIdTag ?? legacyContent?.keyId;
151
+ const selfEncryptedKey = selfEncryptedKeyTag ?? legacyContent?.selfEncryptedKey;
152
+ const selfEncryptedLinkKey = selfEncryptedLinkKeyTag ?? legacyContent?.selfEncryptedLinkKey;
153
+ let visibility;
154
+ if (encryptedKey) {
155
+ visibility = 'link-visible';
156
+ }
157
+ else if (selfEncryptedKey) {
158
+ visibility = 'private';
159
+ }
160
+ else {
161
+ visibility = legacyContent?.visibility ?? 'public';
162
+ }
163
+ return {
164
+ hash,
165
+ key,
166
+ visibility,
167
+ labels: parseLabels(event),
168
+ encryptedKey,
169
+ keyId,
170
+ selfEncryptedKey,
171
+ selfEncryptedLinkKey,
172
+ };
173
+ }
174
+ async function fetchTreeRootEventsFromNdk(pubkeyHex, treeName, timeoutMs) {
175
+ const ndk = getNdk();
176
+ if (!ndk)
177
+ return [];
178
+ try {
179
+ const events = await withTimeout(ndk.fetchEvents({
180
+ kinds: [30078],
181
+ authors: [pubkeyHex],
182
+ '#d': [treeName],
183
+ limit: MAX_HISTORICAL_TREE_ROOT_EVENTS,
184
+ }, {
185
+ cacheUsage: NDKSubscriptionCacheUsage.ONLY_RELAY,
186
+ }), timeoutMs);
187
+ if (!events)
188
+ return [];
189
+ return uniqueEvents(Array.from(events).map((event) => toSignedEvent(event.rawEvent?.() ?? event)))
190
+ .sort(compareReplaceableEvents);
191
+ }
192
+ catch {
193
+ return [];
194
+ }
195
+ }
196
+ async function fetchTreeRootEventsFromRelays(pubkeyHex, treeName, timeoutMs) {
197
+ const relayUrls = getHistoryRelayUrls();
198
+ if (relayUrls.length === 0)
199
+ return [];
200
+ const pool = new SimplePool();
201
+ try {
202
+ const events = await withTimeout(pool.querySync(relayUrls, {
203
+ kinds: [30078],
204
+ authors: [pubkeyHex],
205
+ '#d': [treeName],
206
+ limit: MAX_HISTORICAL_TREE_ROOT_EVENTS,
207
+ }, {
208
+ maxWait: timeoutMs,
209
+ }), timeoutMs + 500);
210
+ if (!events)
211
+ return [];
212
+ return uniqueEvents(Array.from(events).map((event) => toSignedEvent(event)))
213
+ .sort(compareReplaceableEvents);
214
+ }
215
+ catch {
216
+ return [];
217
+ }
218
+ finally {
219
+ try {
220
+ pool.close(relayUrls);
221
+ }
222
+ catch { }
223
+ try {
224
+ pool.destroy();
225
+ }
226
+ catch { }
227
+ }
228
+ }
229
+ function cidKey(cid) {
230
+ const hash = Array.from(cid.hash, (byte) => byte.toString(16).padStart(2, '0')).join('');
231
+ const key = cid.key
232
+ ? Array.from(cid.key, (byte) => byte.toString(16).padStart(2, '0')).join('')
233
+ : '';
234
+ return `${hash}:${key}`;
235
+ }
236
+ function dedupeRoots(roots) {
237
+ const seen = new Set();
238
+ const result = [];
239
+ for (const root of roots) {
240
+ const key = cidKey(root);
241
+ if (seen.has(key))
242
+ continue;
243
+ seen.add(key);
244
+ result.push(root);
245
+ }
246
+ return result;
247
+ }
248
+ export async function getHistoricalTreeRoots(npub, treeName, timeoutMs = 8000) {
249
+ const cacheKey = `${npub}/${treeName}`;
250
+ const cached = historicalRootListCache.get(cacheKey);
251
+ if (cached && cached.expiresAt > Date.now()) {
252
+ return cached.roots;
253
+ }
254
+ if (cached) {
255
+ historicalRootListCache.delete(cacheKey);
256
+ }
257
+ const inFlight = inFlightHistoricalRootLists.get(cacheKey);
258
+ if (inFlight) {
259
+ return await inFlight;
260
+ }
261
+ const lookup = (async () => {
262
+ let pubkeyHex;
263
+ try {
264
+ const decoded = nip19.decode(npub);
265
+ if (decoded.type !== 'npub')
266
+ return [];
267
+ pubkeyHex = decoded.data;
268
+ }
269
+ catch {
270
+ return [];
271
+ }
272
+ const [ndkEvents, relayEvents] = await Promise.all([
273
+ fetchTreeRootEventsFromNdk(pubkeyHex, treeName, timeoutMs),
274
+ fetchTreeRootEventsFromRelays(pubkeyHex, treeName, timeoutMs),
275
+ ]);
276
+ const roots = dedupeRoots(uniqueEvents([...ndkEvents, ...relayEvents])
277
+ .sort(compareReplaceableEvents)
278
+ .map((event) => {
279
+ const parsed = parseTreeRootEvent(event);
280
+ if (!parsed)
281
+ return null;
282
+ try {
283
+ return {
284
+ hash: hexToBytes(parsed.hash),
285
+ key: parsed.key ? hexToBytes(parsed.key) : undefined,
286
+ };
287
+ }
288
+ catch {
289
+ return null;
290
+ }
291
+ })
292
+ .filter((root) => !!root));
293
+ historicalRootListCache.set(cacheKey, {
294
+ roots,
295
+ expiresAt: Date.now() + HISTORICAL_TREE_ROOT_CACHE_TTL_MS,
296
+ });
297
+ return roots;
298
+ })();
299
+ inFlightHistoricalRootLists.set(cacheKey, lookup);
300
+ try {
301
+ return await lookup;
302
+ }
303
+ finally {
304
+ inFlightHistoricalRootLists.delete(cacheKey);
305
+ }
306
+ }
307
+ export async function resolveTreeRootNow(npub, treeName, timeoutMs = 8000) {
308
+ const cached = await getCachedRoot(npub, treeName);
309
+ if (cached) {
310
+ return cached;
311
+ }
312
+ const cacheKey = `${npub}/${treeName}`;
313
+ const inFlight = inFlightRootResolutions.get(cacheKey);
314
+ if (inFlight) {
315
+ return await inFlight;
316
+ }
317
+ const lookup = (async () => {
318
+ let pubkeyHex;
319
+ try {
320
+ const decoded = nip19.decode(npub);
321
+ if (decoded.type !== 'npub')
322
+ return null;
323
+ pubkeyHex = decoded.data;
324
+ }
325
+ catch {
326
+ return null;
327
+ }
328
+ const fetched = (await fetchTreeRootEventsFromNdk(pubkeyHex, treeName, timeoutMs))[0] ?? (await fetchTreeRootEventsFromRelays(pubkeyHex, treeName, timeoutMs))[0];
329
+ if (!fetched) {
330
+ return null;
331
+ }
332
+ const parsed = parseTreeRootEvent(fetched);
333
+ if (!parsed) {
334
+ return null;
335
+ }
336
+ const hash = hexToBytes(parsed.hash);
337
+ const key = parsed.key ? hexToBytes(parsed.key) : undefined;
338
+ const { applied, record } = await setCachedRoot(npub, treeName, { hash, key }, parsed.visibility, {
339
+ updatedAt: fetched.created_at,
340
+ eventId: fetched.id,
341
+ labels: parsed.labels,
342
+ snapshotNhash: await storeSnapshotNhash(fetched),
343
+ encryptedKey: parsed.encryptedKey,
344
+ keyId: parsed.keyId,
345
+ selfEncryptedKey: parsed.selfEncryptedKey,
346
+ selfEncryptedLinkKey: parsed.selfEncryptedLinkKey,
347
+ });
348
+ historicalRootListCache.delete(cacheKey);
349
+ if (notifyCallback && applied) {
350
+ notifyCallback(npub, treeName, {
351
+ hash: record.hash,
352
+ key: record.key,
353
+ visibility: record.visibility,
354
+ labels: record.labels,
355
+ updatedAt: record.updatedAt,
356
+ snapshotNhash: record.snapshotNhash,
357
+ encryptedKey: record.encryptedKey,
358
+ keyId: record.keyId,
359
+ selfEncryptedKey: record.selfEncryptedKey,
360
+ selfEncryptedLinkKey: record.selfEncryptedLinkKey,
361
+ });
362
+ }
363
+ return { hash: record.hash, key: record.key };
364
+ })();
365
+ inFlightRootResolutions.set(cacheKey, lookup);
366
+ try {
367
+ return await lookup;
368
+ }
369
+ finally {
370
+ inFlightRootResolutions.delete(cacheKey);
371
+ }
372
+ }
373
+ /**
374
+ * Set callback to notify main thread of tree root updates
375
+ */
376
+ export function setNotifyCallback(callback) {
377
+ notifyCallback = callback;
378
+ }
379
+ /**
380
+ * Subscribe to tree roots for a specific pubkey
381
+ */
382
+ export function subscribeToTreeRoots(pubkeyHex) {
383
+ // Already subscribed?
384
+ if (activeSubscriptions.has(pubkeyHex)) {
385
+ return () => unsubscribeFromTreeRoots(pubkeyHex);
386
+ }
387
+ const subId = `tree-${pubkeyHex.slice(0, 8)}`;
388
+ activeSubscriptions.set(pubkeyHex, subId);
389
+ ndkSubscribe(subId, [{
390
+ kinds: [30078],
391
+ authors: [pubkeyHex],
392
+ }], {
393
+ cacheUsage: NDKSubscriptionCacheUsage.ONLY_RELAY,
394
+ });
395
+ return () => unsubscribeFromTreeRoots(pubkeyHex);
396
+ }
397
+ /**
398
+ * Unsubscribe from tree roots for a specific pubkey
399
+ */
400
+ export function unsubscribeFromTreeRoots(pubkeyHex) {
401
+ const subId = activeSubscriptions.get(pubkeyHex);
402
+ if (subId) {
403
+ ndkUnsubscribe(subId);
404
+ activeSubscriptions.delete(pubkeyHex);
405
+ }
406
+ }
407
+ /**
408
+ * Handle incoming tree root event (kind 30078 with #l=hashtree)
409
+ * Called from worker.ts event router
410
+ */
411
+ function hasLabel(event, label) {
412
+ return event.tags.some(tag => tag[0] === 'l' && tag[1] === label);
413
+ }
414
+ function hasAnyLabel(event) {
415
+ return event.tags.some(tag => tag[0] === 'l');
416
+ }
417
+ export async function handleTreeRootEvent(event) {
418
+ // Extract tree name from #d tag
419
+ const dTag = event.tags.find(t => t[0] === 'd');
420
+ if (!dTag || !dTag[1])
421
+ return;
422
+ const treeName = dTag[1];
423
+ // Accept unlabeled legacy events, ignore other labeled apps.
424
+ if (hasAnyLabel(event) && !hasLabel(event, 'hashtree'))
425
+ return;
426
+ const parsed = parseTreeRootEvent(event);
427
+ if (!parsed)
428
+ return;
429
+ // Convert pubkey to npub
430
+ const npub = nip19.npubEncode(event.pubkey);
431
+ // Parse hash and optional key
432
+ const hash = hexToBytes(parsed.hash);
433
+ const key = parsed.key ? hexToBytes(parsed.key) : undefined;
434
+ const visibility = parsed.visibility || 'public';
435
+ // Update cache
436
+ const { applied, record } = await setCachedRoot(npub, treeName, { hash, key }, visibility, {
437
+ updatedAt: event.created_at,
438
+ eventId: event.id,
439
+ labels: parsed.labels,
440
+ snapshotNhash: await storeSnapshotNhash(event),
441
+ encryptedKey: parsed.encryptedKey,
442
+ keyId: parsed.keyId,
443
+ selfEncryptedKey: parsed.selfEncryptedKey,
444
+ selfEncryptedLinkKey: parsed.selfEncryptedLinkKey,
445
+ });
446
+ if (!applied)
447
+ return;
448
+ historicalRootListCache.delete(`${npub}/${treeName}`);
449
+ // Notify main thread
450
+ if (notifyCallback) {
451
+ notifyCallback(npub, treeName, record);
452
+ }
453
+ }
454
+ /**
455
+ * Check if an event is a tree root event
456
+ */
457
+ export function isTreeRootEvent(event) {
458
+ if (event.kind !== 30078)
459
+ return false;
460
+ if (hasLabel(event, 'hashtree'))
461
+ return true;
462
+ return !hasAnyLabel(event);
463
+ }
464
+ /**
465
+ * Get all active subscription pubkeys
466
+ */
467
+ export function getActiveSubscriptions() {
468
+ return Array.from(activeSubscriptions.keys());
469
+ }
470
+ // Helper: hex string to Uint8Array
471
+ function hexToBytes(hex) {
472
+ const bytes = new Uint8Array(hex.length / 2);
473
+ for (let i = 0; i < bytes.length; i++) {
474
+ bytes[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
475
+ }
476
+ return bytes;
477
+ }
478
+ //# sourceMappingURL=treeRootSubscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treeRootSubscription.js","sourceRoot":"","sources":["../../src/relay/treeRootSubscription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ export declare const DEFAULT_BOOTSTRAP_PUBKEY: string;
2
+ export declare const DEFAULT_VIDEO_FEED_PUBKEYS: string[];
3
+ export declare const KIND_METADATA = 0;
4
+ export declare const KIND_TEXT_NOTE = 1;
5
+ export declare const KIND_CONTACTS = 3;
6
+ export declare const KIND_REPOST = 6;
7
+ export declare const KIND_REACTION = 7;
8
+ export declare const KIND_EPHEMERAL = 20000;
9
+ export declare const KIND_CHAT_MESSAGE = 14;
10
+ export declare const KIND_CHANNEL_CREATE = 40;
11
+ export declare const KIND_CHANNEL_MESSAGE = 42;
12
+ export declare const KIND_ZAP_RECEIPT = 9735;
13
+ export declare const KIND_MUTE_LIST = 10000;
14
+ export declare const KIND_FLAG_LIST = 16463;
15
+ export declare const KIND_APP_DATA = 30078;
16
+ export declare const KIND_LONG_FORM_CONTENT = 30023;
17
+ export declare const KIND_HTTP_AUTH = 27235;
18
+ export declare const KIND_BLOSSOM_AUTH = 24242;
19
+ export declare const KIND_DEBUG_DATA = 30000;
20
+ export declare const KIND_CLASSIFIED = 30402;
21
+ export declare const KIND_HIGHLIGHT = 9802;
22
+ export declare const KIND_PICTURE_FIRST = 20;
23
+ export declare const KIND_WALLET_CONNECT = 6927;
24
+ export declare const KIND_REPO_ANNOUNCEMENT = 30617;
25
+ export declare const KIND_REPO_STATE = 30618;
26
+ export declare const KIND_PATCH = 1617;
27
+ export declare const KIND_PULL_REQUEST = 1618;
28
+ export declare const KIND_PR_UPDATE = 1619;
29
+ export declare const KIND_ISSUE = 1621;
30
+ export declare const KIND_STATUS_OPEN = 1630;
31
+ export declare const KIND_STATUS_APPLIED = 1631;
32
+ export declare const KIND_STATUS_CLOSED = 1632;
33
+ export declare const KIND_STATUS_DRAFT = 1633;
34
+ export declare const DEBUG_NAMESPACES: {
35
+ readonly NDK_RELAY: "ndk:relay";
36
+ readonly NDK_RELAY_CONN: "ndk:relay:conn";
37
+ readonly NDK_RELAY_ERROR: "ndk:relay:error";
38
+ readonly NDK_RELAY_WARN: "ndk:relay:warn";
39
+ readonly NDK_SUBSCRIPTION: "ndk:subscription";
40
+ readonly NDK_SUBSCRIPTION_ERROR: "ndk:subscription:error";
41
+ readonly NDK_SUBSCRIPTION_WARN: "ndk:subscription:warn";
42
+ readonly NDK_CACHE: "ndk:cache";
43
+ readonly NDK_CACHE_ERROR: "ndk:cache:error";
44
+ readonly NDK_CACHE_WARN: "ndk:cache:warn";
45
+ readonly NDK_POOL: "ndk:pool";
46
+ readonly NDK_POOL_ERROR: "ndk:pool:error";
47
+ readonly NDK_POOL_WARN: "ndk:pool:warn";
48
+ readonly NDK_WORKER: "ndk:worker";
49
+ readonly NDK_WORKER_ERROR: "ndk:worker:error";
50
+ readonly NDK_WORKER_WARN: "ndk:worker:warn";
51
+ readonly NDK_TRANSPORT: "ndk:transport";
52
+ readonly WEBRTC_PEER: "webrtc:peer";
53
+ readonly WEBRTC_PEER_LIFECYCLE: "webrtc:peer:lifecycle";
54
+ readonly WEBRTC_PEER_MESSAGES: "webrtc:peer:messages";
55
+ readonly WEBRTC_PEER_DATA: "webrtc:peer:data";
56
+ readonly WEBRTC_SIGNALING: "webrtc:signaling";
57
+ readonly CASHU_WALLET: "cashu:wallet";
58
+ readonly CASHU_WALLET_ERROR: "cashu:wallet:error";
59
+ readonly CASHU_WALLET_WARN: "cashu:wallet:warn";
60
+ readonly CASHU_MINT: "cashu:mint";
61
+ readonly CASHU_MINT_ERROR: "cashu:mint:error";
62
+ readonly CASHU_MINT_WARN: "cashu:mint:warn";
63
+ readonly UI_FEED: "ui:feed";
64
+ readonly UI_FEED_ERROR: "ui:feed:error";
65
+ readonly UI_FEED_WARN: "ui:feed:warn";
66
+ readonly UI_CHAT: "ui:chat";
67
+ readonly UI_CHAT_ERROR: "ui:chat:error";
68
+ readonly UI_CHAT_WARN: "ui:chat:warn";
69
+ readonly HOOKS: "hooks";
70
+ readonly HOOKS_ERROR: "hooks:error";
71
+ readonly HOOKS_WARN: "hooks:warn";
72
+ readonly UTILS: "utils";
73
+ readonly UTILS_ERROR: "utils:error";
74
+ readonly UTILS_WARN: "utils:warn";
75
+ };
76
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/relay/utils/constants.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,QAGmC,CAAC;AAGzE,eAAO,MAAM,0BAA0B,UAEtC,CAAC;AAGF,eAAO,MAAM,aAAa,IAAI,CAAA;AAC9B,eAAO,MAAM,cAAc,IAAI,CAAA;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAA;AAG9B,eAAO,MAAM,WAAW,IAAI,CAAA;AAG5B,eAAO,MAAM,aAAa,IAAI,CAAA;AAG9B,eAAO,MAAM,cAAc,QAAQ,CAAA;AAGnC,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAGnC,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAGtC,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAGpC,eAAO,MAAM,cAAc,QAAQ,CAAA;AACnC,eAAO,MAAM,cAAc,QAAQ,CAAA;AAGnC,eAAO,MAAM,aAAa,QAAQ,CAAA;AAGlC,eAAO,MAAM,sBAAsB,QAAQ,CAAA;AAG3C,eAAO,MAAM,cAAc,QAAQ,CAAA;AAGnC,eAAO,MAAM,iBAAiB,QAAQ,CAAA;AAGtC,eAAO,MAAM,eAAe,QAAQ,CAAA;AAGpC,eAAO,MAAM,eAAe,QAAQ,CAAA;AAGpC,eAAO,MAAM,cAAc,OAAO,CAAA;AAGlC,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAGpC,eAAO,MAAM,mBAAmB,OAAO,CAAA;AAGvC,eAAO,MAAM,sBAAsB,QAAQ,CAAA;AAC3C,eAAO,MAAM,eAAe,QAAQ,CAAA;AACpC,eAAO,MAAM,UAAU,OAAO,CAAA;AAC9B,eAAO,MAAM,iBAAiB,OAAO,CAAA;AACrC,eAAO,MAAM,cAAc,OAAO,CAAA;AAClC,eAAO,MAAM,UAAU,OAAO,CAAA;AAE9B,eAAO,MAAM,gBAAgB,OAAO,CAAA;AACpC,eAAO,MAAM,mBAAmB,OAAO,CAAA;AACvC,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,iBAAiB,OAAO,CAAA;AAGrC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDnB,CAAA"}