[package]
edition = "2024"
name = "ijima-server"
version = "0.2.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP daemon and store backends for the Ijima centralized agentic memory backend"
homepage = "https://github.com/Industrial-Algebra/Ijima"
readme = "README.md"
keywords = [
"memory",
"agent-memory",
"knowledge-graph",
"llm",
"embeddings",
]
categories = [
"database",
"api-bindings",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/Industrial-Algebra/Ijima"
resolver = "2"
[features]
backend-sqlite = [
"dep:rusqlite",
"ijima-core/serde",
]
backend-surreal = [
"dep:surrealdb",
"ijima-core/serde",
"dep:tokio",
"dep:sha2",
]
cli = [
"dep:clap",
"dep:reqwest",
"dep:ijima-client",
]
default = [
"std",
"http",
"server-auth",
"backend-surreal",
]
embeddings-candle = [
"dep:candle-core",
"dep:candle-nn",
"dep:candle-transformers",
"dep:tokenizers",
"dep:hf-hub",
"ijima-core/serde",
]
federation = [
"ijima-core/federation",
"http",
]
http = [
"dep:axum",
"dep:tokio",
"dep:tracing",
"dep:tracing-subscriber",
"ijima-core/serde",
]
mining = [
"dep:ijima-miner",
"dep:proserpina-agent",
"backend-surreal",
"ijima-miner/llm",
"proserpina-agent/backend-http",
]
rate-limit = [
"server-auth",
"http",
]
server-auth = [
"dep:schubert",
"dep:base64",
"dep:ed25519-dalek",
"dep:sha2",
]
std = []
tls = [
"dep:axum-server",
"http",
]
[lib]
name = "ijima_server"
path = "src/lib.rs"
[[bin]]
name = "ijima"
path = "src/main.rs"
required-features = [
"http",
"server-auth",
"backend-surreal",
"cli",
]
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.axum-server]
version = "0.8"
features = ["tls-rustls"]
optional = true
[dependencies.base64]
version = "0.23"
optional = true
[dependencies.candle-core]
version = "0.11"
optional = true
default-features = false
[dependencies.candle-nn]
version = "0.11"
optional = true
default-features = false
[dependencies.candle-transformers]
version = "0.11"
optional = true
default-features = false
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
optional = true
default-features = false
[dependencies.hf-hub]
version = "1.0"
features = ["blocking"]
optional = true
[dependencies.ijima-client]
version = "0.2.3"
optional = true
[dependencies.ijima-core]
version = "0.2.3"
[dependencies.ijima-miner]
version = "0.2.3"
optional = true
[dependencies.proserpina-agent]
version = "0.1.0"
optional = true
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.13"
features = ["json"]
optional = true
[dependencies.rusqlite]
version = "0.40"
features = ["bundled"]
optional = true
[dependencies.schubert]
version = "0.5"
features = [
"std",
"crypto",
"policy",
]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
optional = true
[dependencies.surrealdb]
version = "3"
features = [
"kv-mem",
"kv-surrealkv",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tokenizers]
version = "0.21"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"io-util",
"time",
]
optional = true
[dependencies.toml]
version = "1.1"
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
"smallvec",
]
optional = true
default-features = false
[dev-dependencies.ijima-client]
version = "0.2.3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"io-util",
"time",
"macros",
"rt",
"net",
"time",
]
[dev-dependencies.tower]
version = "0.5"
features = ["util"]