feat: add MQTT journal server for session persistence

Implement a journal server that uses an Aedes MQTT broker to
persist stream messages to JSONL files and manage session metadata
via a manifest.

- Add `aedes`, `mqtt`, and `zod` dependencies
- Implement `createJournalServer` in `src/cli/journal.ts`
- Integrate journal server into the `serve` command
- Add `--mqtt-port` option to the CLI
- Add session lifecycle management (create, update, delete) via
  retained MQTT topics
This commit is contained in:
2026-07-06 14:19:16 +08:00
parent 08389601ac
commit 21f8fbcd0b
6 changed files with 952 additions and 41 deletions
+4 -1
View File
@@ -36,6 +36,7 @@
"@solidjs/router": "^0.15.0",
"@thisbeyond/solid-dnd": "^0.7.5",
"@types/three": "^0.183.1",
"aedes": "^1.1.1",
"chokidar": "^5.0.0",
"commander": "^14.0.3",
"csv-parse": "^6.1.0",
@@ -46,11 +47,13 @@
"marked-directive": "^1.0.7",
"marked-gfm-heading-id": "^4.1.3",
"mermaid": "^11.0.0",
"mqtt": "^5.15.1",
"solid-element": "^1.9.1",
"solid-js": "^1.9.3",
"three": "^0.183.2",
"three-3mf-exporter": "^45.1.0",
"yarn-spinner-loader": "^0.1.0"
"yarn-spinner-loader": "^0.1.0",
"zod": "^4.4.3"
},
"devDependencies": {
"@image-tracer-ts/core": "^1.0.2",