[package]
edition = "2024"
name = "localgpt-core"
version = "0.3.6"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for LocalGPT — agent, memory, config, security"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/localgpt-app/localgpt"
[features]
claude-cli = []
codex-cli = []
default = [
"embeddings-local",
"claude-cli",
"gemini-cli",
"codex-cli",
"sqlite-vec",
"image-resize",
]
embeddings-gguf = ["llama-cpp-2"]
embeddings-local = ["fastembed"]
embeddings-none = []
embeddings-openai = []
gemini-cli = []
gguf = ["embeddings-gguf"]
image-resize = ["dep:image"]
mcp-http = [
"dep:axum",
"dep:tower-http",
]
sqlite-vec = ["dep:sqlite-vec"]
[lib]
name = "localgpt_core"
path = "src/lib.rs"
[[test]]
name = "mcp_conformance"
path = "tests/mcp_conformance.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-stream]
version = "0.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = ["macros"]
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.chacha20poly1305]
version = "0.10"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.croner]
version = "2"
[dependencies.directories]
version = "6.0"
[dependencies.etcetera]
version = "0.11"
[dependencies.fastembed]
version = "5.12"
optional = true
[dependencies.fs2]
version = "0.4"
[dependencies.futures]
version = "0.3"
[dependencies.glob]
version = "0.3"
[dependencies.hmac]
version = "0.12"
[dependencies.image]
version = "0.25"
features = [
"jpeg",
"png",
"webp",
]
optional = true
default-features = false
[dependencies.json5]
version = "1.3"
[dependencies.jsonwebtoken]
version = "9"
[dependencies.libc]
version = "0.2"
[dependencies.llama-cpp-2]
version = "0.1"
optional = true
[dependencies.notify]
version = "8.2"
[dependencies.once_cell]
version = "1"
[dependencies.rand]
version = "0.10"
[dependencies.readability]
version = "0.3"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"stream",
"multipart",
"form",
"native-tls-vendored",
]
default-features = false
[dependencies.rusqlite]
version = "0.38"
features = [
"bundled",
"functions",
"vtab",
"load_extension",
]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.shellexpand]
version = "3.1"
[dependencies.sqlite-vec]
version = "0.1.7-alpha.10"
optional = true
[dependencies.tempfile]
version = "3.27"
[dependencies.thiserror]
version = "2.0"
[dependencies.tiktoken-rs]
version = "0.9"
[dependencies.tokio]
version = "1.50"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.toml]
version = "1.0"
[dependencies.tower-http]
version = "0.6"
features = ["cors"]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1.22"
features = ["v4"]
[dependencies.which]
version = "8"
[dependencies.zeroize]
version = "1"
features = ["derive"]
[dev-dependencies.filetime]
version = "0.2"
[dev-dependencies.mockall]
version = "0.14"
[dev-dependencies.tempfile]
version = "3.27"
[target.'cfg(target_os = "linux")'.build-dependencies.cc]
version = "1"