[package]
edition = "2024"
rust-version = "1.95"
name = "basemyai"
version = "0.1.0"
authors = ["BaseMyAI contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Local memory engine for AI agents: 4 memory layers, temporal RAG, per-agent isolation, mandatory encryption. Built on basemyai-core."
documentation = "https://docs.rs/basemyai"
readme = false
keywords = [
"memory",
"agent",
"ai",
"rag",
"vector-search",
]
categories = [
"database-implementations",
"algorithms",
]
license = "MIT"
repository = "https://github.com/basemyai/basemyai"
[features]
crypto = ["basemyai-core/crypto"]
default = []
embed = ["basemyai-core/embed"]
test-util = []
[lib]
name = "basemyai"
path = "src/lib.rs"
[[example]]
name = "llm_consolidation"
path = "examples/llm_consolidation.rs"
[[example]]
name = "memory_basic"
path = "examples/memory_basic.rs"
[[example]]
name = "temporal_replacement"
path = "examples/temporal_replacement.rs"
[[test]]
name = "consolidation"
path = "tests/consolidation.rs"
[[test]]
name = "consolidation_e2e"
path = "tests/consolidation_e2e.rs"
[[test]]
name = "contracts"
path = "tests/contracts.rs"
[[test]]
name = "events"
path = "tests/events.rs"
[[test]]
name = "forgetting"
path = "tests/forgetting.rs"
[[test]]
name = "format"
path = "tests/format.rs"
[[test]]
name = "graph"
path = "tests/graph.rs"
[[test]]
name = "llm_provision"
path = "tests/llm_provision.rs"
[[test]]
name = "maintenance_worker"
path = "tests/maintenance_worker.rs"
[[test]]
name = "memory"
path = "tests/memory.rs"
[[test]]
name = "p1_isolation_adversarial"
path = "tests/p1_isolation_adversarial.rs"
[[test]]
name = "pool_concurrency"
path = "tests/pool_concurrency.rs"
[[test]]
name = "porting"
path = "tests/porting.rs"
[[test]]
name = "provisioning"
path = "tests/provisioning.rs"
[[test]]
name = "retrieval"
path = "tests/retrieval.rs"
[[test]]
name = "storage_contract"
path = "tests/storage_contract.rs"
[[test]]
name = "testutil_facade"
path = "tests/testutil_facade.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.basemyai-core]
version = "0.1.0"
[dependencies.dirs]
version = "5"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"stream",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.sysinfo]
version = "0.32"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"time",
]
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dev-dependencies]
[lints.clippy]
await_holding_lock = "warn"
clone_on_ref_ptr = "warn"
cloned_instead_of_copied = "warn"
explicit_into_iter_loop = "warn"
implicit_clone = "warn"
inefficient_to_string = "warn"
lossy_float_literal = "warn"
mutex_atomic = "warn"
option_as_ref_cloned = "warn"
redundant_clone = "warn"
set_contains_or_insert = "warn"
todo = "warn"
trivially_copy_pass_by_ref = "warn"
unnecessary_to_owned = "warn"
unwrap_used = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1