<oembed><type>rich</type><version>1.0</version><title>Innis wrote</title><author_name>Innis (npub1l3…5cxyz)</author_name><author_url>https://yabu.me/npub1l33660awkeycecn9grhrvzyn0fmes8245ke7k82y8njz8uqu3vlqk5cxyz</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>And shipping jsr:@innis/nostr-event-store today.&#xA;&#xA;When the relay-pool was released yesterday it said caching, dedup, and persistence belonged one layer up. This is that layer.&#xA;&#xA;An in-memory cache in front of an IndexedDB store. One filter language drives every read: NIP-01, the same matchesFilter the core defines. Memory reads, IDB reads, a synchronous peek, and live subscriptions. To fetch you use the same filter you would for a relay.&#xA;&#xA;Built on @innis/nostr-core, like the relay-pool and the signers. The transport carries the events, this is where they rest. The work above it to follow as each layer is cleaned up.&#xA;&#xA;AI was involved, same terms as before. The architecture is mine. The decisions are mine. The machine fought me at every step, but we got there in the end.&#xA;&#xA;deno add jsr:@innis/nostr-event-store&#xA;https://github.com/johninnis/nostr-event-store-ts&#xA;&#xA;MIT.&#xA;&#xA;#nostr #typescript #opensource #nostrdev&#xA;&#xA;nostr:nevent1qqsyr7a3uukr6l9lsxgxx4nmyhg89w3hvgn3rxrkgzmeeuyxkygk0lcpp4mhxue69uhkummn9ekx7mqppamhxue69uhkummnw3ezumt0d5q3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7q3ql33660awkeycecn9grhrvzyn0fmes8245ke7k82y8njz8uqu3vlqkrt7vj</html></oembed>