It provides an abstraction layer that applications can use to transparently use Diaspora, Matrix and ActivityPub and is focused on the features that are common to all of them. Introducing a new ActivityPub model such as commit would first require a modification of the abstraction so it can become visible from the application. And even if it was possible to transparently access the commit message by bypassing the abstraction level, it would defeat the purpose of the federation library.
The implementation of activities such as follows is derived from the Follow class that belongs to the abstraction layer and the message fields are mapped in the a2s function. The ActivityPub protocol part is not very complicated but I suspect it does not implement the spec entirely. The signing part is simple and could be reused out of context.
There is no support for adding new models and the existing models do not use a generic method that could be copy/pasted even if no explicit support is provided.
For these reasons, I don’t think this module can be used in the context of fedeproxy.
Did I miss something?