Huginn/crates/huginn-daemon/Cargo.toml

51 lines
1.8 KiB
TOML

[package]
name = "huginn-daemon"
version = "0.1.0"
edition.workspace = true
license.workspace = true
publish.workspace = true
# The organ's CultNet surface: the socket, the sessions, the process lifetime
# and the operation envelope, and no rule. Every rule, the instance check, the
# receipt, the status and the wire vocabulary are `huginn-mind`'s, and the leaf
# and the store type are reached through it so one crate pins one revision.
[lib]
name = "huginn_daemon"
path = "src/lib.rs"
[[bin]]
name = "huginn-daemon"
path = "src/main.rs"
# The source index's one writer: a oneshot job that brings `huginn_sources` to
# the forge's current state and exits. No daemon calls any of its writes.
[[bin]]
name = "huginn-sources"
path = "src/bin/huginn-sources.rs"
[dependencies]
anyhow = "1"
base64 = "0.22"
chrono = "0.4.44"
cultnet-rs.workspace = true
huginn-mind = { path = "../huginn-mind" }
rmp-serde = "1"
serde = { version = "1", features = ["derive"] }
# The vector store's and the embedder's HTTP APIs are the xenos boundary, and
# JSON exists in `index/ollama.rs` and `index/qdrant.rs` only. `ureq` 3 with
# default features off is plain HTTP with no TLS (`rustls` and `gzip` are its
# only defaults), which is all the private mesh needs. It stays below 3.4,
# whose `base64` 0.23 would put a second `base64` in a tree that has one.
serde_json = "1"
sha2 = "0.10"
signal-hook = "0.3"
ureq = { version = "~3.3", default-features = false }
[dev-dependencies]
tempfile = "3"
# Test-only: `Mind::store_path_for`, the grammar-checked door onto a raw
# store's path. The daemon's own store-integrity tests reach a store directly
# (to break a row on purpose) and must go through the same door `open` does
# rather than reconstructing the path by hand (S3, residue batch).
huginn-mind = { path = "../huginn-mind", features = ["test-support"] }