[INFO] cloning repository https://github.com/bigduu/Bamboo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bigduu/Bamboo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbigduu%2FBamboo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbigduu%2FBamboo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c29a2cf171729c353e759dab3b58f17b680de243
[INFO] checking bigduu/Bamboo against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbigduu%2FBamboo" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bigduu/Bamboo
[INFO] finished tweaking git repo https://github.com/bigduu/Bamboo
[INFO] tweaked toml for git repo https://github.com/bigduu/Bamboo written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bigduu/Bamboo on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bigduu/Bamboo 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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1f598ab6d116e82be052247f5228566160f5c74fbff32a1b188fb624d16057d
[INFO] running `Command { std: "docker" "start" "-a" "c1f598ab6d116e82be052247f5228566160f5c74fbff32a1b188fb624d16057d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1f598ab6d116e82be052247f5228566160f5c74fbff32a1b188fb624d16057d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1f598ab6d116e82be052247f5228566160f5c74fbff32a1b188fb624d16057d", kill_on_drop: false }`
[INFO] [stdout] c1f598ab6d116e82be052247f5228566160f5c74fbff32a1b188fb624d16057d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9290c336edec376d43d5f9ce7ef108793b5144d90317cb1df5e82bb66d22d3de
[INFO] running `Command { std: "docker" "start" "-a" "9290c336edec376d43d5f9ce7ef108793b5144d90317cb1df5e82bb66d22d3de", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling zmij v1.0.18
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zerocopy v0.8.37
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking webpki-roots v1.0.5
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling time-macros v0.2.26
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking uuid v1.20.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking clap_lex v0.7.7
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]     Checking time v0.3.46
[INFO] [stderr]     Checking bytestring v1.5.0
[INFO] [stderr]     Checking jiff v0.2.18
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]     Checking clap_builder v4.5.56
[INFO] [stderr]    Compiling regex-lite v0.1.8
[INFO] [stderr]     Checking brotli v8.0.2
[INFO] [stderr]     Checking shellexpand v3.1.1
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling actix-router v0.5.3
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking cookie v0.16.2
[INFO] [stderr]     Checking env_filter v0.1.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking retry-policies v0.4.0
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking clap v4.5.56
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking ratatui v0.24.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking bamboo-masking v0.1.0 (/opt/rustwide/workdir/crates/bamboo-masking)
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking bamboo-tool v0.1.0 (/opt/rustwide/workdir/crates/bamboo-tool)
[INFO] [stderr]     Checking actix-rt v2.11.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking bamboo-memory v0.1.0 (/opt/rustwide/workdir/crates/bamboo-memory)
[INFO] [stderr]     Checking bamboo-prompt v0.1.0 (/opt/rustwide/workdir/crates/bamboo-prompt)
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-io-timeout v1.2.1
[INFO] [stdout] warning: unused import: `ArgDef`
[INFO] [stdout]  --> crates/bamboo-tool/src/executor.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::{ArgDef, ToolDef, ToolResult, ToolType};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking actix-server v2.6.0
[INFO] [stderr]     Checking bamboo-config v0.1.0 (/opt/rustwide/workdir/crates/bamboo-config)
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking bamboo-core v0.1.0 (/opt/rustwide/workdir/crates/bamboo-core)
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking actix-codec v0.5.2
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking bamboo-skill v0.1.0 (/opt/rustwide/workdir/crates/bamboo-skill)
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/bamboo-core/src/agent/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stdout] warning: unused import: `ArgDef`
[INFO] [stdout]  --> crates/bamboo-tool/src/executor.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::types::{ArgDef, ToolDef, ToolResult, ToolType};
[INFO] [stdout]   |                    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> crates/bamboo-core/src/agent/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> crates/bamboo-core/src/lib_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stdout] warning: field `tool_executor` is never read
[INFO] [stdout]   --> crates/bamboo-core/src/agent/engine.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct AgentLoop<E: ToolExecutor> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 43 |     config: AgentConfig,
[INFO] [stdout] 44 |     tool_executor: E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bamboo-session v0.1.0 (/opt/rustwide/workdir/crates/bamboo-session)
[INFO] [stderr]     Checking bamboo-mcp v0.1.0 (/opt/rustwide/workdir/crates/bamboo-mcp)
[INFO] [stdout] warning: field `tool_executor` is never read
[INFO] [stdout]   --> crates/bamboo-core/src/agent/engine.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct AgentLoop<E: ToolExecutor> {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 43 |     config: AgentConfig,
[INFO] [stdout] 44 |     tool_executor: E,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index_path` is never read
[INFO] [stdout]    --> crates/bamboo-session/src/jsonl_storage.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct JsonlStorage {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 261 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_metadata_file` is never used
[INFO] [stdout]    --> crates/bamboo-session/src/jsonl_storage.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl JsonlStorage {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 312 |     async fn save_metadata_file(&self, metadata: &SessionMetadata) -> StorageResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index_path` is never read
[INFO] [stdout]    --> crates/bamboo-session/src/jsonl_storage.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct JsonlStorage {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 261 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_metadata_file` is never used
[INFO] [stdout]    --> crates/bamboo-session/src/jsonl_storage.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl JsonlStorage {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 312 |     async fn save_metadata_file(&self, metadata: &SessionMetadata) -> StorageResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking actix-http v3.11.2
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking actix-web v4.12.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking reqwest-middleware v0.4.2
[INFO] [stderr]     Checking bamboo-tui v0.1.0 (/opt/rustwide/workdir/crates/bamboo-tui)
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/bamboo-tui/src/main.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChatResponse`
[INFO] [stdout]  --> crates/bamboo-tui/src/app.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::client::{AgentClient, ChatResponse};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/bamboo-tui/src/app.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear` and `Margin`
[INFO] [stdout]  --> crates/bamboo-tui/src/ui.rs:2:56
[INFO] [stdout]   |
[INFO] [stdout] 2 |     layout::{Alignment, Constraint, Direction, Layout, Margin, Rect},
[INFO] [stdout]   |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Wrap},
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking eventsource-client v0.12.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/bamboo-tui/src/main.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChatResponse`
[INFO] [stdout]  --> crates/bamboo-tui/src/app.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::client::{AgentClient, ChatResponse};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/bamboo-tui/src/app.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear` and `Margin`
[INFO] [stdout]  --> crates/bamboo-tui/src/ui.rs:2:56
[INFO] [stdout]   |
[INFO] [stdout] 2 |     layout::{Alignment, Constraint, Direction, Layout, Margin, Rect},
[INFO] [stdout]   |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Wrap},
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking reqwest-retry v0.7.0
[INFO] [stderr]     Checking bamboo-cli v0.1.0 (/opt/rustwide/workdir/crates/bamboo-cli)
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> crates/bamboo-tui/src/app.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Message {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 7 |     pub id: String,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are 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 `stream_url` and `status` are never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ChatResponse {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 14 |     pub session_id: String,
[INFO] [stdout] 15 |     pub stream_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub status: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatResponse` 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: struct `HistoryResponse` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct HistoryResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryMessage` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct HistoryMessage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolCall` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ToolCall {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FunctionCall` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FunctionCall {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `arguments` is never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:53:58
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ToolStart { tool_call_id: String, tool_name: String, arguments: serde_json::Value },
[INFO] [stdout]    |     --------- field in this variant                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentEvent` 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 `display_preference` is never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ToolResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub display_preference: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolResult` 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 `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct TokenUsage {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 70 |     #[serde(rename = "prompt_tokens")]
[INFO] [stdout] 71 |     pub prompt_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 72 |     #[serde(rename = "completion_tokens")]
[INFO] [stdout] 73 |     pub completion_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 74 |     #[serde(rename = "total_tokens")]
[INFO] [stdout] 75 |     pub total_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenUsage` 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 `get_history` is never used
[INFO] [stdout]    --> crates/bamboo-tui/src/client.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl AgentClient {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub async fn get_history(&self, session_id: &str) -> anyhow::Result<HistoryResponse> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/bamboo-tui/src/ui.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn format_message(msg: &Message, is_currently_streaming: bool) -> Text {
[INFO] [stdout]     |                        ^^^^^^^^ the lifetime is elided here       ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn format_message(msg: &Message, is_currently_streaming: bool) -> Text<'_> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> crates/bamboo-tui/src/app.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Message {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 7 |     pub id: String,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Message` has derived impls for the traits `Clone` and `Debug`, but these are 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 `stream_url` and `status` are never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ChatResponse {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 14 |     pub session_id: String,
[INFO] [stdout] 15 |     pub stream_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub status: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChatResponse` 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: struct `HistoryResponse` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct HistoryResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HistoryMessage` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct HistoryMessage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolCall` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ToolCall {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FunctionCall` is never constructed
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct FunctionCall {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `arguments` is never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:53:58
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ToolStart { tool_call_id: String, tool_name: String, arguments: serde_json::Value },
[INFO] [stdout]    |     --------- field in this variant                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AgentEvent` 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 `display_preference` is never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct ToolResult {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub display_preference: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ToolResult` 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 `prompt_tokens`, `completion_tokens`, and `total_tokens` are never read
[INFO] [stdout]   --> crates/bamboo-tui/src/client.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct TokenUsage {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 70 |     #[serde(rename = "prompt_tokens")]
[INFO] [stdout] 71 |     pub prompt_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 72 |     #[serde(rename = "completion_tokens")]
[INFO] [stdout] 73 |     pub completion_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 74 |     #[serde(rename = "total_tokens")]
[INFO] [stdout] 75 |     pub total_tokens: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenUsage` 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 `get_history` is never used
[INFO] [stdout]    --> crates/bamboo-tui/src/client.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl AgentClient {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub async fn get_history(&self, session_id: &str) -> anyhow::Result<HistoryResponse> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/bamboo-tui/src/ui.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn format_message(msg: &Message, is_currently_streaming: bool) -> Text {
[INFO] [stdout]     |                        ^^^^^^^^ the lifetime is elided here       ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 110 | fn format_message(msg: &Message, is_currently_streaming: bool) -> Text<'_> {
[INFO] [stdout]     |                                                                       ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bamboo-llm v0.1.0 (/opt/rustwide/workdir/crates/bamboo-llm)
[INFO] [stdout] warning: unused import: `Usage as AnthropicUsage`
[INFO] [stdout]  --> crates/bamboo-llm/src/adapters/converter.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 |     MessagesStreamEvent, Usage as AnthropicUsage,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bamboo-server v0.1.0 (/opt/rustwide/workdir/crates/bamboo-server)
[INFO] [stdout] warning: unused import: `ChatOptions`
[INFO] [stdout]  --> crates/bamboo-llm/examples/provider_usage.rs:9:38
[INFO] [stdout]   |
[INFO] [stdout] 9 | use bamboo_core::chat::{ChatRequest, ChatOptions};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/bamboo-llm/tests/mock_provider.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let mut stream = mock.chat_stream(request).await.unwrap();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_index` is never read
[INFO] [stdout]   --> crates/bamboo-llm/tests/mock_provider.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct MockLLMProvider {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout]  9 |     responses: Vec<ChatChunk>,
[INFO] [stdout] 10 |     current_index: std::sync::atomic::AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> crates/bamboo-server/src/handlers/memories.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> crates/bamboo-server/src/handlers/memories.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     model: String,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     model: String,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> crates/bamboo-server/src/agent_runner.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let response = AgentRunner::handle_chat(&state, "session-1", "Hello", &reply_to)
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:279:72
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   ClientMessage::Chat { content, session_id } => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:279:72
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   ClientMessage::Chat { content, session_id } => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct AgentRunner {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 96 |     state: Arc<crate::state::AppState>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct AgentRunner {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 96 |     state: Arc<crate::state::AppState>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> crates/bamboo-server/src/handlers/memories.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unauthorized_response`
[INFO] [stdout]  --> crates/bamboo-server/src/middleware/mod.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use api_auth::{validate_api_key, unauthorized_response};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/bamboo-server/src/skill_loader.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectionHandle` and `ConnectionPool`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use connection::{ConnectionHandle, ConnectionPool};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GatewayError`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use gateway::{Gateway, GatewayConfig, GatewayError};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientMessage`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use protocol::{ClientMessage, GatewayEvent, TokenUsage};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IncomingMessage`, `MessageRouter`, and `RouteResult`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use router::{IncomingMessage, MessageRouter, RouteResult};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SessionError`, `SessionHandle`, `SessionManager`, and `Session`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use session::{Session, SessionHandle, SessionManager, SessionError};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `hot-reload`
[INFO] [stdout]   --> crates/bamboo-server/src/main.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[cfg(feature = "hot-reload")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `hot-reload` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Deserialize`
[INFO] [stdout]  --> crates/bamboo-server/src/handlers/memories.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `unauthorized_response`
[INFO] [stdout]  --> crates/bamboo-server/src/middleware/mod.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use api_auth::{validate_api_key, unauthorized_response};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/bamboo-server/src/skill_loader.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConnectionHandle` and `ConnectionPool`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use connection::{ConnectionHandle, ConnectionPool};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GatewayError`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:13:43
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use gateway::{Gateway, GatewayConfig, GatewayError};
[INFO] [stdout]    |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientMessage`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use protocol::{ClientMessage, GatewayEvent, TokenUsage};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IncomingMessage`, `MessageRouter`, and `RouteResult`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:15:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use router::{IncomingMessage, MessageRouter, RouteResult};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SessionError`, `SessionHandle`, `SessionManager`, and `Session`
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/mod.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use session::{Session, SessionHandle, SessionManager, SessionError};
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `hot-reload`
[INFO] [stdout]   --> crates/bamboo-server/src/main.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |     #[cfg(feature = "hot-reload")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `hot-reload` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     model: String,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 |     model: String,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `response`
[INFO] [stdout]    --> crates/bamboo-server/src/agent_runner.rs:342:13
[INFO] [stdout]     |
[INFO] [stdout] 342 |         let response = AgentRunner::handle_chat(&state, "session-1", "Hello", &reply_to)
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_response`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:279:72
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   ClientMessage::Chat { content, session_id } => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `session_id`
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:279:72
[INFO] [stdout]     |
[INFO] [stdout] 279 | ...                   ClientMessage::Chat { content, session_id } => {
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: try ignoring the field: `session_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_default` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/handlers/prompts.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct CreatePromptRequest {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub is_default: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CreatePromptRequest` 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 `top_p` and `extra` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/handlers/llm_api.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OpenAiChatRequest {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub top_p: Option<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub extra: Value,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenAiChatRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool_type` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/handlers/llm_api.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct OpenAiTool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 51 |     #[serde(rename = "type")]
[INFO] [stdout] 52 |     pub tool_type: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenAiTool` 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 `OpenAiStreamChoice` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct OpenAiStreamChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiDelta` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct OpenAiDelta {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unauthorized_response` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/middleware/api_auth.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn unauthorized_response(message: &str) -> HttpResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillManagerToolExecutor` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/state.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SkillManagerToolExecutor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/state.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl SkillManagerToolExecutor {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 30 |     pub fn new(skill_manager: Arc<SkillManager>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_tool_def_to_schema` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/state.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn convert_tool_def_to_schema(tool_def: ToolDef) -> ToolSchema {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_type_to_string` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn arg_type_to_string(arg_type: &ArgType) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl AppState {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 131 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub async fn start_gateway(self: Arc<Self>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     async fn gateway_message_forwarder(&self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub async fn send_event(&self, _session_id: &str, event: Event) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub async fn save_event(&self, session_id: &str, event: &AgentEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub async fn save_session(&self, session: &Session) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn get_all_tool_schemas(&self) -> Vec<ToolSchema> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 |     pub fn build_system_prompt(&self, base_prompt: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn create_tool_executor(&self) -> Arc<dyn ToolExecutor> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_event_to_gateway_event` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:435:4
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn convert_event_to_gateway_event(event: &Event) -> Result<crate::websocket::GatewayEvent, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_sse_sender` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:545:8
[INFO] [stdout]     |
[INFO] [stdout] 545 | pub fn spawn_sse_sender(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpResponse` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct HttpResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_masking` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl AgentRunnerState {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn with_masking(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct AgentRunner {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 96 |     state: Arc<crate::state::AppState>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_session_history` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/agent_runner.rs:287:18
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl AgentRunner {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn get_session_history(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugInfo` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/logging.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct DebugInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_details`, and `to_json` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/logging.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl DebugInfo {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn new(session_id: impl Into<String>, event_type: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn with_details(mut self, details: serde_json::Value) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn to_json(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enabled` and `log_file` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/logging.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct DebugLogger {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     enabled: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     log_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `log` and `log_event` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/logging.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl DebugLogger {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn log(&self, info: &DebugInfo) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn log_event(&self, session_id: &str, event_type: &str, details: serde_json::Value) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timer` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/logging.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct Timer {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `elapsed_ms`, and `debug` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/logging.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Timer {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 118 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn elapsed_ms(&self) -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn debug(&self, session_id: &str) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `skills_dir` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/skill_loader.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SkillLoader {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 44 |     skills_dir: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_dir`, `load_skills`, and `get_skill_tool_schemas` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/skill_loader.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl SkillLoader {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn with_dir(path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn load_skills(&self) -> Vec<SkillDefinition> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_skill_tool_schemas(skills: &[SkillDefinition]) -> Vec<ToolSchema> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChannelClosed` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/event_bus.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum EventBusError {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |     ChannelClosed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventBusError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subscriber_count` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/event_bus.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl EventBus {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn subscriber_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `addr` and `last_pong` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/connection.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ConnectionHandle {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub addr: SocketAddr,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     last_pong: Arc<RwLock<std::time::Instant>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionHandle` 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 `update_pong`, `time_since_pong`, and `id` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/connection.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ConnectionHandle {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub async fn update_pong(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn time_since_pong(&self) -> Duration {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn id(&self) -> &str {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heartbeat_interval` and `heartbeat_timeout` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/connection.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct ConnectionPool {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     heartbeat_interval: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     /// Heartbeat timeout
[INFO] [stdout] 79 |     heartbeat_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `broadcast`, `send_to`, `list_connections`, `cleanup_stale`, and `start_heartbeat` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/connection.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl ConnectionPool {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn get(&self, connection_id: &str) -> Option<ConnectionHandle> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn broadcast(&self, event: GatewayEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn send_to(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub async fn list_connections(&self) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub async fn cleanup_stale(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn start_heartbeat(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotFound` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/connection.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum ConnectionError {
[INFO] [stdout]     |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 267 |     NotFound(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `session_manager`, `connection_pool`, `message_router`, `message_receiver`, `broadcast`, and `send_to` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl Gateway {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn session_manager(&self) -> &SessionManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn connection_pool(&self) -> &ConnectionPool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn message_router(&self) -> &MessageRouter {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn message_receiver(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     pub async fn broadcast(&self, event: GatewayEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub async fn send_to(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SessionNotFound`, `SessionNotConnected`, and `ChannelClosed` are never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub enum GatewayError {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 432 |     SessionNotFound(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 433 |     #[error("Session not connected: {0}")]
[INFO] [stdout] 434 |     SessionNotConnected(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 435 |     #[error("Channel closed")]
[INFO] [stdout] 436 |     ChannelClosed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GatewayError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToChannel` and `None` are never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/router.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum RouteResult {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     ToChannel(String, String), // channel_id, message
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RouteResult` 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 `broadcast` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/router.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl MessageRouter {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn broadcast(&self, _event: GatewayEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MessageHandler` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/router.rs:149:11
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait MessageHandler: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_id`, `created_at`, and `metadata` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/session.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Session {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub user_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Session` 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 items `with_id`, `age`, and `idle_time` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/session.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn with_id(id: impl Into<String>, user_id: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn age(&self) -> Duration {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn idle_time(&self) -> Duration {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/session.rs:133:18
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl SessionManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn attach_connection(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub async fn remove(&self,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn list_sessions(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn connected_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn session_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn cleanup_inactive(&self,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn exists(&self, session_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AlreadyConnected` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/session.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub enum SessionError {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 224 |     AlreadyConnected(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SessionError` 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 `MemorySessionStorage` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/storage.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MemorySessionStorage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/storage.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl MemorySessionStorage {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_default` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/handlers/prompts.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct CreatePromptRequest {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub is_default: Option<bool>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CreatePromptRequest` 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 `top_p` and `extra` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/handlers/llm_api.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OpenAiChatRequest {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub top_p: Option<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub extra: Value,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenAiChatRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool_type` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/handlers/llm_api.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct OpenAiTool {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 51 |     #[serde(rename = "type")]
[INFO] [stdout] 52 |     pub tool_type: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpenAiTool` 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 `OpenAiStreamChoice` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct OpenAiStreamChoice {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAiDelta` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/handlers/llm_api.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub struct OpenAiDelta {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unauthorized_response` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/middleware/api_auth.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn unauthorized_response(message: &str) -> HttpResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillManagerToolExecutor` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/state.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SkillManagerToolExecutor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/state.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl SkillManagerToolExecutor {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 30 |     pub fn new(skill_manager: Arc<SkillManager>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_tool_def_to_schema` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/state.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn convert_tool_def_to_schema(tool_def: ToolDef) -> ToolSchema {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arg_type_to_string` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn arg_type_to_string(arg_type: &ArgType) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl AppState {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 131 |     pub async fn new() -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub async fn start_gateway(self: Arc<Self>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     async fn gateway_message_forwarder(&self) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub async fn send_event(&self, _session_id: &str, event: Event) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub async fn save_event(&self, session_id: &str, event: &AgentEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     pub async fn save_session(&self, session: &Session) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn get_all_tool_schemas(&self) -> Vec<ToolSchema> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 |     pub fn build_system_prompt(&self, base_prompt: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn create_tool_executor(&self) -> Arc<dyn ToolExecutor> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_event_to_gateway_event` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:435:4
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn convert_event_to_gateway_event(event: &Event) -> Result<crate::websocket::GatewayEvent, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_sse_sender` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/state.rs:545:8
[INFO] [stdout]     |
[INFO] [stdout] 545 | pub fn spawn_sse_sender(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmMessage` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct LlmMessage {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmRequest` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct LlmRequest {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmChoice` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct LlmChoice {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmResponse` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct LlmResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatResponse` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ChatResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HttpResponse` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct HttpResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentRunnerState` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct AgentRunnerState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_masking` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl AgentRunnerState {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 73 |     pub fn new(event_bus: Arc<EventBus>, storage: Arc<dyn SessionStorage>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn with_masking(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> crates/bamboo-server/src/agent_runner.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct AgentRunner {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 96 |     state: Arc<crate::state::AppState>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `call_llm`, `handle_chat`, and `get_session_history` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/agent_runner.rs:115:14
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl AgentRunner {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 115 |     async fn call_llm(
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub async fn handle_chat(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub async fn get_session_history(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugInfo` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/logging.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct DebugInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_details`, and `to_json` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/logging.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl DebugInfo {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn new(session_id: impl Into<String>, event_type: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn with_details(mut self, details: serde_json::Value) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn to_json(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `enabled` and `log_file` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/logging.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct DebugLogger {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     enabled: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     log_file: Option<PathBuf>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `log` and `log_event` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/logging.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl DebugLogger {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn log(&self, info: &DebugInfo) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn log_event(&self, session_id: &str, event_type: &str, details: serde_json::Value) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timer` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/logging.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct Timer {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `elapsed_ms`, and `debug` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/logging.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Timer {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 118 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn elapsed_ms(&self) -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn debug(&self, session_id: &str) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillDefinition` is never constructed
[INFO] [stdout]  --> crates/bamboo-server/src/skill_loader.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct SkillDefinition {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SkillVisibility` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/skill_loader.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum SkillVisibility {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillLoader` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/skill_loader.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct SkillLoader {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_dir`, `load_skills`, `skills_to_system_prompt`, `get_skill_tool_schemas`, and `build_system_prompt` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/skill_loader.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl SkillLoader {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  48 |     /// Create new skill loader with default directory (~/.bodhi/skills)
[INFO] [stdout]  49 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn with_dir(path: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn load_skills(&self) -> Vec<SkillDefinition> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn skills_to_system_prompt(skills: &[SkillDefinition]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_skill_tool_schemas(skills: &[SkillDefinition]) -> Vec<ToolSchema> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn build_system_prompt(base_prompt: &str, skills: &[SkillDefinition]) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChannelClosed` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/event_bus.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum EventBusError {
[INFO] [stdout]     |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |     ChannelClosed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventBusError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subscriber_count` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/event_bus.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl EventBus {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn subscriber_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `addr` and `last_pong` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/connection.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ConnectionHandle {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub addr: SocketAddr,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     last_pong: Arc<RwLock<std::time::Instant>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionHandle` 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 `update_pong`, `time_since_pong`, and `id` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/connection.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ConnectionHandle {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub async fn update_pong(&self) {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn time_since_pong(&self) -> Duration {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn id(&self) -> &str {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `heartbeat_interval` and `heartbeat_timeout` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/connection.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct ConnectionPool {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     heartbeat_interval: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     /// Heartbeat timeout
[INFO] [stdout] 79 |     heartbeat_timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectionPool` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `broadcast`, `send_to`, `list_connections`, `cleanup_stale`, and `start_heartbeat` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/connection.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl ConnectionPool {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn get(&self, connection_id: &str) -> Option<ConnectionHandle> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn broadcast(&self, event: GatewayEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn send_to(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub async fn list_connections(&self) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub async fn cleanup_stale(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn start_heartbeat(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotFound` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/connection.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum ConnectionError {
[INFO] [stdout]     |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 267 |     NotFound(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConnectionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `session_manager`, `connection_pool`, `message_router`, `message_receiver`, `broadcast`, and `send_to` are never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl Gateway {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn session_manager(&self) -> &SessionManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn connection_pool(&self) -> &ConnectionPool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn message_router(&self) -> &MessageRouter {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn message_receiver(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     pub async fn broadcast(&self, event: GatewayEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub async fn send_to(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SessionNotFound`, `SessionNotConnected`, and `ChannelClosed` are never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/gateway.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub enum GatewayError {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 432 |     SessionNotFound(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 433 |     #[error("Session not connected: {0}")]
[INFO] [stdout] 434 |     SessionNotConnected(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 435 |     #[error("Channel closed")]
[INFO] [stdout] 436 |     ChannelClosed,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GatewayError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ToChannel` and `None` are never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/router.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum RouteResult {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     ToChannel(String, String), // channel_id, message
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RouteResult` 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 `broadcast` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/router.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl MessageRouter {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn broadcast(&self, _event: GatewayEvent) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `MessageHandler` is never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/router.rs:149:11
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub trait MessageHandler: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `user_id`, `created_at`, and `metadata` are never read
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/session.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Session {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub user_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Session` 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 items `with_id`, `age`, and `idle_time` are never used
[INFO] [stdout]   --> crates/bamboo-server/src/websocket/session.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl Session {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn with_id(id: impl Into<String>, user_id: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn age(&self) -> Duration {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn idle_time(&self) -> Duration {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/session.rs:133:18
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl SessionManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn attach_connection(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub async fn remove(&self,
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn list_sessions(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn connected_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn session_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn cleanup_inactive(&self,
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn exists(&self, session_id: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `AlreadyConnected` is never constructed
[INFO] [stdout]    --> crates/bamboo-server/src/websocket/session.rs:224:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub enum SessionError {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 224 |     AlreadyConnected(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SessionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SessionStorage` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/storage.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait SessionStorage: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MemorySessionStorage` is never constructed
[INFO] [stdout]   --> crates/bamboo-server/src/storage.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MemorySessionStorage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/bamboo-server/src/storage.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl MemorySessionStorage {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 49s
[INFO] running `Command { std: "docker" "inspect" "9290c336edec376d43d5f9ce7ef108793b5144d90317cb1df5e82bb66d22d3de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9290c336edec376d43d5f9ce7ef108793b5144d90317cb1df5e82bb66d22d3de", kill_on_drop: false }`
[INFO] [stdout] 9290c336edec376d43d5f9ce7ef108793b5144d90317cb1df5e82bb66d22d3de
