@hashtree/core 0.1.0

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 (138) hide show
  1. package/LICENSE +21 -0
  2. package/dist/bep52.d.ts +179 -0
  3. package/dist/bep52.d.ts.map +1 -0
  4. package/dist/bep52.js +384 -0
  5. package/dist/bep52.js.map +1 -0
  6. package/dist/builder.d.ts +137 -0
  7. package/dist/builder.d.ts.map +1 -0
  8. package/dist/builder.js +281 -0
  9. package/dist/builder.js.map +1 -0
  10. package/dist/codec.d.ts +37 -0
  11. package/dist/codec.d.ts.map +1 -0
  12. package/dist/codec.js +109 -0
  13. package/dist/codec.js.map +1 -0
  14. package/dist/crypto.d.ts +92 -0
  15. package/dist/crypto.d.ts.map +1 -0
  16. package/dist/crypto.js +212 -0
  17. package/dist/crypto.js.map +1 -0
  18. package/dist/encrypted.d.ts +114 -0
  19. package/dist/encrypted.d.ts.map +1 -0
  20. package/dist/encrypted.js +446 -0
  21. package/dist/encrypted.js.map +1 -0
  22. package/dist/hash.d.ts +14 -0
  23. package/dist/hash.d.ts.map +1 -0
  24. package/dist/hash.js +27 -0
  25. package/dist/hash.js.map +1 -0
  26. package/dist/hashtree.d.ts +237 -0
  27. package/dist/hashtree.d.ts.map +1 -0
  28. package/dist/hashtree.js +557 -0
  29. package/dist/hashtree.js.map +1 -0
  30. package/dist/index.d.ts +27 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +44 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/nhash.d.ts +94 -0
  35. package/dist/nhash.d.ts.map +1 -0
  36. package/dist/nhash.js +293 -0
  37. package/dist/nhash.js.map +1 -0
  38. package/dist/resolver/index.d.ts +5 -0
  39. package/dist/resolver/index.d.ts.map +1 -0
  40. package/dist/resolver/index.js +5 -0
  41. package/dist/resolver/index.js.map +1 -0
  42. package/dist/resolver/nostr.d.ts +82 -0
  43. package/dist/resolver/nostr.d.ts.map +1 -0
  44. package/dist/resolver/nostr.js +868 -0
  45. package/dist/resolver/nostr.js.map +1 -0
  46. package/dist/store/blossom.d.ts +100 -0
  47. package/dist/store/blossom.d.ts.map +1 -0
  48. package/dist/store/blossom.js +355 -0
  49. package/dist/store/blossom.js.map +1 -0
  50. package/dist/store/dexie.d.ts +44 -0
  51. package/dist/store/dexie.d.ts.map +1 -0
  52. package/dist/store/dexie.js +196 -0
  53. package/dist/store/dexie.js.map +1 -0
  54. package/dist/store/fallback.d.ts +40 -0
  55. package/dist/store/fallback.d.ts.map +1 -0
  56. package/dist/store/fallback.js +71 -0
  57. package/dist/store/fallback.js.map +1 -0
  58. package/dist/store/index.d.ts +6 -0
  59. package/dist/store/index.d.ts.map +1 -0
  60. package/dist/store/index.js +6 -0
  61. package/dist/store/index.js.map +1 -0
  62. package/dist/store/memory.d.ts +29 -0
  63. package/dist/store/memory.d.ts.map +1 -0
  64. package/dist/store/memory.js +66 -0
  65. package/dist/store/memory.js.map +1 -0
  66. package/dist/store/opfs.d.ts +56 -0
  67. package/dist/store/opfs.d.ts.map +1 -0
  68. package/dist/store/opfs.js +200 -0
  69. package/dist/store/opfs.js.map +1 -0
  70. package/dist/streaming.d.ts +74 -0
  71. package/dist/streaming.d.ts.map +1 -0
  72. package/dist/streaming.js +199 -0
  73. package/dist/streaming.js.map +1 -0
  74. package/dist/tree/create.d.ts +35 -0
  75. package/dist/tree/create.d.ts.map +1 -0
  76. package/dist/tree/create.js +90 -0
  77. package/dist/tree/create.js.map +1 -0
  78. package/dist/tree/edit.d.ts +28 -0
  79. package/dist/tree/edit.d.ts.map +1 -0
  80. package/dist/tree/edit.js +115 -0
  81. package/dist/tree/edit.js.map +1 -0
  82. package/dist/tree/editEncrypted.d.ts +46 -0
  83. package/dist/tree/editEncrypted.d.ts.map +1 -0
  84. package/dist/tree/editEncrypted.js +225 -0
  85. package/dist/tree/editEncrypted.js.map +1 -0
  86. package/dist/tree/index.d.ts +7 -0
  87. package/dist/tree/index.d.ts.map +1 -0
  88. package/dist/tree/index.js +7 -0
  89. package/dist/tree/index.js.map +1 -0
  90. package/dist/tree/read.d.ts +75 -0
  91. package/dist/tree/read.d.ts.map +1 -0
  92. package/dist/tree/read.js +389 -0
  93. package/dist/tree/read.js.map +1 -0
  94. package/dist/tree/writeAt.d.ts +44 -0
  95. package/dist/tree/writeAt.d.ts.map +1 -0
  96. package/dist/tree/writeAt.js +282 -0
  97. package/dist/tree/writeAt.js.map +1 -0
  98. package/dist/types.d.ts +274 -0
  99. package/dist/types.d.ts.map +1 -0
  100. package/dist/types.js +47 -0
  101. package/dist/types.js.map +1 -0
  102. package/dist/verify.d.ts +12 -0
  103. package/dist/verify.d.ts.map +1 -0
  104. package/dist/verify.js +32 -0
  105. package/dist/verify.js.map +1 -0
  106. package/dist/visibility.d.ts +50 -0
  107. package/dist/visibility.d.ts.map +1 -0
  108. package/dist/visibility.js +111 -0
  109. package/dist/visibility.js.map +1 -0
  110. package/dist/webrtc/index.d.ts +4 -0
  111. package/dist/webrtc/index.d.ts.map +1 -0
  112. package/dist/webrtc/index.js +4 -0
  113. package/dist/webrtc/index.js.map +1 -0
  114. package/dist/webrtc/lruCache.d.ts +20 -0
  115. package/dist/webrtc/lruCache.d.ts.map +1 -0
  116. package/dist/webrtc/lruCache.js +59 -0
  117. package/dist/webrtc/lruCache.js.map +1 -0
  118. package/dist/webrtc/peer.d.ts +122 -0
  119. package/dist/webrtc/peer.d.ts.map +1 -0
  120. package/dist/webrtc/peer.js +583 -0
  121. package/dist/webrtc/peer.js.map +1 -0
  122. package/dist/webrtc/protocol.d.ts +76 -0
  123. package/dist/webrtc/protocol.d.ts.map +1 -0
  124. package/dist/webrtc/protocol.js +167 -0
  125. package/dist/webrtc/protocol.js.map +1 -0
  126. package/dist/webrtc/store.d.ts +190 -0
  127. package/dist/webrtc/store.d.ts.map +1 -0
  128. package/dist/webrtc/store.js +1043 -0
  129. package/dist/webrtc/store.js.map +1 -0
  130. package/dist/webrtc/types.d.ts +196 -0
  131. package/dist/webrtc/types.d.ts.map +1 -0
  132. package/dist/webrtc/types.js +46 -0
  133. package/dist/webrtc/types.js.map +1 -0
  134. package/dist/worker/protocol.d.ts +493 -0
  135. package/dist/worker/protocol.d.ts.map +1 -0
  136. package/dist/worker/protocol.js +15 -0
  137. package/dist/worker/protocol.js.map +1 -0
  138. package/package.json +59 -0
