* chore(test): use version catalog for test deps
* refactor(nostr): require event kind 10063 in `Blossom.parseServerList`
`Blossom.parseServerList` currently has a single caller:
`BlossomRepository.updateFromEvent`. That caller already ignores
non-kind 10063 events before invoking the method, so the added `require`
does not change repository behavior.
The method already assumed kind 10063 input; by making this explicit,
the requirement is documented, testable, and prevents future callers
missing it.
* feat(nostr): ignore invalid urls in `Blossom.parseServerList`
`Blossom.parseServerList` returns a list of advertised servers which
must be valid urls as per BUD3.
* feat(nostr): return distinct blossom server urls
`Blossom.parseServerList` returns distinct server urls parsed from the
events tags. Duplicated list items are not useful and can lead to bugs
or unnecessary overhead if not anticipated.
* chore(nostr): document `Blossom.parseServerList`
* test(nostr): unit test Blossom.parseServerList