-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCargo.toml
More file actions
113 lines (100 loc) · 3.86 KB
/
Copy pathCargo.toml
File metadata and controls
113 lines (100 loc) · 3.86 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_server"
version.workspace = true
edition.workspace = true
authors = ["Terraphim Contributors"]
description = "Terraphim service handling the core logic of the Terraphim AI."
documentation = "https://terraphim.ai"
homepage = "https://terraphim.ai"
repository = "https://github.com/terraphim/terraphim-ai"
keywords = ["personal-assistant", "ai", "privacy", "service", "core"]
license = "Apache-2.0"
readme = "../README.md"
[dependencies]
terraphim_persistence = { version = "1.20.4", default-features = false, features = ["memory"] }
terraphim_config = { version = "1.20.4", default-features = false }
terraphim_middleware = { version = "1.20.3", default-features = false }
terraphim_rolegraph = { version = "1.20.4" }
terraphim_settings = { version = "1.20.4" }
terraphim_types = { version = "1.20.4", default-features = false }
terraphim_automata = { version = "1.20.4", default-features = false, features = ["tokio-runtime"] }
terraphim_service = { version = "1.20.4", default-features = false }
terraphim_multi_agent = { version = "1.0.0" }
terraphim_update = { path = "../crates/terraphim_update" }
anyhow = { workspace = true }
axum = { version = "0.8.7", features = ["macros", "ws"] }
clap = { version = "4.5.60", features = ["derive"] }
log = { workspace = true }
portpicker = "0.1"
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
tower-http = { version = "0.6.8", features = ["cors", "fs", "trace"] }
ulid = { version = "1.0.0", features = ["serde", "uuid"] }
mime_guess = "2.0.4"
rust-embed = { version = "8.2.0", features = ["axum", "axum-ex", "mime-guess"], optional = true }
env_logger = "0.11.9"
ahash = "0.8.11"
schemars = { version = "0.8.22", optional = true }
regex = "1.12.3"
walkdir = "2.4"
chrono = { workspace = true }
uuid = { workspace = true }
futures-util = "0.3"
rand = "0.9"
[features]
# Minimal default - core server with SQLite for persistence
default = ["sqlite", "embedded-assets"]
# LLM providers
openrouter = ["terraphim_service/openrouter", "terraphim_config/openrouter", "llm"]
ollama = ["terraphim_service/ollama", "llm"]
llm = []
# Database backends
sqlite = ["terraphim_persistence/sqlite"]
redis = ["terraphim_persistence/redis"]
s3 = ["terraphim_persistence/s3"]
dashmap = ["terraphim_persistence/dashmap"]
redb = ["terraphim_persistence/redb"]
ipfs = ["terraphim_persistence/ipfs"]
full-db = ["sqlite", "redis", "s3", "dashmap", "redb", "ipfs"]
# Middleware features
grepapp = ["terraphim_middleware/grepapp"]
ai-assistant = ["terraphim_middleware/ai-assistant"]
mcp = ["terraphim_middleware/mcp"]
mcp-rust-sdk = ["terraphim_middleware/mcp-rust-sdk"]
# Advanced features
vm-execution = []
workflows = []
# Server utilities
embedded-assets = ["dep:rust-embed"]
schema = ["dep:schemars", "terraphim_config/typescript"]
# Convenience features
full = ["full-db", "openrouter", "ollama", "grepapp", "ai-assistant", "mcp", "workflows", "schema"]
# Legacy aliases for backward compatibility
# Note: full-db is defined above
[dev-dependencies]
serial_test = "3.3.1"
terraphim_agent = { version = "1.20.4", features = ["server"] }
urlencoding = "2.1.3"
tokio = { workspace = true }
reqwest = { workspace = true }
axum-test = "20"
futures-util = "0.3"
[dev-dependencies.tempfile]
workspace = true
[package.metadata.deb]
maintainer = "Terraphim Contributors <team@terraphim.ai>"
copyright = "2024, Terraphim Contributors"
license-file = ["../LICENSE-Apache-2.0", "4"]
extended-description = """
Terraphim AI Server - Privacy-first AI assistant backend.
Provides HTTP API for semantic search and knowledge graphs.
Operates locally with support for multiple knowledge repositories."""
depends = "$auto"
section = "utility"
priority = "optional"
assets = [
["target/release/terraphim_server", "usr/bin/", "755"],
["default/*.json", "etc/terraphim-ai/", "644"],
["../README.md", "usr/share/doc/terraphim-ai/README", "644"],
]