-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCargo.toml
More file actions
113 lines (103 loc) · 4.4 KB
/
Copy pathCargo.toml
File metadata and controls
113 lines (103 loc) · 4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[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:dirs"]
repl-interactive = ["repl"]
# 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
repl-web-advanced = ["repl-web"] # Advanced web operations (screenshot, PDF, scraping)
# 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 }
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"] }
regex = "1.12"
glob = "0.3"
async-trait = { workspace = true }
chrono = { workspace = true }
strsim = "0.11" # For edit distance / fuzzy matching in forgiving CLI
uuid = { workspace = true }
dialoguer = "0.12" # Interactive CLI prompts for onboarding wizard
# 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 }
dirs = { version = "5.0", 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.27"
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"],
]