A diet Tap option for handling atproto sync

feature: Jetstream as an option for new events #19

Merged pds.dad
targeting DietTap
Merged opened by and assigned to pds.dad
targeting DietTap

Alright, y'all might not want to merge this since part of Tap's selling point is fully verified, and I've heard rumblings of something else coming in the future. But I thought I'd pr this into tap from my work I've done with it. I found running Tap on Railway was a bit pricey with the full firehose and I was okay to give up the fully verification of the live records for that. I have some more details/comparisons in this post. But using the firehose was usually roughly 50gb+ egress just for Tap.

I implemented as best as I could to match the firehose. Everything in /cmd/tap/jetstream is pretty much a fork of what events does. I think there may be some code sharing that can happen or it could be a stand along package like the events package. But I though I would see if there was interest in merging and what y'all thought first.

Resyncs won't happen as much, but I did make a pr to the jetstream repo to handle sync events to hopefully at least give some.

Let me know what y'all think! Would be happy to get this up to a coding standard y'all are happy with to get merged, or can close if not interested in adding this feature. It's mostly been something I wanted for my Tap instances and a good excuse to learn Go and the indigo tooling

This pull request has no versions submitted yet.