This repository has no description

automod: defer parsing (#585) master

This shifts the external API for automod from taking a pre-parsed "any" struct of a record, to taking CBOR bytes. the motivation is to make it easier to work with content for which the lexicon isn't know at compile time, which will soon become much more common as we allow folks to write arbitrary record types to their repositories, and this content shows up on the relay firehose. The `atproto/data` package knows how to parse and extract some information from generic atproto record CBOR, so it is able to pull all the blobs (`$type: blob` objects nested within records), and we can switch over to that, which is more generic (and hopefully robust) than doing schema-by-schema extraction. For firehose content, this is all pretty straight-forward, because the records are already coming in as CBOR. in the capture system, we now do schema-specific parsing, then re-encode as CBOR from the parsed struct, which is kind of weird. and in tests records need to be marshaled to CBOR, which is a bit unfortunate. maybe some helpers would make this more idiomatic? tested a small amount against prod firehose.