terraphim_agent 1.10.0

Terraphim AI Agent CLI - Command-line interface with interactive REPL and ASCII graph visualization
[package]
name = "terraphim_agent"
version.workspace = true
edition.workspace = true
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"]
# NOTE: repl-sessions re-enabled for local development (path dependency)
repl-full = ["repl", "repl-chat", "repl-mcp", "repl-file", "repl-custom", "repl-web", "repl-interactive", "repl-sessions"]
repl-chat = ["repl"]  # Chat functionality
repl-mcp = ["repl"]   # MCP tools integration
repl-file = ["repl"]  # Enhanced file operations
repl-custom = ["repl"]  # Markdown-defined custom commands
repl-web = ["repl"]   # Web operations and configuration
# Update tests - gated because they require built release binary and network access
update-tests = []
# Session history search - enabled for local development
repl-sessions = ["repl", "dep:terraphim_sessions"]

[lints.rust]
# repl-sessions feature is now enabled for local development

[dependencies]
anyhow = { workspace = true }
thiserror = { workspace = true }
clap = { version = "4", features = ["derive"] }
tokio = { workspace = true }
ratatui = "0.30"
crossterm = "0.29"
futures = "0.3"
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = "0.9"
reqwest = { workspace = true }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
log = { workspace = true }
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.3"
regex = "1.0"
glob = "0.3"
walkdir = "2.0"
async-trait = { workspace = true }
chrono = { workspace = true }
strsim = "0.11"  # For edit distance / fuzzy matching in forgiving CLI
uuid = { workspace = true }
dialoguer = "0.11"  # Interactive CLI prompts for onboarding wizard
console = "0.15"  # Terminal styling for wizard output

# REPL dependencies - only compiled with features
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" }
# Session search - uses workspace version (path for dev, version for crates.io)
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 = { workspace = true }
tokio = { workspace = true }
tempfile = "3.0"
terraphim_test_utils = { path = "../terraphim_test_utils" }
insta = { version = "1.41", features = ["yaml", "redactions"] }

# Enable REPL features for testing
terraphim_agent = { path = ".", features = ["repl-full"] }

[build-dependencies]
rustc_version = "0.4"


[[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"],
]