[INFO] cloning repository https://github.com/zz-pangpeng/rust-ai-agent-demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zz-pangpeng/rust-ai-agent-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzz-pangpeng%2Frust-ai-agent-demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzz-pangpeng%2Frust-ai-agent-demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 59484a44ca54442377f19119a88ad0e98fcb2e1c
[INFO] checking zz-pangpeng/rust-ai-agent-demo against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzz-pangpeng%2Frust-ai-agent-demo" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zz-pangpeng/rust-ai-agent-demo
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/zz-pangpeng/rust-ai-agent-demo
[INFO] tweaked toml for git repo https://github.com/zz-pangpeng/rust-ai-agent-demo written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zz-pangpeng/rust-ai-agent-demo on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zz-pangpeng/rust-ai-agent-demo 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid v1.24.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.126
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.126
[INFO] [stderr]   Downloaded futures-io v0.3.33
[INFO] [stderr]   Downloaded tracing-serde v0.2.0
[INFO] [stderr]   Downloaded cfg-if v1.0.4
[INFO] [stderr]   Downloaded lazy_static v1.5.0
[INFO] [stderr]   Downloaded futures-core v0.3.33
[INFO] [stderr]   Downloaded hyper-rustls v0.27.9
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.126
[INFO] [stderr]   Downloaded windows-link v0.2.1
[INFO] [stderr]   Downloaded windows-strings v0.5.1
[INFO] [stderr]   Downloaded winapi-util v0.1.11
[INFO] [stderr]   Downloaded tokio-macros v2.7.1
[INFO] [stderr]   Downloaded yoke-derive v0.8.2
[INFO] [stderr]   Downloaded walkdir v2.5.0
[INFO] [stderr]   Downloaded potential_utf v0.1.5
[INFO] [stderr]   Downloaded same-file v1.0.6
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.76
[INFO] [stderr]   Downloaded bit-set v0.8.0
[INFO] [stderr]   Downloaded futures-task v0.3.33
[INFO] [stderr]   Downloaded futures-macro v0.3.33
[INFO] [stderr]   Downloaded futures-sink v0.3.33
[INFO] [stderr]   Downloaded windows-result v0.4.1
[INFO] [stderr]   Downloaded valuable v0.1.1
[INFO] [stderr]   Downloaded wasi v0.11.1+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded bit-vec v0.8.0
[INFO] [stderr]   Downloaded zerofrom-derive v0.1.7
[INFO] [stderr]   Downloaded tinystr v0.8.3
[INFO] [stderr]   Downloaded pkg-config v0.3.33
[INFO] [stderr]   Downloaded zeroize v1.9.0
[INFO] [stderr]   Downloaded system-configuration v0.7.0
[INFO] [stderr]   Downloaded gloo-timers v0.3.0
[INFO] [stderr]   Downloaded crypto-common v0.1.7
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded unicode-ident v1.0.24
[INFO] [stderr]   Downloaded tracing-log v0.2.0
[INFO] [stderr]   Downloaded thread_local v1.1.10
[INFO] [stderr]   Downloaded zmij v1.0.23
[INFO] [stderr]   Downloaded redox_syscall v0.5.18
[INFO] [stderr]   Downloaded lock_api v0.4.14
[INFO] [stderr]   Downloaded tavily v2.1.0
[INFO] [stderr]   Downloaded zerovec-derive v0.11.3
[INFO] [stderr]   Downloaded synstructure v0.13.2
[INFO] [stderr]   Downloaded writeable v0.6.3
[INFO] [stderr]   Downloaded security-framework-sys v2.17.0
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.9
[INFO] [stderr]   Downloaded windows-registry v0.6.1
[INFO] [stderr]   Downloaded ipnet v2.12.1
[INFO] [stderr]   Downloaded http-body-util v0.1.4
[INFO] [stderr]   Downloaded tokio-tungstenite v0.28.0
[INFO] [stderr]   Downloaded rand_core v0.9.5
[INFO] [stderr]   Downloaded secrecy v0.10.3
[INFO] [stderr]   Downloaded tinyvec_macros v0.1.1
[INFO] [stderr]   Downloaded cpufeatures v0.3.0
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded futures-channel v0.3.33
[INFO] [stderr]   Downloaded smallvec v1.15.2
[INFO] [stderr]   Downloaded nu-ansi-term v0.50.3
[INFO] [stderr]   Downloaded tracing-attributes v0.1.31
[INFO] [stderr]   Downloaded signal-hook-registry v1.4.8
[INFO] [stderr]   Downloaded parking_lot v0.12.5
[INFO] [stderr]   Downloaded parking_lot_core v0.9.12
[INFO] [stderr]   Downloaded litemap v0.8.2
[INFO] [stderr]   Downloaded native-tls v0.2.18
[INFO] [stderr]   Downloaded core-foundation v0.10.1
[INFO] [stderr]   Downloaded schannel v0.1.29
[INFO] [stderr]   Downloaded darling_macro v0.24.0
[INFO] [stderr]   Downloaded pathdiff v0.2.3
[INFO] [stderr]   Downloaded convert_case v0.6.0
[INFO] [stderr]   Downloaded wasm-streams v0.5.0
[INFO] [stderr]   Downloaded lru-slab v0.1.2
[INFO] [stderr]   Downloaded darling_macro v0.20.11
[INFO] [stderr]   Downloaded r-efi v6.0.0
[INFO] [stderr]   Downloaded sharded-slab v0.1.7
[INFO] [stderr]   Downloaded bitflags v2.13.1
[INFO] [stderr]   Downloaded icu_properties v2.2.0
[INFO] [stderr]   Downloaded icu_provider v2.2.0
[INFO] [stderr]   Downloaded ryu v1.0.23
[INFO] [stderr]   Downloaded windows-implement v0.60.2
[INFO] [stderr]   Downloaded windows-collections v0.3.2
[INFO] [stderr]   Downloaded crunchy v0.2.4
[INFO] [stderr]   Downloaded async-trait v0.1.91
[INFO] [stderr]   Downloaded getrandom v0.3.4
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.126
[INFO] [stderr]   Downloaded serde_derive v1.0.229
[INFO] [stderr]   Downloaded log v0.4.33
[INFO] [stderr]   Downloaded zerotrie v0.2.4
[INFO] [stderr]   Downloaded icu_locale_core v2.2.0
[INFO] [stderr]   Downloaded icu_collections v2.2.0
[INFO] [stderr]   Downloaded icu_normalizer v2.2.0
[INFO] [stderr]   Downloaded icu_normalizer_data v2.2.0
[INFO] [stderr]   Downloaded security-framework v3.7.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.117
[INFO] [stderr]   Downloaded indexmap v2.14.0
[INFO] [stderr]   Downloaded ref-cast-impl v1.0.26
[INFO] [stderr]   Downloaded windows-interface v0.59.3
[INFO] [stderr]   Downloaded typeid v1.0.3
[INFO] [stderr]   Downloaded json5 v0.4.1
[INFO] [stderr]   Downloaded jni-sys-macros v0.4.1
[INFO] [stderr]   Downloaded bumpalo v3.20.3
[INFO] [stderr]   Downloaded js-sys v0.3.103
[INFO] [stderr]   Downloaded mio v1.2.2
[INFO] [stderr]   Downloaded cc v1.4.0
[INFO] [stderr]   Downloaded hyper-util v0.1.20
[INFO] [stderr]   Downloaded async-stream-impl v0.3.6
[INFO] [stderr]   Downloaded rand v0.9.5
[INFO] [stderr]   Downloaded typenum v1.20.1
[INFO] [stderr]   Downloaded rustls-platform-verifier v0.7.0
[INFO] [stderr]   Downloaded jni-sys v0.4.1
[INFO] [stderr]   Downloaded fancy-regex v0.17.0
[INFO] [stderr]   Downloaded zerovec v0.11.6
[INFO] [stderr]   Downloaded tokio-util v0.7.19
[INFO] [stderr]   Downloaded iana-time-zone-haiku v0.1.2
[INFO] [stderr]   Downloaded android_system_properties v0.1.6
[INFO] [stderr]   Downloaded windows-numerics v0.3.1
[INFO] [stderr]   Downloaded dotenvy v0.15.7
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded serde_spanned v1.1.1
[INFO] [stderr]   Downloaded const-random-macro v0.1.16
[INFO] [stderr]   Downloaded chacha20 v0.10.1
[INFO] [stderr]   Downloaded mime_guess v2.0.5
[INFO] [stderr]   Downloaded unicase v2.9.0
[INFO] [stderr]   Downloaded serde_json v1.0.151
[INFO] [stderr]   Downloaded regex v1.13.1
[INFO] [stderr]   Downloaded reqwest v0.12.28
[INFO] [stderr]   Downloaded hyper v1.11.0
[INFO] [stderr]   Downloaded h2 v0.4.15
[INFO] [stderr]   Downloaded unicode-segmentation v1.13.3
[INFO] [stderr]   Downloaded cpufeatures v0.2.17
[INFO] [stderr]   Downloaded async-openai-macros v0.3.0
[INFO] [stderr]   Downloaded futures-util v0.3.33
[INFO] [stderr]   Downloaded aho-corasick v1.1.5
[INFO] [stderr]   Downloaded icu_properties_data v2.2.0
[INFO] [stderr]   Downloaded ref-cast v1.0.26
[INFO] [stderr]   Downloaded ident_case v1.0.1
[INFO] [stderr]   Downloaded windows-threading v0.2.1
[INFO] [stderr]   Downloaded const-random v0.1.18
[INFO] [stderr]   Downloaded reqwest v0.13.4
[INFO] [stderr]   Downloaded rustc_version v0.4.1
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.23
[INFO] [stderr]   Downloaded wit-bindgen v0.57.1
[INFO] [stderr]   Downloaded r-efi v5.3.0
[INFO] [stderr]   Downloaded dyn-clone v1.0.20
[INFO] [stderr]   Downloaded foldhash v0.2.0
[INFO] [stderr]   Downloaded tiny-keccak v2.0.2
[INFO] [stderr]   Downloaded async-stream v0.3.6
[INFO] [stderr]   Downloaded generic-array v0.14.7
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded hmac v0.12.1
[INFO] [stderr]   Downloaded eventsource-stream v0.2.3
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded darling v0.20.11
[INFO] [stderr]   Downloaded autocfg v1.5.1
[INFO] [stderr]   Downloaded toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]   Downloaded tinyvec v1.12.0
[INFO] [stderr]   Downloaded schemars_derive v1.2.2
[INFO] [stderr]   Downloaded serde-untagged v0.1.9
[INFO] [stderr]   Downloaded rust-ini v0.21.3
[INFO] [stderr]   Downloaded dlv-list v0.5.2
[INFO] [stderr]   Downloaded pest_generator v2.9.0
[INFO] [stderr]   Downloaded quinn-udp v0.5.15
[INFO] [stderr]   Downloaded rmcp-macros v3.1.2
[INFO] [stderr]   Downloaded digest v0.10.7
[INFO] [stderr]   Downloaded thiserror v2.0.19
[INFO] [stderr]   Downloaded thiserror-impl v2.0.19
[INFO] [stderr]   Downloaded windows-future v0.3.2
[INFO] [stderr]   Downloaded futures-executor v0.3.33
[INFO] [stderr]   Downloaded pest_derive v2.9.0
[INFO] [stderr]   Downloaded windows-core v0.62.2
[INFO] [stderr]   Downloaded hashlink v0.11.1
[INFO] [stderr]   Downloaded ucd-trie v0.1.7
[INFO] [stderr]   Downloaded toml v1.1.4+spec-1.1.0
[INFO] [stderr]   Downloaded iana-time-zone v0.1.65
[INFO] [stderr]   Downloaded tokio-rustls v0.26.4
[INFO] [stderr]   Downloaded pastey v0.2.3
[INFO] [stderr]   Downloaded pest_meta v2.9.0
[INFO] [stderr]   Downloaded erased-serde v0.4.10
[INFO] [stderr]   Downloaded serde_derive_internals v0.30.0
[INFO] [stderr]   Downloaded semver v1.0.28
[INFO] [stderr]   Downloaded quinn v0.11.11
[INFO] [stderr]   Downloaded tokio-stream v0.1.19
[INFO] [stderr]   Downloaded darling v0.24.0
[INFO] [stderr]   Downloaded futures v0.3.33
[INFO] [stderr]   Downloaded config v0.15.25
[INFO] [stderr]   Downloaded toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]   Downloaded backon v1.6.0
[INFO] [stderr]   Downloaded darling_core v0.20.11
[INFO] [stderr]   Downloaded yaml-rust2 v0.11.1
[INFO] [stderr]   Downloaded block-buffer v0.10.4
[INFO] [stderr]   Downloaded jni-macros v0.22.4
[INFO] [stderr]   Downloaded rand v0.10.2
[INFO] [stderr]   Downloaded openssl v0.10.81
[INFO] [stderr]   Downloaded zerocopy v0.8.55
[INFO] [stderr]   Downloaded version_check v0.9.5
[INFO] [stderr]   Downloaded rustls-platform-verifier-android v0.1.1
[INFO] [stderr]   Downloaded bstr v1.13.1
[INFO] [stderr]   Downloaded rustls-webpki v0.103.13
[INFO] [stderr]   Downloaded schemars v1.2.2
[INFO] [stderr]   Downloaded darling_core v0.24.0
[INFO] [stderr]   Downloaded tungstenite v0.28.0
[INFO] [stderr]   Downloaded combine v4.6.7
[INFO] [stderr]   Downloaded syn v2.0.119
[INFO] [stderr]   Downloaded regex-syntax v0.8.11
[INFO] [stderr]   Downloaded syn v3.0.3
[INFO] [stderr]   Downloaded ron v0.12.2
[INFO] [stderr]   Downloaded sha2 v0.10.9
[INFO] [stderr]   Downloaded hashbrown v0.14.5
[INFO] [stderr]   Downloaded pest v2.9.0
[INFO] [stderr]   Downloaded simd_cesu8 v1.2.0
[INFO] [stderr]   Downloaded rustix v1.1.4
[INFO] [stderr]   Downloaded hashbrown v0.16.1
[INFO] [stderr]   Downloaded winnow v1.0.4
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.55
[INFO] [stderr]   Downloaded process-wrap v9.1.0
[INFO] [stderr]   Downloaded wasip2 v1.0.4+wasi-0.2.12
[INFO] [stderr]   Downloaded webpki-root-certs v1.0.9
[INFO] [stderr]   Downloaded jni v0.22.4
[INFO] [stderr]   Downloaded quinn-proto v0.11.16
[INFO] [stderr]   Downloaded aws-lc-rs v1.17.3
[INFO] [stderr]   Downloaded chrono v0.4.45
[INFO] [stderr]   Downloaded async-openai v0.41.3
[INFO] [stderr]   Downloaded regex-automata v0.4.18
[INFO] [stderr]   Downloaded nix v0.31.3
[INFO] [stderr]   Downloaded rustls v0.23.43
[INFO] [stderr]   Downloaded web-sys v0.3.103
[INFO] [stderr]   Downloaded rmcp v3.1.2
[INFO] [stderr]   Downloaded tokio v1.53.1
[INFO] [stderr]   Downloaded libc v0.2.189
[INFO] [stderr]   Downloaded windows-sys v0.61.2
[INFO] [stderr]   Downloaded tiktoken-rs v0.12.0
[INFO] [stderr]   Downloaded aws-lc-sys v0.43.0
[INFO] [stderr]   Downloaded windows v0.62.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69
[INFO] running `Command { std: "docker" "start" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]     Checking futures-core v0.3.33
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]     Checking bytes v1.12.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking futures-sink v0.3.33
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking futures-channel v0.3.33
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking futures-io v0.3.33
[INFO] [stderr]     Checking futures-task v0.3.33
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling aws-lc-rs v1.17.3
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling aws-lc-sys v0.43.0
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking typenum v1.20.1
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking ipnet v2.12.1
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling pest v2.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking http-body-util v0.1.4
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking tokio v1.53.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking futures-util v0.3.33
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling pest_meta v2.9.0
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]     Checking futures-executor v0.3.33
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling darling_core v0.24.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling pest_generator v2.9.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking futures v0.3.33
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling darling_macro v0.24.0
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]    Compiling darling v0.24.0
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]    Compiling pest_derive v2.9.0
[INFO] [stderr]     Checking hashlink v0.11.1
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]    Compiling rmcp v3.1.2
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking ron v0.12.2
[INFO] [stderr]     Checking schemars v1.2.2
[INFO] [stderr]     Checking yaml-rust2 v0.11.1
[INFO] [stderr]    Compiling rmcp-macros v3.1.2
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking serde-untagged v0.1.9
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking toml v1.1.4+spec-1.1.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking uuid v1.24.0
[INFO] [stderr]     Checking process-wrap v9.1.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking fancy-regex v0.17.0
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking rust-ini v0.21.3
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking bstr v1.13.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]    Compiling async-trait v0.1.91
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking rustc-hash v2.1.3
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]     Checking base64 v0.23.1
[INFO] [stderr]     Checking fastrand v2.5.0
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking tiktoken-rs v0.12.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking tavily v2.1.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking backon v1.6.0
[INFO] [stderr]     Checking config v0.15.25
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking async-openai v0.41.3
[INFO] [stderr]     Checking ai-agent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `index` and `similarity` are never read
[INFO] [stdout]   --> src/vector/search.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SearchResult {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 44 |     pub index: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 45 |     pub similarity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index` and `similarity` are never read
[INFO] [stdout]   --> src/vector/search.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SearchResult {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 44 |     pub index: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 45 |     pub similarity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]   --> tests/common/client.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 function_call: None,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::CreateChatCompletionResponse::system_fingerprint`
[INFO] [stdout]   --> tests/common/client.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         system_fingerprint: None,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]   --> tests/common/client.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     function_call: None,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]    --> tests/common/client.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     function_call: None,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]    --> tests/common/client.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   function_call: None,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]   --> tests/common/client.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 function_call: None,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::CreateChatCompletionResponse::system_fingerprint`
[INFO] [stdout]   --> tests/common/client.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         system_fingerprint: None,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]   --> tests/common/client.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     function_call: None,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]    --> tests/common/client.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     function_call: None,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]    --> tests/common/client.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   function_call: None,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Timeout`, `NotOutput`, `Normal`, `ChoiceEmpty`, and `ToolExecuteFailure` are never constructed
[INFO] [stdout]   --> tests/common/client.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum ModeChatClientStatus {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] 41 |     Timeout,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     NotOutput,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 43 |     Normal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     ChoiceEmpty,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     ToolExecuteFailure,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]   --> tests/common/client.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |                 function_call: None,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::CreateChatCompletionResponse::system_fingerprint`
[INFO] [stdout]   --> tests/common/client.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         system_fingerprint: None,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]   --> tests/common/client.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     function_call: None,
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]    --> tests/common/client.rs:103:21
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     function_call: None,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `async_openai::types::chat::ChatCompletionResponseMessage::function_call`
[INFO] [stdout]    --> tests/common/client.rs:138:33
[INFO] [stdout]     |
[INFO] [stdout] 138 | ...                   function_call: None,
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> tests/common/client.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum ModeChatClientStatus {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] 41 |     Timeout,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     NotOutput,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 43 |     Normal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 44 |     ChoiceEmpty,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 45 |     OutMaxSteps,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 46 |     ToolNotFound,
[INFO] [stdout] 47 |     ToolTimeout,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     ToolExecuteFailure,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Timeout` and `Failure` are never constructed
[INFO] [stdout]   --> tests/common/search_tool.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum SearchStatus {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 19 |     Timeout,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 20 |     Success,
[INFO] [stdout] 21 |     Failure,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OutMaxSteps`, `ToolTimeout`, `ToolExecuteFailure`, and `ToolExecuteSuccess` are never constructed
[INFO] [stdout]   --> tests/common/client.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum ModeChatClientStatus {
[INFO] [stdout]    |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 |     OutMaxSteps,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 46 |     ToolNotFound,
[INFO] [stdout] 47 |     ToolTimeout,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 48 |     ToolExecuteFailure,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     ToolExecuteSuccess,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchArguments` is never constructed
[INFO] [stdout]   --> tests/common/search_tool.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct SearchArguments {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchStatus` is never used
[INFO] [stdout]   --> tests/common/search_tool.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum SearchStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Search` is never constructed
[INFO] [stdout]   --> tests/common/search_tool.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | struct Search {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tests/common/search_tool.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Search {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 30 |     fn new(status: SearchStatus, need_permission: bool) -> Search {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_bind_tool` is never used
[INFO] [stdout]   --> tests/common/search_tool.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn get_agent_bind_tool(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]  --> src/agent/context.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Context {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_event`, and `increment_step` are never used
[INFO] [stdout]   --> src/agent/context.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Context {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn add_event(&mut self, event: Event) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn increment_step(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ContentItem` is never used
[INFO] [stdout]  --> src/agent/event.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ContentItem {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToolCallStatus` is never used
[INFO] [stdout]   --> src/agent/event.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum ToolCallStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Event` is never constructed
[INFO] [stdout]   --> src/agent/event.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Event {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/agent/event.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Event {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMEOUT` is never used
[INFO] [stdout]  --> src/agent/output.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const TIMEOUT: &'static str = "TIMEOUT";
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOT_OUTPUT` is never used
[INFO] [stdout]  --> src/agent/output.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const NOT_OUTPUT: &'static str = "NOT OUTPUT";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUT_MAX_STEPS` is never used
[INFO] [stdout]  --> src/agent/output.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const OUT_MAX_STEPS: &'static str = "OUT MAX STEPS";
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_NOT_FOUND` is never used
[INFO] [stdout]  --> src/agent/output.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const TOOL_NOT_FOUND: &'static str = "NOT FOUND TOOL";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Agent` is never constructed
[INFO] [stdout]   --> src/agent/runtime.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Agent {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentResult` is never constructed
[INFO] [stdout]   --> src/agent/runtime.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct AgentResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permission_input` is never used
[INFO] [stdout]   --> src/agent/runtime.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn get_permission_input(permission_mode: &PermissionMode) -> Box<dyn PermissionInput> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_max_tokens` is never used
[INFO] [stdout]   --> src/agent/runtime.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_max_tokens(model: &str) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/agent/runtime.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Agent {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new(model: impl Into<String>, system_instruction: Option<impl Into<String>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn bind_tool_calls(&mut self, tool_list: Vec<Box<dyn Tool>>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn set_max_steps(&mut self, max_steps: usize) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn bind_chat_client(&mut self, chat_client: Box<dyn ChatClient>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn bind_config(&mut self, system_config: SystemConfig) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn bind_permission_input(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub async fn build_message(&self) -> anyhow::Result<Vec<ChatCompletionRequestMessage>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub async fn run(&mut self, prompt: String) -> anyhow::Result<AgentResult> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn add_tool_call(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub async fn tool_execute(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     async fn tool_item_execute(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_message` is never used
[INFO] [stdout]  --> src/llm/chat.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub async fn chat_message(
[INFO] [stdout]   |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_json_output_ds` is never used
[INFO] [stdout]   --> src/llm/chat_json_output_ds.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub async fn chat_json_output_ds(prompt: &str) -> anyhow::Result<String> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_json_output_schema` is never used
[INFO] [stdout]   --> src/llm/chat_json_output_ds.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn get_json_output_schema() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_stream` is never used
[INFO] [stdout]  --> src/llm/chat_stream.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chat_stream(
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_tool_calculator` is never used
[INFO] [stdout]   --> src/llm/chat_tool_calculator.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub async fn chat_tool_calculator(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CalculatorArg` is never constructed
[INFO] [stdout]  --> src/modals/calculator.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct CalculatorArg {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ChatClient` is never used
[INFO] [stdout]  --> src/modals/chat_client.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait ChatClient: Send + Sync {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealChatClient` is never constructed
[INFO] [stdout]   --> src/modals/chat_client.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct RealChatClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/modals/chat_client.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl RealChatClient {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Agent` is never constructed
[INFO] [stdout]  --> src/modals/config.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Agent {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tool` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Tool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Permission` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Permission {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compression` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Compression {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vector` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct Vector {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemConfig` is never constructed
[INFO] [stdout]    --> src/modals/config.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct SystemConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/modals/config.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl SystemConfig {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 122 |     pub fn new() -> SystemConfig {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PermissionInput` is never used
[INFO] [stdout]  --> src/modals/permission_input.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait PermissionInput: Send + Sync {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PermissionResult` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum PermissionResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PermissionEntry` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PermissionEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PermissionMode` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum PermissionMode {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StdinPermissionInput` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct StdinPermissionInput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StdinPermissionInput {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_match` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn input_match(line: &str) -> PermissionResult {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GrantedAlwaysPermissionInput` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct GrantedAlwaysPermissionInput;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeniedPermissionInput` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct DeniedPermissionInput;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolView` is never constructed
[INFO] [stdout]  --> src/modals/tool.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ToolView {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Topic` is never used
[INFO] [stdout]  --> src/modals/web_search.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Topic {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebSearchRequest` is never constructed
[INFO] [stdout]   --> src/modals/web_search.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct WebSearchRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topic_default` is never used
[INFO] [stdout]   --> src/modals/web_search.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn topic_default() -> Topic {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_result_default` is never used
[INFO] [stdout]   --> src/modals/web_search.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn max_result_default() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Permission` is never constructed
[INFO] [stdout]   --> src/permission/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Permission {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PermissionState` is never constructed
[INFO] [stdout]   --> src/permission/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PermissionState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset`, `query`, `sender`, and `execute` are never used
[INFO] [stdout]    --> src/permission/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Permission {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new(input: Box<dyn PermissionInput>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn reset(&self) -> &Self {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub async fn query(&self, tool_view: &ToolView) -> PermissionResult {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn sender(&self, channel: Option<Vec<Sender<PermissionResult>>>, result: PermissionResult) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn execute(&self) {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEEPSEEK_V4_FLASH` is never used
[INFO] [stdout]  --> src/state.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const DEEPSEEK_V4_FLASH: &'static str = "deepseek-v4-flash";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GPT_OSS_20B` is never used
[INFO] [stdout]  --> src/state.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const GPT_OSS_20B: &'static str = "openai/gpt-oss-20b:free";
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPENROUTER_FREE` is never used
[INFO] [stdout]  --> src/state.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const OPENROUTER_FREE: &'static str = "openrouter/free";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_EMBEDDING_3_SMALL_MODEL` is never used
[INFO] [stdout]  --> src/state.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TEXT_EMBEDDING_3_SMALL_MODEL: &str = "openai/text-embedding-3-small";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_MODEL` is never used
[INFO] [stdout]  --> src/state.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TEST_MODEL: &str = "test-model";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CalculatorTool` is never constructed
[INFO] [stdout]  --> src/tools/calculator.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CalculatorTool;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpClient` is never constructed
[INFO] [stdout]  --> src/tools/mcp/client.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct McpClient {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `connect`, `list_tools`, and `call_tool` are never used
[INFO] [stdout]   --> src/tools/mcp/client.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl McpClient {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 13 |     pub async fn connect() -> anyhow::Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn list_tools(&self) -> anyhow::Result<Vec<Tool>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub async fn call_tool(
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpTool` is never constructed
[INFO] [stdout]  --> src/tools/mcp/tool.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct McpTool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tools/mcp/tool.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl McpTool {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(client: Arc<McpClient>, tool: rmcp::model::Tool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTE_FAILURE` is never used
[INFO] [stdout]  --> src/tools/output.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const TOOL_EXECUTE_FAILURE: &'static str = "tool exec failure";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTE_TIMEOUT` is never used
[INFO] [stdout]  --> src/tools/output.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const TOOL_EXECUTE_TIMEOUT: &'static str = "tool exec timeout";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tool` is never used
[INFO] [stdout]   --> src/tools/tool.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebSearch` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct WebSearch;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_tokens` is never used
[INFO] [stdout]  --> src/token/estimate.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn estimate_tokens(text: &str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenManager` is never constructed
[INFO] [stdout]  --> src/token/manager.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TokenManager {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update_system_budget`, `check_remaining_token`, and `calculate_token` are never used
[INFO] [stdout]   --> src/token/manager.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TokenManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(reserve_budget: u64, max_tokens: u64) -> TokenManager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn update_system_budget(&mut self, prompt: Option<&str>) -> &mut Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn check_remaining_token(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn calculate_token(&self,text: &str) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_handle` is never used
[INFO] [stdout]  --> src/vector/chunk.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn chunk_handle(text: &str, chunk_size: usize, chunk_overlap: usize) -> Vec<String> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `embed` is never used
[INFO] [stdout]  --> src/vector/embed.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub async fn embed(text: &[String], model: &str) -> anyhow::Result<Vec<Vec<f32>>> {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cosine_similarity` is never used
[INFO] [stdout]  --> src/vector/search.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Similarity` is never constructed
[INFO] [stdout]   --> src/vector/search.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Similarity {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/vector/search.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SearchResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_search` is never used
[INFO] [stdout]   --> src/vector/search.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn vector_search(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress` is never used
[INFO] [stdout]  --> src/vector/compress.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn compress(question: &str, answer: &str, config: &Vector) -> String {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]  --> src/agent/context.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Context {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_event`, and `increment_step` are never used
[INFO] [stdout]   --> src/agent/context.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Context {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn add_event(&mut self, event: Event) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn increment_step(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ContentItem` is never used
[INFO] [stdout]  --> src/agent/event.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum ContentItem {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToolCallStatus` is never used
[INFO] [stdout]   --> src/agent/event.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum ToolCallStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Event` is never constructed
[INFO] [stdout]   --> src/agent/event.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Event {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/agent/event.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Event {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMEOUT` is never used
[INFO] [stdout]  --> src/agent/output.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const TIMEOUT: &'static str = "TIMEOUT";
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NOT_OUTPUT` is never used
[INFO] [stdout]  --> src/agent/output.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const NOT_OUTPUT: &'static str = "NOT OUTPUT";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUT_MAX_STEPS` is never used
[INFO] [stdout]  --> src/agent/output.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const OUT_MAX_STEPS: &'static str = "OUT MAX STEPS";
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_NOT_FOUND` is never used
[INFO] [stdout]  --> src/agent/output.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const TOOL_NOT_FOUND: &'static str = "NOT FOUND TOOL";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Agent` is never constructed
[INFO] [stdout]   --> src/agent/runtime.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Agent {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentResult` is never constructed
[INFO] [stdout]   --> src/agent/runtime.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct AgentResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permission_input` is never used
[INFO] [stdout]   --> src/agent/runtime.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn get_permission_input(permission_mode: &PermissionMode) -> Box<dyn PermissionInput> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_max_tokens` is never used
[INFO] [stdout]   --> src/agent/runtime.rs:63:4
[INFO] [stdout]    |
[INFO] [stdout] 63 | fn get_max_tokens(model: &str) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/agent/runtime.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Agent {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new(model: impl Into<String>, system_instruction: Option<impl Into<String>>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn bind_tool_calls(&mut self, tool_list: Vec<Box<dyn Tool>>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn set_max_steps(&mut self, max_steps: usize) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn bind_chat_client(&mut self, chat_client: Box<dyn ChatClient>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn bind_config(&mut self, system_config: SystemConfig) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn bind_permission_input(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub async fn build_message(&self) -> anyhow::Result<Vec<ChatCompletionRequestMessage>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub async fn run(&mut self, prompt: String) -> anyhow::Result<AgentResult> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn add_tool_call(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub async fn tool_execute(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     async fn tool_item_execute(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_message` is never used
[INFO] [stdout]  --> src/llm/chat.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub async fn chat_message(
[INFO] [stdout]   |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_json_output_ds` is never used
[INFO] [stdout]   --> src/llm/chat_json_output_ds.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub async fn chat_json_output_ds(prompt: &str) -> anyhow::Result<String> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_json_output_schema` is never used
[INFO] [stdout]   --> src/llm/chat_json_output_ds.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn get_json_output_schema() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_stream` is never used
[INFO] [stdout]  --> src/llm/chat_stream.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn chat_stream(
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat_tool_calculator` is never used
[INFO] [stdout]   --> src/llm/chat_tool_calculator.rs:13:14
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub async fn chat_tool_calculator(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CalculatorArg` is never constructed
[INFO] [stdout]  --> src/modals/calculator.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct CalculatorArg {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ChatClient` is never used
[INFO] [stdout]  --> src/modals/chat_client.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait ChatClient: Send + Sync {
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RealChatClient` is never constructed
[INFO] [stdout]   --> src/modals/chat_client.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct RealChatClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/modals/chat_client.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl RealChatClient {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Agent` is never constructed
[INFO] [stdout]  --> src/modals/config.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Agent {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tool` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Tool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Permission` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Permission {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compression` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Compression {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vector` is never constructed
[INFO] [stdout]   --> src/modals/config.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct Vector {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SystemConfig` is never constructed
[INFO] [stdout]    --> src/modals/config.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct SystemConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/modals/config.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl SystemConfig {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 122 |     pub fn new() -> SystemConfig {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PermissionInput` is never used
[INFO] [stdout]  --> src/modals/permission_input.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait PermissionInput: Send + Sync {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PermissionResult` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum PermissionResult {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PermissionEntry` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PermissionEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PermissionMode` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum PermissionMode {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StdinPermissionInput` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct StdinPermissionInput {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StdinPermissionInput {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 40 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_match` is never used
[INFO] [stdout]   --> src/modals/permission_input.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn input_match(line: &str) -> PermissionResult {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GrantedAlwaysPermissionInput` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct GrantedAlwaysPermissionInput;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeniedPermissionInput` is never constructed
[INFO] [stdout]   --> src/modals/permission_input.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct DeniedPermissionInput;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolView` is never constructed
[INFO] [stdout]  --> src/modals/tool.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ToolView {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Topic` is never used
[INFO] [stdout]  --> src/modals/web_search.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Topic {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebSearchRequest` is never constructed
[INFO] [stdout]   --> src/modals/web_search.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct WebSearchRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `topic_default` is never used
[INFO] [stdout]   --> src/modals/web_search.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn topic_default() -> Topic {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_result_default` is never used
[INFO] [stdout]   --> src/modals/web_search.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn max_result_default() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Permission` is never constructed
[INFO] [stdout]   --> src/permission/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Permission {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PermissionState` is never constructed
[INFO] [stdout]   --> src/permission/mod.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PermissionState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset`, `query`, `sender`, and `execute` are never used
[INFO] [stdout]    --> src/permission/mod.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl Permission {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  26 |     pub fn new(input: Box<dyn PermissionInput>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn reset(&self) -> &Self {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub async fn query(&self, tool_view: &ToolView) -> PermissionResult {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn sender(&self, channel: Option<Vec<Sender<PermissionResult>>>, result: PermissionResult) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     async fn execute(&self) {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEEPSEEK_V4_FLASH` is never used
[INFO] [stdout]  --> src/state.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const DEEPSEEK_V4_FLASH: &'static str = "deepseek-v4-flash";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GPT_OSS_20B` is never used
[INFO] [stdout]  --> src/state.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const GPT_OSS_20B: &'static str = "openai/gpt-oss-20b:free";
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPENROUTER_FREE` is never used
[INFO] [stdout]  --> src/state.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const OPENROUTER_FREE: &'static str = "openrouter/free";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEXT_EMBEDDING_3_SMALL_MODEL` is never used
[INFO] [stdout]  --> src/state.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const TEXT_EMBEDDING_3_SMALL_MODEL: &str = "openai/text-embedding-3-small";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TEST_MODEL` is never used
[INFO] [stdout]  --> src/state.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TEST_MODEL: &str = "test-model";
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CalculatorTool` is never constructed
[INFO] [stdout]  --> src/tools/calculator.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CalculatorTool;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpClient` is never constructed
[INFO] [stdout]  --> src/tools/mcp/client.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct McpClient {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `connect`, `list_tools`, and `call_tool` are never used
[INFO] [stdout]   --> src/tools/mcp/client.rs:13:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl McpClient {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 13 |     pub async fn connect() -> anyhow::Result<Self> {
[INFO] [stdout]    |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn list_tools(&self) -> anyhow::Result<Vec<Tool>> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub async fn call_tool(
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpTool` is never constructed
[INFO] [stdout]  --> src/tools/mcp/tool.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct McpTool {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tools/mcp/tool.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl McpTool {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(client: Arc<McpClient>, tool: rmcp::model::Tool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTE_FAILURE` is never used
[INFO] [stdout]  --> src/tools/output.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const TOOL_EXECUTE_FAILURE: &'static str = "tool exec failure";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTE_TIMEOUT` is never used
[INFO] [stdout]  --> src/tools/output.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const TOOL_EXECUTE_TIMEOUT: &'static str = "tool exec timeout";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Tool` is never used
[INFO] [stdout]   --> src/tools/tool.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait Tool: Send + Sync {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WebSearch` is never constructed
[INFO] [stdout]   --> src/tools/web_search.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct WebSearch;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_tokens` is never used
[INFO] [stdout]  --> src/token/estimate.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn estimate_tokens(text: &str) -> usize {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenManager` is never constructed
[INFO] [stdout]  --> src/token/manager.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TokenManager {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update_system_budget`, `check_remaining_token`, and `calculate_token` are never used
[INFO] [stdout]   --> src/token/manager.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TokenManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(reserve_budget: u64, max_tokens: u64) -> TokenManager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn update_system_budget(&mut self, prompt: Option<&str>) -> &mut Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn check_remaining_token(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn calculate_token(&self,text: &str) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `embed` is never used
[INFO] [stdout]  --> src/vector/embed.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub async fn embed(text: &[String], model: &str) -> anyhow::Result<Vec<Vec<f32>>> {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cosine_similarity` is never used
[INFO] [stdout]  --> src/vector/search.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Similarity` is never constructed
[INFO] [stdout]   --> src/vector/search.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct Similarity {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/vector/search.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SearchResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_search` is never used
[INFO] [stdout]   --> src/vector/search.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn vector_search(
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress` is never used
[INFO] [stdout]  --> src/vector/compress.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub async fn compress(question: &str, answer: &str, config: &Vector) -> String {
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 18s
[INFO] running `Command { std: "docker" "inspect" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69", kill_on_drop: false }`
[INFO] [stdout] 133e159b5c6ea2bbd92c38897be271e7a1ddda282917431b968dc328667e9e69
