Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/swarm-notify-router/Cargo.toml
damocles 8ef3138863 templates: one Jinja language (hive-template) for the notify router's flows, flows document version 2
A todo node's key and text were hand-expanded `{field}` strings. They are now Jinja templates rendered through the new hive-template crate (minijinja, an unknown variable is an error), and the controller's save check reads the variables the template uses. The flows document is version 2; a version 1 document reads as version 2 with each `{field}` converted to `{{ field }}`, and the next save writes it.
2026-11-11 03:40:22 +01:00

47 lines
1.5 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",
] }
# 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