-
Notifications
You must be signed in to change notification settings - Fork 345
Expand file tree
/
Copy pathCargo.toml
More file actions
101 lines (90 loc) · 3.18 KB
/
Cargo.toml
File metadata and controls
101 lines (90 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
[package]
name = "ruvector-edge-net"
version = "0.1.0"
edition = "2021"
authors = ["RuVector Team"]
license = "MIT"
description = "Distributed compute intelligence network - contribute browser compute, earn credits"
repository = "https://github.com/ruvnet/ruvector"
keywords = ["wasm", "p2p", "distributed-computing", "web-workers", "ai"]
categories = ["wasm", "web-programming", "cryptography"]
[lib]
crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[features]
default = ["console_error_panic_hook"]
full = ["embeddings", "neural", "exotic", "learning-enhanced"]
embeddings = []
neural = []
bench = []
# Exotic AI capabilities
exotic = ["dep:ruvector-exotic-wasm"]
# Self-learning with MicroLoRA, BTSP, HDC
learning-enhanced = ["dep:ruvector-learning-wasm", "dep:ruvector-nervous-system-wasm"]
# CRDT-based enhanced economy
economy-enhanced = ["dep:ruvector-economy-wasm"]
# All exotic capabilities
exotic-full = ["exotic", "learning-enhanced", "economy-enhanced"]
[dependencies]
# WASM bindings
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
js-sys = "0.3"
web-sys = { version = "0.3", features = [
"console",
"Window",
"Document",
"Navigator",
"Performance",
"Worker",
"MessageEvent",
"MessagePort",
"MessageChannel",
"BroadcastChannel",
"Crypto",
"SubtleCrypto",
"CryptoKey",
"Storage",
"Request",
"Response",
"Headers",
"Screen",
]}
serde-wasm-bindgen = "0.6" # WASM <-> Serde bindings
# Crypto
ed25519-dalek = { version = "2.1", default-features = false, features = ["rand_core"] }
x25519-dalek = { version = "2.0", default-features = false }
aes-gcm = { version = "0.10", default-features = false, features = ["aes", "alloc"] }
sha2 = { version = "0.10", default-features = false }
rand = { version = "0.8", default-features = false, features = ["getrandom"] }
getrandom = { version = "0.2", features = ["js"] }
argon2 = { version = "0.5", default-features = false, features = ["alloc"] } # Memory-hard KDF
zeroize = { version = "1.7", features = ["derive"] } # Secure memory cleanup
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = "1.3"
# Utilities
thiserror = "1.0"
uuid = { version = "1.0", features = ["v4", "js", "serde"] }
hex = "0.4"
base64 = "0.22" # Base64 encoding for MCP
parking_lot = "0.12" # Fast RwLock for WASM
rustc-hash = "2.0" # FxHashMap for 30-50% faster hashing
typed-arena = "2.0" # Arena allocation for events (2-3x faster)
string_cache = "0.8" # String interning for node IDs (60-80% memory reduction)
# Error handling for WASM
console_error_panic_hook = { version = "0.1", optional = true }
# Exotic AI capabilities (optional features)
ruvector-exotic-wasm = { path = "../../crates/ruvector-exotic-wasm", optional = true }
ruvector-learning-wasm = { path = "../../crates/ruvector-learning-wasm", optional = true }
ruvector-nervous-system-wasm = { path = "../../crates/ruvector-nervous-system-wasm", optional = true }
ruvector-economy-wasm = { path = "../../crates/ruvector-economy-wasm", optional = true }
[dev-dependencies]
wasm-bindgen-test = "0.3"
[profile.release]
lto = true
opt-level = "s"
codegen-units = 1
[package.metadata.wasm-pack.profile.release]
wasm-opt = false