/- nostr, trill=trill-feed, tp=trill-post, gate=trill-gate |% +$ state state-0 +$ state-0 $: %0 :: nostr config relays=(map @t relay-stats:nostr) keys=(lest keys:nostr) :: cycled, i.keys is current one :: own feed feed=feed:trill feed-perms=gate:gate :: nostr feed from relays =nostr-feed :: profiles profiles=(map @ux user-meta:nostr) following=(map @ux =feed:trill) follow-graph=(map @ux (set follow)) :: TODO global feed somehow? == +$ nostr-feed ((mop @ud event:nostr) gth) ++ norm ((on @ud event:nostr) gth) +$ nfc [feed=nostr-feed start=cursor:trill end=cursor:trill] +$ post-wrapper [=post:tp nostr-meta=nostr-meta] +$ nostr-meta $: pub=(unit @ux) ev-id=(unit @ux) relay=(unit @t) pr=(unit user-meta:nostr) == +$ follow [pubkey=@ux name=@t relay=(unit @t)] ++ ui |% +$ poke $% [%fols fols-poke] [%begs begs-poke] [%post post-poke] :: [%reac reac-poke] [%prof prof-poke] [%keys ~] :: cycle-keys [%rela relay-poke] == +$ begs-poke $% [%feed p=@p] [%thread p=@p id=@da] == +$ post-poke $% [%add content=@t] [%rt id=@ux pubkey=@ux relay=@t] :: NIP-18 [%del pubkey=@ux] == +$ fols-poke $% [%add pubkey=@ux] [%del pubkey=@ux] == +$ prof-poke $% [%add meta=user-meta:nostr] [%del ~] == +$ relay-poke $% [%add p=@t] [%del p=@t] :: [%sync ~] :: send event for... relaying [%send host=@p id=@ relays=(list @t)] == :: facts +$ fact $% [%nostr feed=nostr-feed] [%post post-fact] [%enga p=post-wrapper reaction=*] == +$ post-fact $% [%add post-wrapper] [%del post-wrapper] == -- --