[INFO] cloning repository https://github.com/VDHewei/small-agent
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/VDHewei/small-agent" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVDHewei%2Fsmall-agent", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVDHewei%2Fsmall-agent'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 53f001e524a3ad447fd66b70f6877ab9aa30a503
[INFO] testing VDHewei/small-agent against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVDHewei%2Fsmall-agent" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/VDHewei/small-agent
[INFO] finished tweaking git repo https://github.com/VDHewei/small-agent
[INFO] tweaked toml for git repo https://github.com/VDHewei/small-agent written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/VDHewei/small-agent on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/VDHewei/small-agent already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa
[INFO] running `Command { std: "docker" "start" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling which v8.0.2
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling if_chain v1.0.3
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling luajit-src v210.7.1+18b087c
[INFO] [stderr]    Compiling lua-src v550.1.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling convert_case v0.11.0
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling ordered-float v5.3.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling futures-timer v3.0.4
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling as-any v0.3.2
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling mlua-sys v0.11.0-rc.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling deluxe-core v0.5.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling uuid v1.23.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling assets_i8n v0.1.0 (/opt/rustwide/workdir/assets_i8n)
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling deluxe-macros v0.5.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling nanoid v0.4.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling deluxe v0.5.0
[INFO] [stderr]    Compiling rig-derive v0.39.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling mlua v0.12.0-rc.2
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling h2 v0.4.15
[INFO] [stderr]    Compiling tower-http v0.7.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling rig-core v0.39.0
[INFO] [stderr]    Compiling rig v0.39.0
[INFO] [stderr]    Compiling small-agent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ApiExecutorConfig`, `ApiExecutor`, and `DynamicApiTool`
[INFO] [stdout]   --> src/knowledge/mod.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use swagger::{ApiExecutor, ApiExecutorConfig, DynamicApiTool};
[INFO] [stdout]    |                   ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `try_llm_response` is never used
[INFO] [stdout]    --> src/agent/chat.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl ChatAgent {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     async fn try_llm_response(
[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 `try_llm_response` is never used
[INFO] [stdout]    --> src/agent/expert.rs:187:14
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl ExpertAgent {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     async fn try_llm_response(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `len` are never used
[INFO] [stdout]    --> src/knowledge/mod.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl KnowledgeBase {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get(&self, name: &str) -> Option<&KnowledgeEntry> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tools_by_module` is never used
[INFO] [stdout]    --> src/knowledge/swagger.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl SwaggerRegistry {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn get_tools_by_module(&self, module: &str) -> Vec<&ApiToolDef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiExecutorConfig` is never constructed
[INFO] [stdout]    --> src/knowledge/swagger.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct ApiExecutorConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DynamicApiTool` is never constructed
[INFO] [stdout]    --> src/knowledge/swagger.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub struct DynamicApiTool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/knowledge/swagger.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl DynamicApiTool {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 335 |     /// 从 ApiToolDef 创建 DynamicApiTool
[INFO] [stdout] 336 |     pub fn from_def(tool_def: ApiToolDef) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn from_def_with_config(tool_def: ApiToolDef, config: ApiExecutorConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn display_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn description(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn method_and_path(&self) -> (&str, &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn build_request(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 457 |     pub async fn execute(&self, args: &serde_json::Value) -> anyhow::Result<serde_json::Value> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiExecutor` is never constructed
[INFO] [stdout]    --> src/knowledge/swagger.rs:540:12
[INFO] [stdout]     |
[INFO] [stdout] 540 | pub struct ApiExecutor {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/knowledge/swagger.rs:553:12
[INFO] [stdout]     |
[INFO] [stdout] 549 | impl ApiExecutor {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 553 |     pub fn new(registry: SwaggerRegistry) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |     pub fn new_with_config(registry: SwaggerRegistry, config: ApiExecutorConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 585 |     pub fn get_tool(&self, name: &str) -> Option<&DynamicApiTool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 592 |     pub fn get_tools_by_module(&self, module: &str) -> Vec<&DynamicApiTool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 |     pub fn search_tools(&self, query: &str) -> Vec<&DynamicApiTool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 621 |     pub async fn call_tool(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 634 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     pub fn all_tools(&self) -> &[DynamicApiTool] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 649 |     pub fn update_config(&mut self, config: ApiExecutorConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlmResponse` is never constructed
[INFO] [stdout]   --> src/llm/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct LlmResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `text` is never used
[INFO] [stdout]   --> src/llm/mod.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl LlmResponse {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 57 |     /// 创建一个简单的文本响应（无 Token 统计）
[INFO] [stdout] 58 |     pub fn text(content: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolCall` is never constructed
[INFO] [stdout]   --> src/llm/mod.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ToolCall {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatMessage` is never constructed
[INFO] [stdout]   --> src/llm/mod.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct ChatMessage {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `system`, `user`, and `assistant` are never used
[INFO] [stdout]    --> src/llm/mod.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl ChatMessage {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout]  89 |     /// 创建系统角色消息
[INFO] [stdout]  90 |     pub fn system(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn user(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn assistant(content: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompletionConfig` is never constructed
[INFO] [stdout]    --> src/llm/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct CompletionConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelProvider` is never used
[INFO] [stdout]    --> src/llm/mod.rs:143:10
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub enum ModelProvider {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModelCapability` is never used
[INFO] [stdout]    --> src/llm/mod.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub enum ModelCapability {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlmError` is never used
[INFO] [stdout]    --> src/llm/mod.rs:180:10
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub enum LlmError {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `LlmProvider` is never used
[INFO] [stdout]    --> src/llm/mod.rs:211:11
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub trait LlmProvider: Send + Sync {
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntentResult` is never constructed
[INFO] [stdout]    --> src/llm/mod.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub struct IntentResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_llm_available` is never used
[INFO] [stdout]    --> src/llm/mod.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn is_llm_available() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_provider` is never used
[INFO] [stdout]    --> src/llm/mod.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn infer_provider(api_base: &str) -> ModelProvider {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChatEngine` is never constructed
[INFO] [stdout]   --> src/llm/chat.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ChatEngine {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/llm/chat.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl ChatEngine {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn from_config(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub async fn chat_response(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub async fn route_intent(&mut self, message: &str) -> Option<IntentResult> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn should_switch_to_expert(intent: &IntentResult) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn model_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn provider_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpertEngine` is never constructed
[INFO] [stdout]   --> src/llm/expert.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ExpertEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/llm/expert.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl ExpertEngine {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn from_config(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn register_swagger_context(&mut self, context: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn expert_response(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn review_code(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn model_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn provider_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptBuilder` is never constructed
[INFO] [stdout]   --> src/llm/prompt.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PromptBuilder;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `build_chat_context`, `build_expert_context`, and `build_system_role` are never used
[INFO] [stdout]    --> src/llm/prompt.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl PromptBuilder {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub fn build_chat_context(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn build_expert_context(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn build_system_role(role: &str, description: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OllamaProvider` is never constructed
[INFO] [stdout]   --> src/llm/provider.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OllamaProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call_rig_agent` are never used
[INFO] [stdout]   --> src/llm/provider.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl OllamaProvider {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 27 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     async fn call_rig_agent(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenAICompatProvider` is never constructed
[INFO] [stdout]    --> src/llm/provider.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct OpenAICompatProvider {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call_rig_agent` are never used
[INFO] [stdout]    --> src/llm/provider.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl OpenAICompatProvider {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 153 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     async fn call_rig_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_provider` is never used
[INFO] [stdout]    --> src/llm/provider.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub fn create_provider(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_llm_health` is never used
[INFO] [stdout]    --> src/llm/provider.rs:289:14
[INFO] [stdout]     |
[INFO] [stdout] 289 | pub async fn check_llm_health(api_base: &str) -> Result<String, LlmError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `system` is never used
[INFO] [stdout]   --> src/memory/tenant.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Message {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn system(content: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `trim` is never used
[INFO] [stdout]    --> src/memory/tenant.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl Session {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn trim(&mut self, keep: usize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `record_usage` are never used
[INFO] [stdout]    --> src/memory/tenant.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl UserSkill {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 151 |     /// 创建新技能
[INFO] [stdout] 152 |     pub fn new(name: impl Into<String>, description: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn record_usage(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data_dir` and `tenant_skills` are never read
[INFO] [stdout]    --> src/memory/tenant.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct TenantSessionManager {
[INFO] [stdout]     |            -------------------- fields in this struct
[INFO] [stdout] 178 |     /// 存储根目录（每个租户在其下拥有独立子目录）
[INFO] [stdout] 179 |     data_dir: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     tenant_skills: Arc<RwLock<HashMap<String, Vec<UserSkill>>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/memory/tenant.rs:260:18
[INFO] [stdout]     |
[INFO] [stdout] 186 | impl TenantSessionManager {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub async fn add_skill(&self, tenant_id: &str, skill: UserSkill) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub async fn get_skills(&self, tenant_id: &str) -> Vec<UserSkill> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub async fn get_favorite_skills(&self, tenant_id: &str) -> Vec<UserSkill> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub async fn record_skill_usage(&self, tenant_id: &str, skill_name: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub async fn distill_memories_to_skills(&self, tenant_id: &str) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub async fn persist_all(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     async fn persist_tenant(&self, tenant_id: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 568 |     pub async fn load_all(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScriptResult` is never constructed
[INFO] [stdout]   --> src/sandbox/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ScriptResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `success` and `error` are never used
[INFO] [stdout]   --> src/sandbox/mod.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl ScriptResult {
[INFO] [stdout]    | ----------------- associated functions in this implementation
[INFO] [stdout] 37 |     /// 创建成功结果
[INFO] [stdout] 38 |     pub fn success(stdout: impl Into<String>, duration_secs: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn error(error: impl Into<String>, duration_secs: f64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SandboxConfig` is never constructed
[INFO] [stdout]   --> src/sandbox/mod.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct SandboxConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SandboxExecutor` is never used
[INFO] [stdout]   --> src/sandbox/mod.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub trait SandboxExecutor {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `script_extension` is never used
[INFO] [stdout]    --> src/sandbox/mod.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn script_extension(lang: &str) -> Option<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LuaSandbox` is never constructed
[INFO] [stdout]   --> src/sandbox/lua.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct LuaSandbox {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `create_safe_vm` are never used
[INFO] [stdout]   --> src/sandbox/lua.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl LuaSandbox {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 23 |     /// 创建新的 Lua 沙箱执行器
[INFO] [stdout] 24 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn create_safe_vm(&self) -> LuaResult<Lua> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_value` is never used
[INFO] [stdout]    --> src/sandbox/lua.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn format_value(value: &Value) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_lua` is never used
[INFO] [stdout]    --> src/sandbox/lua.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn execute_lua(code: &str, config: &SandboxConfig) -> ScriptResult {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_id` is never read
[INFO] [stdout]    --> src/server/mod.rs:403:9
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub struct SessionQueryParams {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub user_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SessionQueryParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/skills/mod.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl SkillRegistry {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn unregister(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn get(&self, name: &str) -> Option<&SkillDef> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn get_by_command(&self, command: &str) -> Option<&SkillDef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn list_favorites(&self) -> Vec<&SkillDef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn list_system_skills(&self) -> Vec<&SkillDef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_REGISTRY_DIR` is never used
[INFO] [stdout]   --> src/skills/local_registry.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const DEFAULT_REGISTRY_DIR: &str = ".skill_registry";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/skills/local_registry.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl LocalSkillRegistry {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn open() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn init() -> anyhow::Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn root(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn get_skill(&self, skill_id: &str) -> anyhow::Result<Option<SkillDef>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn register_skill(&self, skill: &SkillDef) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn unregister_skill(&self, skill_id: &str) -> anyhow::Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn save_script(&self, name: &str, content: &str) -> anyhow::Result<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn load_script(&self, name: &str) -> anyhow::Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn list_scripts(&self) -> anyhow::Result<Vec<PathBuf>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn remove_index_entry(&self, skill_id: &str) -> anyhow::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     pub fn sync_from(&self, source: &super::SkillRegistry) -> anyhow::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn skill_count(&self) -> anyhow::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 26s
[INFO] running `Command { std: "docker" "inspect" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tower-http v0.7.0
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rig-core v0.39.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rig v0.39.0
[INFO] [stderr] error: could not compile `rig-core` (lib)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.98.0-beta.1-x86_64-unknown-linux-gnu/bin/rustc --crate-name rig_core --edition=2024 /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rig-core-0.39.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 '--deny=clippy::unwrap_used' '--deny=clippy::unreachable' '--forbid=clippy::unimplemented' '--forbid=clippy::todo' '--deny=clippy::panic_in_result_fn' '--deny=clippy::panic' '--deny=clippy::indexing_slicing' '--deny=clippy::expect_used' '--deny=clippy::expect_fun_call' '--forbid=clippy::dbg_macro' '--deny=clippy::await_holding_refcell_ref' '--deny=clippy::await_holding_lock' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="reqwest"' --cfg 'feature="rustls"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("audio", "default", "derive", "discord-bot", "epub", "experimental", "image", "native-tls", "pdf", "rayon", "reqwest", "reqwest-middleware", "reqwest-middleware-native-tls", "reqwest-middleware-rustls", "rmcp", "rustls", "socks", "test-utils", "wasm", "websocket", "websocket-native-tls", "websocket-rustls"))' -C metadata=fed35dfce4bf415e -C extra-filename=-b1c26aab5bf91951 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern as_any=/opt/rustwide/target/debug/deps/libas_any-51911e2d14be9237.rmeta --extern async_stream=/opt/rustwide/target/debug/deps/libasync_stream-8b693d4494217ebe.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-32787b0325ea6df8.rmeta --extern bytes=/opt/rustwide/target/debug/deps/libbytes-8d3fe75014eb498b.rmeta --extern eventsource_stream=/opt/rustwide/target/debug/deps/libeventsource_stream-ff9e13c464c1cedf.rmeta --extern fastrand=/opt/rustwide/target/debug/deps/libfastrand-8c711c36072d5b5b.rmeta --extern futures=/opt/rustwide/target/debug/deps/libfutures-45d4b68f7a68ea77.rmeta --extern futures_timer=/opt/rustwide/target/debug/deps/libfutures_timer-ad42fa842b203f01.rmeta --extern glob=/opt/rustwide/target/debug/deps/libglob-7748687a416caec7.rmeta --extern http=/opt/rustwide/target/debug/deps/libhttp-faa531d1f5c77dc0.rmeta --extern indexmap=/opt/rustwide/target/debug/deps/libindexmap-b92bb9c25241b995.rmeta --extern mime=/opt/rustwide/target/debug/deps/libmime-0188e0814ca7ddbf.rmeta --extern mime_guess=/opt/rustwide/target/debug/deps/libmime_guess-62c79a973dd7d3e8.rmeta --extern nanoid=/opt/rustwide/target/debug/deps/libnanoid-69e7e9eaa960316c.rmeta --extern ordered_float=/opt/rustwide/target/debug/deps/libordered_float-517394d3b330f954.rmeta --extern pin_project_lite=/opt/rustwide/target/debug/deps/libpin_project_lite-0a15d51c77964692.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-d58e964398ee0953.rmeta --extern rig_derive=/opt/rustwide/target/debug/deps/librig_derive-9e887c35f1803067.so --extern schemars=/opt/rustwide/target/debug/deps/libschemars-3295f7bb7e48dceb.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-23161adbb5690474.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-322da02a87bca5fc.rmeta --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-78d05bfd8bcb3523.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-778e5e0c598dfffa.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-d6efefaaefc22ee1.rmeta --extern tracing_futures=/opt/rustwide/target/debug/deps/libtracing_futures-e4c5f483b4af30ea.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-d37d8377b54f4dea.rmeta --cap-lints allow --cap-lints=warn -L native=/opt/rustwide/target/debug/build/aws-lc-sys-45049d06e52acd93/out` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa", kill_on_drop: false }`
[INFO] [stdout] 62e0354daa6dfd917e2d89230b02d8aec08371973a1f978d08ba7e4288d2b1fa
