[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, [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, [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 { [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) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 634 | pub fn save_history(&self) -> Vec { [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 { [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, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 33 | allowed_domains: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | blocked_domains: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | user_location: Option, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 554 | pub api_keys: HashMap, [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 956 | pub fn parse_request(&self, input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 960 | pub fn suggest_clarification(&self, input: &str) -> Option { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | async fn get_cached_result(&self, key: &str) -> Option { [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 { [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 { [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 { [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) -> 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) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn git(operation: String, source: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn docker(operation: String, source: Box) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn database(operation: String, source: Box) -> 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) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn external_command(command: String, exit_code: Option, stderr: Option) -> 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 { [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(&self, operation: F) -> Result [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 = Result; [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, [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) { [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) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub async fn get_entries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub async fn get_entries_by_level(&self, level: LogLevel) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub async fn get_entries_by_target(&self, target: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub async fn get_recent_entries(&self, duration: Duration) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub async fn export_to_file(&self, path: &str) -> Result<(), Box> { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn get_success_rate(&self, tool_name: &str) -> Option { [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> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn search(&self, query: &SearchQuery) -> Result, Box> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub async fn find_file_by_name(&self, name: &str) -> Result, Box> { [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, query: &SearchQuery, results: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn regex_search(&self, index: &HashMap, query: &SearchQuery, regex: &Regex, results: &mut Vec) -... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 401 | fn fuzzy_match(&self, pattern: &str, text: &str) -> Option<(f64, Vec)> { [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, [INFO] [stdout] 52 | config: WebSearchConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 53 | cache: Arc>>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 54 | metrics: Arc, [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) -> 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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 532 | async fn search_stackoverflow(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 548 | async fn search_github(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 564 | async fn search_reddit(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 580 | async fn search_arxiv(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 596 | async fn search_mdn(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 612 | async fn search_rust_docs(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 628 | fn parse_duckduckgo_results(&self, html: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 696 | fn parse_bing_results(&self, html: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 734 | fn parse_wikipedia_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 770 | fn parse_stackoverflow_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 799 | fn parse_github_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 828 | fn parse_reddit_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 866 | fn parse_arxiv_results(&self, xml: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 901 | fn parse_mdn_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 929 | fn parse_rust_docs_results(&self, html: &str) -> Result> { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1273 | fn apply_result_diversity(&self, mut results: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1290 | fn create_enhanced_citations(&self, results: &[SearchResultItem]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1305 | fn create_citations(&self, results: &[SearchResultItem]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1319 | async fn get_cached_result(&self, query: &str) -> Option { [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 { [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 { [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) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | async fn extract_links(&self, document: &Html, base_url: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | async fn extract_images(&self, document: &Html, base_url: &str) -> Vec { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | fn detect_language(&self, document: &Html) -> Option { [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 { [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, header_name: &str) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | fn validate_header_value(&self, headers: &HashMap, 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, 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, [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, [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 { [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) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 634 | pub fn save_history(&self) -> Vec { [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 { [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, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 33 | allowed_domains: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | blocked_domains: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | user_location: Option, [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 554 | pub api_keys: HashMap, [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 956 | pub fn parse_request(&self, input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 960 | pub fn suggest_clarification(&self, input: &str) -> Option { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | async fn get_cached_result(&self, key: &str) -> Option { [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 { [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 { [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 { [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) -> 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) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn git(operation: String, source: Box) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn docker(operation: String, source: Box) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn database(operation: String, source: Box) -> 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) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn external_command(command: String, exit_code: Option, stderr: Option) -> 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 { [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(&self, operation: F) -> Result [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 = Result; [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, [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) { [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) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub async fn get_entries(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub async fn get_entries_by_level(&self, level: LogLevel) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub async fn get_entries_by_target(&self, target: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub async fn get_recent_entries(&self, duration: Duration) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub async fn export_to_file(&self, path: &str) -> Result<(), Box> { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub async fn get_success_rate(&self, tool_name: &str) -> Option { [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> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn search(&self, query: &SearchQuery) -> Result, Box> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub async fn find_file_by_name(&self, name: &str) -> Result, Box> { [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, query: &SearchQuery, results: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn regex_search(&self, index: &HashMap, query: &SearchQuery, regex: &Regex, results: &mut Vec) -... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 401 | fn fuzzy_match(&self, pattern: &str, text: &str) -> Option<(f64, Vec)> { [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, [INFO] [stdout] 52 | config: WebSearchConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 53 | cache: Arc>>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 54 | metrics: Arc, [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) -> 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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 532 | async fn search_stackoverflow(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 548 | async fn search_github(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 564 | async fn search_reddit(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 580 | async fn search_arxiv(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 596 | async fn search_mdn(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 612 | async fn search_rust_docs(&self, query: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 628 | fn parse_duckduckgo_results(&self, html: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 696 | fn parse_bing_results(&self, html: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 734 | fn parse_wikipedia_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 770 | fn parse_stackoverflow_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 799 | fn parse_github_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 828 | fn parse_reddit_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 866 | fn parse_arxiv_results(&self, xml: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 901 | fn parse_mdn_results(&self, json: &serde_json::Value) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 929 | fn parse_rust_docs_results(&self, html: &str) -> Result> { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1273 | fn apply_result_diversity(&self, mut results: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1290 | fn create_enhanced_citations(&self, results: &[SearchResultItem]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1305 | fn create_citations(&self, results: &[SearchResultItem]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1319 | async fn get_cached_result(&self, query: &str) -> Option { [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 { [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 { [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) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 420 | async fn extract_links(&self, document: &Html, base_url: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | async fn extract_images(&self, document: &Html, base_url: &str) -> Vec { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 518 | fn detect_language(&self, document: &Html) -> Option { [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 { [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, header_name: &str) -> ValidationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | fn validate_header_value(&self, headers: &HashMap, 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, 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