@hashtree/nostr 0.2.3 → 0.2.7
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 +106 -154
- package/dist/events.d.ts +2 -0
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +35 -9
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/resolver/nostr.d.ts.map +1 -1
- package/dist/resolver/nostr.js +20 -13
- package/dist/resolver/nostr.js.map +1 -1
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +2 -1
- package/dist/snapshot.js.map +1 -1
- package/dist/treeEventSnapshotPermalinks.js +2 -2
- package/dist/treeEventSnapshotPermalinks.js.map +1 -1
- package/dist/treeEventSnapshots.d.ts.map +1 -1
- package/dist/treeEventSnapshots.js +5 -1
- package/dist/treeEventSnapshots.js.map +1 -1
- package/package.json +4 -4
- package/src/events.ts +38 -9
- package/src/index.ts +2 -0
- package/src/resolver/nostr.ts +15 -13
- package/src/snapshot.ts +2 -1
- package/src/treeEventSnapshotPermalinks.ts +2 -2
- package/src/treeEventSnapshots.ts +4 -1
package/README.md
CHANGED
|
@@ -1,184 +1,136 @@
|
|
|
1
1
|
# @hashtree/nostr
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
For app-builder guidance and common pitfalls, see [../../GETTING_STARTED.md](../../GETTING_STARTED.md).
|
|
7
|
-
|
|
8
|
-
## Install
|
|
3
|
+
Publish and follow mutable roots, store indexed Nostr events, and capture signed
|
|
4
|
+
root snapshots. Blob storage/transport is separate; Nostr carries the pointer.
|
|
9
5
|
|
|
10
6
|
```bash
|
|
11
|
-
npm install @hashtree/nostr
|
|
7
|
+
npm install @hashtree/core @hashtree/nostr nostr-tools
|
|
12
8
|
```
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
Use `NostrEventStore` when your app wants a hashtree-native Nostr event collection instead of inventing its own query API.
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import { MemoryStore } from '@hashtree/core';
|
|
20
|
-
import { NostrEventStore } from '@hashtree/nostr';
|
|
10
|
+
[Quickstart](https://github.com/mmalmi/hashtree/blob/master/ts/GETTING_STARTED.md) · [API reference](https://github.com/mmalmi/hashtree/blob/master/ts/API.md)
|
|
21
11
|
|
|
22
|
-
|
|
23
|
-
const events = new NostrEventStore(store);
|
|
12
|
+
## Publish and follow a root
|
|
24
13
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}, { limit: 50 });
|
|
14
|
+
This integration function uses `nostr-tools`' `SimplePool`. Supply your relay
|
|
15
|
+
URLs, tree name, signer's hex pubkey, signing callback, an already-uploaded root,
|
|
16
|
+
and a UI update callback. The signer may be a wallet; NDK is optional.
|
|
29
17
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
18
|
+
```typescript
|
|
19
|
+
import { type CID } from '@hashtree/core';
|
|
20
|
+
import { createNostrRefResolver } from '@hashtree/nostr';
|
|
21
|
+
import { SimplePool, nip19, type Event, type EventTemplate } from 'nostr-tools';
|
|
22
|
+
|
|
23
|
+
export async function publishAndFollowRoot(
|
|
24
|
+
relays: string[],
|
|
25
|
+
treeName: string,
|
|
26
|
+
pubkey: string,
|
|
27
|
+
signEvent: (template: EventTemplate) => Promise<Event>,
|
|
28
|
+
root: CID,
|
|
29
|
+
onRoot: (root: CID | null) => void,
|
|
30
|
+
): Promise<() => void> {
|
|
31
|
+
const pool = new SimplePool({ enableReconnect: true });
|
|
32
|
+
const resolver = createNostrRefResolver({
|
|
33
|
+
nip19,
|
|
34
|
+
getPubkey: () => pubkey,
|
|
35
|
+
subscribe: (filter, onEvent) => {
|
|
36
|
+
const subscription = pool.subscribeMany(relays, { ...filter }, { onevent: onEvent });
|
|
37
|
+
return () => subscription.close();
|
|
38
|
+
},
|
|
39
|
+
publish: async (template) => {
|
|
40
|
+
const signed = await signEvent({
|
|
41
|
+
...template,
|
|
42
|
+
created_at: template.created_at ?? Math.floor(Date.now() / 1000),
|
|
43
|
+
});
|
|
44
|
+
await Promise.any(pool.publish(relays, signed)); // At least one relay accepted it.
|
|
45
|
+
return true;
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const key = `${nip19.npubEncode(pubkey)}/${treeName}`;
|
|
49
|
+
const unsubscribe = resolver.subscribe(key, onRoot);
|
|
50
|
+
const close = () => { unsubscribe(); resolver.stop?.(); pool.destroy(); };
|
|
51
|
+
try {
|
|
52
|
+
const result = await resolver.publish!(key, root, { visibility: 'public' });
|
|
53
|
+
if (!result.success) throw new Error('Root publication failed');
|
|
54
|
+
return close; // Call when the view/app no longer follows this tree.
|
|
55
|
+
} catch (error) {
|
|
56
|
+
close();
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
35
59
|
}
|
|
36
60
|
```
|
|
37
61
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
## Nostr Ref Resolver
|
|
47
|
-
|
|
48
|
-
Resolve `npub/treename` references to merkle root hashes via Nostr events.
|
|
49
|
-
|
|
50
|
-
### Event Format
|
|
51
|
-
|
|
52
|
-
Trees are published as **kind 30064** (parameterized replaceable with label). Readers also accept legacy **kind 30078** roots for compatibility:
|
|
53
|
-
|
|
54
|
-
```
|
|
55
|
-
npub1abc.../treename/path/to/file.ext
|
|
56
|
-
│ │ │
|
|
57
|
-
│ │ └── Path within merkle tree (client-side traversal)
|
|
58
|
-
│ └── d-tag value (tree identifier)
|
|
59
|
-
└── Author pubkey (bech32 → hex for event)
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Tags:**
|
|
63
|
-
| Tag | Purpose |
|
|
64
|
-
|-----|---------|
|
|
65
|
-
| `d` | Tree name (replaceable event key) |
|
|
66
|
-
| `l` | `"hashtree"` label for discovery |
|
|
67
|
-
| `hash` | Merkle root SHA256 (64 hex chars) |
|
|
68
|
-
| `key` | Decryption key (public trees) |
|
|
69
|
-
| `encryptedKey` | XOR'd key (link-visible trees) |
|
|
70
|
-
| `selfEncryptedKey` | NIP-44 encrypted (private/link-visible) |
|
|
62
|
+
For a read-only view, create the same resolver and call `subscribe()` with the
|
|
63
|
+
publisher's `npub/treeName`; omit the publish call. `getPubkey` may return `null`
|
|
64
|
+
and `publish` may be `async () => false` when your adapter cannot write. Keep
|
|
65
|
+
subscriptions open after EOSE and during quiet periods; absence of an event is
|
|
66
|
+
not a missing tree. Handle fetch failures in async UI callbacks yourself.
|
|
67
|
+
`resolve(key)` is a one-shot lookup that can wait indefinitely; use a subscription
|
|
68
|
+
with explicit cleanup for cancellable/live views.
|
|
71
69
|
|
|
72
|
-
**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
Upload **all blocks first**, then publish the root. The resolver updates its local
|
|
71
|
+
cache optimistically; an `onRoot` callback is not proof of relay acceptance.
|
|
72
|
+
Catch rejected signing/publishing requests and check `result.success`.
|
|
73
|
+
Relay acceptance is also not evidence that the root's blobs are available.
|
|
76
74
|
|
|
77
|
-
|
|
75
|
+
## Names and visibility
|
|
78
76
|
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
The resolver key is `npub/treeName`; everything after the first slash belongs to
|
|
78
|
+
the tree name. To read a file, first resolve that exact root name and then call
|
|
79
|
+
`HashTree.resolvePath(root, 'path/to/file')` with the separate file path.
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
publish: (event) => { /* your relay client publish callback */ },
|
|
85
|
-
});
|
|
81
|
+
New roots use kind **30064**, tags `d` (tree name), `l=hashtree`, and `hash`.
|
|
82
|
+
Readers also accept legacy kind **30078**. Visibility controls key disclosure:
|
|
86
83
|
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
| Visibility | Key handling |
|
|
85
|
+
| --- | --- |
|
|
86
|
+
| `public` (default) | Publishes the content key in a `key` tag; anyone can decrypt retrieved blocks |
|
|
87
|
+
| `link-visible` | Publishes `encryptedKey` / `keyId`; keep the returned `result.linkKey` in the secret share URL |
|
|
88
|
+
| `private` | Requires `visibility.encrypt` / `decrypt` callbacks for NIP-44 self-encryption |
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
For link-visible readers, supply `visibility.getLinkKey`; supply NIP-44 callbacks
|
|
91
|
+
to let the owner recover keys too. Visibility options need an encrypted root
|
|
92
|
+
CID. Changing visibility cannot revoke keys or old roots already shared.
|
|
93
|
+
For direct signed replaceable-event publishing, `createReplaceablePublishQueue()`
|
|
94
|
+
coalesces bursts per coordinate; see its API before building your own queue.
|
|
91
95
|
|
|
92
|
-
|
|
96
|
+
## Store and query events
|
|
93
97
|
|
|
94
|
-
|
|
98
|
+
This standalone example creates a temporary signing identity for local demo data.
|
|
99
|
+
Apps should use their existing signer and validate incoming event signatures.
|
|
95
100
|
|
|
96
101
|
```typescript
|
|
97
|
-
import {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
await
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const signed = await signEvent({
|
|
112
|
-
kind: HASHTREE_ROOT_KIND,
|
|
113
|
-
created_at: createdAt,
|
|
114
|
-
tags: [['d', treeName], ['hash', rootHash]],
|
|
115
|
-
content: '',
|
|
116
|
-
});
|
|
117
|
-
return publishSignedEvent(signed);
|
|
118
|
-
},
|
|
119
|
-
});
|
|
102
|
+
import { MemoryStore } from '@hashtree/core';
|
|
103
|
+
import { NostrEventStore } from '@hashtree/nostr';
|
|
104
|
+
import { generateSecretKey, finalizeEvent } from 'nostr-tools';
|
|
105
|
+
|
|
106
|
+
const event = finalizeEvent({
|
|
107
|
+
kind: 1, created_at: 1, tags: [['t', 'hashtree']], content: 'Hello from Nostr',
|
|
108
|
+
}, generateSecretKey());
|
|
109
|
+
const events = new NostrEventStore(new MemoryStore());
|
|
110
|
+
const root = await events.add(null, event);
|
|
111
|
+
const found = await events.query(root, { authors: event.pubkey, kinds: [1] }, { limit: 50 });
|
|
112
|
+
console.log(found[0]?.content); // Hello from Nostr
|
|
113
|
+
for await (const note of events.streamQuery(root, { tags: { t: 'hashtree' } })) {
|
|
114
|
+
console.log(note.content); // Hello from Nostr
|
|
115
|
+
}
|
|
120
116
|
```
|
|
121
117
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
For live mutable app data, prefer resolving the current root from relays first. Snapshots are for permalinks, offline reuse, and signed historical captures, not for replacing a live source lookup.
|
|
127
|
-
|
|
128
|
-
```typescript
|
|
129
|
-
import {
|
|
130
|
-
storeTreeEventSnapshot,
|
|
131
|
-
readTreeEventSnapshot,
|
|
132
|
-
fetchLatestTreeEventSnapshot,
|
|
133
|
-
watchLatestTreeEventSnapshot,
|
|
134
|
-
} from '@hashtree/nostr';
|
|
135
|
-
import { HashTree } from '@hashtree/core';
|
|
136
|
-
|
|
137
|
-
const hashTree = new HashTree({ store });
|
|
138
|
-
|
|
139
|
-
const snapshot = await storeTreeEventSnapshot(hashTree, nip19, signedRootEvent);
|
|
140
|
-
const sameSnapshot = snapshot
|
|
141
|
-
? await readTreeEventSnapshot(hashTree, nip19, snapshot.snapshotCid)
|
|
142
|
-
: null;
|
|
143
|
-
|
|
144
|
-
const latest = await fetchLatestTreeEventSnapshot(
|
|
145
|
-
{ snapshotTarget: hashTree, nip19, fetchEvents },
|
|
146
|
-
'npub1...owner',
|
|
147
|
-
'videos/demo',
|
|
148
|
-
);
|
|
149
|
-
|
|
150
|
-
const stop = watchLatestTreeEventSnapshot(
|
|
151
|
-
{ snapshotTarget: hashTree, nip19, fetchEvents, subscribeEvents },
|
|
152
|
-
'npub1...owner',
|
|
153
|
-
'videos/demo',
|
|
154
|
-
(nextSnapshot) => {
|
|
155
|
-
console.log(nextSnapshot.snapshotNhash, nextSnapshot.rootCid);
|
|
156
|
-
},
|
|
157
|
-
);
|
|
158
|
-
|
|
159
|
-
// later
|
|
160
|
-
stop();
|
|
161
|
-
```
|
|
118
|
+
Retain the root returned by `add()` / `build()`. `query()` and `streamQuery()`
|
|
119
|
+
select the available author/kind/tag/time index. Pass `{ strict: true }` to reject
|
|
120
|
+
missing/unreadable selected event blobs instead of skipping them.
|
|
162
121
|
|
|
163
|
-
|
|
122
|
+
## Signed snapshots
|
|
164
123
|
|
|
165
|
-
|
|
124
|
+
`storeTreeEventSnapshot(tree, nip19, signedRootEvent)` stores an immutable signed
|
|
125
|
+
root event and returns its `snapshotCid`, `snapshotNhash`, and `rootCid` (or `null`
|
|
126
|
+
for an unsuitable event). `readTreeEventSnapshot()` restores it;
|
|
127
|
+
`buildTreeEventSnapshotPermalink({ snapshotNhash, path, linkKey })` makes a route.
|
|
128
|
+
The snapshot does not copy the root's file blocks. Preserve/upload those too.
|
|
166
129
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
} from '@hashtree/nostr';
|
|
172
|
-
|
|
173
|
-
const href = buildTreeEventSnapshotPermalink({
|
|
174
|
-
snapshotNhash: snapshot.snapshotNhash,
|
|
175
|
-
path: ['index.html'],
|
|
176
|
-
linkKey: 'abcd...optional 64-hex link key',
|
|
177
|
-
});
|
|
178
|
-
// nhash1.../index.html?snapshot=1&k=...
|
|
179
|
-
|
|
180
|
-
const parsed = parseTreeEventSnapshotPermalink(`htree://${href}`);
|
|
181
|
-
```
|
|
130
|
+
Use snapshots for permalinks, history, or offline reuse. For live state, keep a
|
|
131
|
+
root subscription open. `watchLatestTreeEventSnapshot()` combines relay discovery
|
|
132
|
+
with snapshot storage and returns a cleanup function; the app owns cache policy.
|
|
133
|
+
Peer blob fetching uses [FIPS transport](https://github.com/mmalmi/hashtree/blob/master/ts/packages/hashtree-fips-transport/README.md).
|
|
182
134
|
|
|
183
135
|
## License
|
|
184
136
|
|
package/dist/events.d.ts
CHANGED
|
@@ -46,6 +46,8 @@ export declare class NostrEventStore {
|
|
|
46
46
|
add(root: CID | null, event: StoredNostrEvent): Promise<CID>;
|
|
47
47
|
build(root: CID | null, events: StoredNostrEvent[]): Promise<CID | null>;
|
|
48
48
|
getById(root: CID | null, eventId: string): Promise<StoredNostrEvent | null>;
|
|
49
|
+
/** Remove an event from every index without deleting blocks used by older roots. */
|
|
50
|
+
delete(root: CID | null, eventId: string): Promise<CID | null>;
|
|
49
51
|
listByAuthor(root: CID | null, pubkey: string, options?: ListEventsOptions): Promise<StoredNostrEvent[]>;
|
|
50
52
|
listByAuthorAndKind(root: CID | null, pubkey: string, kind: number, options?: ListEventsOptions): Promise<StoredNostrEvent[]>;
|
|
51
53
|
streamByAuthor(root: CID | null, pubkey: string, options?: ListEventsOptions): AsyncGenerator<StoredNostrEvent>;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAEhB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAsB,KAAK,GAAG,EAAE,KAAK,KAAK,EAAiB,MAAM,gBAAgB,CAAC;AAmCzF,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IACjB,YAAY,EAAE,GAAG,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,GAAG,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC;IACvB,gBAAgB,EAAE,GAAG,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;IACxB,wBAAwB,EAAE,GAAG,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;CACrD;AAmLD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAYjF;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/events.js
CHANGED
|
@@ -150,8 +150,16 @@ export function encodeStoredNostrEventMsgpack(event) {
|
|
|
150
150
|
normalized.sig,
|
|
151
151
|
]);
|
|
152
152
|
}
|
|
153
|
+
const eventTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
154
|
+
function decodeEventText(value) {
|
|
155
|
+
if (!(value instanceof Uint8Array)) {
|
|
156
|
+
throw new Error('Invalid Nostr event envelope string');
|
|
157
|
+
}
|
|
158
|
+
return eventTextDecoder.decode(value);
|
|
159
|
+
}
|
|
153
160
|
export function decodeStoredNostrEventMsgpack(data) {
|
|
154
|
-
const
|
|
161
|
+
const bytes = new Uint8Array(data);
|
|
162
|
+
const decoded = decode(bytes);
|
|
155
163
|
if (!Array.isArray(decoded) || decoded.length !== 8) {
|
|
156
164
|
throw new Error('Invalid Nostr event envelope');
|
|
157
165
|
}
|
|
@@ -169,14 +177,19 @@ export function decodeStoredNostrEventMsgpack(data) {
|
|
|
169
177
|
throw new Error('Invalid Nostr event kind');
|
|
170
178
|
}
|
|
171
179
|
assertStringArray(tags);
|
|
180
|
+
// MessagePack's default UTF-8 fast path strips leading U+FEFF. Decode the
|
|
181
|
+
// original string bytes only after checking their types: rawStrings alone
|
|
182
|
+
// cannot distinguish a MessagePack string from a binary value.
|
|
183
|
+
const raw = decode(bytes, { rawStrings: true });
|
|
184
|
+
const rawTags = raw[5];
|
|
172
185
|
return validateEventShape({
|
|
173
|
-
id,
|
|
174
|
-
pubkey,
|
|
186
|
+
id: decodeEventText(raw[1]),
|
|
187
|
+
pubkey: decodeEventText(raw[2]),
|
|
175
188
|
created_at: createdAt,
|
|
176
189
|
kind,
|
|
177
|
-
tags,
|
|
178
|
-
content,
|
|
179
|
-
sig,
|
|
190
|
+
tags: rawTags.map(tag => tag.map(decodeEventText)),
|
|
191
|
+
content: decodeEventText(raw[6]),
|
|
192
|
+
sig: decodeEventText(raw[7]),
|
|
180
193
|
});
|
|
181
194
|
}
|
|
182
195
|
export class NostrEventStore {
|
|
@@ -195,6 +208,11 @@ export class NostrEventStore {
|
|
|
195
208
|
async add(root, event) {
|
|
196
209
|
const normalized = await this.validateEvent(event);
|
|
197
210
|
const manifest = await this.getManifest(root);
|
|
211
|
+
// The validated event id commits to immutable event contents. Replayed
|
|
212
|
+
// relay history and outbox retries must not replace derived collection keys.
|
|
213
|
+
if (root && await this.collectionSourceFromManifest(manifest).get(normalized.id)) {
|
|
214
|
+
return root;
|
|
215
|
+
}
|
|
198
216
|
const decision = await this.resolveReplaceableDecision(manifest, normalized);
|
|
199
217
|
if (!decision.accept) {
|
|
200
218
|
if (!root) {
|
|
@@ -216,9 +234,8 @@ export class NostrEventStore {
|
|
|
216
234
|
if (!manifestRoot) {
|
|
217
235
|
throw new Error('Failed to create Nostr event manifest');
|
|
218
236
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
237
|
+
// Replaced event bytes can still be referenced by another index or snapshot.
|
|
238
|
+
// Reclaim unreferenced blocks at the store's root-aware eviction boundary.
|
|
222
239
|
return manifestRoot;
|
|
223
240
|
}
|
|
224
241
|
async build(root, events) {
|
|
@@ -249,6 +266,15 @@ export class NostrEventStore {
|
|
|
249
266
|
}
|
|
250
267
|
return this.readStoredEvent(eventCid);
|
|
251
268
|
}
|
|
269
|
+
/** Remove an event from every index without deleting blocks used by older roots. */
|
|
270
|
+
async delete(root, eventId) {
|
|
271
|
+
const event = await this.getById(root, eventId);
|
|
272
|
+
if (!event)
|
|
273
|
+
return root;
|
|
274
|
+
const writer = this.collectionWriterFromManifest(await this.getManifest(root));
|
|
275
|
+
await writer.delete(event);
|
|
276
|
+
return this.writeManifest(collectionManifestToNostrEventManifest(writer.manifest()));
|
|
277
|
+
}
|
|
252
278
|
async listByAuthor(root, pubkey, options = {}) {
|
|
253
279
|
return this.collectEvents(this.collectionSourceFromManifest(await this.getManifest(root)), MANIFEST_BY_AUTHOR_TIME, `${validateHex64(pubkey, 'pubkey')}:`, options);
|
|
254
280
|
}
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,cAAc,EAAE,MAAM,EAOlC,CAAC;AAGF,OAAO,EACL,sBAAsB,EAEtB,sBAAsB,IAAI,uBAAuB,EACjD,KAAK,sBAAsB,EAE3B,KAAK,sBAAsB,IAAI,uBAAuB,EACtD,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,uBAAuB,EACvB,6BAA6B,EAC7B,sCAAsC,EACtC,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,oCAAoC,EACpC,gCAAgC,EAChC,sCAAsC,GACvC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,6BAA6B,GACnC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,EACjC,KAAK,0BAA0B,EAC/B,KAAK,sCAAsC,GAC5C,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,6BAA6B,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,GAC/B,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
* Provides Nostr ref resolving and event storage. Blob transport lives in
|
|
5
5
|
* @hashtree/fips-transport; Nostr event distribution is independent of blob routing.
|
|
6
6
|
*/
|
|
7
|
+
// Fresh public root/event discovery defaults; saved relay choices remain authoritative.
|
|
7
8
|
export const DEFAULT_RELAYS = [
|
|
9
|
+
'wss://relay.ditto.pub',
|
|
8
10
|
'wss://relay.damus.io',
|
|
9
11
|
'wss://relay.primal.net',
|
|
10
12
|
'wss://relay.nostr.band',
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,oBAAoB;IACpB,0BAA0B;CAC3B,CAAC;AAEF,gBAAgB;AAChB,OAAO,EACL,sBAAsB;AACtB,eAAe;AACf,sBAAsB,IAAI,uBAAuB,GASlD,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,GAM9B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,uBAAuB,EACvB,6BAA6B,EAC7B,sCAAsC,EACtC,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,oCAAoC,EACpC,gCAAgC,EAChC,sCAAsC,GACvC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GAIpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GAKvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,GAGlC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,6BAA6B,GAM9B,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wFAAwF;AACxF,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,uBAAuB;IACvB,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,oBAAoB;IACpB,0BAA0B;CAC3B,CAAC;AAEF,gBAAgB;AAChB,OAAO,EACL,sBAAsB;AACtB,eAAe;AACf,sBAAsB,IAAI,uBAAuB,GASlD,MAAM,qBAAqB,CAAC;AAE7B,6BAA6B;AAC7B,OAAO,EACL,4BAA4B,EAC5B,eAAe,EACf,6BAA6B,EAC7B,6BAA6B,GAM9B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,iCAAiC,EACjC,wCAAwC,EACxC,uBAAuB,EACvB,6BAA6B,EAC7B,sCAAsC,EACtC,oCAAoC,EACpC,gCAAgC,EAChC,gCAAgC,EAChC,oCAAoC,EACpC,gCAAgC,EAChC,sCAAsC,GACvC,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,oBAAoB,EACpB,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,GAIpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GAKvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,iCAAiC,GAGlC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,6BAA6B,GAM9B,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr.d.ts","sourceRoot":"","sources":["../../src/resolver/nostr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,WAAW,EAOZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAmBD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sGAAsG;IACtG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"nostr.d.ts","sourceRoot":"","sources":["../../src/resolver/nostr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,WAAW,EAOZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IACrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;AAGD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAmBD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sGAAsG;IACtG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AA6ID,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,QAAQ,GAAG,YAAY,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACjF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IACrF,kGAAkG;IAClG,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,uDAAuD;IACvD,SAAS,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC/B,qDAAqD;IACrD,KAAK,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AAEH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAm7BlF"}
|