[package]
edition = "2024"
name = "do-memory-storage-turso"
version = "0.1.31"
authors = ["Self-Learning Memory Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Turso/libSQL storage backend for the do-memory-core episodic learning system"
homepage = "https://github.com/d-o-hub/rust-self-learning-memory"
documentation = "https://docs.rs/do-memory-storage-turso"
readme = "README.md"
keywords = [
"turso",
"libsql",
"storage",
"database",
"ai-memory",
]
categories = ["database"]
license = "MIT"
repository = "https://github.com/d-o-hub/rust-self-learning-memory"
resolver = "2"
[features]
adaptive-ttl = []
compression = [
"compression-lz4",
"compression-zstd",
"compression-gzip",
"base64",
]
compression-gzip = ["flate2"]
compression-lz4 = ["lz4_flex"]
compression-zstd = ["zstd"]
hybrid_search = []
keepalive-pool = []
turso_multi_dimension = []
[lib]
name = "do_memory_storage_turso"
path = "src/lib.rs"
[[example]]
name = "keepalive_pool_demo"
path = "examples/keepalive_pool_demo.rs"
[[example]]
name = "test_direct_sql"
path = "examples/test_direct_sql.rs"
[[example]]
name = "test_embedding"
path = "examples/test_embedding.rs"
[[example]]
name = "test_tables"
path = "examples/test_tables.rs"
[[test]]
name = "cache_integration_test"
path = "tests/cache_integration_test.rs"
[[test]]
name = "capacity_enforcement_test"
path = "tests/capacity_enforcement_test.rs"
[[test]]
name = "compression_integration"
path = "tests/compression_integration.rs"
[[test]]
name = "compression_integration_test"
path = "tests/compression_integration_test.rs"
[[test]]
name = "coverage_improvement_tests"
path = "tests/coverage_improvement_tests.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "keepalive_pool_integration_test"
path = "tests/keepalive_pool_integration_test.rs"
[[test]]
name = "multi_dimension_routing"
path = "tests/multi_dimension_routing.rs"
[[test]]
name = "phase1_optimization_test"
path = "tests/phase1_optimization_test.rs"
[[test]]
name = "phase1_validation"
path = "tests/phase1_validation.rs"
[[test]]
name = "pool_integration_test"
path = "tests/pool_integration_test.rs"
[[test]]
name = "prepared_cache_integration_test"
path = "tests/prepared_cache_integration_test.rs"
[[test]]
name = "runtime_wiring_transport_compression"
path = "tests/runtime_wiring_transport_compression.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
[[test]]
name = "serialization_property_tests"
path = "tests/serialization_property_tests.rs"
[[test]]
name = "sql_injection_tests"
path = "tests/sql_injection_tests.rs"
[[test]]
name = "test_turso_config"
path = "tests/test_turso_config.rs"
[[test]]
name = "vector_search_test"
path = "tests/vector_search_test.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.base64]
version = "0.22.1"
optional = true
[dependencies.chrono]
version = "0.4.44"
features = ["serde"]
[dependencies.do-memory-core]
version = "0.1.31"
features = ["hybrid_search"]
[dependencies.do-memory-storage-redb]
version = "0.1.31"
[dependencies.flate2]
version = "1.1"
features = ["rust_backend"]
optional = true
default-features = true
[dependencies.libsql]
version = "0.9.30"
[dependencies.lz4_flex]
version = "0.13"
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.postcard]
version = "1.1.3"
features = ["alloc"]
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.51"
features = ["full"]
[dependencies.tracing]
version = "0.1.44"
[dependencies.uuid]
version = "1.23"
features = [
"v4",
"serde",
]
[dependencies.zstd]
version = "0.13"
optional = true
[dev-dependencies.futures]
version = "0.3.32"
[dev-dependencies.proptest]
version = "1.11"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.tokio]
version = "1.51"
features = [
"full",
"test-util",
]
[lints.clippy.correctness]
level = "deny"
priority = 0
[lints.clippy.expect_used]
level = "deny"
priority = 0
[lints.clippy.style]
level = "warn"
priority = 0
[lints.clippy.suspicious]
level = "deny"
priority = 0
[lints.clippy.unwrap_used]
level = "deny"
priority = 0
[lints.rust]
unsafe_code = "warn"