[package]
edition = "2024"
rust-version = "1.94"
name = "nodedb-lite"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedded edge client for NodeDB — offline vector search, graph traversal, and CRDT sync"
homepage = "https://nodedb.dev"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/NodeDB-Lab/nodedb-lite"
resolver = "2"
[features]
default = ["sync"]
sync = [
"dep:tokio-tungstenite",
"dep:futures",
]
[lib]
name = "nodedb_lite"
path = "src/lib.rs"
[[example]]
name = "live_sync"
path = "examples/live_sync.rs"
[[example]]
name = "load_test"
path = "examples/load_test.rs"
[[test]]
name = "array_lite"
path = "tests/array_lite.rs"
[[test]]
name = "array_sync_basic"
path = "tests/array_sync_basic.rs"
[[test]]
name = "array_sync_bitemporal"
path = "tests/array_sync_bitemporal.rs"
[[test]]
name = "array_sync_catchup"
path = "tests/array_sync_catchup.rs"
[[test]]
name = "array_sync_catchup_delegate"
path = "tests/array_sync_catchup_delegate.rs"
[[test]]
name = "array_sync_catchup_transport"
path = "tests/array_sync_catchup_transport.rs"
[[test]]
name = "array_sync_concurrent_writers"
path = "tests/array_sync_concurrent_writers.rs"
[[test]]
name = "array_sync_gdpr_erase"
path = "tests/array_sync_gdpr_erase.rs"
[[test]]
name = "array_sync_interop"
path = "tests/array_sync_interop.rs"
[[test]]
name = "array_sync_interop_real"
path = "tests/array_sync_interop_real.rs"
[[test]]
name = "array_sync_push_transport"
path = "tests/array_sync_push_transport.rs"
[[test]]
name = "array_sync_reject"
path = "tests/array_sync_reject.rs"
[[test]]
name = "array_sync_schema"
path = "tests/array_sync_schema.rs"
[[test]]
name = "auto_compact"
path = "tests/auto_compact.rs"
[[test]]
name = "auto_flush"
path = "tests/auto_flush.rs"
[[test]]
name = "collection_conversion"
path = "tests/collection_conversion.rs"
[[test]]
name = "compensation"
path = "tests/compensation.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "crash_recovery"
path = "tests/crash_recovery.rs"
[[test]]
name = "crdt_flush_dirty_tracking"
path = "tests/crdt_flush_dirty_tracking.rs"
[[test]]
name = "crdt_movable_list"
path = "tests/crdt_movable_list.rs"
[[test]]
name = "ddl_statement_routing"
path = "tests/ddl_statement_routing.rs"
[[test]]
name = "definition_sync_interop"
path = "tests/definition_sync_interop.rs"
[[test]]
name = "document_batch_ingest"
path = "tests/document_batch_ingest.rs"
[[test]]
name = "document_bitemporal_api"
path = "tests/document_bitemporal_api.rs"
[[test]]
name = "document_bitemporal_storage"
path = "tests/document_bitemporal_storage.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[[test]]
name = "encryption_roundtrip"
path = "tests/encryption_roundtrip.rs"
[[test]]
name = "eviction"
path = "tests/eviction.rs"
[[test]]
name = "fts_field_scoping"
path = "tests/fts_field_scoping.rs"
[[test]]
name = "fts_persistence"
path = "tests/fts_persistence.rs"
[[test]]
name = "fts_persistence_bitemporal"
path = "tests/fts_persistence_bitemporal.rs"
[[test]]
name = "fts_sql_writes"
path = "tests/fts_sql_writes.rs"
[[test]]
name = "fts_sync_import"
path = "tests/fts_sync_import.rs"
[[test]]
name = "graph_direction_and_filters"
path = "tests/graph_direction_and_filters.rs"
[[test]]
name = "graph_engine_gate"
path = "tests/graph_engine_gate.rs"
[[test]]
name = "graph_pagerank_api"
path = "tests/graph_pagerank_api.rs"
[[test]]
name = "graph_persistence_bitemporal"
path = "tests/graph_persistence_bitemporal.rs"
[[test]]
name = "graph_rag_search_api"
path = "tests/graph_rag_search_api.rs"
[[test]]
name = "graph_stats_parity"
path = "tests/graph_stats_parity.rs"
[[test]]
name = "htap"
path = "tests/htap.rs"
[[test]]
name = "hybrid_search_api"
path = "tests/hybrid_search_api.rs"
[[test]]
name = "implicit_collection_registration"
path = "tests/implicit_collection_registration.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "kv_engine_gate"
path = "tests/kv_engine_gate.rs"
[[test]]
name = "kv_secondary_index"
path = "tests/kv_secondary_index.rs"
[[test]]
name = "kv_sorted_index_sql"
path = "tests/kv_sorted_index_sql.rs"
[[test]]
name = "kv_ttl_and_range"
path = "tests/kv_ttl_and_range.rs"
[[test]]
name = "open_config_validation"
path = "tests/open_config_validation.rs"
[[test]]
name = "open_corruption_handling"
path = "tests/open_corruption_handling.rs"
[[test]]
name = "peer_identity"
path = "tests/peer_identity.rs"
[[test]]
name = "search_index_ddl"
path = "tests/search_index_ddl.rs"
[[test]]
name = "select_after_create"
path = "tests/select_after_create.rs"
[[test]]
name = "shape_perf"
path = "tests/shape_perf.rs"
[[test]]
name = "shape_subscription"
path = "tests/shape_subscription.rs"
[[test]]
name = "snapshot_restore"
path = "tests/snapshot_restore.rs"
[[test]]
name = "sparse_vector"
path = "tests/sparse_vector.rs"
[[test]]
name = "spatial_engine_gate"
path = "tests/spatial_engine_gate.rs"
[[test]]
name = "sql_declared_types"
path = "tests/sql_declared_types.rs"
[[test]]
name = "sql_matrix"
path = "tests/sql_matrix.rs"
[[test]]
name = "sql_parity"
path = "tests/sql_parity.rs"
[[test]]
name = "sql_row_functions"
path = "tests/sql_row_functions.rs"
[[test]]
name = "sql_update_expressions"
path = "tests/sql_update_expressions.rs"
[[test]]
name = "storage_prefix_bounds"
path = "tests/storage_prefix_bounds.rs"
[[test]]
name = "sync_gate"
path = "tests/sync_gate.rs"
[[test]]
name = "sync_interop_collection_registration"
path = "tests/sync_interop_collection_registration.rs"
[[test]]
name = "sync_interop_columnar"
path = "tests/sync_interop_columnar.rs"
[[test]]
name = "sync_interop_compensation"
path = "tests/sync_interop_compensation.rs"
[[test]]
name = "sync_interop_crdt_semantics"
path = "tests/sync_interop_crdt_semantics.rs"
[[test]]
name = "sync_interop_cross_collection"
path = "tests/sync_interop_cross_collection.rs"
[[test]]
name = "sync_interop_delta_ack"
path = "tests/sync_interop_delta_ack.rs"
[[test]]
name = "sync_interop_fts"
path = "tests/sync_interop_fts.rs"
[[test]]
name = "sync_interop_handshake"
path = "tests/sync_interop_handshake.rs"
[[test]]
name = "sync_interop_kv"
path = "tests/sync_interop_kv.rs"
[[test]]
name = "sync_interop_live"
path = "tests/sync_interop_live.rs"
[[test]]
name = "sync_interop_reconnect"
path = "tests/sync_interop_reconnect.rs"
[[test]]
name = "sync_interop_resync"
path = "tests/sync_interop_resync.rs"
[[test]]
name = "sync_interop_semantics"
path = "tests/sync_interop_semantics.rs"
[[test]]
name = "sync_interop_shape"
path = "tests/sync_interop_shape.rs"
[[test]]
name = "sync_interop_spatial"
path = "tests/sync_interop_spatial.rs"
[[test]]
name = "sync_interop_timeseries"
path = "tests/sync_interop_timeseries.rs"
[[test]]
name = "sync_interop_vector"
path = "tests/sync_interop_vector.rs"
[[test]]
name = "sync_load"
path = "tests/sync_load.rs"
[[test]]
name = "sync_transport_dispatch"
path = "tests/sync_transport_dispatch.rs"
[[test]]
name = "sync_transport_kv"
path = "tests/sync_transport_kv.rs"
[[test]]
name = "timeseries_visitor"
path = "tests/timeseries_visitor.rs"
[[test]]
name = "truncate_engines"
path = "tests/truncate_engines.rs"
[[test]]
name = "vector_dimension_errors"
path = "tests/vector_dimension_errors.rs"
[[test]]
name = "vector_durability"
path = "tests/vector_durability.rs"
[[test]]
name = "vector_engine_gate"
path = "tests/vector_engine_gate.rs"
[[test]]
name = "vector_id_map_persistence"
path = "tests/vector_id_map_persistence.rs"
[[test]]
name = "visitor_sql_ops"
path = "tests/visitor_sql_ops.rs"
[dependencies.aes-gcm]
version = "0.10"
[dependencies.argon2]
version = "0.5"
[dependencies.arrow]
version = "60"
features = ["ipc"]
default-features = false
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1"
[dependencies.crc32c]
version = "0.6"
[dependencies.getrandom]
version = "0.4"
features = ["std"]
[dependencies.loro]
version = "1"
[dependencies.lru]
version = "0.18"
[dependencies.nodedb-array]
version = "0.6.2"
[dependencies.nodedb-client]
version = "0.6.2"
[dependencies.nodedb-codec]
version = "0.6.2"
[dependencies.nodedb-columnar]
version = "0.6.2"
[dependencies.nodedb-crdt]
version = "0.6.2"
[dependencies.nodedb-fts]
version = "0.6.2"
[dependencies.nodedb-graph]
version = "0.6.2"
[dependencies.nodedb-mem]
version = "0.6.2"
[dependencies.nodedb-physical]
version = "0.6.2"
[dependencies.nodedb-query]
version = "0.6.2"
[dependencies.nodedb-spatial]
version = "0.6.2"
[dependencies.nodedb-sql]
version = "0.6.2"
[dependencies.nodedb-strict]
version = "0.6.2"
[dependencies.nodedb-types]
version = "0.6.2"
[dependencies.nodedb-vector]
version = "0.6.2"
[dependencies.pagedb]
version = "0.1"
default-features = false
[dependencies.roaring]
version = "0.11"
[dependencies.rust_decimal]
version = "1"
features = ["serde-with-str"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sonic-rs]
version = "0.5"
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.zeroize]
version = "1"
features = ["derive"]
[dependencies.zerompk]
version = "0.8"
features = [
"std",
"derive",
]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
]
[dev-dependencies.tokio-postgres]
version = "0.7"
features = ["with-serde_json-1"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.futures]
version = "0.3"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
"time",
"macros",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-tungstenite]
version = "0.30"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.futures]
version = "0.3"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1"
features = ["net"]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio-tungstenite]
version = "0.30"
[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-timers]
version = "0.3"
features = ["futures"]
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.pagedb]
version = "0.1"
features = ["opfs"]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
version = "1"
features = [
"sync",
"rt",
"macros",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"