Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-notify-router/Cargo.toml
atlas 1efbb72fdd an archetype carries its own notification-router flows for its agents
ArchetypeMeta gets flows, checked when the controller stores the record: every todo must go to the new members recipient, which the router expands to the agents of the archetype. The operator's flows document refuses members. The router reads the archetype records and each roster agent's archetype key, and its NATS grant gains read on both buckets.
2026-11-11 21:40:17 +01:00

50 lines
1.6 KiB
TOML

[package]
name = "swarm-notify-router"
version.workspace = true
readme = "README.md"
edition.workspace = true
[[bin]]
name = "swarm-notify-router"
path = "src/main.rs"
[dependencies]
anyhow.workspace = true
# `kv` for its state bucket; `jetstream` comes with it.
async-nats = { workspace = true, features = ["kv"] }
# StreamExt / TryStreamExt on the pulled batch and the subject listing.
futures-util.workspace = true
hive-log.workspace = true
# The flow templates a todo node renders.
hive-template.workspace = true
# The metrics the router exports (`metrics`), pushed through the OTLP exporter
# `swarm-secret-client`'s `meter_provider` builds.
opentelemetry.workspace = true
opentelemetry_sdk.workspace = true
serde.workspace = true
serde_json.workspace = true
# The connect, and the two streams' configs it shares with the controller and
# the agent harness.
swarm-queue-client = { workspace = true, features = [
"forge-events",
"router-todo",
# `archetypes::open` and `agent_archetype::read`, for the flows archetypes carry.
"kv",
"agent-archetype",
] }
# Its queue client secret, read with its own store leaf.
swarm-secret-client = { workspace = true, features = ["otel"] }
# The stream, subject, bucket and op names.
swarm-wire.workspace = true
tokio.workspace = true
tracing.workspace = true
# A fresh directory per test `nats-server`, for its store and ports file.
[dev-dependencies]
# `InMemoryMetricExporter`, to read back what `metrics` records.
opentelemetry_sdk = { workspace = true, features = ["testing"] }
tempfile = "3"
tracing-subscriber.workspace = true
[lints]
workspace = true