Agent tokens (wb_ and 64 hex digits), one book and one name each, kept only as SHA-256 in a chain log and in the OS keyring; made, listed and revoked only through the admin socket (`wanderbooks token ...`). The door checks them, scopes cover every tool, every call is in the access log (fail closed), and the owner passphrase is an Argon2id hash. Setup's terminal test waits for its prompts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3gXMVt7XJPi6ens1or9Dj
38 lines
1.2 KiB
TOML
38 lines
1.2 KiB
TOML
[package]
|
|
name = "ledger-host"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
description = "wanderbooks: the books open while something holds them (the host, its leases, the helper and the agents' bridge)."
|
|
|
|
[dependencies]
|
|
ledger-core = { path = "../ledger-core" }
|
|
ledger-mcp = { path = "../ledger-mcp" }
|
|
ledger-store = { path = "../ledger-store" }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "io-util", "io-std", "sync", "net", "signal", "time", "process"] }
|
|
reqwest = "0.13"
|
|
base64 = "0.22"
|
|
tokio-util = { version = "0.7", features = ["rt"] }
|
|
# Agents' tokens are kept in the OS keyring (plan 3.3, 3.5): the Secret
|
|
# Service on Linux. macOS and Windows stores come with P11.
|
|
keyring-core = "1"
|
|
# The owner passphrase is typed at the terminal, unechoed.
|
|
rpassword = "7"
|
|
# Token texts and passphrases are wiped from memory when dropped.
|
|
zeroize = "1"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
zbus-secret-service-keyring-store = { version = "1", features = ["rt-async-io-crypto-rust"] }
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
|
|
[lints]
|
|
workspace = true
|