feat(mqtt): Contracts options DTO + enums (name-serialized)

Task 1 of the MQTT/Sparkplug B driver plan: MqttMode, MqttPayloadFormat,
MqttProtocolVersion enums + MqttDriverOptions (broker conn + mode +
nullable Sparkplug/Plain sub-options) per design doc §5.1. Removes the
Task 0 temporary MQTTnet PackageReference from .Contracts (transport-free;
references only Core.Abstractions). MQTTnet stays pinned in
Directory.Packages.props for the .Driver project (Task 3).

Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
This commit is contained in:
Joseph Doherty
2026-07-24 13:53:06 -04:00
parent d677ac7ad3
commit f22db5d801
8 changed files with 264 additions and 4 deletions
@@ -6,9 +6,6 @@
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<!-- TEMPORARY (Task 0 spike): proves the MQTTnet-5 graph restores + builds on net10.0
under this repo's central package management. `.Contracts` is transport-free by
design — Task 1 removes this reference and it moves to the `.Driver` project. -->
<PackageReference Include="MQTTnet" />
<ProjectReference Include="..\..\Core\ZB.MOM.WW.OtOpcUa.Core.Abstractions\ZB.MOM.WW.OtOpcUa.Core.Abstractions.csproj"/>
</ItemGroup>
</Project>