diff --git a/dimos/protocol/pubsub/encoders.py b/dimos/protocol/pubsub/encoders.py index 886856af4f..6b2056fa8b 100644 --- a/dimos/protocol/pubsub/encoders.py +++ b/dimos/protocol/pubsub/encoders.py @@ -105,7 +105,9 @@ class LCMTopicProto(Protocol): class LCMEncoderMixin(PubSubEncoderMixin[LCMTopicProto, DimosMsg, bytes]): """Encoder mixin for DimosMsg using LCM binary encoding.""" - def encode(self, msg: DimosMsg, _: LCMTopicProto) -> bytes: + def encode(self, msg: DimosMsg | bytes, _: LCMTopicProto) -> bytes: + if isinstance(msg, bytes): + return msg return msg.lcm_encode() def decode(self, msg: bytes, topic: LCMTopicProto) -> DimosMsg: