Paul Payne
6c00a9d33c
feat(mesh): NATS JetStream transport replacing MQTT
Replace the Mosquitto/paho mesh transport with NATS JetStream KV:
- mesh_wire.py: transport-agnostic registry (de)serialization (secret-stripped)
- nats_client.py: async CastleNATSClient — registry in the castle-registry KV
bucket, heartbeat liveness, delete-on-stop offline, watch-driven mesh state
- rewire main/config/models/nodes; MeshStatus -> connected/nats_url
- frontend MeshStatus + MeshPanel to the new fields
- drop paho-mqtt/mqtt_client + _mqtt._tcp mDNS browse; add nats-py
- keep the secret-stripping invariant; mDNS peer discovery retained
Single-node verified; two-node parity pending the second node.
2026-07-07 04:55:02 -07:00
..
2026-07-06 04:00:24 -07:00
2026-07-02 04:02:18 -07:00
2026-07-02 03:41:42 -07:00
2026-07-06 21:07:10 -07:00
2026-07-01 11:59:14 -07:00
2026-07-02 11:49:54 -07:00
2026-07-06 04:00:24 -07:00
2026-07-02 12:12:00 -07:00
2026-02-21 01:23:37 -08:00
2026-07-02 11:49:54 -07:00
2026-07-01 10:23:03 -07:00
2026-07-06 20:07:50 -07:00
2026-06-30 23:10:47 -07:00
2026-07-07 04:55:02 -07:00
2026-07-05 10:55:42 -07:00
2026-02-23 02:30:12 -08:00
2026-06-30 22:52:28 -07:00
2026-07-01 11:32:25 -07:00
2026-07-01 13:07:00 -07:00
2026-07-01 13:10:13 -07:00
2026-06-30 23:02:33 -07:00
2026-06-27 12:46:15 -07:00
2026-07-02 11:49:54 -07:00
2026-07-06 04:00:24 -07:00
2026-02-23 16:32:55 -08:00