[dependencies.anyhow]
version = "1.0"
[dependencies.async-recursion]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.21"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive"]
optional = true
version = "4.0"
[dependencies.dashmap]
version = "6.0"
[dependencies.dirs]
version = "5.0"
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.git2]
version = "0.18"
[dependencies.glob]
version = "0.3"
[dependencies.http]
optional = true
version = "1"
[dependencies.lsp-types]
version = "0.95"
[dependencies.paste]
optional = true
version = "1"
[dependencies.pathdiff]
version = "0.2"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.proc-macro2]
version = "1.0"
[dependencies.process-wrap]
features = ["tokio1"]
optional = true
version = "8.2"
[dependencies.quote]
version = "1.0"
[dependencies.regex]
version = "1.0"
[dependencies.reqwest]
default-features = false
features = ["json", "stream", "rustls-tls"]
version = "0.12"
[dependencies.rmcp]
features = ["server", "client", "transport-child-process", "transport-sse"]
optional = true
version = "0.1.5"
[dependencies.schemars]
optional = true
version = "0.8"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.sqlx]
features = ["runtime-tokio-rustls", "sqlite", "chrono", "uuid"]
optional = true
version = "0.7"
[dependencies.sse-stream]
optional = true
version = "0.2"
[dependencies.syn]
features = ["full"]
version = "2.0"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
features = ["full"]
version = "1.0"
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-tungstenite]
optional = true
version = "0.21"
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tower]
optional = true
version = "0.5"
[dependencies.tower-lsp]
version = "0.20"
[dependencies.tower-service]
optional = true
version = "0.3"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
[dependencies.tree-sitter]
version = "0.20"
[dependencies.tree-sitter-c]
version = "0.20"
[dependencies.tree-sitter-cpp]
version = "0.20"
[dependencies.tree-sitter-go]
version = "0.20"
[dependencies.tree-sitter-java]
version = "0.20"
[dependencies.tree-sitter-javascript]
version = "0.20"
[dependencies.tree-sitter-python]
version = "0.20"
[dependencies.tree-sitter-rust]
version = "0.20"
[dependencies.tree-sitter-typescript]
version = "0.20"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1.0"
[dependencies.walkdir]
version = "2.0"
[dev-dependencies.mockall]
version = "0.12"
[dev-dependencies.tempfile]
version = "3.0"
[dev-dependencies.tokio-test]
version = "0.4"
[features]
all-providers = ["openai", "anthropic", "groq", "together", "sambanova", "cohere", "gemini", "azure", "vertex", "openrouter", "xai", "local", "bedrock"]
anthropic = []
azure = []
bedrock = []
cli = ["clap", "tokio/full"]
cohere = []
default = ["openai", "anthropic", "tools", "storage"]
full = ["all-providers", "tools", "storage", "lsp", "mcp", "cli", "full-transport"]
full-transport = ["websocket"]
gemini = []
groq = []
local = []
lsp = []
mcp = ["mcp-client", "mcp-server"]
mcp-client = []
mcp-full-protocol = ["rmcp"]
mcp-macros = []
mcp-server = ["schemars"]
openai = []
openrouter = []
sambanova = []
sqlite = ["sqlx"]
storage = ["sqlx"]
together = []
tools = []
vertex = []
websocket = ["tokio-tungstenite"]
xai = []
[lib]
name = "coderlib"
path = "src/lib.rs"
[package]
authors = ["Yusef Ulum <yusef314159@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["development-tools", "api-bindings", "command-line-utilities"]
description = "A Rust library for AI-powered code assistance and agentic system"
documentation = "https://docs.rs/coderlib"
edition = "2021"
exclude = ["target/", "examples/", "tests/integration/", ".git/", ".gitignore", "*.db", "*.log"]
homepage = "https://github.com/mexyusef/coderlib"
keywords = ["ai", "llm", "code-assistance", "agents", "openai"]
license = "MIT"
name = "coderlib"
readme = "README.md"
repository = "https://github.com/mexyusef/coderlib"
rust-version = "1.70"
version = "0.1.0"
[[test]]
name = "lsp_integration_test"
path = "tests/lsp_integration_test.rs"