[package]
edition = "2024"
rust-version = "1.97.0"
name = "lingshu-tools"
version = "0.10.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tool registry, ToolHandler trait, and 50+ tool implementations"
readme = "README.md"
license = "Apache-2.0"
resolver = "2"
[features]
brave = []
ddgs = []
default = [
"searxng",
"brave",
"ddgs",
"firecrawl",
"tavily",
"exa",
"parallel",
"xai",
]
exa = []
firecrawl = []
google_cse = []
parallel = []
searxng = []
tavily = []
xai = []
[lib]
name = "lingshu_tools"
path = "src/lib.rs"
[[test]]
name = "core_tools_surface_e2e"
path = "tests/core_tools_surface_e2e.rs"
[[test]]
name = "file_staleness_e2e"
path = "tests/file_staleness_e2e.rs"
[[test]]
name = "file_write_tmp_e2e"
path = "tests/file_write_tmp_e2e.rs"
[[test]]
name = "moa_e2e"
path = "tests/moa_e2e.rs"
[[test]]
name = "terminal_backends"
path = "tests/terminal_backends.rs"
[[test]]
name = "web_extract_backend_e2e"
path = "tests/web_extract_backend_e2e.rs"
[[test]]
name = "web_extract_config_e2e"
path = "tests/web_extract_config_e2e.rs"
[[test]]
name = "web_extract_policy_e2e"
path = "tests/web_extract_policy_e2e.rs"
[[test]]
name = "web_extract_registry_e2e"
path = "tests/web_extract_registry_e2e.rs"
[[test]]
name = "web_search_ddgs_e2e"
path = "tests/web_search_ddgs_e2e.rs"
[[test]]
name = "web_search_ddgs_edge_e2e"
path = "tests/web_search_ddgs_edge_e2e.rs"
[[test]]
name = "web_search_ddgs_python_parity_e2e"
path = "tests/web_search_ddgs_python_parity_e2e.rs"
[[test]]
name = "web_search_ddgs_selection_e2e"
path = "tests/web_search_ddgs_selection_e2e.rs"
[[test]]
name = "web_search_e2e"
path = "tests/web_search_e2e.rs"
[[test]]
name = "web_search_e2e_chain"
path = "tests/web_search_e2e_chain.rs"
[[test]]
name = "web_search_e2e_config"
path = "tests/web_search_e2e_config.rs"
[[test]]
name = "web_search_e2e_doctor"
path = "tests/web_search_e2e_doctor.rs"
[[test]]
name = "web_search_e2e_edge"
path = "tests/web_search_e2e_edge.rs"
[[test]]
name = "web_search_e2e_runtime"
path = "tests/web_search_e2e_runtime.rs"
[[test]]
name = "web_search_e2e_setup"
path = "tests/web_search_e2e_setup.rs"
[[test]]
name = "web_search_e2e_setup_web"
path = "tests/web_search_e2e_setup_web.rs"
[[test]]
name = "web_search_e2e_wizard"
path = "tests/web_search_e2e_wizard.rs"
[[test]]
name = "web_setup_e2e_coherence"
path = "tests/web_setup_e2e_coherence.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bollard]
version = "0.18"
features = ["ssl"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.cron]
version = "0.12"
[dependencies.dashmap]
version = "6"
[dependencies.dirs]
version = "5"
[dependencies.edgeparse-core]
version = "0.2.3"
[dependencies.edgequake-llm]
version = "0.6.25"
features = ["bedrock"]
[dependencies.flate2]
version = "1"
[dependencies.futures]
version = "0.3"
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
]
default-features = false
[dependencies.inventory]
version = "0.3"
[dependencies.libc]
version = "0.2"
[dependencies.lingshu-cron]
version = "0.10.0"
[dependencies.lingshu-security]
version = "0.10.0"
[dependencies.lingshu-state]
version = "0.10.0"
[dependencies.lingshu-types]
version = "0.10.0"
[dependencies.portable-pty]
version = "0.9"
[dependencies.rand]
version = "0.9"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"stream",
"multipart",
"socks",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yml]
version = "0.9.42"
package = "serde_norway"
[dependencies.sha2]
version = "0.10"
[dependencies.shell-words]
version = "1"
[dependencies.shellexpand]
version = "3"
[dependencies.strip-ansi-escapes]
version = "0.2"
[dependencies.strsim]
version = "0.11"
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-tungstenite]
version = "0.24"
features = ["rustls-tls-webpki-roots"]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tracing]
version = "0.1"
[dependencies.unicode-normalization]
version = "0.1"
[dependencies.url]
version = "2"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.which]
version = "7"
[dependencies.wreq]
version = "5"
features = [
"json",
"gzip",
"brotli",
"deflate",
"socks",
"cookies",
]
default-features = false
[dependencies.zip]
version = "2"
features = ["deflate"]
default-features = false
[dev-dependencies.lingshu-types]
version = "0.10.0"
[dev-dependencies.mockall]
version = "0.13"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.uuid]
version = "1"
features = ["v4"]
[target."cfg(unix)".dependencies.openssh]
version = "0.11"
features = ["native-mux"]