@@ -0,0 +1,493 @@
1
+ /**
2
+ * Worker Protocol Types
3
+ *
4
+ * Message types for communication between main thread and hashtree worker.
5
+ * Worker owns: HashTree, OpfsStore, WebRTC, Nostr (via nostr-tools)
6
+ * Main thread owns: UI, NIP-07 extension access (signing/encryption)
7
+ */
8
+ import type { CID } from '../types';
9
+ export interface NostrFilter {
10
+ ids?: string[];
11
+ authors?: string[];
12
+ kinds?: number[];
13
+ '#e'?: string[];
14
+ '#p'?: string[];
15
+ '#d'?: string[];
16
+ since?: number;
17
+ until?: number;
18
+ limit?: number;
19
+ [key: string]: string[] | number[] | number | undefined;
20
+ }
21
+ export interface SocialGraphEvent {
22
+ id: string;
23
+ pubkey: string;
24
+ kind: number;
25
+ content: string;
26
+ tags: string[][];
27
+ created_at: number;
28
+ sig: string;
29
+ }
30
+ export interface UnsignedEvent {
31
+ kind: number;
32
+ created_at: number;
33
+ tags: string[][];
34
+ content: string;
35
+ pubkey?: string;
36
+ }
37
+ export interface SignedEvent extends UnsignedEvent {
38
+ id: string;
39
+ pubkey: string;
40
+ sig: string;
41
+ }
42
+ export interface PeerStats {
43
+ peerId: string;
44
+ pubkey: string;
45
+ connected: boolean;
46
+ requestsSent: number;
47
+ requestsReceived: number;
48
+ responsesSent: number;
49
+ responsesReceived: number;
50
+ bytesSent: number;
51
+ bytesReceived: number;
52
+ }
53
+ export type WorkerRequest = {
54
+ type: 'init';
55
+ id: string;
56
+ config: WorkerConfig;
57
+ } | {
58
+ type: 'close';
59
+ id: string;
60
+ } | {
61
+ type: 'setIdentity';
62
+ id: string;
63
+ pubkey: string;
64
+ nsec?: string;
65
+ } | {
66
+ type: 'get';
67
+ id: string;
68
+ hash: Uint8Array;
69
+ } | {
70
+ type: 'put';
71
+ id: string;
72
+ hash: Uint8Array;
73
+ data: Uint8Array;
74
+ } | {
75
+ type: 'has';
76
+ id: string;
77
+ hash: Uint8Array;
78
+ } | {
79
+ type: 'delete';
80
+ id: string;
81
+ hash: Uint8Array;
82
+ } | {
83
+ type: 'readFile';
84
+ id: string;
85
+ cid: CID;
86
+ } | {
87
+ type: 'readFileRange';
88
+ id: string;
89
+ cid: CID;
90
+ start: number;
91
+ end?: number;
92
+ } | {
93
+ type: 'readFileStream';
94
+ id: string;
95
+ cid: CID;
96
+ } | {
97
+ type: 'writeFile';
98
+ id: string;
99
+ parentCid: CID | null;
100
+ path: string;
101
+ data: Uint8Array;
102
+ } | {
103
+ type: 'deleteFile';
104
+ id: string;
105
+ parentCid: CID;
106
+ path: string;
107
+ } | {
108
+ type: 'listDir';
109
+ id: string;
110
+ cid: CID;
111
+ } | {
112
+ type: 'resolveRoot';
113
+ id: string;
114
+ npub: string;
115
+ path?: string;
116
+ } | {
117
+ type: 'subscribe';
118
+ id: string;
119
+ filters: NostrFilter[];
120
+ } | {
121
+ type: 'unsubscribe';
122
+ id: string;
123
+ subId: string;
124
+ } | {
125
+ type: 'publish';
126
+ id: string;
127
+ event: SignedEvent;
128
+ } | {
129
+ type: 'registerMediaPort';
130
+ port: MessagePort;
131
+ } | {
132
+ type: 'getPeerStats';
133
+ id: string;
134
+ } | {
135
+ type: 'getRelayStats';
136
+ id: string;
137
+ } | {
138
+ type: 'getStorageStats';
139
+ id: string;
140
+ } | {
141
+ type: 'setWebRTCPools';
142
+ id: string;
143
+ pools: {
144
+ follows: {
145
+ max: number;
146
+ satisfied: number;
147
+ };
148
+ other: {
149
+ max: number;
150
+ satisfied: number;
151
+ };
152
+ };
153
+ } | {
154
+ type: 'sendWebRTCHello';
155
+ id: string;
156
+ } | {
157
+ type: 'setFollows';
158
+ id: string;
159
+ follows: string[];
160
+ } | {
161
+ type: 'blockPeer';
162
+ id: string;
163
+ pubkey: string;
164
+ } | {
165
+ type: 'pushToBlossom';
166
+ id: string;
167
+ cidHash: Uint8Array;
168
+ cidKey?: Uint8Array;
169
+ } | {
170
+ type: 'startBlossomSession';
171
+ id: string;
172
+ sessionId: string;
173
+ totalChunks: number;
174
+ } | {
175
+ type: 'endBlossomSession';
176
+ id: string;
177
+ } | {
178
+ type: 'initSocialGraph';
179
+ id: string;
180
+ rootPubkey?: string;
181
+ } | {
182
+ type: 'setSocialGraphRoot';
183
+ id: string;
184
+ pubkey: string;
185
+ } | {
186
+ type: 'handleSocialGraphEvents';
187
+ id: string;
188
+ events: SocialGraphEvent[];
189
+ } | {
190
+ type: 'getFollowDistance';
191
+ id: string;
192
+ pubkey: string;
193
+ } | {
194
+ type: 'isFollowing';
195
+ id: string;
196
+ follower: string;
197
+ followed: string;
198
+ } | {
199
+ type: 'getFollows';
200
+ id: string;
201
+ pubkey: string;
202
+ } | {
203
+ type: 'getFollowers';
204
+ id: string;
205
+ pubkey: string;
206
+ } | {
207
+ type: 'getFollowedByFriends';
208
+ id: string;
209
+ pubkey: string;
210
+ } | {
211
+ type: 'getSocialGraphSize';
212
+ id: string;
213
+ } | {
214
+ type: 'getUsersByDistance';
215
+ id: string;
216
+ distance: number;
217
+ } | {
218
+ type: 'signed';
219
+ id: string;
220
+ event?: SignedEvent;
221
+ error?: string;
222
+ } | {
223
+ type: 'encrypted';
224
+ id: string;
225
+ ciphertext?: string;
226
+ error?: string;
227
+ } | {
228
+ type: 'decrypted';
229
+ id: string;
230
+ plaintext?: string;
231
+ error?: string;
232
+ } | WebRTCEvent;
233
+ /** Blossom server configuration */
234
+ export interface BlossomServerConfig {
235
+ url: string;
236
+ read?: boolean;
237
+ write?: boolean;
238
+ }
239
+ export interface WorkerConfig {
240
+ relays: string[];
241
+ blossomServers?: BlossomServerConfig[];
242
+ pubkey: string;
243
+ nsec?: string;
244
+ storeName?: string;
245
+ }
246
+ export type WorkerResponse = {
247
+ type: 'ready';
248
+ } | {
249
+ type: 'error';
250
+ id?: string;
251
+ error: string;
252
+ } | {
253
+ type: 'result';
254
+ id: string;
255
+ data?: Uint8Array;
256
+ error?: string;
257
+ } | {
258
+ type: 'bool';
259
+ id: string;
260
+ value: boolean;
261
+ error?: string;
262
+ } | {
263
+ type: 'cid';
264
+ id: string;
265
+ cid?: CID;
266
+ error?: string;
267
+ } | {
268
+ type: 'void';
269
+ id: string;
270
+ error?: string;
271
+ } | {
272
+ type: 'dirListing';
273
+ id: string;
274
+ entries?: DirEntry[];
275
+ error?: string;
276
+ } | {
277
+ type: 'streamChunk';
278
+ id: string;
279
+ chunk: Uint8Array;
280
+ done: boolean;
281
+ } | {
282
+ type: 'event';
283
+ subId: string;
284
+ event: SignedEvent;
285
+ } | {
286
+ type: 'eose';
287
+ subId: string;
288
+ } | {
289
+ type: 'peerStats';
290
+ id: string;
291
+ stats: PeerStats[];
292
+ } | {
293
+ type: 'relayStats';
294
+ id: string;
295
+ stats: RelayStats[];
296
+ } | {
297
+ type: 'storageStats';
298
+ id: string;
299
+ items: number;
300
+ bytes: number;
301
+ } | {
302
+ type: 'blossomUploadError';
303
+ hash: string;
304
+ error: string;
305
+ } | {
306
+ type: 'blossomUploadProgress';
307
+ progress: BlossomUploadProgress;
308
+ } | {
309
+ type: 'blossomPushResult';
310
+ id: string;
311
+ pushed: number;
312
+ skipped: number;
313
+ failed: number;
314
+ error?: string;
315
+ } | {
316
+ type: 'socialGraphReady';
317
+ id: string;
318
+ version: number;
319
+ size: number;
320
+ } | {
321
+ type: 'socialGraphVersion';
322
+ version: number;
323
+ } | {
324
+ type: 'followDistance';
325
+ id: string;
326
+ distance: number;
327
+ } | {
328
+ type: 'isFollowingResult';
329
+ id: string;
330
+ result: boolean;
331
+ } | {
332
+ type: 'pubkeyList';
333
+ id: string;
334
+ pubkeys: string[];
335
+ } | {
336
+ type: 'socialGraphSize';
337
+ id: string;
338
+ size: number;
339
+ } | {
340
+ type: 'signEvent';
341
+ id: string;
342
+ event: UnsignedEvent;
343
+ } | {
344
+ type: 'nip44Encrypt';
345
+ id: string;
346
+ pubkey: string;
347
+ plaintext: string;
348
+ } | {
349
+ type: 'nip44Decrypt';
350
+ id: string;
351
+ pubkey: string;
352
+ ciphertext: string;
353
+ } | WebRTCCommand;
354
+ export interface DirEntry {
355
+ name: string;
356
+ isDir: boolean;
357
+ size?: number;
358
+ cid?: CID;
359
+ }
360
+ export interface RelayStats {
361
+ url: string;
362
+ connected: boolean;
363
+ eventsReceived: number;
364
+ eventsSent: number;
365
+ }
366
+ /** Per-server blossom upload status */
367
+ export interface BlossomServerStatus {
368
+ url: string;
369
+ uploaded: number;
370
+ failed: number;
371
+ skipped: number;
372
+ }
373
+ /** Overall blossom upload progress */
374
+ export interface BlossomUploadProgress {
375
+ sessionId: string;
376
+ totalChunks: number;
377
+ processedChunks: number;
378
+ servers: BlossomServerStatus[];
379
+ }
380
+ export interface MediaRequestByCid {
381
+ type: 'media';
382
+ requestId: string;
383
+ cid: string;
384
+ start: number;
385
+ end?: number;
386
+ mimeType?: string;
387
+ }
388
+ export interface MediaRequestByPath {
389
+ type: 'mediaByPath';
390
+ requestId: string;
391
+ npub: string;
392
+ path: string;
393
+ start: number;
394
+ end?: number;
395
+ mimeType?: string;
396
+ }
397
+ export type MediaRequest = MediaRequestByCid | MediaRequestByPath;
398
+ export type MediaResponse = {
399
+ type: 'headers';
400
+ requestId: string;
401
+ totalSize: number;
402
+ mimeType: string;
403
+ isLive?: boolean;
404
+ } | {
405
+ type: 'chunk';
406
+ requestId: string;
407
+ data: Uint8Array;
408
+ } | {
409
+ type: 'done';
410
+ requestId: string;
411
+ } | {
412
+ type: 'error';
413
+ requestId: string;
414
+ message: string;
415
+ };
416
+ /** Worker → Main: Commands to control WebRTC connections */
417
+ export type WebRTCCommand = {
418
+ type: 'rtc:createPeer';
419
+ peerId: string;
420
+ pubkey: string;
421
+ } | {
422
+ type: 'rtc:closePeer';
423
+ peerId: string;
424
+ } | {
425
+ type: 'rtc:createOffer';
426
+ peerId: string;
427
+ } | {
428
+ type: 'rtc:createAnswer';
429
+ peerId: string;
430
+ } | {
431
+ type: 'rtc:setLocalDescription';
432
+ peerId: string;
433
+ sdp: RTCSessionDescriptionInit;
434
+ } | {
435
+ type: 'rtc:setRemoteDescription';
436
+ peerId: string;
437
+ sdp: RTCSessionDescriptionInit;
438
+ } | {
439
+ type: 'rtc:addIceCandidate';
440
+ peerId: string;
441
+ candidate: RTCIceCandidateInit;
442
+ } | {
443
+ type: 'rtc:sendData';
444
+ peerId: string;
445
+ data: Uint8Array;
446
+ };
447
+ /** Main → Worker: Events from WebRTC connections */
448
+ export type WebRTCEvent = {
449
+ type: 'rtc:peerCreated';
450
+ peerId: string;
451
+ } | {
452
+ type: 'rtc:peerStateChange';
453
+ peerId: string;
454
+ state: RTCPeerConnectionState;
455
+ } | {
456
+ type: 'rtc:peerClosed';
457
+ peerId: string;
458
+ } | {
459
+ type: 'rtc:offerCreated';
460
+ peerId: string;
461
+ sdp: RTCSessionDescriptionInit;
462
+ } | {
463
+ type: 'rtc:answerCreated';
464
+ peerId: string;
465
+ sdp: RTCSessionDescriptionInit;
466
+ } | {
467
+ type: 'rtc:descriptionSet';
468
+ peerId: string;
469
+ error?: string;
470
+ } | {
471
+ type: 'rtc:iceCandidate';
472
+ peerId: string;
473
+ candidate: RTCIceCandidateInit | null;
474
+ } | {
475
+ type: 'rtc:iceGatheringComplete';
476
+ peerId: string;
477
+ } | {
478
+ type: 'rtc:dataChannelOpen';
479
+ peerId: string;
480
+ } | {
481
+ type: 'rtc:dataChannelMessage';
482
+ peerId: string;
483
+ data: Uint8Array;
484
+ } | {
485
+ type: 'rtc:dataChannelClose';
486
+ peerId: string;
487
+ } | {
488
+ type: 'rtc:dataChannelError';
489
+ peerId: string;
490
+ error: string;
491
+ };
492
+ export declare function generateRequestId(): string;
493
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Worker Protocol Types
3
+ *
4
+ * Message types for communication between main thread and hashtree worker.
5
+ * Worker owns: HashTree, OpfsStore, WebRTC, Nostr (via nostr-tools)
6
+ * Main thread owns: UI, NIP-07 extension access (signing/encryption)
7
+ */
8
+ // ============================================================================
9
+ // Helper functions
10
+ // ============================================================================
11
+ let requestIdCounter = 0;
12
+ export function generateRequestId() {
13
+ return `req_${Date.now()}_${++requestIdCounter}`;
14
+ }
15
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwSH,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC"}
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@hashtree/core",
3
+ "version": "0.1.0",
4
+ "description": "Simple content-addressed merkle tree with KV storage",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./worker": {
14
+ "types": "./dist/worker/protocol.d.ts",
15
+ "import": "./dist/worker/protocol.js"
16
+ }
17
+ },
18
+ "sideEffects": false,
19
+ "keywords": [
20
+ "merkle",
21
+ "content-addressed",
22
+ "hash",
23
+ "tree",
24
+ "storage",
25
+ "browser"
26
+ ],
27
+ "author": "Martti Malmi",
28
+ "license": "MIT",
29
+ "files": [
30
+ "dist"
31
+ ],
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "repository": "https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree",
36
+ "homepage": "https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree",
37
+ "dependencies": {
38
+ "@msgpack/msgpack": "^3.1.2",
39
+ "@nostr-dev-kit/ndk": "^3.0.0-beta.66",
40
+ "@noble/hashes": "^2.0.1",
41
+ "@scure/base": "^2.0.0",
42
+ "dexie": "^4.0.11",
43
+ "nostr-social-graph": "^1.0.33",
44
+ "nostr-tools": "^2.18.2"
45
+ },
46
+ "devDependencies": {
47
+ "@types/ws": "^8.18.1",
48
+ "happy-dom": "^15.0.0",
49
+ "playwright": "^1.57.0",
50
+ "typescript": "^5.3.0",
51
+ "vitest": "^2.0.0",
52
+ "ws": "^8.18.3"
53
+ },
54
+ "scripts": {
55
+ "build": "tsc",
56
+ "test": "vitest run",
57
+ "test:watch": "vitest"
58
+ }
59
+ }