[package]
name = "ruvector-sona"
version = "0.1.4"
edition = "2021"
rust-version = "1.70"
authors = ["RuVector Team <team@ruvector.dev>"]
description = "Self-Optimizing Neural Architecture - Runtime-adaptive learning for LLM routers with two-tier LoRA, EWC++, and ReasoningBank"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ruvnet/ruvector"
homepage = "https://github.com/ruvnet/ruvector/tree/main/crates/sona"
documentation = "https://docs.rs/sona"
readme = "README.md"
keywords = ["neural", "learning", "lora", "llm", "adaptive"]
categories = ["science", "algorithms", "wasm"]
include = [
"src/**/*",
"Cargo.toml",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE",
]
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[lib]
crate-type = ["cdylib", "rlib"]
[features]
default = ["serde-support"]
wasm = ["wasm-bindgen", "wasm-bindgen-futures", "console_error_panic_hook", "js-sys", "web-sys", "getrandom", "serde-support"]
napi = ["dep:napi", "dep:napi-derive", "serde-support"]
serde-support = ["serde", "serde_json"]
[dependencies]
parking_lot = "0.12"
crossbeam = "0.8"
rand = "0.8"
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
wasm-bindgen = { version = "0.2", optional = true }
wasm-bindgen-futures = { version = "0.4", optional = true }
js-sys = { version = "0.3", optional = true }
console_error_panic_hook = { version = "0.1", optional = true }
getrandom = { version = "0.2", features = ["js"], optional = true }
napi = { version = "2.16", optional = true }
napi-derive = { version = "2.16", optional = true }
[dependencies.web-sys]
version = "0.3"
optional = true
features = [
"console",
"Performance",
"Window",
]
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }
[dev-dependencies]
criterion = "0.5"
rand = "0.8"
once_cell = "1.19"
[[bench]]
name = "sona_bench"
harness = false