[package] name = "ragfs" version = "0.1.0" edition = "2021" rust-version = "1.91.1" authors = ["OpenViking Contributors"] description = "Rust implementation of AGFS - Aggregated File System for AI Agents" license = "Apache-2.0" repository = "https://github.com/OpenViking/openviking" keywords = ["filesystem", "agents", "rest-api", "plugin-system"] categories = ["filesystem", "network-programming"] [lib] name = "ragfs" path = "src/lib.rs" [[bin]] name = "ragfs-shell" path = "src/shell/main.rs" [[test]] name = "cache_wrapper" path = "tests/cache_wrapper.rs" required-features = ["cache"] [dependencies] # Async runtime tokio = { version = "1.38", features = ["full"] } async-trait = "0.1" # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Logging tracing = "0.1" # Git (gitoxide) gix-hash = "0.14" gix-object = "0.42" gix-features = { version = "0.38", features = ["zlib"] } gix-actor = "0.31" gix-date = "0.8" # Git backend dependencies dashmap = "5.0" flate2 = "1.0" # Path handling and filesystem path-clean = "1.0" filelocks = "0.1.0" # Data structures radix_trie = "0.2" # Error handling anyhow = "1.0" thiserror = "1.0" # UUIDs uuid = { version = "1.0", features = ["v4", "serde"] } # Time chrono = { version = "0.4", features = ["serde"] } # Bytes handling bytes = "1.5" # Database rusqlite = { version = "0.32", features = ["bundled"] } redis = { version = "1.5.0", features = ["cluster", "r2d2", "sentinel", "tls-rustls-insecure", "tokio-rustls-comp"] } r2d2 = "0.8" sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "mysql"], optional = true } # AWS S3 aws-config = { version = "1", features = ["behavior-version-latest"], optional = true } aws-sdk-s3 = { version = "1", optional = true } aws-types = { version = "1", optional = true } # Cache lru = "0.12" # Regular expressions for grep regex = "1.10" mime_guess = "2.0" globset = "0.4" # Encryption (envelope encryption: AES-256-GCM + HKDF-SHA256) aes-gcm = "0.10" hkdf = "0.12" sha2 = "0.10" sha1 = "0.10" rand = "0.8" # Stream combinators for concurrent I/O futures = "0.3" # Grep acceleration (localfs fallback, rg-like behavior) ignore = "0.4.25" grep = "0.4.1" grep-matcher = "0.1.8" grep-regex = "0.1.14" grep-searcher = "0.1.16" [target.'cfg(windows)'.dependencies] windows-sys = { version = "0.61", features = ["Win32_Foundation", "Win32_Storage_FileSystem"] } # Development dependencies [dev-dependencies] tempfile = "3.12" criterion = "0.5" tokio = { version = "1.38", features = ["full"] } toml = "0.8" # Used by the S3/TOS git integration tests (crates/ragfs/tests/git_s3_integration.rs) gix-hash = "0.14" gix-object = "0.42" bytes = "1.5" serde_json = "1.0" uuid = { version = "1.0", features = ["v4"] } [features] default = [] cache = [] s3 = ["aws-sdk-s3", "aws-config", "aws-types"] full = ["s3", "cache"]