1package event23import "github.com/FelineStateMachine/tinyrelay/protocol/nostr"45// Filter is the public subscription and query value.6type Filter = nostr.Filter78func ParseFilter(raw []byte) (Filter, error) { return nostr.ParseFilter(raw) }9func SearchTerms(query string) []string { return nostr.SearchTerms(query) }1011// Matches preserves the host's search visibility rule for existing consumers.12// Generic field, tag and content matching lives in protocol/nostr.13func Matches(f Filter, e Event) bool {14 if IsPrivate(e.Kind) && len(nostr.SearchTerms(f.Search)) > 0 {15 return false16 }17 return nostr.Matches(f, e)18}