Huginn/crates/eureka-state/Cargo.toml

50 lines
1.6 KiB
TOML

[package]
name = "eureka-state"
version = "0.1.0"
edition.workspace = true
license.workspace = true
publish.workspace = true
# The client core (`lib.rs`): one call over CultNet to a Huginn daemon. It owns
# the transport and nothing of the mind. The operation envelope, the wire
# vocabulary and the deferred-body bound are `huginn-mind`'s, so the client and
# the daemon cannot spell them differently; the content fetch and its
# verification are `cultnet-rs`'s.
#
# The crate is the client core (`lib.rs`) and its consumers: the `huginn` CLI
# (`src/bin/huginn/`), the shell door every agent uses, and until
# delete-eureka-state-mcp the MCP server (`main.rs`, the `eureka-state` binary).
# Both hold no state.
# `cli` (default) is the `huginn` binary's argument parser; a library consumer
# takes `default-features = false` and compiles none of it.
[features]
default = ["cli"]
cli = ["dep:clap"]
[[bin]]
name = "huginn"
path = "src/bin/huginn/main.rs"
required-features = ["cli"]
[[test]]
name = "cli"
required-features = ["cli"]
[dependencies]
anyhow = "1"
clap = { version = "4", features = ["derive"], optional = true }
cultnet-rs.workspace = true
huginn-mind = { path = "../huginn-mind" }
rmcp = { version = "2.2.0", default-features = false, features = ["server", "macros", "transport-io"] }
rmp-serde = "1"
schemars = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["rt", "macros", "io-std"] }
# Tests run a real daemon in-process against a temporary mind, and the real
# binary against it.
[dev-dependencies]
chrono = "0.4.44"
huginn-daemon = { path = "../huginn-daemon" }
tempfile = "3"