[package]
name = "terraphim_agent"
version.workspace = true
edition = "2021"
authors = ["Terraphim Contributors"]
description = "Terraphim AI Agent CLI - Command-line interface with interactive REPL and ASCII graph visualization"
documentation = "https://terraphim.ai"
homepage = "https://terraphim.ai"
repository = "https://github.com/terraphim/terraphim-ai"
keywords = ["cli", "ai", "agent", "search", "repl"]
license = "Apache-2.0"
readme = "../../README.md"
[features]
default = ["repl-interactive"]
repl = ["dep:rustyline", "dep:colored", "dep:comfy-table", "dep:indicatif", "dep:dirs"]
repl-interactive = ["repl", "dep:atty"]
repl-full = ["repl", "repl-chat", "repl-mcp", "repl-file", "repl-custom", "repl-web", "repl-interactive", "repl-sessions"]
repl-chat = ["repl"]
repl-mcp = ["repl"]
repl-file = ["repl"]
repl-custom = ["repl"]
repl-web = ["repl"]
repl-sessions = ["repl", "dep:terraphim_sessions"]
[lints.rust]
[dependencies]
anyhow = "1.0"
thiserror = "1.0"
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
ratatui = "0.30"
crossterm = "0.29"
futures = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
log = "0.4"
jiff = "0.2"
urlencoding = "2.1"
ahash = "0.8"
terraphim_update = { path = "../terraphim_update", version = "1.0.0" }
pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] }
handlebars = "6.0"
regex = "1.0"
walkdir = "2.0"
async-trait = "0.1"
chrono = { version = "0.4", features = ["serde"] }
strsim = "0.11"
uuid = { version = "1.19", features = ["v4", "serde"] }
rustyline = { version = "17.0", optional = true }
colored = { version = "3.0", optional = true }
comfy-table = { version = "7.0", optional = true }
indicatif = { version = "0.18", optional = true }
dirs = { version = "5.0", optional = true }
atty = { version = "0.2", optional = true }
terraphim_types = { path = "../terraphim_types", version = "1.0.0" }
terraphim_settings = { path = "../terraphim_settings", version = "1.0.0" }
terraphim_persistence = { path = "../terraphim_persistence", version = "1.0.0" }
terraphim_config = { path = "../terraphim_config", version = "1.0.0" }
terraphim_automata = { path = "../terraphim_automata", version = "1.0.0" }
terraphim_service = { path = "../terraphim_service", version = "1.0.0" }
terraphim_middleware = { path = "../terraphim_middleware", version = "1.0.0" }
terraphim_rolegraph = { path = "../terraphim_rolegraph", version = "1.0.0" }
terraphim_hooks = { path = "../terraphim_hooks", version = "1.0.0" }
terraphim_sessions = { path = "../terraphim_sessions", version = "1.6.0", optional = true, features = ["tsa-full"] }
[dev-dependencies]
serial_test = "3.3"
futures = "0.3"
portpicker = "0.1"
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
tokio = { version = "1", features = ["full"] }
tempfile = "3.0"
terraphim_agent = { path = ".", features = ["repl-full"] }
[[bin]]
name = "terraphim-agent"
path = "src/main.rs"
[package.metadata.deb]
maintainer = "Terraphim Contributors <team@terraphim.ai>"
copyright = "2024, Terraphim Contributors"
license-file = ["../../LICENSE-Apache-2.0", "4"]
extended-description = """
Terraphim Agent - AI Agent CLI Interface for Terraphim.
Command-line interface with interactive REPL and ASCII graph visualization.
Supports search, configuration management, and data exploration."""
depends = "$auto"
section = "utility"
priority = "optional"
assets = [
["target/release/terraphim-agent", "usr/bin/", "755"],
["../../README.md", "usr/share/doc/terraphim-agent/README", "644"],
]