Alex2Node/test
David 6789a1a077 bridge: publish through a Publisher; devices no longer hold the broker client
src/transport.ts has the Publisher interface, MqttPublisher (the client the bridge has at the time) and
MemoryPublisher (tests without a broker); src/topics.ts names the four topics the library publishes to.
Device, AlexaStatusMessage, AlexaErrorResponse and sendSceneResponse shared three copies of the
publish-and-report code: they now call one send() that resolves the topic or "" and never rejects.
registerDevice() and addDevice() work before connect(); a send() without a connection resolves "" and the
"error" event says to call connect(). unregisterDevice() and clearDevices() take the publisher from the device.
Device.setMqttClient() is gone, the first constructor argument of Device is ignored, and the message classes
take a Publisher where they took the client. Tests: 108 -> 113.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-28 19:34:39 +00:00
..
compat bridge: publish through a Publisher; devices no longer hold the broker client 2026-09-28 19:34:39 +00:00
device registry: RangeController, ModeController, ToggleController with resources, presets and semantics 2026-09-28 15:50:25 +00:00
fixtures messages: pure builders for every event the bridge sends 2026-09-28 19:28:05 +00:00
helpers bridge: publish through a Publisher; devices no longer hold the broker client 2026-09-28 19:34:39 +00:00
messages messages: pure builders for every event the bridge sends 2026-09-28 19:28:05 +00:00
registry registry: RangeController, ModeController, ToggleController with resources, presets and semantics 2026-09-28 15:50:25 +00:00
build.test.js build: refuse unknown arguments; name the fix when typescript is missing 2026-09-28 14:42:33 +00:00
change-report.test.js test: read an ErrorResponse off the broker; every answer has its own messageId 2026-09-28 14:26:44 +00:00
connection.test.js bridge: publish through a Publisher; devices no longer hold the broker client 2026-09-28 19:34:39 +00:00
directives.test.js test: read an ErrorResponse off the broker; every answer has its own messageId 2026-09-28 14:26:44 +00:00
discovery.test.js registry: describe an Alexa interface as data 2026-09-28 15:18:22 +00:00
packaging.test.js test: find the imports of the builds with the compiler's scanner 2026-09-28 14:44:34 +00:00
packaging.test.mjs discovery: generate capability JSON from the registry 2026-09-28 15:35:46 +00:00
transport.test.js bridge: publish through a Publisher; devices no longer hold the broker client 2026-09-28 19:34:39 +00:00
typings.test.js build: dual CJS/ESM output, ES2020 target, Node 18 floor 2026-09-28 13:58:17 +00:00