[INFO] cloning repository https://github.com/cs68614-hash/claudia-api
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cs68614-hash/claudia-api" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcs68614-hash%2Fclaudia-api", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcs68614-hash%2Fclaudia-api'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 93ae8f5885a4baebb1e85256240ed19ff65904f9
[INFO] checking cs68614-hash/claudia-api against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcs68614-hash%2Fclaudia-api" "/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/cs68614-hash/claudia-api
[INFO] finished tweaking git repo https://github.com/cs68614-hash/claudia-api
[INFO] tweaked toml for git repo https://github.com/cs68614-hash/claudia-api written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cs68614-hash/claudia-api on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cs68614-hash/claudia-api 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "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/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a45175cf5409061ae3bfe30adadf3d8673efc695584bf1acaf7dfb67d23bf7c5
[INFO] running `Command { std: "docker" "start" "-a" "a45175cf5409061ae3bfe30adadf3d8673efc695584bf1acaf7dfb67d23bf7c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a45175cf5409061ae3bfe30adadf3d8673efc695584bf1acaf7dfb67d23bf7c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a45175cf5409061ae3bfe30adadf3d8673efc695584bf1acaf7dfb67d23bf7c5", kill_on_drop: false }`
[INFO] [stdout] a45175cf5409061ae3bfe30adadf3d8673efc695584bf1acaf7dfb67d23bf7c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9ffe72f2c15021aa18c3bd56c03932a5481f37c08094db9fd314ea540bff72b0
[INFO] running `Command { std: "docker" "start" "-a" "9ffe72f2c15021aa18c3bd56c03932a5481f37c08094db9fd314ea540bff72b0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling winnow v0.7.11
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling dtoa v1.0.10
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.8.0
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.8.0
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling selectors v0.24.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling unic-common v0.9.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling camino v1.1.10
[INFO] [stderr]    Compiling matches v0.1.10
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling unic-char-range v0.9.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling unic-char-property v0.9.0
[INFO] [stderr]    Compiling markup5ever v0.14.1
[INFO] [stderr]    Compiling servo_arc v0.2.0
[INFO] [stderr]    Compiling unic-ucd-version v0.9.0
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling phf v0.8.0
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling unic-ucd-ident v0.9.0
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling dyn-clone v1.0.19
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling brotli v8.0.1
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling cssparser v0.29.6
[INFO] [stderr]    Compiling phf_macros v0.10.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling gtk v0.18.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_with_macros v3.14.0
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling match_token v0.1.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling cfb v0.7.3
[INFO] [stderr]    Compiling erased-serde v0.4.6
[INFO] [stderr]    Compiling jsonptr v0.6.3
[INFO] [stderr]    Compiling html5ever v0.29.1
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling infer v0.19.0
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]    Compiling json-patch v3.0.1
[INFO] [stderr]    Compiling serde-untagged v0.1.7
[INFO] [stderr]    Compiling urlpattern v0.3.0
[INFO] [stderr]    Compiling kuchikiki v0.8.8-speedreader
[INFO] [stderr]    Compiling serde_with v3.14.0
[INFO] [stderr]    Compiling toml_edit v0.20.7
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]    Compiling embed-resource v3.0.4
[INFO] [stderr]    Compiling cargo_toml v0.22.1
[INFO] [stderr]    Compiling tauri-winres v0.3.1
[INFO] [stderr]    Compiling proc-macro-crate v2.0.0
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling gdk-sys v0.18.2
[INFO] [stderr]    Compiling tauri-utils v2.5.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling atk-sys v0.18.2
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling gtk-sys v0.18.2
[INFO] [stderr]    Compiling glib-macros v0.18.5
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling javascriptcore-rs-sys v1.1.1
[INFO] [stderr]    Compiling soup3-sys v0.5.0
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling gdkx11-sys v0.18.2
[INFO] [stderr]    Compiling webkit2gtk-sys v2.0.1
[INFO] [stderr]    Compiling gtk3-macros v0.18.2
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]     Checking x11 v2.21.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking glib v0.18.5
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking keyboard-types v0.7.0
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling dlopen2_derive v0.4.1
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling tauri-runtime v2.7.0
[INFO] [stderr]     Checking dunce v1.0.5
[INFO] [stderr]    Compiling wry v0.52.1
[INFO] [stderr]     Checking libappindicator-sys v0.9.0
[INFO] [stderr]     Checking dlopen2 v0.7.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ico v0.4.0
[INFO] [stderr]     Checking gdkwayland-sys v0.18.2
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking bytemuck v1.23.1
[INFO] [stderr]    Compiling tauri-runtime-wry v2.7.1
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling serialize-to-javascript-impl v0.1.1
[INFO] [stderr]    Compiling tauri-plugin v2.3.0
[INFO] [stderr]    Compiling tauri-build v2.3.0
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]    Compiling tauri-codegen v2.3.0
[INFO] [stderr]     Checking serialize-to-javascript v0.1.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking http-range v0.1.5
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]     Checking heck v0.5.0
[INFO] [stderr]    Compiling zvariant_utils v3.2.0
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]     Checking gio v0.18.4
[INFO] [stderr]     Checking cairo-rs v0.18.5
[INFO] [stderr]     Checking atk v0.18.2
[INFO] [stderr]     Checking javascriptcore-rs v1.1.2
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]     Checking unicode-ident v1.0.18
[INFO] [stderr]     Checking h2 v0.4.11
[INFO] [stderr]     Checking rustls-pki-types v1.12.0
[INFO] [stderr]    Compiling zvariant_derive v5.5.3
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]    Compiling wayland-backend v0.3.10
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.28
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking rustls-webpki v0.103.3
[INFO] [stderr]     Checking polling v3.8.0
[INFO] [stderr]     Checking os_pipe v1.2.2
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking wayland-client v0.31.10
[INFO] [stderr]    Compiling zvariant v5.5.3
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking async-io v2.4.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling tauri v2.6.2
[INFO] [stderr]    Compiling tauri-macros v2.3.1
[INFO] [stderr]    Compiling tauri-plugin-fs v2.4.0
[INFO] [stderr]     Checking hyper-util v0.1.14
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking psl-types v2.0.11
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking tokio-rustls v0.26.2
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling zbus_names v4.2.0
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking async-signal v0.2.11
[INFO] [stderr]     Checking wayland-protocols v0.32.8
[INFO] [stderr]     Checking webpki-roots v1.0.1
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking iri-string v0.7.8
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking tree_magic_mini v3.1.6
[INFO] [stderr]    Compiling zbus_macros v5.7.1
[INFO] [stderr]     Checking async-process v2.3.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking cookie_store v0.21.1
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking is-docker v0.2.0
[INFO] [stderr]    Compiling rfd v0.15.3
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking is-wsl v0.4.0
[INFO] [stderr]     Checking reqwest v0.12.22
[INFO] [stderr]     Checking sigchld v0.2.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking pango v0.18.3
[INFO] [stderr]     Checking gdk-pixbuf v0.18.5
[INFO] [stderr]     Checking soup3 v0.5.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.8
[INFO] [stderr]     Checking zbus v5.7.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]    Compiling tauri-plugin-notification v2.3.0
[INFO] [stderr]    Compiling tauri-plugin-global-shortcut v2.3.0
[INFO] [stderr]    Compiling tauri-plugin-dialog v2.3.0
[INFO] [stderr]    Compiling tauri-plugin-clipboard-manager v2.3.0
[INFO] [stderr]     Checking wl-clipboard-rs v0.9.2
[INFO] [stderr]    Compiling tauri-plugin-http v2.5.0
[INFO] [stderr]    Compiling tauri-plugin-updater v2.9.0
[INFO] [stderr]    Compiling tauri-plugin-process v2.3.0
[INFO] [stderr]     Checking gdk v0.18.2
[INFO] [stderr]    Compiling tauri-plugin-shell v2.3.0
[INFO] [stderr]     Checking xattr v1.5.1
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking anstream v0.6.19
[INFO] [stderr]     Checking open v5.3.2
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking global-hotkey v0.7.0
[INFO] [stderr]     Checking arboard v3.6.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking shared_child v1.1.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking data-url v0.3.1
[INFO] [stderr]     Checking minisign-verify v0.2.4
[INFO] [stderr]     Checking env_home v0.1.0
[INFO] [stderr]     Checking jiff v0.2.15
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking which v7.0.3
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking gdkx11 v0.18.2
[INFO] [stderr]     Checking notify-rust v4.11.7
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking webkit2gtk v2.0.1
[INFO] [stderr]     Checking libappindicator v0.9.0
[INFO] [stderr]     Checking tao v0.34.0
[INFO] [stderr]     Checking muda v0.17.0
[INFO] [stderr]     Checking tray-icon v0.21.0
[INFO] [stderr]     Checking claudia-api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Path`, `Query`, `State`, `delete`, and `put`
[INFO] [stdout]  --> src/main.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     extract::{Path, Query, State},
[INFO] [stdout]   |               ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     routing::{get, post, put, delete},
[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: `rusqlite::Connection`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rusqlite::Connection;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `Query`, `State`, `delete`, and `put`
[INFO] [stdout]  --> src/main.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     extract::{Path, Query, State},
[INFO] [stdout]   |               ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     routing::{get, post, put, delete},
[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: `rusqlite::Connection`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rusqlite::Connection;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AgentRun`, `Agent`, `cleanup_finished_processes`, `create_agent`, `delete_agent`, `execute_agent`, `export_agent_to_file`, `export_agent`, `fetch_github_agent_content`, `fetch_github_agents`, `get_agent_run_with_real_time_metrics`, `get_agent_run`, `get_agent`, `get_claude_binary_path`, `get_live_session_output`, `get_session_output`, `get_session_status`, `import_agent_from_file`, `import_agent_from_github`, `import_agent`, `init_database`, `kill_agent_session`, `list_agent_runs_with_metrics`, `list_agent_runs`, `list_agents`, `list_claude_installations`, `list_running_sessions`, `load_agent_session_history`, `set_claude_binary_path`, `stream_session_output`, and `update_agent`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Agent, AgentRun, AgentDb,cleanup_finished_processes, create_agent, delete_agent, execute_agent, export_agent,
[INFO] [stdout]    |     ^^^^^  ^^^^^^^^          ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 21 |     export_agent_to_file, fetch_github_agent_content, fetch_github_agents, get_agent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 22 |     get_agent_run, get_agent_run_with_real_time_metrics, get_claude_binary_path,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     get_live_session_output, get_session_output, get_session_status, import_agent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 24 |     import_agent_from_file, import_agent_from_github, init_database, kill_agent_session,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     list_agent_runs, list_agent_runs_with_metrics, list_agents, list_claude_installations,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     list_running_sessions, load_agent_session_history, set_claude_binary_path, stream_session_output, update_agent
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cancel_claude_execution`, `check_auto_checkpoint`, `check_claude_version`, `cleanup_old_checkpoints`, `clear_checkpoint_manager`, `continue_claude_code`, `create_checkpoint`, `execute_claude_code`, `fork_from_checkpoint`, `get_checkpoint_diff`, `get_checkpoint_settings`, `get_checkpoint_state_stats`, `get_claude_session_output`, `get_claude_settings`, `get_hooks_config`, `get_recently_modified_files`, `get_session_timeline`, `get_system_prompt`, `list_checkpoints`, `list_directory_contents`, `list_running_claude_sessions`, `load_session_history`, `open_new_session`, `read_claude_md_file`, `restore_checkpoint`, `resume_claude_code`, `save_claude_md_file`, `save_claude_settings`, `save_system_prompt`, `search_files`, `track_checkpoint_message`, `track_session_messages`, `update_checkpoint_settings`, `update_hooks_config`, and `validate_hook_command`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     cancel_claude_execution, check_auto_checkpoint, check_claude_version, cleanup_old_checkpoints,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     clear_checkpoint_manager, continue_claude_code, create_checkpoint, execute_claude_code,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     find_claude_md_files, fork_from_checkpoint, get_checkpoint_diff, get_checkpoint_settings,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     get_checkpoint_state_stats, get_claude_session_output, get_claude_settings, get_project_sessions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     get_recently_modified_files, get_session_timeline, get_system_prompt, list_checkpoints,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     list_directory_contents, list_projects, list_running_claude_sessions, load_session_history,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     open_new_session, read_claude_md_file, restore_checkpoint, resume_claude_code,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     save_claude_md_file, save_claude_settings, save_system_prompt, search_files,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 37 |     track_checkpoint_message, track_session_messages, update_checkpoint_settings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     get_hooks_config, update_hooks_config, validate_hook_command,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mcp_add_from_claude_desktop`, `mcp_add_json`, `mcp_add`, `mcp_get_server_status`, `mcp_get`, `mcp_list`, `mcp_read_project_config`, `mcp_remove`, `mcp_reset_project_choices`, `mcp_save_project_config`, `mcp_serve`, and `mcp_test_connection`
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     mcp_add, mcp_add_from_claude_desktop, mcp_add_json, mcp_get, mcp_get_server_status, mcp_list,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 43 |     mcp_read_project_config, mcp_remove, mcp_reset_project_choices, mcp_save_project_config,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     mcp_serve, mcp_test_connection,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_session_stats`, `get_usage_by_date_range`, `get_usage_details`, and `get_usage_stats`
[INFO] [stdout]   --> src/main.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     get_session_stats, get_usage_by_date_range, get_usage_details, get_usage_stats,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `storage_delete_row`, `storage_execute_sql`, `storage_insert_row`, `storage_list_tables`, `storage_read_table`, `storage_reset_database`, and `storage_update_row`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     storage_list_tables, storage_read_table, storage_update_row, storage_delete_row,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     storage_insert_row, storage_execute_sql, storage_reset_database,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AgentRun`, `Agent`, `cleanup_finished_processes`, `create_agent`, `delete_agent`, `execute_agent`, `export_agent_to_file`, `export_agent`, `fetch_github_agent_content`, `fetch_github_agents`, `get_agent_run_with_real_time_metrics`, `get_agent_run`, `get_agent`, `get_claude_binary_path`, `get_live_session_output`, `get_session_output`, `get_session_status`, `import_agent_from_file`, `import_agent_from_github`, `import_agent`, `init_database`, `kill_agent_session`, `list_agent_runs_with_metrics`, `list_agent_runs`, `list_agents`, `list_claude_installations`, `list_running_sessions`, `load_agent_session_history`, `set_claude_binary_path`, `stream_session_output`, and `update_agent`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Agent, AgentRun, AgentDb,cleanup_finished_processes, create_agent, delete_agent, execute_agent, export_agent,
[INFO] [stdout]    |     ^^^^^  ^^^^^^^^          ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 21 |     export_agent_to_file, fetch_github_agent_content, fetch_github_agents, get_agent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 22 |     get_agent_run, get_agent_run_with_real_time_metrics, get_claude_binary_path,
[INFO] [stdout]    |     ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     get_live_session_output, get_session_output, get_session_status, import_agent,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 24 |     import_agent_from_file, import_agent_from_github, init_database, kill_agent_session,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     list_agent_runs, list_agent_runs_with_metrics, list_agents, list_claude_installations,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     list_running_sessions, load_agent_session_history, set_claude_binary_path, stream_session_output, update_agent
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cancel_claude_execution`, `check_auto_checkpoint`, `check_claude_version`, `cleanup_old_checkpoints`, `clear_checkpoint_manager`, `continue_claude_code`, `create_checkpoint`, `execute_claude_code`, `fork_from_checkpoint`, `get_checkpoint_diff`, `get_checkpoint_settings`, `get_checkpoint_state_stats`, `get_claude_session_output`, `get_claude_settings`, `get_hooks_config`, `get_recently_modified_files`, `get_session_timeline`, `get_system_prompt`, `list_checkpoints`, `list_directory_contents`, `list_running_claude_sessions`, `load_session_history`, `open_new_session`, `read_claude_md_file`, `restore_checkpoint`, `resume_claude_code`, `save_claude_md_file`, `save_claude_settings`, `save_system_prompt`, `search_files`, `track_checkpoint_message`, `track_session_messages`, `update_checkpoint_settings`, `update_hooks_config`, and `validate_hook_command`
[INFO] [stdout]   --> src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     cancel_claude_execution, check_auto_checkpoint, check_claude_version, cleanup_old_checkpoints,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     clear_checkpoint_manager, continue_claude_code, create_checkpoint, execute_claude_code,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     find_claude_md_files, fork_from_checkpoint, get_checkpoint_diff, get_checkpoint_settings,
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     get_checkpoint_state_stats, get_claude_session_output, get_claude_settings, get_project_sessions,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     get_recently_modified_files, get_session_timeline, get_system_prompt, list_checkpoints,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     list_directory_contents, list_projects, list_running_claude_sessions, load_session_history,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     open_new_session, read_claude_md_file, restore_checkpoint, resume_claude_code,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     save_claude_md_file, save_claude_settings, save_system_prompt, search_files,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 37 |     track_checkpoint_message, track_session_messages, update_checkpoint_settings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     get_hooks_config, update_hooks_config, validate_hook_command,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mcp_add_from_claude_desktop`, `mcp_add_json`, `mcp_add`, `mcp_get_server_status`, `mcp_get`, `mcp_list`, `mcp_read_project_config`, `mcp_remove`, `mcp_reset_project_choices`, `mcp_save_project_config`, `mcp_serve`, and `mcp_test_connection`
[INFO] [stdout]   --> src/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     mcp_add, mcp_add_from_claude_desktop, mcp_add_json, mcp_get, mcp_get_server_status, mcp_list,
[INFO] [stdout]    |     ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 43 |     mcp_read_project_config, mcp_remove, mcp_reset_project_choices, mcp_save_project_config,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     mcp_serve, mcp_test_connection,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_session_stats`, `get_usage_by_date_range`, `get_usage_details`, and `get_usage_stats`
[INFO] [stdout]   --> src/main.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     get_session_stats, get_usage_by_date_range, get_usage_details, get_usage_stats,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `storage_delete_row`, `storage_execute_sql`, `storage_insert_row`, `storage_list_tables`, `storage_read_table`, `storage_reset_database`, and `storage_update_row`
[INFO] [stdout]   --> src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     storage_list_tables, storage_read_table, storage_update_row, storage_delete_row,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     storage_insert_row, storage_execute_sql, storage_reset_database,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateAgentRequest` is never constructed
[INFO] [stdout]   --> src/main.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct CreateAgentRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateAgentRequest` is never constructed
[INFO] [stdout]   --> src/main.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct UpdateAgentRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentRunsQuery` is never constructed
[INFO] [stdout]   --> src/main.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct AgentRunsQuery {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_db`, `checkpoint_state`, `process_registry`, and `claude_process_state` are never read
[INFO] [stdout]    --> src/main.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct AppState {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 100 |     agent_db: Arc<AgentDb>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 101 |     checkpoint_state: CheckpointState,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 |     process_registry: Arc<ProcessRegistryState>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     claude_process_state: Arc<ClaudeProcessState>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSnapshot` is never constructed
[INFO] [stdout]   --> src/checkpoint/mod.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FileSnapshot {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tracked_files` is never read
[INFO] [stdout]    --> src/checkpoint/mod.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct FileTracker {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 115 |     /// Map of file paths to their current state
[INFO] [stdout] 116 |     pub tracked_files: HashMap<PathBuf, FileState>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileTracker` 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 `last_hash`, `is_modified`, `last_modified`, and `exists` are never read
[INFO] [stdout]    --> src/checkpoint/mod.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct FileState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 122 |     /// Last known hash of the file
[INFO] [stdout] 123 |     pub last_hash: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 124 |     /// Whether the file has been modified since last checkpoint
[INFO] [stdout] 125 |     pub is_modified: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 126 |     /// Last modification timestamp
[INFO] [stdout] 127 |     pub last_modified: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 128 |     /// Whether the file currently exists
[INFO] [stdout] 129 |     pub exists: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileState` 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 `CheckpointDiff` is never constructed
[INFO] [stdout]    --> src/checkpoint/mod.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct CheckpointDiff {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileDiff` is never constructed
[INFO] [stdout]    --> src/checkpoint/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct FileDiff {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_checkpoint`, and `find_in_tree` are never used
[INFO] [stdout]    --> src/checkpoint/mod.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl SessionTimeline {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 180 |     /// Create a new empty timeline
[INFO] [stdout] 181 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn find_checkpoint(&self, checkpoint_id: &str) -> Option<&TimelineNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn find_in_tree<'a>(node: &'a TimelineNode, checkpoint_id: &str) -> Option<&'a TimelineNode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timeline_file` and `checkpoints_dir` are never read
[INFO] [stdout]    --> src/checkpoint/mod.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct CheckpointPaths {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 216 |     pub timeline_file: PathBuf,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 217 |     pub checkpoints_dir: PathBuf,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `checkpoint_dir`, `checkpoint_metadata_file`, and `checkpoint_messages_file` are never used
[INFO] [stdout]    --> src/checkpoint/mod.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl CheckpointPaths {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 222 |     pub fn new(claude_dir: &PathBuf, project_id: &str, session_id: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn checkpoint_dir(&self, checkpoint_id: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn checkpoint_metadata_file(&self, checkpoint_id: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn checkpoint_messages_file(&self, checkpoint_id: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/checkpoint/manager.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct CheckpointManager {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 18 |     project_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     session_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 20 |     project_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     file_tracker: Arc<RwLock<FileTracker>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub storage: Arc<CheckpointStorage>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 23 |     timeline: Arc<RwLock<SessionTimeline>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     current_messages: Arc<RwLock<Vec<String>>>, // JSONL messages
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/checkpoint/manager.rs:29:18
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl CheckpointManager {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  28 |     /// Create a new checkpoint manager
[INFO] [stdout]  29 |     pub async fn new(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn track_message(&self, jsonl_message: String) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     async fn track_tool_operation(&self, tool: &str, input: &serde_json::Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn track_file_modification(&self, file_path: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     async fn track_bash_side_effects(&self, command: &str) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn create_checkpoint(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     async fn extract_checkpoint_metadata(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     async fn create_file_snapshots(&self, checkpoint_id: &str) -> Result<Vec<FileSnapshot>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub async fn restore_checkpoint(&self, checkpoint_id: &str) -> Result<CheckpointResult> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     async fn restore_file_snapshot(&self, snapshot: &FileSnapshot) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     pub async fn get_timeline(&self) -> SessionTimeline {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |     pub async fn list_checkpoints(&self) -> Vec<Checkpoint> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 650 |     fn collect_checkpoints_from_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub async fn fork_from_checkpoint(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     pub async fn should_auto_checkpoint(&self, message: &str) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     pub async fn update_settings(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 768 |     pub async fn get_files_modified_since(&self, since: DateTime<Utc>) -> Vec<PathBuf> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     pub async fn get_last_modification_time(&self) -> Option<DateTime<Utc>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `claude_dir` is never read
[INFO] [stdout]   --> src/checkpoint/state.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct CheckpointState {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     claude_dir: Arc<RwLock<Option<PathBuf>>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CheckpointState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_claude_dir`, `get_or_create_manager`, `remove_manager`, and `list_active_sessions` are never used
[INFO] [stdout]    --> src/checkpoint/state.rs:35:18
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl CheckpointState {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  35 |     pub async fn set_claude_dir(&self, claude_dir: PathBuf) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub async fn get_or_create_manager(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub async fn remove_manager(&self, session_id: &str) -> Option<Arc<CheckpointManager>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn list_active_sessions(&self) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `claude_dir` and `compression_level` are never read
[INFO] [stdout]   --> src/checkpoint/storage.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CheckpointStorage {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 14 |     pub claude_dir: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     compression_level: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/checkpoint/storage.rs:20:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl CheckpointStorage {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  19 |     /// Create a new checkpoint storage instance
[INFO] [stdout]  20 |     pub fn new(claude_dir: PathBuf) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  28 |     pub fn init_storage(&self, project_id: &str, session_id: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn save_checkpoint(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn save_file_snapshot(&self, paths: &CheckpointPaths, snapshot: &FileSnapshot) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn load_checkpoint(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn load_file_snapshots(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn save_timeline(&self, timeline_path: &Path, timeline: &SessionTimeline) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub fn load_timeline(&self, timeline_path: &Path) -> Result<SessionTimeline> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn update_timeline_with_checkpoint(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn add_child_to_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn calculate_file_hash(content: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn generate_checkpoint_id() -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn estimate_checkpoint_size(messages: &str, file_snapshots: &[FileSnapshot]) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn cleanup_old_checkpoints(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     fn collect_checkpoints(node: &TimelineNode, checkpoints: &mut Vec<Checkpoint>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     fn remove_checkpoint(&self, paths: &CheckpointPaths, checkpoint_id: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn garbage_collect_content(&self, project_id: &str, session_id: &str) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstallationType` is never used
[INFO] [stdout]   --> src/claude_binary.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum InstallationType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeInstallation` is never constructed
[INFO] [stdout]   --> src/claude_binary.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ClaudeInstallation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]   --> src/claude_binary.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn find_claude_binary(app_handle: &tauri::AppHandle) -> Result<String, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sidecar_available` is never used
[INFO] [stdout]    --> src/claude_binary.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn is_sidecar_available(app_handle: &tauri::AppHandle) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_claude_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn discover_claude_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_preference` is never used
[INFO] [stdout]    --> src/claude_binary.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn source_preference(installation: &ClaudeInstallation) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_system_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn discover_system_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_which_command` is never used
[INFO] [stdout]    --> src/claude_binary.rs:226:4
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn try_which_command() -> Option<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_nvm_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn find_nvm_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_standard_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn find_standard_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_version` is never used
[INFO] [stdout]    --> src/claude_binary.rs:392:4
[INFO] [stdout]     |
[INFO] [stdout] 392 | fn get_claude_version(path: &str) -> Result<Option<String>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_version_from_output` is never used
[INFO] [stdout]    --> src/claude_binary.rs:409:4
[INFO] [stdout]     |
[INFO] [stdout] 409 | fn extract_version_from_output(stdout: &[u8]) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_best_installation` is never used
[INFO] [stdout]    --> src/claude_binary.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn select_best_installation(installations: Vec<ClaudeInstallation>) -> Option<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_versions` is never used
[INFO] [stdout]    --> src/claude_binary.rs:470:4
[INFO] [stdout]     |
[INFO] [stdout] 470 | fn compare_versions(a: &str, b: &str) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]    --> src/claude_binary.rs:510:8
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]   --> src/commands/agents.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn find_claude_binary(app_handle: &AppHandle) -> Result<String, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentExport` is never constructed
[INFO] [stdout]   --> src/commands/agents.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct AgentExport {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentData` is never constructed
[INFO] [stdout]   --> src/commands/agents.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct AgentData {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/agents.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct AgentDb(pub Mutex<Connection>);
[INFO] [stdout]    |            ------- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_jsonl` is never used
[INFO] [stdout]    --> src/commands/agents.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl AgentRunMetrics {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 101 |     /// Calculate metrics from JSONL content
[INFO] [stdout] 102 |     pub fn from_jsonl(jsonl_content: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_session_jsonl` is never used
[INFO] [stdout]    --> src/commands/agents.rs:171:14
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub async fn read_session_jsonl(session_id: &str, project_path: &str) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_run_with_metrics` is never used
[INFO] [stdout]    --> src/commands/agents.rs:196:14
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub async fn get_agent_run_with_metrics(run: AgentRun) -> AgentRunWithMetrics {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_database` is never used
[INFO] [stdout]    --> src/commands/agents.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn init_database(app: &AppHandle) -> SqliteResult<Connection> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_agents` is never used
[INFO] [stdout]    --> src/commands/agents.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub async fn list_agents(db: State<'_, AgentDb>) -> Result<Vec<Agent>, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:387:14
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub async fn create_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:442:14
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub async fn update_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:527:14
[INFO] [stdout]     |
[INFO] [stdout] 527 | pub async fn delete_agent(db: State<'_, AgentDb>, id: i64) -> Result<(), String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 538 | pub async fn get_agent(db: State<'_, AgentDb>, id: i64) -> Result<Agent, String> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_agent_runs` is never used
[INFO] [stdout]    --> src/commands/agents.rs:569:14
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub async fn list_agent_runs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_run` is never used
[INFO] [stdout]    --> src/commands/agents.rs:623:14
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub async fn get_agent_run(db: State<'_, AgentDb>, id: i64) -> Result<AgentRun, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_run_with_real_time_metrics` is never used
[INFO] [stdout]    --> src/commands/agents.rs:656:14
[INFO] [stdout]     |
[INFO] [stdout] 656 | pub async fn get_agent_run_with_real_time_metrics(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_agent_runs_with_metrics` is never used
[INFO] [stdout]    --> src/commands/agents.rs:666:14
[INFO] [stdout]     |
[INFO] [stdout] 666 | pub async fn list_agent_runs_with_metrics(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:683:14
[INFO] [stdout]     |
[INFO] [stdout] 683 | pub async fn execute_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_use_sidecar` is never used
[INFO] [stdout]    --> src/commands/agents.rs:778:4
[INFO] [stdout]     |
[INFO] [stdout] 778 | fn should_use_sidecar(claude_path: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_agent_sidecar_command` is never used
[INFO] [stdout]    --> src/commands/agents.rs:783:4
[INFO] [stdout]     |
[INFO] [stdout] 783 | fn create_agent_sidecar_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_agent_system_command` is never used
[INFO] [stdout]    --> src/commands/agents.rs:803:4
[INFO] [stdout]     |
[INFO] [stdout] 803 | fn create_agent_system_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_agent_sidecar` is never used
[INFO] [stdout]    --> src/commands/agents.rs:824:10
[INFO] [stdout]     |
[INFO] [stdout] 824 | async fn spawn_agent_sidecar(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_agent_system` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1059:10
[INFO] [stdout]      |
[INFO] [stdout] 1059 | async fn spawn_agent_system(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_running_sessions` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1375:14
[INFO] [stdout]      |
[INFO] [stdout] 1375 | pub async fn list_running_sessions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_agent_session` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1441:14
[INFO] [stdout]      |
[INFO] [stdout] 1441 | pub async fn kill_agent_session(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_status` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1499:14
[INFO] [stdout]      |
[INFO] [stdout] 1499 | pub async fn get_session_status(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_finished_processes` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1518:14
[INFO] [stdout]      |
[INFO] [stdout] 1518 | pub async fn cleanup_finished_processes(db: State<'_, AgentDb>) -> Result<Vec<i64>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_live_session_output` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1584:14
[INFO] [stdout]      |
[INFO] [stdout] 1584 | pub async fn get_live_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_output` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1593:14
[INFO] [stdout]      |
[INFO] [stdout] 1593 | pub async fn get_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_session_output` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1676:14
[INFO] [stdout]      |
[INFO] [stdout] 1676 | pub async fn stream_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_agent` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1763:14
[INFO] [stdout]      |
[INFO] [stdout] 1763 | pub async fn export_agent(db: State<'_, AgentDb>, id: i64) -> Result<String, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_agent_to_file` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1798:14
[INFO] [stdout]      |
[INFO] [stdout] 1798 | pub async fn export_agent_to_file(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_binary_path` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1814:14
[INFO] [stdout]      |
[INFO] [stdout] 1814 | pub async fn get_claude_binary_path(db: State<'_, AgentDb>) -> Result<Option<String>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_claude_binary_path` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1830:14
[INFO] [stdout]      |
[INFO] [stdout] 1830 | pub async fn set_claude_binary_path(db: State<'_, AgentDb>, path: String) -> Result<(), String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_claude_installations` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1877:14
[INFO] [stdout]      |
[INFO] [stdout] 1877 | pub async fn list_claude_installations(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1962:4
[INFO] [stdout]      |
[INFO] [stdout] 1962 | fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_agent` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2040:14
[INFO] [stdout]      |
[INFO] [stdout] 2040 | pub async fn import_agent(db: State<'_, AgentDb>, json_data: String) -> Result<Agent, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_agent_from_file` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2117:14
[INFO] [stdout]      |
[INFO] [stdout] 2117 | pub async fn import_agent_from_file(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubAgentFile` is never constructed
[INFO] [stdout]     --> src/commands/agents.rs:2133:12
[INFO] [stdout]      |
[INFO] [stdout] 2133 | pub struct GitHubAgentFile {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubApiResponse` is never constructed
[INFO] [stdout]     --> src/commands/agents.rs:2143:8
[INFO] [stdout]      |
[INFO] [stdout] 2143 | struct GitHubApiResponse {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_github_agents` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2155:14
[INFO] [stdout]      |
[INFO] [stdout] 2155 | pub async fn fetch_github_agents() -> Result<Vec<GitHubAgentFile>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_github_agent_content` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2201:14
[INFO] [stdout]      |
[INFO] [stdout] 2201 | pub async fn fetch_github_agent_content(download_url: String) -> Result<AgentExport, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_agent_from_github` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2242:14
[INFO] [stdout]      |
[INFO] [stdout] 2242 | pub async fn import_agent_from_github(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_agent_session_history` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2262:14
[INFO] [stdout]      |
[INFO] [stdout] 2262 | pub async fn load_agent_session_history(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_process` is never read
[INFO] [stdout]   --> src/commands/claude.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ClaudeProcessState {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 18 |     pub current_process: Arc<Mutex<Option<Child>>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeSettings` is never constructed
[INFO] [stdout]   --> src/commands/claude.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct ClaudeSettings {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeVersionStatus` is never constructed
[INFO] [stdout]   --> src/commands/claude.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct ClaudeVersionStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileEntry` is never constructed
[INFO] [stdout]    --> src/commands/claude.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct FileEntry {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]    --> src/commands/claude.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn find_claude_binary(app_handle: &AppHandle) -> Result<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]    --> src/commands/claude.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_use_sidecar` is never used
[INFO] [stdout]    --> src/commands/claude.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn should_use_sidecar(claude_path: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sidecar_command` is never used
[INFO] [stdout]    --> src/commands/claude.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 275 | fn create_sidecar_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_system_command` is never used
[INFO] [stdout]    --> src/commands/claude.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn create_system_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_settings` is never used
[INFO] [stdout]    --> src/commands/claude.rs:485:14
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub async fn get_claude_settings() -> Result<ClaudeSettings, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_new_session` is never used
[INFO] [stdout]    --> src/commands/claude.rs:509:14
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub async fn open_new_session(app: AppHandle, path: Option<String>) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_system_prompt` is never used
[INFO] [stdout]    --> src/commands/claude.rs:551:14
[INFO] [stdout]     |
[INFO] [stdout] 551 | pub async fn get_system_prompt() -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_claude_version` is never used
[INFO] [stdout]    --> src/commands/claude.rs:567:14
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub async fn check_claude_version(app: AppHandle) -> Result<ClaudeVersionStatus, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_system_prompt` is never used
[INFO] [stdout]    --> src/commands/claude.rs:740:14
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub async fn save_system_prompt(content: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_claude_settings` is never used
[INFO] [stdout]    --> src/commands/claude.rs:753:14
[INFO] [stdout]     |
[INFO] [stdout] 753 | pub async fn save_claude_settings(settings: serde_json::Value) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_claude_md_file` is never used
[INFO] [stdout]    --> src/commands/claude.rs:857:14
[INFO] [stdout]     |
[INFO] [stdout] 857 | pub async fn read_claude_md_file(file_path: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_claude_md_file` is never used
[INFO] [stdout]    --> src/commands/claude.rs:870:14
[INFO] [stdout]     |
[INFO] [stdout] 870 | pub async fn save_claude_md_file(file_path: String, content: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_session_history` is never used
[INFO] [stdout]    --> src/commands/claude.rs:888:14
[INFO] [stdout]     |
[INFO] [stdout] 888 | pub async fn load_session_history(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_claude_code` is never used
[INFO] [stdout]    --> src/commands/claude.rs:929:14
[INFO] [stdout]     |
[INFO] [stdout] 929 | pub async fn execute_claude_code(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `continue_claude_code` is never used
[INFO] [stdout]    --> src/commands/claude.rs:964:14
[INFO] [stdout]     |
[INFO] [stdout] 964 | pub async fn continue_claude_code(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resume_claude_code` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1000:14
[INFO] [stdout]      |
[INFO] [stdout] 1000 | pub async fn resume_claude_code(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cancel_claude_execution` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1039:14
[INFO] [stdout]      |
[INFO] [stdout] 1039 | pub async fn cancel_claude_execution(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_running_claude_sessions` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1163:14
[INFO] [stdout]      |
[INFO] [stdout] 1163 | pub async fn list_running_claude_sessions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_session_output` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1171:14
[INFO] [stdout]      |
[INFO] [stdout] 1171 | pub async fn get_claude_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_claude_process` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1184:10
[INFO] [stdout]      |
[INFO] [stdout] 1184 | async fn spawn_claude_process(app: AppHandle, mut cmd: Command, prompt: String, model: String, project_path: String) -> Result<(), String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_claude_sidecar` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1352:10
[INFO] [stdout]      |
[INFO] [stdout] 1352 | async fn spawn_claude_sidecar(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_directory_contents` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1492:14
[INFO] [stdout]      |
[INFO] [stdout] 1492 | pub async fn list_directory_contents(directory_path: String) -> Result<Vec<FileEntry>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_files` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1569:14
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub async fn search_files(base_path: String, query: String) -> Result<Vec<FileEntry>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_files_recursive` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1615:4
[INFO] [stdout]      |
[INFO] [stdout] 1615 | fn search_files_recursive(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1686:14
[INFO] [stdout]      |
[INFO] [stdout] 1686 | pub async fn create_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1746:14
[INFO] [stdout]      |
[INFO] [stdout] 1746 | pub async fn restore_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_checkpoints` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1795:14
[INFO] [stdout]      |
[INFO] [stdout] 1795 | pub async fn list_checkpoints(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fork_from_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1817:14
[INFO] [stdout]      |
[INFO] [stdout] 1817 | pub async fn fork_from_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_timeline` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1867:14
[INFO] [stdout]      |
[INFO] [stdout] 1867 | pub async fn get_session_timeline(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_checkpoint_settings` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1889:14
[INFO] [stdout]      |
[INFO] [stdout] 1889 | pub async fn update_checkpoint_settings(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_checkpoint_diff` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1927:14
[INFO] [stdout]      |
[INFO] [stdout] 1927 | pub async fn get_checkpoint_diff(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `track_checkpoint_message` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2014:14
[INFO] [stdout]      |
[INFO] [stdout] 2014 | pub async fn track_checkpoint_message(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_auto_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2036:14
[INFO] [stdout]      |
[INFO] [stdout] 2036 | pub async fn check_auto_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_old_checkpoints` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2055:14
[INFO] [stdout]      |
[INFO] [stdout] 2055 | pub async fn cleanup_old_checkpoints(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_checkpoint_settings` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2085:14
[INFO] [stdout]      |
[INFO] [stdout] 2085 | pub async fn get_checkpoint_settings(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_checkpoint_manager` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2110:14
[INFO] [stdout]      |
[INFO] [stdout] 2110 | pub async fn clear_checkpoint_manager(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_checkpoint_state_stats` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2122:14
[INFO] [stdout]      |
[INFO] [stdout] 2122 | pub async fn get_checkpoint_state_stats(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_recently_modified_files` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2136:14
[INFO] [stdout]      |
[INFO] [stdout] 2136 | pub async fn get_recently_modified_files(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `track_session_messages` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2172:14
[INFO] [stdout]      |
[INFO] [stdout] 2172 | pub async fn track_session_messages(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_hooks_config` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2206:14
[INFO] [stdout]      |
[INFO] [stdout] 2206 | pub async fn get_hooks_config(scope: String, project_path: Option<String>) -> Result<serde_json::Value, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_hooks_config` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2242:14
[INFO] [stdout]      |
[INFO] [stdout] 2242 | pub async fn update_hooks_config(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_hook_command` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2297:14
[INFO] [stdout]      |
[INFO] [stdout] 2297 | pub async fn validate_hook_command(command: String) -> Result<serde_json::Value, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]   --> src/commands/mcp.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]   --> src/commands/mcp.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn find_claude_binary(app_handle: &AppHandle) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MCPServer` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct MCPServer {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServerStatus` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ServerStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MCPProjectConfig` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct MCPProjectConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MCPServerConfig` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct MCPServerConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddServerResult` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct AddServerResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportResult` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct ImportResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportServerResult` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct ImportServerResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_claude_mcp_command` is never used
[INFO] [stdout]   --> src/commands/mcp.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn execute_claude_mcp_command(app_handle: &AppHandle, args: Vec<&str>) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_add` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub async fn mcp_add(
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_list` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:213:14
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub async fn mcp_list(app: AppHandle) -> Result<Vec<MCPServer>, String> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_get` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:335:14
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub async fn mcp_get(app: AppHandle, name: String) -> Result<MCPServer, String> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_remove` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:404:14
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub async fn mcp_remove(app: AppHandle, name: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_add_json` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub async fn mcp_add_json(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_add_from_claude_desktop` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:462:14
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub async fn mcp_add_from_claude_desktop(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_serve` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:615:14
[INFO] [stdout]     |
[INFO] [stdout] 615 | pub async fn mcp_serve(app: AppHandle) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_test_connection` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:644:14
[INFO] [stdout]     |
[INFO] [stdout] 644 | pub async fn mcp_test_connection(app: AppHandle, name: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_reset_project_choices` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:656:14
[INFO] [stdout]     |
[INFO] [stdout] 656 | pub async fn mcp_reset_project_choices(app: AppHandle) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_get_server_status` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:673:14
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub async fn mcp_get_server_status() -> Result<HashMap<String, ServerStatus>, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_read_project_config` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:683:14
[INFO] [stdout]     |
[INFO] [stdout] 683 | pub async fn mcp_read_project_config(project_path: String) -> Result<MCPProjectConfig, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_save_project_config` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:711:14
[INFO] [stdout]     |
[INFO] [stdout] 711 | pub async fn mcp_save_project_config(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsageEntry` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UsageEntry {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsageStats` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct UsageStats {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelUsage` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ModelUsage {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DailyUsage` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct DailyUsage {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectUsage` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct ProjectUsage {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_INPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | const OPUS_4_INPUT_PRICE: f64 = 15.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_OUTPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const OPUS_4_OUTPUT_PRICE: f64 = 75.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_CACHE_WRITE_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const OPUS_4_CACHE_WRITE_PRICE: f64 = 18.75;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_CACHE_READ_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const OPUS_4_CACHE_READ_PRICE: f64 = 1.50;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_INPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const SONNET_4_INPUT_PRICE: f64 = 3.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_OUTPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const SONNET_4_OUTPUT_PRICE: f64 = 15.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_CACHE_WRITE_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const SONNET_4_CACHE_WRITE_PRICE: f64 = 3.75;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_CACHE_READ_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | const SONNET_4_CACHE_READ_PRICE: f64 = 0.30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonlEntry` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct JsonlEntry {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageData` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct MessageData {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsageData` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | struct UsageData {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_cost` is never used
[INFO] [stdout]    --> src/commands/usage.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn calculate_cost(model: &str, usage: &UsageData) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_jsonl_file` is never used
[INFO] [stdout]    --> src/commands/usage.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn parse_jsonl_file(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_earliest_timestamp` is never used
[INFO] [stdout]    --> src/commands/usage.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn get_earliest_timestamp(path: &PathBuf) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_usage_entries` is never used
[INFO] [stdout]    --> src/commands/usage.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn get_all_usage_entries(claude_path: &PathBuf) -> Vec<UsageEntry> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_usage_stats` is never used
[INFO] [stdout]    --> src/commands/usage.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub fn get_usage_stats(days: Option<u32>) -> Result<UsageStats, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_usage_by_date_range` is never used
[INFO] [stdout]    --> src/commands/usage.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn get_usage_by_date_range(start_date: String, end_date: String) -> Result<UsageStats, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_usage_details` is never used
[INFO] [stdout]    --> src/commands/usage.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 622 | pub fn get_usage_details(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_stats` is never used
[INFO] [stdout]    --> src/commands/usage.rs:646:8
[INFO] [stdout]     |
[INFO] [stdout] 646 | pub fn get_session_stats(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_list_tables` is never used
[INFO] [stdout]   --> src/commands/storage.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub async fn storage_list_tables(db: State<'_, AgentDb>) -> Result<Vec<TableInfo>, String> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_read_table` is never used
[INFO] [stdout]    --> src/commands/storage.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub async fn storage_read_table(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_update_row` is never used
[INFO] [stdout]    --> src/commands/storage.rs:231:14
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub async fn storage_update_row(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_delete_row` is never used
[INFO] [stdout]    --> src/commands/storage.rs:287:14
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub async fn storage_delete_row(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_insert_row` is never used
[INFO] [stdout]    --> src/commands/storage.rs:328:14
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub async fn storage_insert_row(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_execute_sql` is never used
[INFO] [stdout]    --> src/commands/storage.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub async fn storage_execute_sql(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_reset_database` is never used
[INFO] [stdout]    --> src/commands/storage.rs:434:14
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub async fn storage_reset_database(app: AppHandle) -> Result<(), String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_table_name` is never used
[INFO] [stdout]    --> src/commands/storage.rs:484:4
[INFO] [stdout]     |
[INFO] [stdout] 484 | fn is_valid_table_name(conn: &Connection, table_name: &str) -> Result<bool, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_to_sql_value` is never used
[INFO] [stdout]    --> src/commands/storage.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn json_to_sql_value(value: &JsonValue) -> Result<Box<dyn rusqlite::ToSql>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlashCommand` is never constructed
[INFO] [stdout]   --> src/commands/slash_commands.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SlashCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommandFrontmatter` is never constructed
[INFO] [stdout]   --> src/commands/slash_commands.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct CommandFrontmatter {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_markdown_with_frontmatter` is never used
[INFO] [stdout]   --> src/commands/slash_commands.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn parse_markdown_with_frontmatter(content: &str) -> Result<(Option<CommandFrontmatter>, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_command_info` is never used
[INFO] [stdout]   --> src/commands/slash_commands.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn extract_command_info(file_path: &Path, base_path: &Path) -> Result<(String, Option<String>)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_command_from_file` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn load_command_from_file(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_markdown_files` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn find_markdown_files(dir: &Path, files: &mut Vec<PathBuf>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_commands_list` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub async fn slash_commands_list(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_command_get` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:264:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub async fn slash_command_get(command_id: String) -> Result<SlashCommand, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_command_save` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub async fn slash_command_save(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_command_delete` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub async fn slash_command_delete(command_id: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_empty_dirs` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn remove_empty_dirs(dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_id` is never read
[INFO] [stdout]   --> src/process/registry.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ProcessRegistry {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 41 |     processes: Arc<Mutex<HashMap<i64, ProcessHandle>>>, // run_id -> ProcessHandle
[INFO] [stdout] 42 |     next_id: Arc<Mutex<i64>>, // Auto-incrementing ID for non-agent processes
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/process/registry.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl ProcessRegistry {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn generate_id(&self) -> Result<i64, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn register_process(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn register_claude_session(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn register_process_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn get_running_claude_sessions(&self) -> Result<Vec<ProcessInfo>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn get_claude_session_by_id(&self, session_id: &str) -> Result<Option<ProcessInfo>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn get_running_agent_processes(&self) -> Result<Vec<ProcessInfo>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub async fn kill_process(&self, run_id: i64) -> Result<bool, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn kill_process_by_pid(&self, run_id: i64, pid: u32) -> Result<bool, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn append_live_output(&self, run_id: i64, output: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     pub fn get_live_output(&self, run_id: i64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/process/registry.rs:490:33
[INFO] [stdout]     |
[INFO] [stdout] 490 | pub struct ProcessRegistryState(pub Arc<ProcessRegistry>);
[INFO] [stdout]     |            -------------------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateAgentRequest` is never constructed
[INFO] [stdout]   --> src/main.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct CreateAgentRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateAgentRequest` is never constructed
[INFO] [stdout]   --> src/main.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | struct UpdateAgentRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentRunsQuery` is never constructed
[INFO] [stdout]   --> src/main.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct AgentRunsQuery {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `agent_db`, `checkpoint_state`, `process_registry`, and `claude_process_state` are never read
[INFO] [stdout]    --> src/main.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct AppState {
[INFO] [stdout]     |        -------- fields in this struct
[INFO] [stdout] 100 |     agent_db: Arc<AgentDb>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 101 |     checkpoint_state: CheckpointState,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 |     process_registry: Arc<ProcessRegistryState>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     claude_process_state: Arc<ClaudeProcessState>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileSnapshot` is never constructed
[INFO] [stdout]   --> src/checkpoint/mod.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FileSnapshot {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tracked_files` is never read
[INFO] [stdout]    --> src/checkpoint/mod.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct FileTracker {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 115 |     /// Map of file paths to their current state
[INFO] [stdout] 116 |     pub tracked_files: HashMap<PathBuf, FileState>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileTracker` 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 `last_hash`, `is_modified`, `last_modified`, and `exists` are never read
[INFO] [stdout]    --> src/checkpoint/mod.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct FileState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 122 |     /// Last known hash of the file
[INFO] [stdout] 123 |     pub last_hash: String,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 124 |     /// Whether the file has been modified since last checkpoint
[INFO] [stdout] 125 |     pub is_modified: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 126 |     /// Last modification timestamp
[INFO] [stdout] 127 |     pub last_modified: DateTime<Utc>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 128 |     /// Whether the file currently exists
[INFO] [stdout] 129 |     pub exists: bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileState` 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 `CheckpointDiff` is never constructed
[INFO] [stdout]    --> src/checkpoint/mod.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct CheckpointDiff {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileDiff` is never constructed
[INFO] [stdout]    --> src/checkpoint/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub struct FileDiff {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `find_checkpoint` and `find_in_tree` are never used
[INFO] [stdout]    --> src/checkpoint/mod.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl SessionTimeline {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn find_checkpoint(&self, checkpoint_id: &str) -> Option<&TimelineNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn find_in_tree<'a>(node: &'a TimelineNode, checkpoint_id: &str) -> Option<&'a TimelineNode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `checkpoint_dir`, `checkpoint_metadata_file`, and `checkpoint_messages_file` are never used
[INFO] [stdout]    --> src/checkpoint/mod.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl CheckpointPaths {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub fn checkpoint_dir(&self, checkpoint_id: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn checkpoint_metadata_file(&self, checkpoint_id: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn checkpoint_messages_file(&self, checkpoint_id: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/checkpoint/manager.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct CheckpointManager {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 18 |     project_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     session_id: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 20 |     project_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     file_tracker: Arc<RwLock<FileTracker>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub storage: Arc<CheckpointStorage>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 23 |     timeline: Arc<RwLock<SessionTimeline>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     current_messages: Arc<RwLock<Vec<String>>>, // JSONL messages
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/checkpoint/manager.rs:64:18
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl CheckpointManager {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn track_message(&self, jsonl_message: String) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     async fn track_tool_operation(&self, tool: &str, input: &serde_json::Value) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn track_file_modification(&self, file_path: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     async fn track_bash_side_effects(&self, command: &str) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub async fn create_checkpoint(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     async fn extract_checkpoint_metadata(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     async fn create_file_snapshots(&self, checkpoint_id: &str) -> Result<Vec<FileSnapshot>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub async fn restore_checkpoint(&self, checkpoint_id: &str) -> Result<CheckpointResult> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     async fn restore_file_snapshot(&self, snapshot: &FileSnapshot) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 633 |     pub async fn get_timeline(&self) -> SessionTimeline {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 638 |     pub async fn list_checkpoints(&self) -> Vec<Checkpoint> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 650 |     fn collect_checkpoints_from_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub async fn fork_from_checkpoint(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 683 |     pub async fn should_auto_checkpoint(&self, message: &str) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     pub async fn update_settings(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 768 |     pub async fn get_files_modified_since(&self, since: DateTime<Utc>) -> Vec<PathBuf> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     pub async fn get_last_modification_time(&self) -> Option<DateTime<Utc>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `list_active_sessions` is never used
[INFO] [stdout]    --> src/checkpoint/state.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl CheckpointState {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn list_active_sessions(&self) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `compression_level` is never read
[INFO] [stdout]   --> src/checkpoint/storage.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CheckpointStorage {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 14 |     pub claude_dir: PathBuf,
[INFO] [stdout] 15 |     compression_level: i32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/checkpoint/storage.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl CheckpointStorage {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn save_checkpoint(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn save_file_snapshot(&self, paths: &CheckpointPaths, snapshot: &FileSnapshot) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn load_checkpoint(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn load_file_snapshots(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn update_timeline_with_checkpoint(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     fn add_child_to_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn calculate_file_hash(content: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn generate_checkpoint_id() -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub fn estimate_checkpoint_size(messages: &str, file_snapshots: &[FileSnapshot]) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn cleanup_old_checkpoints(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     fn collect_checkpoints(node: &TimelineNode, checkpoints: &mut Vec<Checkpoint>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     fn remove_checkpoint(&self, paths: &CheckpointPaths, checkpoint_id: &str) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn garbage_collect_content(&self, project_id: &str, session_id: &str) -> Result<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstallationType` is never used
[INFO] [stdout]   --> src/claude_binary.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum InstallationType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeInstallation` is never constructed
[INFO] [stdout]   --> src/claude_binary.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ClaudeInstallation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]   --> src/claude_binary.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn find_claude_binary(app_handle: &tauri::AppHandle) -> Result<String, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_sidecar_available` is never used
[INFO] [stdout]    --> src/claude_binary.rs:117:4
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn is_sidecar_available(app_handle: &tauri::AppHandle) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_claude_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn discover_claude_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `source_preference` is never used
[INFO] [stdout]    --> src/claude_binary.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn source_preference(installation: &ClaudeInstallation) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_system_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn discover_system_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_which_command` is never used
[INFO] [stdout]    --> src/claude_binary.rs:226:4
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn try_which_command() -> Option<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_nvm_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn find_nvm_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_standard_installations` is never used
[INFO] [stdout]    --> src/claude_binary.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn find_standard_installations() -> Vec<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_version` is never used
[INFO] [stdout]    --> src/claude_binary.rs:392:4
[INFO] [stdout]     |
[INFO] [stdout] 392 | fn get_claude_version(path: &str) -> Result<Option<String>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_version_from_output` is never used
[INFO] [stdout]    --> src/claude_binary.rs:409:4
[INFO] [stdout]     |
[INFO] [stdout] 409 | fn extract_version_from_output(stdout: &[u8]) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `select_best_installation` is never used
[INFO] [stdout]    --> src/claude_binary.rs:438:4
[INFO] [stdout]     |
[INFO] [stdout] 438 | fn select_best_installation(installations: Vec<ClaudeInstallation>) -> Option<ClaudeInstallation> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_versions` is never used
[INFO] [stdout]    --> src/claude_binary.rs:470:4
[INFO] [stdout]     |
[INFO] [stdout] 470 | fn compare_versions(a: &str, b: &str) -> Ordering {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]    --> src/claude_binary.rs:510:8
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]   --> src/commands/agents.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn find_claude_binary(app_handle: &AppHandle) -> Result<String, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentExport` is never constructed
[INFO] [stdout]   --> src/commands/agents.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct AgentExport {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AgentData` is never constructed
[INFO] [stdout]   --> src/commands/agents.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct AgentData {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/agents.rs:97:20
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct AgentDb(pub Mutex<Connection>);
[INFO] [stdout]    |            ------- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_jsonl` is never used
[INFO] [stdout]    --> src/commands/agents.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl AgentRunMetrics {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 101 |     /// Calculate metrics from JSONL content
[INFO] [stdout] 102 |     pub fn from_jsonl(jsonl_content: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_session_jsonl` is never used
[INFO] [stdout]    --> src/commands/agents.rs:171:14
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub async fn read_session_jsonl(session_id: &str, project_path: &str) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_run_with_metrics` is never used
[INFO] [stdout]    --> src/commands/agents.rs:196:14
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub async fn get_agent_run_with_metrics(run: AgentRun) -> AgentRunWithMetrics {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_database` is never used
[INFO] [stdout]    --> src/commands/agents.rs:218:8
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn init_database(app: &AppHandle) -> SqliteResult<Connection> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_agents` is never used
[INFO] [stdout]    --> src/commands/agents.rs:352:14
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub async fn list_agents(db: State<'_, AgentDb>) -> Result<Vec<Agent>, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:387:14
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub async fn create_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:442:14
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub async fn update_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:527:14
[INFO] [stdout]     |
[INFO] [stdout] 527 | pub async fn delete_agent(db: State<'_, AgentDb>, id: i64) -> Result<(), String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 538 | pub async fn get_agent(db: State<'_, AgentDb>, id: i64) -> Result<Agent, String> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_agent_runs` is never used
[INFO] [stdout]    --> src/commands/agents.rs:569:14
[INFO] [stdout]     |
[INFO] [stdout] 569 | pub async fn list_agent_runs(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_run` is never used
[INFO] [stdout]    --> src/commands/agents.rs:623:14
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub async fn get_agent_run(db: State<'_, AgentDb>, id: i64) -> Result<AgentRun, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_agent_run_with_real_time_metrics` is never used
[INFO] [stdout]    --> src/commands/agents.rs:656:14
[INFO] [stdout]     |
[INFO] [stdout] 656 | pub async fn get_agent_run_with_real_time_metrics(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_agent_runs_with_metrics` is never used
[INFO] [stdout]    --> src/commands/agents.rs:666:14
[INFO] [stdout]     |
[INFO] [stdout] 666 | pub async fn list_agent_runs_with_metrics(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_agent` is never used
[INFO] [stdout]    --> src/commands/agents.rs:683:14
[INFO] [stdout]     |
[INFO] [stdout] 683 | pub async fn execute_agent(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_use_sidecar` is never used
[INFO] [stdout]    --> src/commands/agents.rs:778:4
[INFO] [stdout]     |
[INFO] [stdout] 778 | fn should_use_sidecar(claude_path: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_agent_sidecar_command` is never used
[INFO] [stdout]    --> src/commands/agents.rs:783:4
[INFO] [stdout]     |
[INFO] [stdout] 783 | fn create_agent_sidecar_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_agent_system_command` is never used
[INFO] [stdout]    --> src/commands/agents.rs:803:4
[INFO] [stdout]     |
[INFO] [stdout] 803 | fn create_agent_system_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_agent_sidecar` is never used
[INFO] [stdout]    --> src/commands/agents.rs:824:10
[INFO] [stdout]     |
[INFO] [stdout] 824 | async fn spawn_agent_sidecar(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_agent_system` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1059:10
[INFO] [stdout]      |
[INFO] [stdout] 1059 | async fn spawn_agent_system(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_running_sessions` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1375:14
[INFO] [stdout]      |
[INFO] [stdout] 1375 | pub async fn list_running_sessions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kill_agent_session` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1441:14
[INFO] [stdout]      |
[INFO] [stdout] 1441 | pub async fn kill_agent_session(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_status` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1499:14
[INFO] [stdout]      |
[INFO] [stdout] 1499 | pub async fn get_session_status(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_finished_processes` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1518:14
[INFO] [stdout]      |
[INFO] [stdout] 1518 | pub async fn cleanup_finished_processes(db: State<'_, AgentDb>) -> Result<Vec<i64>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_live_session_output` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1584:14
[INFO] [stdout]      |
[INFO] [stdout] 1584 | pub async fn get_live_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_output` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1593:14
[INFO] [stdout]      |
[INFO] [stdout] 1593 | pub async fn get_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_session_output` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1676:14
[INFO] [stdout]      |
[INFO] [stdout] 1676 | pub async fn stream_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_agent` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1763:14
[INFO] [stdout]      |
[INFO] [stdout] 1763 | pub async fn export_agent(db: State<'_, AgentDb>, id: i64) -> Result<String, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_agent_to_file` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1798:14
[INFO] [stdout]      |
[INFO] [stdout] 1798 | pub async fn export_agent_to_file(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_binary_path` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1814:14
[INFO] [stdout]      |
[INFO] [stdout] 1814 | pub async fn get_claude_binary_path(db: State<'_, AgentDb>) -> Result<Option<String>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_claude_binary_path` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1830:14
[INFO] [stdout]      |
[INFO] [stdout] 1830 | pub async fn set_claude_binary_path(db: State<'_, AgentDb>, path: String) -> Result<(), String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_claude_installations` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1877:14
[INFO] [stdout]      |
[INFO] [stdout] 1877 | pub async fn list_claude_installations(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]     --> src/commands/agents.rs:1962:4
[INFO] [stdout]      |
[INFO] [stdout] 1962 | fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_agent` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2040:14
[INFO] [stdout]      |
[INFO] [stdout] 2040 | pub async fn import_agent(db: State<'_, AgentDb>, json_data: String) -> Result<Agent, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_agent_from_file` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2117:14
[INFO] [stdout]      |
[INFO] [stdout] 2117 | pub async fn import_agent_from_file(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubAgentFile` is never constructed
[INFO] [stdout]     --> src/commands/agents.rs:2133:12
[INFO] [stdout]      |
[INFO] [stdout] 2133 | pub struct GitHubAgentFile {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubApiResponse` is never constructed
[INFO] [stdout]     --> src/commands/agents.rs:2143:8
[INFO] [stdout]      |
[INFO] [stdout] 2143 | struct GitHubApiResponse {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_github_agents` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2155:14
[INFO] [stdout]      |
[INFO] [stdout] 2155 | pub async fn fetch_github_agents() -> Result<Vec<GitHubAgentFile>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_github_agent_content` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2201:14
[INFO] [stdout]      |
[INFO] [stdout] 2201 | pub async fn fetch_github_agent_content(download_url: String) -> Result<AgentExport, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `import_agent_from_github` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2242:14
[INFO] [stdout]      |
[INFO] [stdout] 2242 | pub async fn import_agent_from_github(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_agent_session_history` is never used
[INFO] [stdout]     --> src/commands/agents.rs:2262:14
[INFO] [stdout]      |
[INFO] [stdout] 2262 | pub async fn load_agent_session_history(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_process` is never read
[INFO] [stdout]   --> src/commands/claude.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ClaudeProcessState {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 18 |     pub current_process: Arc<Mutex<Option<Child>>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeSettings` is never constructed
[INFO] [stdout]   --> src/commands/claude.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct ClaudeSettings {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaudeVersionStatus` is never constructed
[INFO] [stdout]   --> src/commands/claude.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct ClaudeVersionStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileEntry` is never constructed
[INFO] [stdout]    --> src/commands/claude.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct FileEntry {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]    --> src/commands/claude.rs:134:4
[INFO] [stdout]     |
[INFO] [stdout] 134 | fn find_claude_binary(app_handle: &AppHandle) -> Result<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]    --> src/commands/claude.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_use_sidecar` is never used
[INFO] [stdout]    --> src/commands/claude.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn should_use_sidecar(claude_path: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_sidecar_command` is never used
[INFO] [stdout]    --> src/commands/claude.rs:275:4
[INFO] [stdout]     |
[INFO] [stdout] 275 | fn create_sidecar_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_system_command` is never used
[INFO] [stdout]    --> src/commands/claude.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn create_system_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_settings` is never used
[INFO] [stdout]    --> src/commands/claude.rs:485:14
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub async fn get_claude_settings() -> Result<ClaudeSettings, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_new_session` is never used
[INFO] [stdout]    --> src/commands/claude.rs:509:14
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub async fn open_new_session(app: AppHandle, path: Option<String>) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_system_prompt` is never used
[INFO] [stdout]    --> src/commands/claude.rs:551:14
[INFO] [stdout]     |
[INFO] [stdout] 551 | pub async fn get_system_prompt() -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_claude_version` is never used
[INFO] [stdout]    --> src/commands/claude.rs:567:14
[INFO] [stdout]     |
[INFO] [stdout] 567 | pub async fn check_claude_version(app: AppHandle) -> Result<ClaudeVersionStatus, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_system_prompt` is never used
[INFO] [stdout]    --> src/commands/claude.rs:740:14
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub async fn save_system_prompt(content: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_claude_settings` is never used
[INFO] [stdout]    --> src/commands/claude.rs:753:14
[INFO] [stdout]     |
[INFO] [stdout] 753 | pub async fn save_claude_settings(settings: serde_json::Value) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_claude_md_file` is never used
[INFO] [stdout]    --> src/commands/claude.rs:857:14
[INFO] [stdout]     |
[INFO] [stdout] 857 | pub async fn read_claude_md_file(file_path: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_claude_md_file` is never used
[INFO] [stdout]    --> src/commands/claude.rs:870:14
[INFO] [stdout]     |
[INFO] [stdout] 870 | pub async fn save_claude_md_file(file_path: String, content: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_session_history` is never used
[INFO] [stdout]    --> src/commands/claude.rs:888:14
[INFO] [stdout]     |
[INFO] [stdout] 888 | pub async fn load_session_history(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_claude_code` is never used
[INFO] [stdout]    --> src/commands/claude.rs:929:14
[INFO] [stdout]     |
[INFO] [stdout] 929 | pub async fn execute_claude_code(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `continue_claude_code` is never used
[INFO] [stdout]    --> src/commands/claude.rs:964:14
[INFO] [stdout]     |
[INFO] [stdout] 964 | pub async fn continue_claude_code(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resume_claude_code` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1000:14
[INFO] [stdout]      |
[INFO] [stdout] 1000 | pub async fn resume_claude_code(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cancel_claude_execution` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1039:14
[INFO] [stdout]      |
[INFO] [stdout] 1039 | pub async fn cancel_claude_execution(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_running_claude_sessions` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1163:14
[INFO] [stdout]      |
[INFO] [stdout] 1163 | pub async fn list_running_claude_sessions(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_claude_session_output` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1171:14
[INFO] [stdout]      |
[INFO] [stdout] 1171 | pub async fn get_claude_session_output(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_claude_process` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1184:10
[INFO] [stdout]      |
[INFO] [stdout] 1184 | async fn spawn_claude_process(app: AppHandle, mut cmd: Command, prompt: String, model: String, project_path: String) -> Result<(), String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_claude_sidecar` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1352:10
[INFO] [stdout]      |
[INFO] [stdout] 1352 | async fn spawn_claude_sidecar(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_directory_contents` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1492:14
[INFO] [stdout]      |
[INFO] [stdout] 1492 | pub async fn list_directory_contents(directory_path: String) -> Result<Vec<FileEntry>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_files` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1569:14
[INFO] [stdout]      |
[INFO] [stdout] 1569 | pub async fn search_files(base_path: String, query: String) -> Result<Vec<FileEntry>, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_files_recursive` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1615:4
[INFO] [stdout]      |
[INFO] [stdout] 1615 | fn search_files_recursive(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1686:14
[INFO] [stdout]      |
[INFO] [stdout] 1686 | pub async fn create_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1746:14
[INFO] [stdout]      |
[INFO] [stdout] 1746 | pub async fn restore_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_checkpoints` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1795:14
[INFO] [stdout]      |
[INFO] [stdout] 1795 | pub async fn list_checkpoints(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fork_from_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1817:14
[INFO] [stdout]      |
[INFO] [stdout] 1817 | pub async fn fork_from_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_timeline` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1867:14
[INFO] [stdout]      |
[INFO] [stdout] 1867 | pub async fn get_session_timeline(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_checkpoint_settings` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1889:14
[INFO] [stdout]      |
[INFO] [stdout] 1889 | pub async fn update_checkpoint_settings(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_checkpoint_diff` is never used
[INFO] [stdout]     --> src/commands/claude.rs:1927:14
[INFO] [stdout]      |
[INFO] [stdout] 1927 | pub async fn get_checkpoint_diff(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `track_checkpoint_message` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2014:14
[INFO] [stdout]      |
[INFO] [stdout] 2014 | pub async fn track_checkpoint_message(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_auto_checkpoint` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2036:14
[INFO] [stdout]      |
[INFO] [stdout] 2036 | pub async fn check_auto_checkpoint(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_old_checkpoints` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2055:14
[INFO] [stdout]      |
[INFO] [stdout] 2055 | pub async fn cleanup_old_checkpoints(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_checkpoint_settings` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2085:14
[INFO] [stdout]      |
[INFO] [stdout] 2085 | pub async fn get_checkpoint_settings(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_checkpoint_manager` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2110:14
[INFO] [stdout]      |
[INFO] [stdout] 2110 | pub async fn clear_checkpoint_manager(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_checkpoint_state_stats` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2122:14
[INFO] [stdout]      |
[INFO] [stdout] 2122 | pub async fn get_checkpoint_state_stats(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_recently_modified_files` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2136:14
[INFO] [stdout]      |
[INFO] [stdout] 2136 | pub async fn get_recently_modified_files(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `track_session_messages` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2172:14
[INFO] [stdout]      |
[INFO] [stdout] 2172 | pub async fn track_session_messages(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_hooks_config` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2206:14
[INFO] [stdout]      |
[INFO] [stdout] 2206 | pub async fn get_hooks_config(scope: String, project_path: Option<String>) -> Result<serde_json::Value, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_hooks_config` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2242:14
[INFO] [stdout]      |
[INFO] [stdout] 2242 | pub async fn update_hooks_config(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_hook_command` is never used
[INFO] [stdout]     --> src/commands/claude.rs:2297:14
[INFO] [stdout]      |
[INFO] [stdout] 2297 | pub async fn validate_hook_command(command: String) -> Result<serde_json::Value, String> {
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_command_with_env` is never used
[INFO] [stdout]   --> src/commands/mcp.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn create_command_with_env(program: &str) -> Command {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_claude_binary` is never used
[INFO] [stdout]   --> src/commands/mcp.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn find_claude_binary(app_handle: &AppHandle) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MCPServer` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct MCPServer {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServerStatus` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ServerStatus {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MCPProjectConfig` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct MCPProjectConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MCPServerConfig` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct MCPServerConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddServerResult` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct AddServerResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportResult` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct ImportResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImportServerResult` is never constructed
[INFO] [stdout]   --> src/commands/mcp.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct ImportServerResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_claude_mcp_command` is never used
[INFO] [stdout]   --> src/commands/mcp.rs:99:4
[INFO] [stdout]    |
[INFO] [stdout] 99 | fn execute_claude_mcp_command(app_handle: &AppHandle, args: Vec<&str>) -> Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_add` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub async fn mcp_add(
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_list` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:213:14
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub async fn mcp_list(app: AppHandle) -> Result<Vec<MCPServer>, String> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_get` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:335:14
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub async fn mcp_get(app: AppHandle, name: String) -> Result<MCPServer, String> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_remove` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:404:14
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub async fn mcp_remove(app: AppHandle, name: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_add_json` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:421:14
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub async fn mcp_add_json(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_add_from_claude_desktop` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:462:14
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub async fn mcp_add_from_claude_desktop(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_serve` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:615:14
[INFO] [stdout]     |
[INFO] [stdout] 615 | pub async fn mcp_serve(app: AppHandle) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_test_connection` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:644:14
[INFO] [stdout]     |
[INFO] [stdout] 644 | pub async fn mcp_test_connection(app: AppHandle, name: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_reset_project_choices` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:656:14
[INFO] [stdout]     |
[INFO] [stdout] 656 | pub async fn mcp_reset_project_choices(app: AppHandle) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_get_server_status` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:673:14
[INFO] [stdout]     |
[INFO] [stdout] 673 | pub async fn mcp_get_server_status() -> Result<HashMap<String, ServerStatus>, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_read_project_config` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:683:14
[INFO] [stdout]     |
[INFO] [stdout] 683 | pub async fn mcp_read_project_config(project_path: String) -> Result<MCPProjectConfig, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mcp_save_project_config` is never used
[INFO] [stdout]    --> src/commands/mcp.rs:711:14
[INFO] [stdout]     |
[INFO] [stdout] 711 | pub async fn mcp_save_project_config(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsageEntry` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct UsageEntry {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsageStats` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct UsageStats {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModelUsage` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ModelUsage {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DailyUsage` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct DailyUsage {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProjectUsage` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct ProjectUsage {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_INPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | const OPUS_4_INPUT_PRICE: f64 = 15.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_OUTPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const OPUS_4_OUTPUT_PRICE: f64 = 75.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_CACHE_WRITE_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const OPUS_4_CACHE_WRITE_PRICE: f64 = 18.75;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OPUS_4_CACHE_READ_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const OPUS_4_CACHE_READ_PRICE: f64 = 1.50;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_INPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const SONNET_4_INPUT_PRICE: f64 = 3.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_OUTPUT_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const SONNET_4_OUTPUT_PRICE: f64 = 15.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_CACHE_WRITE_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const SONNET_4_CACHE_WRITE_PRICE: f64 = 3.75;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SONNET_4_CACHE_READ_PRICE` is never used
[INFO] [stdout]   --> src/commands/usage.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | const SONNET_4_CACHE_READ_PRICE: f64 = 0.30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonlEntry` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct JsonlEntry {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageData` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct MessageData {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsageData` is never constructed
[INFO] [stdout]   --> src/commands/usage.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | struct UsageData {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_cost` is never used
[INFO] [stdout]    --> src/commands/usage.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn calculate_cost(model: &str, usage: &UsageData) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_jsonl_file` is never used
[INFO] [stdout]    --> src/commands/usage.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn parse_jsonl_file(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_earliest_timestamp` is never used
[INFO] [stdout]    --> src/commands/usage.rs:231:4
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn get_earliest_timestamp(path: &PathBuf) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_all_usage_entries` is never used
[INFO] [stdout]    --> src/commands/usage.rs:252:4
[INFO] [stdout]     |
[INFO] [stdout] 252 | fn get_all_usage_entries(claude_path: &PathBuf) -> Vec<UsageEntry> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_usage_stats` is never used
[INFO] [stdout]    --> src/commands/usage.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub fn get_usage_stats(days: Option<u32>) -> Result<UsageStats, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_usage_by_date_range` is never used
[INFO] [stdout]    --> src/commands/usage.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn get_usage_by_date_range(start_date: String, end_date: String) -> Result<UsageStats, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_usage_details` is never used
[INFO] [stdout]    --> src/commands/usage.rs:622:8
[INFO] [stdout]     |
[INFO] [stdout] 622 | pub fn get_usage_details(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_session_stats` is never used
[INFO] [stdout]    --> src/commands/usage.rs:646:8
[INFO] [stdout]     |
[INFO] [stdout] 646 | pub fn get_session_stats(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_list_tables` is never used
[INFO] [stdout]   --> src/commands/storage.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub async fn storage_list_tables(db: State<'_, AgentDb>) -> Result<Vec<TableInfo>, String> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_read_table` is never used
[INFO] [stdout]    --> src/commands/storage.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub async fn storage_read_table(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_update_row` is never used
[INFO] [stdout]    --> src/commands/storage.rs:231:14
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub async fn storage_update_row(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_delete_row` is never used
[INFO] [stdout]    --> src/commands/storage.rs:287:14
[INFO] [stdout]     |
[INFO] [stdout] 287 | pub async fn storage_delete_row(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_insert_row` is never used
[INFO] [stdout]    --> src/commands/storage.rs:328:14
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub async fn storage_insert_row(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_execute_sql` is never used
[INFO] [stdout]    --> src/commands/storage.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub async fn storage_execute_sql(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_reset_database` is never used
[INFO] [stdout]    --> src/commands/storage.rs:434:14
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub async fn storage_reset_database(app: AppHandle) -> Result<(), String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_table_name` is never used
[INFO] [stdout]    --> src/commands/storage.rs:484:4
[INFO] [stdout]     |
[INFO] [stdout] 484 | fn is_valid_table_name(conn: &Connection, table_name: &str) -> Result<bool, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `json_to_sql_value` is never used
[INFO] [stdout]    --> src/commands/storage.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn json_to_sql_value(value: &JsonValue) -> Result<Box<dyn rusqlite::ToSql>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlashCommand` is never constructed
[INFO] [stdout]   --> src/commands/slash_commands.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SlashCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommandFrontmatter` is never constructed
[INFO] [stdout]   --> src/commands/slash_commands.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct CommandFrontmatter {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_markdown_with_frontmatter` is never used
[INFO] [stdout]   --> src/commands/slash_commands.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn parse_markdown_with_frontmatter(content: &str) -> Result<(Option<CommandFrontmatter>, String)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_command_info` is never used
[INFO] [stdout]   --> src/commands/slash_commands.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn extract_command_info(file_path: &Path, base_path: &Path) -> Result<(String, Option<String>)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_command_from_file` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:115:4
[INFO] [stdout]     |
[INFO] [stdout] 115 | fn load_command_from_file(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_markdown_files` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn find_markdown_files(dir: &Path, files: &mut Vec<PathBuf>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_commands_list` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub async fn slash_commands_list(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_command_get` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:264:14
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub async fn slash_command_get(command_id: String) -> Result<SlashCommand, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_command_save` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:285:14
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub async fn slash_command_save(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slash_command_delete` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub async fn slash_command_delete(command_id: String) -> Result<String, String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_empty_dirs` is never used
[INFO] [stdout]    --> src/commands/slash_commands.rs:387:4
[INFO] [stdout]     |
[INFO] [stdout] 387 | fn remove_empty_dirs(dir: &Path) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `next_id` is never read
[INFO] [stdout]   --> src/process/registry.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ProcessRegistry {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 41 |     processes: Arc<Mutex<HashMap<i64, ProcessHandle>>>, // run_id -> ProcessHandle
[INFO] [stdout] 42 |     next_id: Arc<Mutex<i64>>, // Auto-incrementing ID for non-agent processes
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/process/registry.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl ProcessRegistry {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn generate_id(&self) -> Result<i64, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn register_process(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn register_claude_session(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn register_process_internal(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn get_running_claude_sessions(&self) -> Result<Vec<ProcessInfo>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn get_claude_session_by_id(&self, session_id: &str) -> Result<Option<ProcessInfo>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn get_running_agent_processes(&self) -> Result<Vec<ProcessInfo>, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub async fn kill_process(&self, run_id: i64) -> Result<bool, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn kill_process_by_pid(&self, run_id: i64, pid: u32) -> Result<bool, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn append_live_output(&self, run_id: i64, output: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 442 |     pub fn get_live_output(&self, run_id: i64) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/process/registry.rs:490:33
[INFO] [stdout]     |
[INFO] [stdout] 490 | pub struct ProcessRegistryState(pub Arc<ProcessRegistry>);
[INFO] [stdout]     |            -------------------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 57s
[INFO] running `Command { std: "docker" "inspect" "9ffe72f2c15021aa18c3bd56c03932a5481f37c08094db9fd314ea540bff72b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9ffe72f2c15021aa18c3bd56c03932a5481f37c08094db9fd314ea540bff72b0", kill_on_drop: false }`
[INFO] [stdout] 9ffe72f2c15021aa18c3bd56c03932a5481f37c08094db9fd314ea540bff72b0
