Accepted
CAP adapters are independent packages. The core package should not import concrete storage or transport classes, and adapter registration should avoid string-token collisions.
CAP exposes Symbol-based NestJS dependency injection tokens for storage and transport:
PUBLISH_STORAGERECEIVED_STORAGEPUBLISHERSUBSCRIBERAdapters bind these tokens with Nest providers.