[package]
edition = "2024"
name = "senno"
version = "0.6.0"
authors = ["Sahil Sinha"]
build = false
exclude = [
".cargo-husky/*",
".editorconfig",
".gitattributes",
".github/*",
".gitignore",
".vscode/*",
"cliff.toml",
"plans/*",
"tests/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Wits for your backend: provider-agnostic LLM client and streaming tool-calling agent engine, Vertex AI first (Gemini + Claude on Vertex), with built-in history compaction."
homepage = "https://github.com/sinha-sahil/senno"
documentation = "https://docs.rs/senno"
readme = "README.md"
keywords = [
"llm",
"agent",
"vertex-ai",
"gemini",
"ai",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/sinha-sahil/senno"
[package.metadata.docs.rs]
all-features = true
[features]
axum = ["dep:axum"]
batch = ["dep:tokio"]
default = []
mcp = [
"dep:reqwest",
"dep:tokio",
]
vertex = [
"dep:reqwest",
"dep:jsonwebtoken",
"dep:nanoid",
"dep:tokio",
"batch",
]
[lib]
name = "senno"
path = "src/lib.rs"
[[example]]
name = "mcp_flow"
path = "examples/mcp_flow.rs"
required-features = [
"mcp",
"vertex",
]
[dependencies.async-stream]
version = "0.3"
[dependencies.axum]
version = "0.8.7"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.jsonwebtoken]
version = "10.2.0"
features = ["rust_crypto"]
optional = true
[dependencies.nanoid]
version = "0.4.0"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"stream",
"json",
]
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.time]
version = "0.3.44"
features = ["formatting"]
[dependencies.tokio]
version = "1.4.0"
features = [
"sync",
"time",
"fs",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dev-dependencies.cargo-husky]
version = "1"
features = ["user-hooks"]
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.http]
version = "1"
[dev-dependencies.tokio]
version = "1.4.0"
features = [
"rt",
"rt-multi-thread",
"macros",
"net",
"io-util",
"sync",
"time",
"fs",
]