[INFO] cloning repository https://github.com/Ezpcy/ollama-agent
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Ezpcy/ollama-agent" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEzpcy%2Follama-agent", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEzpcy%2Follama-agent'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 06c6dd5ef867b9c69134384a16fed2774b2343d0
[INFO] checking Ezpcy/ollama-agent against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEzpcy%2Follama-agent" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Ezpcy/ollama-agent
[INFO] finished tweaking git repo https://github.com/Ezpcy/ollama-agent
[INFO] tweaked toml for git repo https://github.com/Ezpcy/ollama-agent written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Ezpcy/ollama-agent on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Ezpcy/ollama-agent already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded testing_table v0.3.0
[INFO] [stderr]   Downloaded papergrid v0.17.0
[INFO] [stderr]   Downloaded dns-lookup v2.0.4
[INFO] [stderr]   Downloaded tabled_derive v0.11.0
[INFO] [stderr]   Downloaded minimad v0.12.0
[INFO] [stderr]   Downloaded tabled v0.20.0
[INFO] [stderr]   Downloaded coolor v0.5.0
[INFO] [stderr]   Downloaded crossterm v0.23.2
[INFO] [stderr]   Downloaded termimad v0.23.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 351dd1e15eeaf5f5ba82aa9104dc4b63587af8fba8b37a5f1da8e56fa5d33e09
[INFO] running `Command { std: "docker" "start" "-a" "351dd1e15eeaf5f5ba82aa9104dc4b63587af8fba8b37a5f1da8e56fa5d33e09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "351dd1e15eeaf5f5ba82aa9104dc4b63587af8fba8b37a5f1da8e56fa5d33e09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "351dd1e15eeaf5f5ba82aa9104dc4b63587af8fba8b37a5f1da8e56fa5d33e09", kill_on_drop: false }`
[INFO] [stdout] 351dd1e15eeaf5f5ba82aa9104dc4b63587af8fba8b37a5f1da8e56fa5d33e09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1e1aa1231b8c393d731bfc65ea2e719f3ac83f76142564f2f2e23f68f3c5238c
[INFO] running `Command { std: "docker" "start" "-a" "1e1aa1231b8c393d731bfc65ea2e719f3ac83f76142564f2f2e23f68f3c5238c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking dtoa v1.0.10
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking dtoa-short v0.3.5
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking servo_arc v0.3.0
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]     Checking clap_builder v4.5.41
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking papergrid v0.17.0
[INFO] [stderr]     Checking crossterm v0.23.2
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling tabled_derive v0.11.0
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking testing_table v0.3.0
[INFO] [stderr]     Checking console v0.16.0
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking getopts v0.2.23
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]     Checking csv-core v0.1.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking coolor v0.5.0
[INFO] [stderr]     Checking minimad v0.12.0
[INFO] [stderr]     Checking ego-tree v0.6.3
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking unit-prefix v0.5.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]     Checking indicatif v0.18.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking hostname v0.3.1
[INFO] [stderr]     Checking termimad v0.23.2
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking uuid v1.17.0
[INFO] [stderr]     Checking dns-lookup v2.0.4
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking tabled v0.20.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking clap v4.5.41
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking cssparser v0.31.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking h2 v0.4.11
[INFO] [stderr]     Checking scraper v0.17.1
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.15
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.22
[INFO] [stderr]     Checking ollama-cli-assistant v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: value assigned to `source_authority` is never read
[INFO] [stdout]     --> src/tools/web_search.rs:1123:41
[INFO] [stdout]      |
[INFO] [stdout] 1123 |         let mut source_authority: f64 = 0.5;
[INFO] [stdout]      |                                         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `source_authority` is never read
[INFO] [stdout]     --> src/tools/web_search.rs:1123:41
[INFO] [stdout]      |
[INFO] [stdout] 1123 |         let mut source_authority: f64 = 0.5;
[INFO] [stdout]      |                                         ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_chat_session` is never used
[INFO] [stdout]    --> src/main.rs:559:10
[INFO] [stdout]     |
[INFO] [stdout] 559 | async fn start_chat_session(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_single_command` is never used
[INFO] [stdout]     --> src/main.rs:1016:10
[INFO] [stdout]      |
[INFO] [stdout] 1016 | async fn execute_single_command(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `digest` is never read
[INFO] [stdout]   --> src/client.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Model {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub digest: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Model` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format` is never read
[INFO] [stdout]   --> src/client.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ModelDetails {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 29 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `modified_at` and `details` are never read
[INFO] [stdout]   --> src/client.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct SelectedModel {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub modified_at: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 39 |     pub details: Option<ModelDetails>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectedModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_info` is never used
[INFO] [stdout]   --> src/client.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl SelectedModel {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 54 |     pub fn display_info(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaRequest` is never constructed
[INFO] [stdout]   --> src/client.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct OllamaRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaOptions` is never constructed
[INFO] [stdout]   --> src/client.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct OllamaOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disable_vim_mode`, `is_vim_enabled`, `get_history`, `clear_history`, `load_history`, and `save_history` are never used
[INFO] [stdout]    --> src/input/vim_handler.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl VimInputHandler {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn disable_vim_mode(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn is_vim_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 619 |     pub fn get_history(&self) -> &VecDeque<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     pub fn clear_history(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |     pub fn load_history(&mut self, history: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 634 |     pub fn save_history(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `export_conversation`, `get_conversation_history`, `clear_history`, `update_model_config`, `get_workspace_context`, and `get_workspace_files` are never used
[INFO] [stdout]    --> src/session.rs:794:18
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl AssistantSession {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 794 |     pub async fn export_conversation(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 804 |     pub fn get_conversation_history(&self) -> &[ConversationEntry] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 809 |     pub fn clear_history(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 815 |     pub async fn update_model_config(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 844 |     pub fn get_workspace_context(&self) -> Option<&WorkspaceContext> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 849 |     pub fn get_workspace_files(&self) -> &HashMap<PathBuf, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolCall` is never constructed
[INFO] [stdout]  --> src/tools/core.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ToolCall {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_uses`, `allowed_domains`, `blocked_domains`, and `user_location` are never read
[INFO] [stdout]   --> src/tools/core.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     WebSearch {
[INFO] [stdout]    |     --------- fields in this variant
[INFO] [stdout] 31 |         query: String,
[INFO] [stdout] 32 |         max_uses: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 33 |         allowed_domains: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |         blocked_domains: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |         user_location: Option<UserLocation>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AvailableTool` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tools/core.rs:37:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum AvailableTool {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  37 |     WebScrape {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     FileEdit {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     GenerateCommand {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     GitPush {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     GitPull {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     GitBranch {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     GitLog {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     GitDiff {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     RestApiCall {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     GraphQLQuery {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     SqlQuery {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     SqliteQuery {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     NetworkInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 175 |     SystemPackageManager {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     ServiceManager {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     EnvironmentInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     NetworkScan {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     SetConfig {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     GetConfig {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     ParallelExecution {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     SmartSuggestion {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     PerformanceMonitor {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     CodeAnalysis {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     SecurityScan {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AvailableTool` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Replace`, `Insert`, `Append`, and `Delete` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub enum EditOperation {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 292 |     Replace {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     Insert {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     Append {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     Delete {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EditOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Create`, `Switch`, `Delete`, and `Merge` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub enum GitBranchOperation {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 311 |     List,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 312 |     Create { name: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 313 |     Switch { name: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 314 |     Delete { name: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 315 |     Merge { from: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitBranchOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HEAD` and `OPTIONS` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub enum HttpMethod {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 325 |     HEAD,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 326 |     OPTIONS,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HttpMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Get`, `Create`, `Update`, and `Delete` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub enum RestOperation {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 331 |     Get,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 332 |     Create { data: serde_json::Value },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 333 |     Update { id: String, data: serde_json::Value },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 334 |     Delete { id: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RestOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bearer`, `Basic`, and `ApiKey` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub enum ApiAuth {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 339 |     Bearer { token: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 340 |     Basic { username: String, password: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 341 |     ApiKey { key: String, header: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ApiAuth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SQLite` and `MongoDB` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub enum DatabaseType {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 348 |     SQLite,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 349 |     MongoDB,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DatabaseType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Update` and `Clean` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:361:5
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub enum CargoOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 361 |     Update,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 362 |     Clean,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CargoOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Count`, `Replace`, `Split`, and `Join` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:397:5
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub enum TextOperation {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 397 |     Count { pattern: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 398 |     Replace { old: String, new: String },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 399 |     Split { delimiter: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 400 |     Join { delimiter: String },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TextOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Markdown`, `Text`, and `Html` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum ExportFormat {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 416 |     Json,
[INFO] [stdout] 417 |     Markdown,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 418 |     Text,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 419 |     Html,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExportFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tools/core.rs:424:5
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub enum PackageManagerOperation {
[INFO] [stdout]     |          ----------------------- variants in this enum
[INFO] [stdout] 424 |     Install,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 425 |     Remove,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 426 |     Update,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 427 |     Search,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 428 |     List,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 429 |     Info,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 430 |     CheckInstalled,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PackageManagerOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tools/core.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub enum ServiceOperation {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 435 |     Start,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 436 |     Stop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 437 |     Restart,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 438 |     Status,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 439 |     Enable,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 440 |     Disable,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 441 |     List,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ServiceOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Port`, `Ping`, `Discovery`, and `Traceroute` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub enum NetworkScanType {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 446 |     Port,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 447 |     Ping,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 448 |     Discovery,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 449 |     Traceroute,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkScanType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Start`, `Stop`, `Status`, and `Report` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub enum MonitorOperation {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 454 |     Start,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 455 |     Stop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 456 |     Status,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 457 |     Report,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MonitorOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Complexity`, `Dependencies`, `Security`, `Performance`, `Documentation`, and `TestCoverage` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub enum CodeAnalysisType {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 462 |     Complexity,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 463 |     Dependencies,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 464 |     Security,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 465 |     Performance,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 466 |     Documentation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 467 |     TestCoverage,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CodeAnalysisType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quick`, `Standard`, `Deep`, and `Compliance` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:472:5
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub enum SecurityScanDepth {
[INFO] [stdout]     |          ----------------- variants in this enum
[INFO] [stdout] 472 |     Quick,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 473 |     Standard,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 474 |     Deep,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 475 |     Compliance,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SecurityScanDepth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `git_default_remote`, `database_connections`, and `api_keys` are never read
[INFO] [stdout]    --> src/tools/core.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub struct ToolConfig {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 552 |     pub git_default_remote: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 553 |     pub database_connections: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 554 |     pub api_keys: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ToolConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_config` is never used
[INFO] [stdout]    --> src/tools/core.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl ToolExecutor {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn with_config(config: ToolConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `enhanced_file_search`, `execute_tool_chain`, `execute_chain_step`, `enhanced_web_search`, and `web_performance_test` are never used
[INFO] [stdout]     --> src/tools/executor.rs:193:18
[INFO] [stdout]      |
[INFO] [stdout]   14 | impl ToolExecutor {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  193 |     pub async fn enhanced_file_search(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  217 |     pub async fn execute_tool_chain(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  271 |     async fn execute_chain_step(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1128 |     pub async fn enhanced_web_search(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1190 |     pub async fn web_performance_test(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `simple_fallback_parse`, `parse_request`, and `suggest_clarification` are never used
[INFO] [stdout]    --> src/tools/parser.rs:950:8
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl NaturalLanguageParser {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 950 |     fn simple_fallback_parse(&self, _input: &str) -> Vec<AvailableTool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 956 |     pub fn parse_request(&self, input: &str) -> Vec<AvailableTool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn suggest_clarification(&self, input: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parallel_execution` is never used
[INFO] [stdout]   --> src/tools/advanced.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ToolExecutor {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 10 |     pub async fn parallel_execution(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_memory_mb`, `max_cpu_usage`, `max_network_requests_per_minute`, `max_file_size_mb`, and `max_search_results` are never read
[INFO] [stdout]   --> src/tools/async_executor.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ResourceLimits {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 21 |     pub max_concurrent_tools: usize,
[INFO] [stdout] 22 |     pub max_memory_mb: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub max_cpu_usage: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub max_network_requests_per_minute: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub max_file_size_mb: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub max_search_results: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResourceLimits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `result`, `timestamp`, and `ttl` are never read
[INFO] [stdout]   --> src/tools/async_executor.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct CachedResult {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 44 |     result: ToolResult,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     timestamp: std::time::Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 46 |     ttl: Duration,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_expired` is never used
[INFO] [stdout]   --> src/tools/async_executor.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl CachedResult {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 50 |     fn is_expired(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/async_executor.rs:72:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl AsyncToolExecutor {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub async fn execute_tool_with_retry(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub async fn clear_cache(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn cleanup_expired_cache(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn execute_tool_internal(&self, tool: &AvailableTool) -> Result<ToolResult, super::errors::ToolError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     async fn get_cached_result(&self, key: &str) -> Option<ToolResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     async fn cache_result(&self, key: &str, result: ToolResult, ttl: Duration) {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn get_tool_name(&self, tool: &AvailableTool) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_tools_for_feature` and `get_missing_tools_for_feature` are never used
[INFO] [stdout]    --> src/tools/discovery.rs:351:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl ToolDiscovery {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn get_tools_for_feature(&self, feature: &str) -> Vec<&ToolInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn get_missing_tools_for_feature(&self, feature: &str, results: &ToolDiscoveryResult) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorContext` is never constructed
[INFO] [stdout]  --> src/tools/enhanced_errors.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ErrorContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_file`, `with_line`, `with_user_input`, `with_suggestion`, and `with_previous_error` are never used
[INFO] [stdout]   --> src/tools/enhanced_errors.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ErrorContext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(operation: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn with_file(mut self, path: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn with_line(mut self, line: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn with_user_input(mut self, input: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn with_suggestion(mut self, suggestion: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_previous_error(mut self, error: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorSeverity` is never used
[INFO] [stdout]   --> src/tools/enhanced_errors.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum ErrorSeverity {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnhancedError` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_errors.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct EnhancedError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl EnhancedError {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 103 |     pub fn new(severity: ErrorSeverity, title: &str, description: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn with_suggestion(mut self, suggestion: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn with_help_link(mut self, link: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_related_error(mut self, error_id: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn set_non_recoverable(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn increment_retry(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn display_detailed(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn display_compact(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn to_user_friendly_message(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorManager` is never constructed
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub struct ErrorManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl ErrorManager {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 247 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn add_error(&mut self, error: EnhancedError) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn get_error(&self, id: &str) -> Option<&EnhancedError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_errors_by_severity(&self, severity: ErrorSeverity) -> Vec<&EnhancedError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn get_recent_errors(&self, count: usize) -> Vec<&EnhancedError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn clear_errors(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn get_error_statistics(&self) -> HashMap<String, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn display_error_summary(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `file_not_found`, `permission_denied`, `network_error`, `model_error`, `tool_execution_failed`, and `parsing_error` are never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl EnhancedError {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 322 |     pub fn file_not_found(path: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn permission_denied(operation: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn network_error(url: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn model_error(model: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn tool_execution_failed(tool_name: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn parsing_error(input: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_error` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:401:8
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn add_error(error: EnhancedError) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_error` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn get_error(id: &str) -> Option<EnhancedError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_error_summary` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:409:8
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub fn display_error_summary() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_errors` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn clear_errors() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToolError` is never used
[INFO] [stdout]  --> src/tools/errors.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum ToolError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/errors.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl ToolError {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn file_system(source: std::io::Error, path: Option<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn network(url: String, source: reqwest::Error) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn model(model: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn git(operation: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn docker(operation: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn database(operation: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn permission(operation: String, required_permission: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn tool_not_found(tool_name: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn timeout(tool_name: String, timeout_ms: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn chain_execution(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn search(query: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn external_command(command: String, exit_code: Option<i32>, stderr: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn validation(field: String, expected: String, actual: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn is_recoverable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn retry_delay(&self) -> Option<std::time::Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn to_user_message(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryConfig` is never constructed
[INFO] [stdout]    --> src/tools/errors.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct RetryConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryExecutor` is never constructed
[INFO] [stdout]    --> src/tools/errors.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub struct RetryExecutor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `execute` are never used
[INFO] [stdout]    --> src/tools/errors.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 289 | impl RetryExecutor {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 290 |     pub fn new(config: RetryConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub async fn execute<F, R, E>(&self, operation: F) -> Result<R, E>
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ToolResult` is never used
[INFO] [stdout]    --> src/tools/errors.rs:350:10
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub type ToolResult<T> = Result<T, ToolError>;
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_entry` is never used
[INFO] [stdout]   --> src/tools/history.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ConversationHistory {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn add_entry(&mut self, entry: HistoryEntry) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_entry` is never used
[INFO] [stdout]    --> src/tools/history.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl HistoryManager {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn add_entry(&mut self, entry: HistoryEntry) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Trace`, `Debug`, `Warn`, and `Error` are never constructed
[INFO] [stdout]   --> src/tools/logging.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum LogLevel {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  9 |     Trace,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     Debug,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     Info,
[INFO] [stdout] 12 |     Warn,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string` and `color` are never used
[INFO] [stdout]   --> src/tools/logging.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl LogLevel {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 17 |     fn to_string(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn color(&self) -> colored::Color {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timestamp`, `level`, `target`, `message`, and `metadata` are never read
[INFO] [stdout]   --> src/tools/logging.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LogEntry {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 40 |     pub timestamp: Instant,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 41 |     pub level: LogLevel,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 42 |     pub target: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 43 |     pub message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     pub metadata: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/logging.rs:62:18
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Logger {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub async fn log(&self, level: LogLevel, target: &str, message: &str, metadata: HashMap<String, String>) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub async fn trace(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub async fn debug(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub async fn info(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub async fn warn(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn error(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn log_with_metadata(&self, level: LogLevel, target: &str, message: &str, metadata: HashMap<String, String>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub async fn get_entries(&self) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn get_entries_by_level(&self, level: LogLevel) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub async fn get_entries_by_target(&self, target: &str) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn get_recent_entries(&self, duration: Duration) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub async fn export_to_file(&self, path: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn should_log(&self, level: &LogLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn print_entry(&self, entry: &LogEntry) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_execution`, `record_success`, `record_error`, `get_average_execution_time`, `get_success_rate`, and `get_stats_summary` are never used
[INFO] [stdout]    --> src/tools/logging.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl PerformanceMetrics {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub async fn record_execution(&self, tool_name: &str, duration: Duration) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub async fn record_success(&self, tool_name: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub async fn record_error(&self, tool_name: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub async fn get_average_execution_time(&self, tool_name: &str) -> Option<Duration> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub async fn get_success_rate(&self, tool_name: &str) -> Option<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub async fn get_stats_summary(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_performance_summary` is never used
[INFO] [stdout]    --> src/tools/logging.rs:402:14
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub async fn show_performance_summary() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileMetadata` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct FileMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SearchResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Match` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Match {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchQuery` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct SearchQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchIndex` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct SearchIndex {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/search.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl SearchIndex {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  82 |     pub fn new(root_path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub async fn build_index(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub async fn search(&self, query: &SearchQuery) -> Result<Vec<SearchResult>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn find_file_by_name(&self, name: &str) -> Result<Vec<PathBuf>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn should_ignore(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn matches_include_patterns(&self, path: &Path, patterns: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     fn matches_exclude_patterns(&self, path: &Path, patterns: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn get_file_type(&self, path: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn is_text_file(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn fuzzy_search(&self, index: &HashMap<PathBuf, FileMetadata>, query: &SearchQuery, results: &mut Vec<SearchResult>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn regex_search(&self, index: &HashMap<PathBuf, FileMetadata>, query: &SearchQuery, regex: &Regex, results: &mut Vec<SearchResult>) -...
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn fuzzy_match(&self, pattern: &str, text: &str) -> Option<(f64, Vec<usize>)> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolChain` is never constructed
[INFO] [stdout]    --> src/tools/search.rs:455:12
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub struct ToolChain {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChainStep` is never constructed
[INFO] [stdout]    --> src/tools/search.rs:461:12
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub struct ChainStep {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorStrategy` is never used
[INFO] [stdout]    --> src/tools/search.rs:469:10
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub enum ErrorStrategy {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_step`, `with_error_strategy`, and `create_file_chain_search` are never used
[INFO] [stdout]    --> src/tools/search.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 475 | impl ToolChain {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 476 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn add_step(&mut self, step: ChainStep) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub fn with_error_strategy(mut self, strategy: ErrorStrategy) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn create_file_chain_search(file_a_pattern: &str, path_extraction_pattern: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enhanced_file_search` is never used
[INFO] [stdout]    --> src/tools/search.rs:533:14
[INFO] [stdout]     |
[INFO] [stdout] 533 | pub async fn enhanced_file_search(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_searches`, `successful_searches`, `failed_searches`, `cache_hits`, `total_results_found`, and `average_response_time_ms` are never read
[INFO] [stdout]   --> src/tools/web_search.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct SearchMetrics {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub total_searches: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub successful_searches: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub failed_searches: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub cache_hits: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 25 |     pub total_results_found: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub average_response_time_ms: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchAnalytics` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct SearchAnalytics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheStats` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct CacheStats {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `cache`, and `metrics` are never read
[INFO] [stdout]   --> src/tools/web_search.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct WebSearchEngine {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 51 |     client: Arc<Client>,
[INFO] [stdout] 52 |     config: WebSearchConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     cache: Arc<tokio::sync::RwLock<HashMap<String, (WebSearchResult, SystemTime)>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     metrics: Arc<SearchMetrics>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryIntent` is never used
[INFO] [stdout]   --> src/tools/web_search.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum QueryIntent {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchEngine` is never used
[INFO] [stdout]   --> src/tools/web_search.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum SearchEngine {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QualityMetrics` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct QualityMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchStrategy` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct SearchStrategy {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/tools/web_search.rs:125:18
[INFO] [stdout]      |
[INFO] [stdout]  107 | impl WebSearchEngine {
[INFO] [stdout]      | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  125 |     pub async fn search(
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  156 |     async fn execute_progressive_search(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  275 |     fn detect_query_intent(&self, query: &str) -> QueryIntent {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  336 |     fn create_search_strategy(&self, intent: &QueryIntent, max_uses: Option<usize>) -> SearchStrategy {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  386 |     fn engine_name(&self, engine: &SearchEngine) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  401 |     async fn search_engine(
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  453 |     async fn search_duckduckgo(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  493 |     async fn search_bing(
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  516 |     async fn search_wikipedia(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  532 |     async fn search_stackoverflow(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  548 |     async fn search_github(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  564 |     async fn search_reddit(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  580 |     async fn search_arxiv(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  596 |     async fn search_mdn(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  612 |     async fn search_rust_docs(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  628 |     fn parse_duckduckgo_results(&self, html: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  696 |     fn parse_bing_results(&self, html: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  734 |     fn parse_wikipedia_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  770 |     fn parse_stackoverflow_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  799 |     fn parse_github_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  828 |     fn parse_reddit_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  866 |     fn parse_arxiv_results(&self, xml: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  901 |     fn parse_mdn_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  929 |     fn parse_rust_docs_results(&self, html: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  956 |     fn filter_results(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  985 |     async fn extract_content_for_results(&self, results: &mut [SearchResultItem]) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1048 |     fn score_results(&self, results: &mut [SearchResultItem], query: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1085 |     fn score_results_advanced(&self, results: &mut [SearchResultItem], query: &str, intent: &QueryIntent) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     fn assess_individual_quality(&self, result: &SearchResultItem, intent: &QueryIntent) -> QualityMetrics {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1178 |     fn get_intent_domain_boost(&self, domain: &str, intent: &QueryIntent) -> f64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1206 |     fn assess_result_quality(&self, results: &[SearchResultItem], intent: &QueryIntent) -> f64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1222 |     fn generate_refined_queries(&self, original_query: &str, results: &[SearchResultItem], intent: &QueryIntent) -> Vec<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1273 |     fn apply_result_diversity(&self, mut results: Vec<SearchResultItem>) -> Vec<SearchResultItem> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1290 |     fn create_enhanced_citations(&self, results: &[SearchResultItem]) -> Vec<Citation> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1305 |     fn create_citations(&self, results: &[SearchResultItem]) -> Vec<Citation> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1319 |     async fn get_cached_result(&self, query: &str) -> Option<WebSearchResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1330 |     async fn cache_result(&self, query: &str, result: &WebSearchResult) {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1348 |     pub async fn enhanced_search(&self, query: &str, _include_specialized: bool) -> Result<WebSearchResult> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     pub fn get_analytics(&self) -> SearchAnalytics {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1382 |     pub fn print_analytics_report(&self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1397 |     pub fn reset_analytics(&self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub async fn clear_cache(&self) {
[INFO] [stdout]      |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1415 |     pub async fn get_cache_stats(&self) -> CacheStats {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1434 |     pub async fn cleanup_expired_cache(&self) {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_search_results` is never used
[INFO] [stdout]     --> src/tools/web_search.rs:1451:8
[INFO] [stdout]      |
[INFO] [stdout] 1451 | pub fn format_search_results(result: &WebSearchResult) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebPerformanceMetrics` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct WebPerformanceMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebScrapingConfig` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct WebScrapingConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnhancedWebContent` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct EnhancedWebContent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtractedLink` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ExtractedLink {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtractedImage` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ExtractedImage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LinkType` is never used
[INFO] [stdout]    --> src/tools/enhanced_web.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum LinkType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/enhanced_web.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl ToolExecutor {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 111 |     /// Enhanced web scraping with comprehensive content extraction
[INFO] [stdout] 112 |     pub async fn enhanced_web_scrape(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn build_enhanced_client(&self, config: &WebScrapingConfig) -> Result<Client> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     async fn make_timed_request(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     async fn check_robots_txt(&self, url: &Url) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     async fn extract_enhanced_content(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn extract_main_content(&self, document: &Html) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn clean_content(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     fn extract_metadata(&self, document: &Html, metadata: &mut HashMap<String, String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     async fn extract_links(&self, document: &Html, base_url: &str) -> Vec<ExtractedLink> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 450 |     async fn extract_images(&self, document: &Html, base_url: &str) -> Vec<ExtractedImage> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 484 |     fn classify_link(&self, url: &str, text: &str) -> LinkType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |     fn is_external_link(&self, url: &str, base_url: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn extract_domain_from_url(&self, url: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     fn detect_language(&self, document: &Html) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     fn format_enhanced_content(&self, content: &EnhancedWebContent) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub async fn batch_web_scrape(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 659 |     fn create_batch_summary(&self, results: &[EnhancedWebContent]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_priority` is never used
[INFO] [stdout]    --> src/tools/enhanced_websearch.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub trait SearchEngine: Send + Sync {
[INFO] [stdout]     |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn get_priority(&self) -> u8; // 1-10, higher is better
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTestConfig` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ApiTestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTestResult` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ApiTestResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiPerformanceMetrics` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ApiPerformanceMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationResult` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ValidationResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValidationType` is never used
[INFO] [stdout]   --> src/tools/web_api_testing.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub enum ValidationType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTestSuite` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct ApiTestSuite {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTest` is never constructed
[INFO] [stdout]    --> src/tools/web_api_testing.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct ApiTest {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiValidation` is never constructed
[INFO] [stdout]    --> src/tools/web_api_testing.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ApiValidation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/web_api_testing.rs:132:18
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl ToolExecutor {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 131 |     /// Perform comprehensive API testing
[INFO] [stdout] 132 |     pub async fn api_test_comprehensive(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn execute_api_test(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     async fn try_api_request(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     fn build_api_test_client(&self, config: &ApiTestConfig) -> Result<Client> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn perform_validations(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn validate_status_code(&self, actual: u16, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     fn validate_response_time(&self, actual_ms: u64, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn validate_header_present(&self, headers: &HashMap<String, String>, header_name: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     fn validate_header_value(&self, headers: &HashMap<String, String>, header_name: &str, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     fn validate_json_schema(&self, body: &str, _schema: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     fn validate_json_path(&self, body: &str, path: &str, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     fn simple_json_path_eval(&self, json: &serde_json::Value, path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn validate_content_type(&self, headers: &HashMap<String, String>, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn validate_response_size(&self, actual_size: usize, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn validate_custom(&self, _body: &str, _script: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     fn format_api_test_result(&self, result: &ApiTestResult) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     pub async fn api_load_test(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 705 |     fn create_load_test_summary(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_chat_session` is never used
[INFO] [stdout]    --> src/main.rs:559:10
[INFO] [stdout]     |
[INFO] [stdout] 559 | async fn start_chat_session(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_single_command` is never used
[INFO] [stdout]     --> src/main.rs:1016:10
[INFO] [stdout]      |
[INFO] [stdout] 1016 | async fn execute_single_command(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `digest` is never read
[INFO] [stdout]   --> src/client.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Model {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub digest: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Model` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format` is never read
[INFO] [stdout]   --> src/client.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ModelDetails {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 29 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModelDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `modified_at` and `details` are never read
[INFO] [stdout]   --> src/client.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct SelectedModel {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub modified_at: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 39 |     pub details: Option<ModelDetails>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectedModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display_info` is never used
[INFO] [stdout]   --> src/client.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl SelectedModel {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 54 |     pub fn display_info(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaRequest` is never constructed
[INFO] [stdout]   --> src/client.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct OllamaRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaOptions` is never constructed
[INFO] [stdout]   --> src/client.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct OllamaOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `disable_vim_mode`, `is_vim_enabled`, `get_history`, `clear_history`, `load_history`, and `save_history` are never used
[INFO] [stdout]    --> src/input/vim_handler.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl VimInputHandler {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn disable_vim_mode(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn is_vim_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 619 |     pub fn get_history(&self) -> &VecDeque<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     pub fn clear_history(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |     pub fn load_history(&mut self, history: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 634 |     pub fn save_history(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `export_conversation`, `get_conversation_history`, `clear_history`, `update_model_config`, `get_workspace_context`, and `get_workspace_files` are never used
[INFO] [stdout]    --> src/session.rs:794:18
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl AssistantSession {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 794 |     pub async fn export_conversation(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 804 |     pub fn get_conversation_history(&self) -> &[ConversationEntry] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 809 |     pub fn clear_history(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 815 |     pub async fn update_model_config(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 844 |     pub fn get_workspace_context(&self) -> Option<&WorkspaceContext> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 849 |     pub fn get_workspace_files(&self) -> &HashMap<PathBuf, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolCall` is never constructed
[INFO] [stdout]  --> src/tools/core.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ToolCall {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_uses`, `allowed_domains`, `blocked_domains`, and `user_location` are never read
[INFO] [stdout]   --> src/tools/core.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     WebSearch {
[INFO] [stdout]    |     --------- fields in this variant
[INFO] [stdout] 31 |         query: String,
[INFO] [stdout] 32 |         max_uses: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 33 |         allowed_domains: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |         blocked_domains: Option<Vec<String>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |         user_location: Option<UserLocation>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AvailableTool` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tools/core.rs:37:5
[INFO] [stdout]     |
[INFO] [stdout]  28 | pub enum AvailableTool {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  37 |     WebScrape {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     FileEdit {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     GenerateCommand {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     GitPush {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     GitPull {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     GitBranch {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     GitLog {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     GitDiff {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     RestApiCall {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     GraphQLQuery {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     SqlQuery {
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     SqliteQuery {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     NetworkInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 175 |     SystemPackageManager {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     ServiceManager {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     EnvironmentInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     NetworkScan {
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     SetConfig {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     GetConfig {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     ParallelExecution {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     SmartSuggestion {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     PerformanceMonitor {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     CodeAnalysis {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     SecurityScan {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AvailableTool` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Replace`, `Insert`, `Append`, and `Delete` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub enum EditOperation {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 292 |     Replace {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     Insert {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     Append {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     Delete {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EditOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `List`, `Create`, `Switch`, `Delete`, and `Merge` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub enum GitBranchOperation {
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 311 |     List,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 312 |     Create { name: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 313 |     Switch { name: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 314 |     Delete { name: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 315 |     Merge { from: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GitBranchOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HEAD` and `OPTIONS` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub enum HttpMethod {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 325 |     HEAD,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 326 |     OPTIONS,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HttpMethod` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Get`, `Create`, `Update`, and `Delete` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:331:5
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub enum RestOperation {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] 331 |     Get,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 332 |     Create { data: serde_json::Value },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 333 |     Update { id: String, data: serde_json::Value },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 334 |     Delete { id: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RestOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bearer`, `Basic`, and `ApiKey` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:339:5
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub enum ApiAuth {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] 339 |     Bearer { token: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 340 |     Basic { username: String, password: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 341 |     ApiKey { key: String, header: String },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ApiAuth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SQLite` and `MongoDB` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:348:5
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub enum DatabaseType {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 348 |     SQLite,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 349 |     MongoDB,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DatabaseType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Update` and `Clean` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:361:5
[INFO] [stdout]     |
[INFO] [stdout] 353 | pub enum CargoOperation {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 361 |     Update,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 362 |     Clean,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CargoOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Count`, `Replace`, `Split`, and `Join` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:397:5
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub enum TextOperation {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 397 |     Count { pattern: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 398 |     Replace { old: String, new: String },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 399 |     Split { delimiter: String },
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 400 |     Join { delimiter: String },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TextOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Markdown`, `Text`, and `Html` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum ExportFormat {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 416 |     Json,
[INFO] [stdout] 417 |     Markdown,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 418 |     Text,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 419 |     Html,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExportFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tools/core.rs:424:5
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub enum PackageManagerOperation {
[INFO] [stdout]     |          ----------------------- variants in this enum
[INFO] [stdout] 424 |     Install,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 425 |     Remove,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 426 |     Update,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 427 |     Search,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 428 |     List,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 429 |     Info,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 430 |     CheckInstalled,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PackageManagerOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/tools/core.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub enum ServiceOperation {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 435 |     Start,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 436 |     Stop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 437 |     Restart,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 438 |     Status,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 439 |     Enable,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 440 |     Disable,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 441 |     List,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ServiceOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Port`, `Ping`, `Discovery`, and `Traceroute` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub enum NetworkScanType {
[INFO] [stdout]     |          --------------- variants in this enum
[INFO] [stdout] 446 |     Port,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 447 |     Ping,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 448 |     Discovery,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 449 |     Traceroute,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NetworkScanType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Start`, `Stop`, `Status`, and `Report` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub enum MonitorOperation {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 454 |     Start,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 455 |     Stop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 456 |     Status,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 457 |     Report,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MonitorOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Complexity`, `Dependencies`, `Security`, `Performance`, `Documentation`, and `TestCoverage` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:462:5
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub enum CodeAnalysisType {
[INFO] [stdout]     |          ---------------- variants in this enum
[INFO] [stdout] 462 |     Complexity,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 463 |     Dependencies,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 464 |     Security,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 465 |     Performance,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 466 |     Documentation,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 467 |     TestCoverage,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CodeAnalysisType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Quick`, `Standard`, `Deep`, and `Compliance` are never constructed
[INFO] [stdout]    --> src/tools/core.rs:472:5
[INFO] [stdout]     |
[INFO] [stdout] 471 | pub enum SecurityScanDepth {
[INFO] [stdout]     |          ----------------- variants in this enum
[INFO] [stdout] 472 |     Quick,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 473 |     Standard,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 474 |     Deep,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 475 |     Compliance,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SecurityScanDepth` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `git_default_remote`, `database_connections`, and `api_keys` are never read
[INFO] [stdout]    --> src/tools/core.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub struct ToolConfig {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 552 |     pub git_default_remote: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 553 |     pub database_connections: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 554 |     pub api_keys: HashMap<String, String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ToolConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_config` is never used
[INFO] [stdout]    --> src/tools/core.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl ToolExecutor {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn with_config(config: ToolConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `enhanced_file_search`, `execute_tool_chain`, `execute_chain_step`, `enhanced_web_search`, and `web_performance_test` are never used
[INFO] [stdout]     --> src/tools/executor.rs:193:18
[INFO] [stdout]      |
[INFO] [stdout]   14 | impl ToolExecutor {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  193 |     pub async fn enhanced_file_search(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  217 |     pub async fn execute_tool_chain(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  271 |     async fn execute_chain_step(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1128 |     pub async fn enhanced_web_search(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1190 |     pub async fn web_performance_test(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `simple_fallback_parse`, `parse_request`, and `suggest_clarification` are never used
[INFO] [stdout]    --> src/tools/parser.rs:950:8
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl NaturalLanguageParser {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 950 |     fn simple_fallback_parse(&self, _input: &str) -> Vec<AvailableTool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 956 |     pub fn parse_request(&self, input: &str) -> Vec<AvailableTool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 960 |     pub fn suggest_clarification(&self, input: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parallel_execution` is never used
[INFO] [stdout]   --> src/tools/advanced.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ToolExecutor {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 10 |     pub async fn parallel_execution(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_memory_mb`, `max_cpu_usage`, `max_network_requests_per_minute`, `max_file_size_mb`, and `max_search_results` are never read
[INFO] [stdout]   --> src/tools/async_executor.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ResourceLimits {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 21 |     pub max_concurrent_tools: usize,
[INFO] [stdout] 22 |     pub max_memory_mb: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub max_cpu_usage: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub max_network_requests_per_minute: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub max_file_size_mb: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub max_search_results: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResourceLimits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `result`, `timestamp`, and `ttl` are never read
[INFO] [stdout]   --> src/tools/async_executor.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct CachedResult {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 44 |     result: ToolResult,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 45 |     timestamp: std::time::Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 46 |     ttl: Duration,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_expired` is never used
[INFO] [stdout]   --> src/tools/async_executor.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl CachedResult {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 50 |     fn is_expired(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/async_executor.rs:72:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl AsyncToolExecutor {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub async fn execute_tool_with_retry(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub async fn clear_cache(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn cleanup_expired_cache(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     async fn execute_tool_internal(&self, tool: &AvailableTool) -> Result<ToolResult, super::errors::ToolError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     async fn get_cached_result(&self, key: &str) -> Option<ToolResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     async fn cache_result(&self, key: &str, result: ToolResult, ttl: Duration) {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn get_tool_name(&self, tool: &AvailableTool) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_tools_for_feature` and `get_missing_tools_for_feature` are never used
[INFO] [stdout]    --> src/tools/discovery.rs:351:12
[INFO] [stdout]     |
[INFO] [stdout]  38 | impl ToolDiscovery {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub fn get_tools_for_feature(&self, feature: &str) -> Vec<&ToolInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn get_missing_tools_for_feature(&self, feature: &str, results: &ToolDiscoveryResult) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorContext` is never constructed
[INFO] [stdout]  --> src/tools/enhanced_errors.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ErrorContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_file`, `with_line`, `with_user_input`, `with_suggestion`, and `with_previous_error` are never used
[INFO] [stdout]   --> src/tools/enhanced_errors.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ErrorContext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new(operation: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn with_file(mut self, path: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn with_line(mut self, line: u32) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn with_user_input(mut self, input: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn with_suggestion(mut self, suggestion: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn with_previous_error(mut self, error: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorSeverity` is never used
[INFO] [stdout]   --> src/tools/enhanced_errors.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub enum ErrorSeverity {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnhancedError` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_errors.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct EnhancedError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl EnhancedError {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 103 |     pub fn new(severity: ErrorSeverity, title: &str, description: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn with_suggestion(mut self, suggestion: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn with_help_link(mut self, link: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn with_related_error(mut self, error_id: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn set_non_recoverable(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn increment_retry(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn display_detailed(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn display_compact(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn to_user_friendly_message(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ErrorManager` is never constructed
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub struct ErrorManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:247:12
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl ErrorManager {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 247 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn add_error(&mut self, error: EnhancedError) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn get_error(&self, id: &str) -> Option<&EnhancedError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_errors_by_severity(&self, severity: ErrorSeverity) -> Vec<&EnhancedError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn get_recent_errors(&self, count: usize) -> Vec<&EnhancedError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn clear_errors(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn get_error_statistics(&self) -> HashMap<String, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn display_error_summary(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `file_not_found`, `permission_denied`, `network_error`, `model_error`, `tool_execution_failed`, and `parsing_error` are never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 321 | impl EnhancedError {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 322 |     pub fn file_not_found(path: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub fn permission_denied(operation: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn network_error(url: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn model_error(model: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn tool_execution_failed(tool_name: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 383 |     pub fn parsing_error(input: &str, error: &str, context: ErrorContext) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_error` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:401:8
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub fn add_error(error: EnhancedError) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_error` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn get_error(id: &str) -> Option<EnhancedError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_error_summary` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:409:8
[INFO] [stdout]     |
[INFO] [stdout] 409 | pub fn display_error_summary() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_errors` is never used
[INFO] [stdout]    --> src/tools/enhanced_errors.rs:413:8
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub fn clear_errors() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToolError` is never used
[INFO] [stdout]  --> src/tools/errors.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum ToolError {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/errors.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl ToolError {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn file_system(source: std::io::Error, path: Option<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn network(url: String, source: reqwest::Error) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn model(model: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn git(operation: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn docker(operation: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn database(operation: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn permission(operation: String, required_permission: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn tool_not_found(tool_name: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn timeout(tool_name: String, timeout_ms: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn chain_execution(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn search(query: String, source: Box<dyn std::error::Error + Send + Sync>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn external_command(command: String, exit_code: Option<i32>, stderr: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn validation(field: String, expected: String, actual: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn is_recoverable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn retry_delay(&self) -> Option<std::time::Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn to_user_message(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryConfig` is never constructed
[INFO] [stdout]    --> src/tools/errors.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub struct RetryConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryExecutor` is never constructed
[INFO] [stdout]    --> src/tools/errors.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub struct RetryExecutor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `execute` are never used
[INFO] [stdout]    --> src/tools/errors.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 289 | impl RetryExecutor {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 290 |     pub fn new(config: RetryConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub async fn execute<F, R, E>(&self, operation: F) -> Result<R, E>
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ToolResult` is never used
[INFO] [stdout]    --> src/tools/errors.rs:350:10
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub type ToolResult<T> = Result<T, ToolError>;
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_entry` is never used
[INFO] [stdout]   --> src/tools/history.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ConversationHistory {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn add_entry(&mut self, entry: HistoryEntry) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add_entry` is never used
[INFO] [stdout]    --> src/tools/history.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl HistoryManager {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn add_entry(&mut self, entry: HistoryEntry) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Trace`, `Debug`, `Warn`, and `Error` are never constructed
[INFO] [stdout]   --> src/tools/logging.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum LogLevel {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  9 |     Trace,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     Debug,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     Info,
[INFO] [stdout] 12 |     Warn,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogLevel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_string` and `color` are never used
[INFO] [stdout]   --> src/tools/logging.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl LogLevel {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 17 |     fn to_string(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn color(&self) -> colored::Color {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timestamp`, `level`, `target`, `message`, and `metadata` are never read
[INFO] [stdout]   --> src/tools/logging.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LogEntry {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 40 |     pub timestamp: Instant,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 41 |     pub level: LogLevel,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 42 |     pub target: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 43 |     pub message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 44 |     pub metadata: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/logging.rs:62:18
[INFO] [stdout]     |
[INFO] [stdout]  53 | impl Logger {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub async fn log(&self, level: LogLevel, target: &str, message: &str, metadata: HashMap<String, String>) {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub async fn trace(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub async fn debug(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub async fn info(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub async fn warn(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub async fn error(&self, target: &str, message: &str) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn log_with_metadata(&self, level: LogLevel, target: &str, message: &str, metadata: HashMap<String, String>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub async fn get_entries(&self) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn get_entries_by_level(&self, level: LogLevel) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub async fn get_entries_by_target(&self, target: &str) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn get_recent_entries(&self, duration: Duration) -> Vec<LogEntry> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub async fn export_to_file(&self, path: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn should_log(&self, level: &LogLevel) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn print_entry(&self, entry: &LogEntry) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_execution`, `record_success`, `record_error`, `get_average_execution_time`, `get_success_rate`, and `get_stats_summary` are never used
[INFO] [stdout]    --> src/tools/logging.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 231 | impl PerformanceMetrics {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub async fn record_execution(&self, tool_name: &str, duration: Duration) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub async fn record_success(&self, tool_name: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub async fn record_error(&self, tool_name: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub async fn get_average_execution_time(&self, tool_name: &str) -> Option<Duration> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub async fn get_success_rate(&self, tool_name: &str) -> Option<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub async fn get_stats_summary(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_performance_summary` is never used
[INFO] [stdout]    --> src/tools/logging.rs:402:14
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub async fn show_performance_summary() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileMetadata` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct FileMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct SearchResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Match` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Match {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchQuery` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct SearchQuery {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchIndex` is never constructed
[INFO] [stdout]   --> src/tools/search.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct SearchIndex {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tools/search.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl SearchIndex {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  82 |     pub fn new(root_path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub async fn build_index(&self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub async fn search(&self, query: &SearchQuery) -> Result<Vec<SearchResult>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn find_file_by_name(&self, name: &str) -> Result<Vec<PathBuf>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn should_ignore(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn matches_include_patterns(&self, path: &Path, patterns: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     fn matches_exclude_patterns(&self, path: &Path, patterns: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn get_file_type(&self, path: &Path) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn is_text_file(&self, path: &Path) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn fuzzy_search(&self, index: &HashMap<PathBuf, FileMetadata>, query: &SearchQuery, results: &mut Vec<SearchResult>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn regex_search(&self, index: &HashMap<PathBuf, FileMetadata>, query: &SearchQuery, regex: &Regex, results: &mut Vec<SearchResult>) -...
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     fn fuzzy_match(&self, pattern: &str, text: &str) -> Option<(f64, Vec<usize>)> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolChain` is never constructed
[INFO] [stdout]    --> src/tools/search.rs:455:12
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub struct ToolChain {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChainStep` is never constructed
[INFO] [stdout]    --> src/tools/search.rs:461:12
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub struct ChainStep {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorStrategy` is never used
[INFO] [stdout]    --> src/tools/search.rs:469:10
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub enum ErrorStrategy {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_step`, `with_error_strategy`, and `create_file_chain_search` are never used
[INFO] [stdout]    --> src/tools/search.rs:476:12
[INFO] [stdout]     |
[INFO] [stdout] 475 | impl ToolChain {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 476 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn add_step(&mut self, step: ChainStep) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub fn with_error_strategy(mut self, strategy: ErrorStrategy) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn create_file_chain_search(file_a_pattern: &str, path_extraction_pattern: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `enhanced_file_search` is never used
[INFO] [stdout]    --> src/tools/search.rs:533:14
[INFO] [stdout]     |
[INFO] [stdout] 533 | pub async fn enhanced_file_search(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total_searches`, `successful_searches`, `failed_searches`, `cache_hits`, `total_results_found`, and `average_response_time_ms` are never read
[INFO] [stdout]   --> src/tools/web_search.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct SearchMetrics {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub total_searches: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub successful_searches: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub failed_searches: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub cache_hits: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 25 |     pub total_results_found: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub average_response_time_ms: AtomicUsize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchAnalytics` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct SearchAnalytics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheStats` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct CacheStats {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `cache`, and `metrics` are never read
[INFO] [stdout]   --> src/tools/web_search.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct WebSearchEngine {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 51 |     client: Arc<Client>,
[INFO] [stdout] 52 |     config: WebSearchConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     cache: Arc<tokio::sync::RwLock<HashMap<String, (WebSearchResult, SystemTime)>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 54 |     metrics: Arc<SearchMetrics>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryIntent` is never used
[INFO] [stdout]   --> src/tools/web_search.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum QueryIntent {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchEngine` is never used
[INFO] [stdout]   --> src/tools/web_search.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub enum SearchEngine {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QualityMetrics` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct QualityMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchStrategy` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct SearchStrategy {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/tools/web_search.rs:125:18
[INFO] [stdout]      |
[INFO] [stdout]  107 | impl WebSearchEngine {
[INFO] [stdout]      | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  125 |     pub async fn search(
[INFO] [stdout]      |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  156 |     async fn execute_progressive_search(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  275 |     fn detect_query_intent(&self, query: &str) -> QueryIntent {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  336 |     fn create_search_strategy(&self, intent: &QueryIntent, max_uses: Option<usize>) -> SearchStrategy {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  386 |     fn engine_name(&self, engine: &SearchEngine) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  401 |     async fn search_engine(
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  453 |     async fn search_duckduckgo(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  493 |     async fn search_bing(
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  516 |     async fn search_wikipedia(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  532 |     async fn search_stackoverflow(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  548 |     async fn search_github(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  564 |     async fn search_reddit(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  580 |     async fn search_arxiv(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  596 |     async fn search_mdn(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  612 |     async fn search_rust_docs(&self, query: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  628 |     fn parse_duckduckgo_results(&self, html: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  696 |     fn parse_bing_results(&self, html: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  734 |     fn parse_wikipedia_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  770 |     fn parse_stackoverflow_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  799 |     fn parse_github_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  828 |     fn parse_reddit_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  866 |     fn parse_arxiv_results(&self, xml: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  901 |     fn parse_mdn_results(&self, json: &serde_json::Value) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  929 |     fn parse_rust_docs_results(&self, html: &str) -> Result<Vec<SearchResultItem>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  956 |     fn filter_results(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  985 |     async fn extract_content_for_results(&self, results: &mut [SearchResultItem]) {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1048 |     fn score_results(&self, results: &mut [SearchResultItem], query: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1085 |     fn score_results_advanced(&self, results: &mut [SearchResultItem], query: &str, intent: &QueryIntent) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1121 |     fn assess_individual_quality(&self, result: &SearchResultItem, intent: &QueryIntent) -> QualityMetrics {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1178 |     fn get_intent_domain_boost(&self, domain: &str, intent: &QueryIntent) -> f64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1206 |     fn assess_result_quality(&self, results: &[SearchResultItem], intent: &QueryIntent) -> f64 {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1222 |     fn generate_refined_queries(&self, original_query: &str, results: &[SearchResultItem], intent: &QueryIntent) -> Vec<String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1273 |     fn apply_result_diversity(&self, mut results: Vec<SearchResultItem>) -> Vec<SearchResultItem> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1290 |     fn create_enhanced_citations(&self, results: &[SearchResultItem]) -> Vec<Citation> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1305 |     fn create_citations(&self, results: &[SearchResultItem]) -> Vec<Citation> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1319 |     async fn get_cached_result(&self, query: &str) -> Option<WebSearchResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1330 |     async fn cache_result(&self, query: &str, result: &WebSearchResult) {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1348 |     pub async fn enhanced_search(&self, query: &str, _include_specialized: bool) -> Result<WebSearchResult> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1362 |     pub fn get_analytics(&self) -> SearchAnalytics {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1382 |     pub fn print_analytics_report(&self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1397 |     pub fn reset_analytics(&self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1407 |     pub async fn clear_cache(&self) {
[INFO] [stdout]      |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1415 |     pub async fn get_cache_stats(&self) -> CacheStats {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1434 |     pub async fn cleanup_expired_cache(&self) {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_search_results` is never used
[INFO] [stdout]     --> src/tools/web_search.rs:1451:8
[INFO] [stdout]      |
[INFO] [stdout] 1451 | pub fn format_search_results(result: &WebSearchResult) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebPerformanceMetrics` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct WebPerformanceMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebScrapingConfig` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct WebScrapingConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnhancedWebContent` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct EnhancedWebContent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtractedLink` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ExtractedLink {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtractedImage` is never constructed
[INFO] [stdout]   --> src/tools/enhanced_web.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ExtractedImage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LinkType` is never used
[INFO] [stdout]    --> src/tools/enhanced_web.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum LinkType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/enhanced_web.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl ToolExecutor {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 111 |     /// Enhanced web scraping with comprehensive content extraction
[INFO] [stdout] 112 |     pub async fn enhanced_web_scrape(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn build_enhanced_client(&self, config: &WebScrapingConfig) -> Result<Client> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     async fn make_timed_request(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     async fn check_robots_txt(&self, url: &Url) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     async fn extract_enhanced_content(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn extract_main_content(&self, document: &Html) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn clean_content(&self, content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     fn extract_metadata(&self, document: &Html, metadata: &mut HashMap<String, String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     async fn extract_links(&self, document: &Html, base_url: &str) -> Vec<ExtractedLink> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 450 |     async fn extract_images(&self, document: &Html, base_url: &str) -> Vec<ExtractedImage> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 484 |     fn classify_link(&self, url: &str, text: &str) -> LinkType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |     fn is_external_link(&self, url: &str, base_url: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn extract_domain_from_url(&self, url: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 518 |     fn detect_language(&self, document: &Html) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     fn format_enhanced_content(&self, content: &EnhancedWebContent) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub async fn batch_web_scrape(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 659 |     fn create_batch_summary(&self, results: &[EnhancedWebContent]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_priority` is never used
[INFO] [stdout]    --> src/tools/enhanced_websearch.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub trait SearchEngine: Send + Sync {
[INFO] [stdout]     |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn get_priority(&self) -> u8; // 1-10, higher is better
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTestConfig` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ApiTestConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTestResult` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct ApiTestResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiPerformanceMetrics` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ApiPerformanceMetrics {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ValidationResult` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ValidationResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValidationType` is never used
[INFO] [stdout]   --> src/tools/web_api_testing.rs:83:10
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub enum ValidationType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTestSuite` is never constructed
[INFO] [stdout]   --> src/tools/web_api_testing.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct ApiTestSuite {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiTest` is never constructed
[INFO] [stdout]    --> src/tools/web_api_testing.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct ApiTest {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiValidation` is never constructed
[INFO] [stdout]    --> src/tools/web_api_testing.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ApiValidation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tools/web_api_testing.rs:132:18
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl ToolExecutor {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 131 |     /// Perform comprehensive API testing
[INFO] [stdout] 132 |     pub async fn api_test_comprehensive(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn execute_api_test(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     async fn try_api_request(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     fn build_api_test_client(&self, config: &ApiTestConfig) -> Result<Client> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn perform_validations(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     fn validate_status_code(&self, actual: u16, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     fn validate_response_time(&self, actual_ms: u64, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn validate_header_present(&self, headers: &HashMap<String, String>, header_name: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     fn validate_header_value(&self, headers: &HashMap<String, String>, header_name: &str, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     fn validate_json_schema(&self, body: &str, _schema: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     fn validate_json_path(&self, body: &str, path: &str, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     fn simple_json_path_eval(&self, json: &serde_json::Value, path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     fn validate_content_type(&self, headers: &HashMap<String, String>, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn validate_response_size(&self, actual_size: usize, expected: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn validate_custom(&self, _body: &str, _script: &str) -> ValidationResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     fn format_api_test_result(&self, result: &ApiTestResult) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     pub async fn api_load_test(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 705 |     fn create_load_test_summary(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.45s
[INFO] running `Command { std: "docker" "inspect" "1e1aa1231b8c393d731bfc65ea2e719f3ac83f76142564f2f2e23f68f3c5238c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1e1aa1231b8c393d731bfc65ea2e719f3ac83f76142564f2f2e23f68f3c5238c", kill_on_drop: false }`
[INFO] [stdout] 1e1aa1231b8c393d731bfc65ea2e719f3ac83f76142564f2f2e23f68f3c5238c
