The daemon reads each account's token from `swarm/agents/<agent>/matrix/` as the agent itself, inside its own container, and falls back to the file only when the store has none. This is #4519's read, without its `main` carve-out: the swarm now mints `main` there and no hive writes the file. The daemon unit gets the agent's store identity, spelled the way forge-token.nix spells it. A timer re-starts it while it is down: a token the swarm mints or replaces in the store changes no file, so the path watcher never fires for it, and a daemon that exited on a replaced token would otherwise stay down until the container restarts.
34 lines
847 B
TOML
34 lines
847 B
TOML
[package]
|
|
name = "hive-matrix-mcp"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
readme = "README.md"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
axum.workspace = true
|
|
clap.workspace = true
|
|
futures-util.workspace = true
|
|
hive-sock-client.workspace = true
|
|
matrix-sdk.workspace = true
|
|
mime = "0.3"
|
|
mime_guess = "2"
|
|
reqwest.workspace = true
|
|
rmcp.workspace = true
|
|
schemars.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
swarm-secret-client.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
|
|
# `hive-matrix-daemon` — long-running per-agent matrix-sdk Client +
|
|
# sync loop. Serves its MCP tools (send_message, list_rooms, …)
|
|
# directly over streamable-http — no stdio bridge, no separate bin.
|
|
[[bin]]
|
|
name = "hive-matrix-daemon"
|
|
path = "src/main.rs"
|