As a protection developer, I should be able to describe the interface and dependencies needed by my protection to take actions in a room. Then provide an implementation for both "no operation" mode and the standard functionality. These implementations are called "capability providers".
As a draupnir moderator, I can see the active capability provider for each protection and read about the capability providers that they are compatible with. I should then be able to change the active capability provider for each protection as I see fit.
Acceptance Criteria
When protections are listed in Draupnir, the names of their active capability providers are listed, along with the name of the capability interface.
All of the compatible providers are listed when I look at the documentation for the protection
There are commands to change the active capability provider for a protection.
There is an API to define a capability provider and a capability interface.
There are APIs to add a capability interface to protection and provide a suggested capability provider.
All of the internals that make this work are implemented fwiw, there's just no configuration or exposed UX. There's also no "dummy/blank" capabilities to use to plug interfaces safely.
Description
As a protection developer, I should be able to describe the interface and dependencies needed by my protection to take actions in a room. Then provide an implementation for both "no operation" mode and the standard functionality. These implementations are called "capability providers".
As a draupnir moderator, I can see the active capability provider for each protection and read about the capability providers that they are compatible with. I should then be able to change the active capability provider for each protection as I see fit.
Acceptance Criteria
Issues Dependencies
5
Dependants
Total Pain