[INFO] cloning repository https://github.com/rsr5/signal-ha [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rsr5/signal-ha" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frsr5%2Fsignal-ha", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frsr5%2Fsignal-ha'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 60b34936ce558aab69e46a6912e499a8e9a19dd5 [INFO] checking rsr5/signal-ha against master#c756124775121dea0e640652c5ee3c89e3dd0eb4 for pr-154971 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frsr5%2Fsignal-ha" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rsr5/signal-ha [INFO] finished tweaking git repo https://github.com/rsr5/signal-ha [INFO] tweaked toml for git repo https://github.com/rsr5/signal-ha written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rsr5/signal-ha on toolchain c756124775121dea0e640652c5ee3c89e3dd0eb4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rsr5/signal-ha 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" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/pydantic/monty.git` [INFO] [stderr] Updating git repository `https://github.com/astral-sh/ruff.git` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sunrise v3.0.0 [INFO] [stderr] Downloaded named_pipe v0.4.1 [INFO] [stderr] Downloaded subprocess v0.2.15 [INFO] [stderr] Downloaded mysql v25.0.1 [INFO] [stderr] Downloaded is-macro v0.3.7 [INFO] [stderr] Downloaded unicode_names2_generator v1.3.0 [INFO] [stderr] Downloaded attribute-derive-macro v0.10.5 [INFO] [stderr] Downloaded pyo3-macros v0.25.1 [INFO] [stderr] Downloaded frunk_derives v0.4.4 [INFO] [stderr] Downloaded frunk_proc_macros v0.1.4 [INFO] [stderr] Downloaded mysql_common v0.32.4 [INFO] [stderr] Downloaded pyo3-build-config v0.28.2 [INFO] [stderr] Downloaded pyo3-build-config v0.25.1 [INFO] [stderr] Downloaded frunk_core v0.4.4 [INFO] [stderr] Downloaded ordermap v1.1.0 [INFO] [stderr] Downloaded fancy-regex v0.17.0 [INFO] [stderr] Downloaded pyo3-ffi v0.25.1 [INFO] [stderr] Downloaded pyo3-macros-backend v0.25.1 [INFO] [stderr] Downloaded frunk v0.4.4 [INFO] [stderr] Downloaded attribute-derive v0.10.5 [INFO] [stderr] Downloaded get-size2 v0.7.4 [INFO] [stderr] Downloaded derive_utils v0.15.1 [INFO] [stderr] Downloaded saturating v0.1.0 [INFO] [stderr] Downloaded mysql-common-derive v0.31.2 [INFO] [stderr] Downloaded collection_literals v1.0.3 [INFO] [stderr] Downloaded get-size-derive2 v0.7.4 [INFO] [stderr] Downloaded io-enum v1.2.1 [INFO] [stderr] Downloaded frunk_proc_macro_helpers v0.1.4 [INFO] [stderr] Downloaded unicode_names2 v1.3.0 [INFO] [stderr] Downloaded pyo3 v0.25.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3aa8282d64b11d2f9b25ee7492f8da7a417d7720af6dda63e9a58cc194ba15d3 [INFO] running `Command { std: "docker" "start" "-a" "3aa8282d64b11d2f9b25ee7492f8da7a417d7720af6dda63e9a58cc194ba15d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3aa8282d64b11d2f9b25ee7492f8da7a417d7720af6dda63e9a58cc194ba15d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3aa8282d64b11d2f9b25ee7492f8da7a417d7720af6dda63e9a58cc194ba15d3", kill_on_drop: false }` [INFO] [stdout] 3aa8282d64b11d2f9b25ee7492f8da7a417d7720af6dda63e9a58cc194ba15d3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 89c9243129932a23193d43e9f110c88fd5d3f1db1c7e6210c84d60a5c13489e9 [INFO] running `Command { std: "docker" "start" "-a" "89c9243129932a23193d43e9f110c88fd5d3f1db1c7e6210c84d60a5c13489e9", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling target-lexicon v0.13.5 [INFO] [stderr] Checking futures-sink v0.3.32 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking regex-syntax v0.8.10 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Compiling proc-macro-utils v0.10.0 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling quote-use-macros v0.8.4 [INFO] [stderr] Compiling manyhow-macros v0.11.4 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling pyo3-build-config v0.25.1 [INFO] [stderr] Compiling collection_literals v1.0.3 [INFO] [stderr] Compiling manyhow v0.11.4 [INFO] [stderr] Compiling derive-where v1.6.0 [INFO] [stderr] Checking axum-core v0.5.6 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling quote-use v0.8.4 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling attribute-derive-macro v0.10.5 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking compact_str v0.9.0 [INFO] [stderr] Checking ordermap v1.1.0 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking iri-string v0.7.10 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Compiling pyo3-build-config v0.28.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Compiling attribute-derive v0.10.5 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking sunrise v3.0.0 [INFO] [stderr] Compiling heapless v0.7.17 [INFO] [stderr] Checking unicode-ident v1.0.24 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Compiling is-macro v0.3.7 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking hash32 v0.2.1 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Compiling get-size-derive2 v0.7.4 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Compiling pyo3-ffi v0.25.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling pyo3-macros-backend v0.25.1 [INFO] [stderr] Checking cobs v0.3.0 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking postcard v1.1.3 [INFO] [stderr] Compiling pyo3 v0.25.1 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking get-size2 v0.7.4 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking ruff_text_size v0.0.0 (https://github.com/astral-sh/ruff.git?rev=6ded4bed1651e30b34dd04cdaa50c763036abb0d#6ded4bed) [INFO] [stderr] Compiling monty v0.0.7 (https://github.com/pydantic/monty.git?branch=main#bf7c7ef4) [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking unindent v0.2.4 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Checking ruff_source_file v0.0.0 (https://github.com/astral-sh/ruff.git?rev=6ded4bed1651e30b34dd04cdaa50c763036abb0d#6ded4bed) [INFO] [stderr] Checking signal-ha-lighting v0.1.0 (/opt/rustwide/workdir/crates/signal-ha-lighting) [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking bstr v1.12.1 [INFO] [stderr] Checking ruff_python_trivia v0.0.0 (https://github.com/astral-sh/ruff.git?rev=6ded4bed1651e30b34dd04cdaa50c763036abb0d#6ded4bed) [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tracing-subscriber v0.3.22 [INFO] [stderr] Checking fancy-regex v0.17.0 [INFO] [stderr] Checking ruff_python_ast v0.0.0 (https://github.com/astral-sh/ruff.git?rev=6ded4bed1651e30b34dd04cdaa50c763036abb0d#6ded4bed) [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking tempfile v3.26.0 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling unicode_names2_generator v1.3.0 [INFO] [stderr] Compiling pyo3-macros v0.25.1 [INFO] [stderr] Compiling unicode_names2 v1.3.0 [INFO] [stderr] Checking axum v0.8.8 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking rusqlite v0.32.1 [INFO] [stderr] Checking ruff_python_parser v0.0.0 (https://github.com/astral-sh/ruff.git?rev=6ded4bed1651e30b34dd04cdaa50c763036abb0d#6ded4bed) [INFO] [stderr] Checking signal-ha v0.1.0 (/opt/rustwide/workdir/crates/signal-ha) [INFO] [stderr] Checking message-board v0.1.0 (/opt/rustwide/workdir/crates/message-board) [INFO] [stderr] Checking signal-ha-py v0.1.0 (/opt/rustwide/workdir/crates/signal-ha-py) [INFO] [stderr] Checking signal-ha-recorder v0.1.0 (/opt/rustwide/workdir/crates/signal-ha-recorder) [INFO] [stderr] Checking signal-ha-shell v0.1.0 (/opt/rustwide/workdir/crates/signal-ha-shell) [INFO] [stderr] Checking signal-ha-agent v0.1.0 (/opt/rustwide/workdir/crates/signal-ha-agent) [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::tools::{Tool, ToolRegistry, ToolResult}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolRegistry`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::tools::{Tool, ToolRegistry, ToolResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:28:40 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::tools::{Tool, ToolRegistry, ToolResult}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolRegistry`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:53:36 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn register_all(registry: &mut ToolRegistry, opts: &HaToolOpts) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:91:6 [INFO] [stdout] | [INFO] [stdout] 91 | impl Tool for GetStateTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:138:6 [INFO] [stdout] | [INFO] [stdout] 138 | impl Tool for GetStatesTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:203:6 [INFO] [stdout] | [INFO] [stdout] 203 | impl Tool for GetHistoryTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:298:6 [INFO] [stdout] | [INFO] [stdout] 298 | impl Tool for GetLogbookTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:372:6 [INFO] [stdout] | [INFO] [stdout] 372 | impl Tool for GetStatusPageTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:414:6 [INFO] [stdout] | [INFO] [stdout] 414 | impl Tool for WriteLogTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:451:6 [INFO] [stdout] | [INFO] [stdout] 451 | impl Tool for GetAgentMemoryTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:483:6 [INFO] [stdout] | [INFO] [stdout] 483 | impl Tool for SetAgentMemoryTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:521:6 [INFO] [stdout] | [INFO] [stdout] 521 | impl Tool for ScheduleNextSessionTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:550:6 [INFO] [stdout] | [INFO] [stdout] 550 | impl Tool for SuggestConfigChangeTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:103:38 [INFO] [stdout] | [INFO] [stdout] 103 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 106 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | Err(e) => return ToolResult::err(format!("Error getting state for {entity_id}: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | return ToolResult::err(format!("Error getting state for {entity_id}: HTTP {}", resp.status())); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:117:30 [INFO] [stdout] | [INFO] [stdout] 117 | Ok(state) => ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => ToolResult::err(format!("Error parsing state for {entity_id}: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:153:38 [INFO] [stdout] | [INFO] [stdout] 153 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:159:34 [INFO] [stdout] | [INFO] [stdout] 159 | Err(e) => return ToolResult::err(format!("Error fetching states: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | return ToolResult::err("No states returned"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | ToolResult::ok(serde_json::to_string_pretty(&summary).unwrap_or_default()) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:218:38 [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:221:24 [INFO] [stdout] | [INFO] [stdout] 221 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:270:25 [INFO] [stdout] | [INFO] [stdout] 270 | ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:281:31 [INFO] [stdout] | [INFO] [stdout] 281 | Err(e) => ToolResult::err(format!("Failed to parse history response: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:283:29 [INFO] [stdout] | [INFO] [stdout] 283 | Ok(resp) => ToolResult::err(format!("History API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:284:27 [INFO] [stdout] | [INFO] [stdout] 284 | Err(e) => ToolResult::err(format!("History API request failed: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:313:38 [INFO] [stdout] | [INFO] [stdout] 313 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:348:25 [INFO] [stdout] | [INFO] [stdout] 348 | ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:356:31 [INFO] [stdout] | [INFO] [stdout] 356 | Err(e) => ToolResult::err(format!("Failed to parse logbook response: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:358:29 [INFO] [stdout] | [INFO] [stdout] 358 | Ok(resp) => ToolResult::err(format!("Logbook API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:359:27 [INFO] [stdout] | [INFO] [stdout] 359 | Err(e) => ToolResult::err(format!("Logbook API request failed: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:390:38 [INFO] [stdout] | [INFO] [stdout] 390 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:400:33 [INFO] [stdout] | [INFO] [stdout] 400 | Ok(body) => ToolResult::ok(body), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:401:31 [INFO] [stdout] | [INFO] [stdout] 401 | Err(e) => ToolResult::err(format!("Failed to read status page body: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:403:29 [INFO] [stdout] | [INFO] [stdout] 403 | Ok(resp) => ToolResult::err(format!("Status page error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | Err(e) => ToolResult::err(format!("Status page request failed: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:429:38 [INFO] [stdout] | [INFO] [stdout] 429 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:440:13 [INFO] [stdout] | [INFO] [stdout] 440 | ToolResult::ok(format!("Logged ({level}): {message}")) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:466:38 [INFO] [stdout] | [INFO] [stdout] 466 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:470:13 [INFO] [stdout] | [INFO] [stdout] 470 | ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:501:38 [INFO] [stdout] | [INFO] [stdout] 501 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | return ToolResult::err("Missing required arg: content"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:508:27 [INFO] [stdout] | [INFO] [stdout] 508 | Ok(()) => ToolResult::ok("Memory saved."), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:509:27 [INFO] [stdout] | [INFO] [stdout] 509 | Err(e) => ToolResult::err(format!("Failed to save memory: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:536:38 [INFO] [stdout] | [INFO] [stdout] 536 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:541:13 [INFO] [stdout] | [INFO] [stdout] 541 | ToolResult::ok(format!("Next session scheduled in {hours} hours.")) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:568:38 [INFO] [stdout] | [INFO] [stdout] 568 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:582:13 [INFO] [stdout] | [INFO] [stdout] 582 | ToolResult::ok(format!( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `ha_tools::tests::register_all_builds_registry`: Use ha_host instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:637:11 [INFO] [stdout] | [INFO] [stdout] 637 | async fn register_all_builds_registry() { [INFO] [stdout] | ___________^ [INFO] [stdout] ... | [INFO] [stdout] 647 | | assert!(docs.contains("suggest_config_change")); [INFO] [stdout] 648 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `ha_tools::tests::schedule_sets_duration`: Use ha_host instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:610:11 [INFO] [stdout] | [INFO] [stdout] 610 | async fn schedule_sets_duration() { [INFO] [stdout] | ___________^ [INFO] [stdout] 611 | | let next = Arc::new(Mutex::new(None)); [INFO] [stdout] 612 | | let tool = ScheduleNextSessionTool { next: next.clone() }; [INFO] [stdout] ... | [INFO] [stdout] 616 | | assert_eq!(*next.lock().await, Some(Duration::from_secs(12 * 3600))); [INFO] [stdout] 617 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `ha_tools::tests::suggest_config_change_logs`: Use ha_host instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:620:11 [INFO] [stdout] | [INFO] [stdout] 620 | async fn suggest_config_change_logs() { [INFO] [stdout] | ___________^ [INFO] [stdout] 621 | | let tool = SuggestConfigChangeTool; [INFO] [stdout] 622 | | let r = tool [INFO] [stdout] 623 | | .execute(json!({ [INFO] [stdout] ... | [INFO] [stdout] 633 | | assert!(r.output.contains("high")); [INFO] [stdout] 634 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `ha_tools::tests::write_log_levels`: Use ha_host instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:599:11 [INFO] [stdout] | [INFO] [stdout] 599 | async fn write_log_levels() { [INFO] [stdout] | ___________^ [INFO] [stdout] 600 | | let tool = WriteLogTool; [INFO] [stdout] 601 | | let r = tool.execute(json!({"message": "test", "level": "info"})).await; [INFO] [stdout] 602 | | assert!(!r.is_error); [INFO] [stdout] ... | [INFO] [stdout] 606 | | assert!(r.output.contains("Logged (warn)")); [INFO] [stdout] 607 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `tools::tests::duplicate_tool_panics`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/tools.rs:256:5 [INFO] [stdout] | [INFO] [stdout] 256 | / fn duplicate_tool_panics() { [INFO] [stdout] 257 | | let mut reg = ToolRegistry::new(); [INFO] [stdout] 258 | | reg.register(EchoTool); [INFO] [stdout] 259 | | reg.register(EchoTool); [INFO] [stdout] 260 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `tools::tests::parse_no_args`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/tools.rs:214:5 [INFO] [stdout] | [INFO] [stdout] 214 | / fn parse_no_args() { [INFO] [stdout] 215 | | let content = "get_status_page()"; [INFO] [stdout] 216 | | let paren_pos = content.find('(').unwrap(); [INFO] [stdout] 217 | | let tool_name = &content[..paren_pos]; [INFO] [stdout] ... | [INFO] [stdout] 224 | | assert!(args_str.is_empty()); [INFO] [stdout] 225 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `tools::tests::parse_tool_call_syntax`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/tools.rs:201:5 [INFO] [stdout] | [INFO] [stdout] 201 | / fn parse_tool_call_syntax() { [INFO] [stdout] 202 | | let content = r#"get_state({"entity_id": "sensor.temp"})"#; [INFO] [stdout] 203 | | let paren_pos = content.find('(').unwrap(); [INFO] [stdout] 204 | | let tool_name = &content[..paren_pos]; [INFO] [stdout] ... | [INFO] [stdout] 210 | | assert_eq!(args["entity_id"], "sensor.temp"); [INFO] [stdout] 211 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `tools::tests::registry_dispatch`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/tools.rs:228:11 [INFO] [stdout] | [INFO] [stdout] 228 | async fn registry_dispatch() { [INFO] [stdout] | ___________^ [INFO] [stdout] 229 | | let mut reg = ToolRegistry::new(); [INFO] [stdout] 230 | | reg.register(EchoTool); [INFO] [stdout] ... | [INFO] [stdout] 234 | | assert_eq!(result.output, "hello"); [INFO] [stdout] 235 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `tools::tests::registry_unknown_tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/tools.rs:238:11 [INFO] [stdout] | [INFO] [stdout] 238 | async fn registry_unknown_tool() { [INFO] [stdout] | ___________^ [INFO] [stdout] 239 | | let reg = ToolRegistry::new(); [INFO] [stdout] 240 | | let result = reg.dispatch("nope()").await; [INFO] [stdout] 241 | | assert!(result.is_error); [INFO] [stdout] 242 | | assert!(result.output.contains("Unknown tool")); [INFO] [stdout] 243 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `tools::tests::tool_docs_generated`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/tools.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | / fn tool_docs_generated() { [INFO] [stdout] 247 | | let mut reg = ToolRegistry::new(); [INFO] [stdout] 248 | | reg.register(EchoTool); [INFO] [stdout] 249 | | let docs = reg.tool_docs(); [INFO] [stdout] 250 | | assert!(docs.contains("echo")); [INFO] [stdout] 251 | | assert!(docs.contains("Echoes the input back")); [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:28:20 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::tools::{Tool, ToolRegistry, ToolResult}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolRegistry`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::tools::{Tool, ToolRegistry, ToolResult}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:28:40 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::tools::{Tool, ToolRegistry, ToolResult}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolRegistry`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:53:36 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn register_all(registry: &mut ToolRegistry, opts: &HaToolOpts) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:91:6 [INFO] [stdout] | [INFO] [stdout] 91 | impl Tool for GetStateTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:138:6 [INFO] [stdout] | [INFO] [stdout] 138 | impl Tool for GetStatesTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:203:6 [INFO] [stdout] | [INFO] [stdout] 203 | impl Tool for GetHistoryTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:298:6 [INFO] [stdout] | [INFO] [stdout] 298 | impl Tool for GetLogbookTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:372:6 [INFO] [stdout] | [INFO] [stdout] 372 | impl Tool for GetStatusPageTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:414:6 [INFO] [stdout] | [INFO] [stdout] 414 | impl Tool for WriteLogTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:451:6 [INFO] [stdout] | [INFO] [stdout] 451 | impl Tool for GetAgentMemoryTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:483:6 [INFO] [stdout] | [INFO] [stdout] 483 | impl Tool for SetAgentMemoryTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:521:6 [INFO] [stdout] | [INFO] [stdout] 521 | impl Tool for ScheduleNextSessionTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `tools::Tool`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:550:6 [INFO] [stdout] | [INFO] [stdout] 550 | impl Tool for SuggestConfigChangeTool { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:103:38 [INFO] [stdout] | [INFO] [stdout] 103 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 106 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:111:34 [INFO] [stdout] | [INFO] [stdout] 111 | Err(e) => return ToolResult::err(format!("Error getting state for {entity_id}: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:114:24 [INFO] [stdout] | [INFO] [stdout] 114 | return ToolResult::err(format!("Error getting state for {entity_id}: HTTP {}", resp.status())); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:117:30 [INFO] [stdout] | [INFO] [stdout] 117 | Ok(state) => ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:126:27 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => ToolResult::err(format!("Error parsing state for {entity_id}: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:153:38 [INFO] [stdout] | [INFO] [stdout] 153 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:159:34 [INFO] [stdout] | [INFO] [stdout] 159 | Err(e) => return ToolResult::err(format!("Error fetching states: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:163:24 [INFO] [stdout] | [INFO] [stdout] 163 | return ToolResult::err("No states returned"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | ToolResult::ok(serde_json::to_string_pretty(&summary).unwrap_or_default()) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:218:38 [INFO] [stdout] | [INFO] [stdout] 218 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:221:24 [INFO] [stdout] | [INFO] [stdout] 221 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:270:25 [INFO] [stdout] | [INFO] [stdout] 270 | ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:281:31 [INFO] [stdout] | [INFO] [stdout] 281 | Err(e) => ToolResult::err(format!("Failed to parse history response: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:283:29 [INFO] [stdout] | [INFO] [stdout] 283 | Ok(resp) => ToolResult::err(format!("History API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:284:27 [INFO] [stdout] | [INFO] [stdout] 284 | Err(e) => ToolResult::err(format!("History API request failed: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:313:38 [INFO] [stdout] | [INFO] [stdout] 313 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:348:25 [INFO] [stdout] | [INFO] [stdout] 348 | ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:356:31 [INFO] [stdout] | [INFO] [stdout] 356 | Err(e) => ToolResult::err(format!("Failed to parse logbook response: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:358:29 [INFO] [stdout] | [INFO] [stdout] 358 | Ok(resp) => ToolResult::err(format!("Logbook API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:359:27 [INFO] [stdout] | [INFO] [stdout] 359 | Err(e) => ToolResult::err(format!("Logbook API request failed: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:390:38 [INFO] [stdout] | [INFO] [stdout] 390 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:400:33 [INFO] [stdout] | [INFO] [stdout] 400 | Ok(body) => ToolResult::ok(body), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:401:31 [INFO] [stdout] | [INFO] [stdout] 401 | Err(e) => ToolResult::err(format!("Failed to read status page body: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:403:29 [INFO] [stdout] | [INFO] [stdout] 403 | Ok(resp) => ToolResult::err(format!("Status page error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:404:27 [INFO] [stdout] | [INFO] [stdout] 404 | Err(e) => ToolResult::err(format!("Status page request failed: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:429:38 [INFO] [stdout] | [INFO] [stdout] 429 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:440:13 [INFO] [stdout] | [INFO] [stdout] 440 | ToolResult::ok(format!("Logged ({level}): {message}")) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:466:38 [INFO] [stdout] | [INFO] [stdout] 466 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:470:13 [INFO] [stdout] | [INFO] [stdout] 470 | ToolResult::ok( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:501:38 [INFO] [stdout] | [INFO] [stdout] 501 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | return ToolResult::err("Missing required arg: content"); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:508:27 [INFO] [stdout] | [INFO] [stdout] 508 | Ok(()) => ToolResult::ok("Memory saved."), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:509:27 [INFO] [stdout] | [INFO] [stdout] 509 | Err(e) => ToolResult::err(format!("Failed to save memory: {e}")), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:536:38 [INFO] [stdout] | [INFO] [stdout] 536 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:541:13 [INFO] [stdout] | [INFO] [stdout] 541 | ToolResult::ok(format!("Next session scheduled in {hours} hours.")) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:568:38 [INFO] [stdout] | [INFO] [stdout] 568 | ) -> Pin + Send + 'a>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolResult`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:582:13 [INFO] [stdout] | [INFO] [stdout] 582 | ToolResult::ok(format!( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated struct `tools::ToolRegistry`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:641:23 [INFO] [stdout] | [INFO] [stdout] 641 | let mut reg = ToolRegistry::new(); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | registry.register(GetStateTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | registry.register(GetStatesTool { client: opts.ha_client.clone() }); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | registry.register(GetHistoryTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | registry.register(GetLogbookTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | registry.register(GetStatusPageTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | registry.register(WriteLogTool); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | registry.register(GetAgentMemoryTool { memory: opts.shared.memory.clone() }); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | registry.register(SetAgentMemoryTool { memory: opts.shared.memory.clone() }); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | registry.register(ScheduleNextSessionTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | registry.register(SuggestConfigChangeTool); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:111:46 [INFO] [stdout] | [INFO] [stdout] 111 | Err(e) => return ToolResult::err(format!("Error getting state for {entity_id}: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:114:36 [INFO] [stdout] | [INFO] [stdout] 114 | return ToolResult::err(format!("Error getting state for {entity_id}: HTTP {}", resp.status())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:117:42 [INFO] [stdout] | [INFO] [stdout] 117 | Ok(state) => ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:126:39 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => ToolResult::err(format!("Error parsing state for {entity_id}: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:159:46 [INFO] [stdout] | [INFO] [stdout] 159 | Err(e) => return ToolResult::err(format!("Error fetching states: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:163:36 [INFO] [stdout] | [INFO] [stdout] 163 | return ToolResult::err("No states returned"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | ToolResult::ok(serde_json::to_string_pretty(&summary).unwrap_or_default()) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:221:36 [INFO] [stdout] | [INFO] [stdout] 221 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:270:37 [INFO] [stdout] | [INFO] [stdout] 270 | ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:281:43 [INFO] [stdout] | [INFO] [stdout] 281 | Err(e) => ToolResult::err(format!("Failed to parse history response: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:283:41 [INFO] [stdout] | [INFO] [stdout] 283 | Ok(resp) => ToolResult::err(format!("History API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:284:39 [INFO] [stdout] | [INFO] [stdout] 284 | Err(e) => ToolResult::err(format!("History API request failed: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:348:37 [INFO] [stdout] | [INFO] [stdout] 348 | ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:356:43 [INFO] [stdout] | [INFO] [stdout] 356 | Err(e) => ToolResult::err(format!("Failed to parse logbook response: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:358:41 [INFO] [stdout] | [INFO] [stdout] 358 | Ok(resp) => ToolResult::err(format!("Logbook API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:359:39 [INFO] [stdout] | [INFO] [stdout] 359 | Err(e) => ToolResult::err(format!("Logbook API request failed: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:400:45 [INFO] [stdout] | [INFO] [stdout] 400 | Ok(body) => ToolResult::ok(body), [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:401:43 [INFO] [stdout] | [INFO] [stdout] 401 | Err(e) => ToolResult::err(format!("Failed to read status page body: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:403:41 [INFO] [stdout] | [INFO] [stdout] 403 | Ok(resp) => ToolResult::err(format!("Status page error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:404:39 [INFO] [stdout] | [INFO] [stdout] 404 | Err(e) => ToolResult::err(format!("Status page request failed: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:440:25 [INFO] [stdout] | [INFO] [stdout] 440 | ToolResult::ok(format!("Logged ({level}): {message}")) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:470:25 [INFO] [stdout] | [INFO] [stdout] 470 | ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:504:36 [INFO] [stdout] | [INFO] [stdout] 504 | return ToolResult::err("Missing required arg: content"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:508:39 [INFO] [stdout] | [INFO] [stdout] 508 | Ok(()) => ToolResult::ok("Memory saved."), [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:509:39 [INFO] [stdout] | [INFO] [stdout] 509 | Err(e) => ToolResult::err(format!("Failed to save memory: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:541:25 [INFO] [stdout] | [INFO] [stdout] 541 | ToolResult::ok(format!("Next session scheduled in {hours} hours.")) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:582:25 [INFO] [stdout] | [INFO] [stdout] 582 | ToolResult::ok(format!( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | registry.register(GetStateTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:59:14 [INFO] [stdout] | [INFO] [stdout] 59 | registry.register(GetStatesTool { client: opts.ha_client.clone() }); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:60:14 [INFO] [stdout] | [INFO] [stdout] 60 | registry.register(GetHistoryTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:65:14 [INFO] [stdout] | [INFO] [stdout] 65 | registry.register(GetLogbookTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:70:14 [INFO] [stdout] | [INFO] [stdout] 70 | registry.register(GetStatusPageTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | registry.register(WriteLogTool); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | registry.register(GetAgentMemoryTool { memory: opts.shared.memory.clone() }); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:76:14 [INFO] [stdout] | [INFO] [stdout] 76 | registry.register(SetAgentMemoryTool { memory: opts.shared.memory.clone() }); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:77:14 [INFO] [stdout] | [INFO] [stdout] 77 | registry.register(ScheduleNextSessionTool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:80:14 [INFO] [stdout] | [INFO] [stdout] 80 | registry.register(SuggestConfigChangeTool); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:111:46 [INFO] [stdout] | [INFO] [stdout] 111 | Err(e) => return ToolResult::err(format!("Error getting state for {entity_id}: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:114:36 [INFO] [stdout] | [INFO] [stdout] 114 | return ToolResult::err(format!("Error getting state for {entity_id}: HTTP {}", resp.status())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:117:42 [INFO] [stdout] | [INFO] [stdout] 117 | Ok(state) => ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:126:39 [INFO] [stdout] | [INFO] [stdout] 126 | Err(e) => ToolResult::err(format!("Error parsing state for {entity_id}: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:159:46 [INFO] [stdout] | [INFO] [stdout] 159 | Err(e) => return ToolResult::err(format!("Error fetching states: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:163:36 [INFO] [stdout] | [INFO] [stdout] 163 | return ToolResult::err("No states returned"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:190:25 [INFO] [stdout] | [INFO] [stdout] 190 | ToolResult::ok(serde_json::to_string_pretty(&summary).unwrap_or_default()) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:221:36 [INFO] [stdout] | [INFO] [stdout] 221 | return ToolResult::err("Missing required arg: entity_id"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:270:37 [INFO] [stdout] | [INFO] [stdout] 270 | ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:281:43 [INFO] [stdout] | [INFO] [stdout] 281 | Err(e) => ToolResult::err(format!("Failed to parse history response: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:283:41 [INFO] [stdout] | [INFO] [stdout] 283 | Ok(resp) => ToolResult::err(format!("History API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:284:39 [INFO] [stdout] | [INFO] [stdout] 284 | Err(e) => ToolResult::err(format!("History API request failed: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:348:37 [INFO] [stdout] | [INFO] [stdout] 348 | ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:356:43 [INFO] [stdout] | [INFO] [stdout] 356 | Err(e) => ToolResult::err(format!("Failed to parse logbook response: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:358:41 [INFO] [stdout] | [INFO] [stdout] 358 | Ok(resp) => ToolResult::err(format!("Logbook API error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:359:39 [INFO] [stdout] | [INFO] [stdout] 359 | Err(e) => ToolResult::err(format!("Logbook API request failed: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:400:45 [INFO] [stdout] | [INFO] [stdout] 400 | Ok(body) => ToolResult::ok(body), [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:401:43 [INFO] [stdout] | [INFO] [stdout] 401 | Err(e) => ToolResult::err(format!("Failed to read status page body: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:403:41 [INFO] [stdout] | [INFO] [stdout] 403 | Ok(resp) => ToolResult::err(format!("Status page error: HTTP {}", resp.status())), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:404:39 [INFO] [stdout] | [INFO] [stdout] 404 | Err(e) => ToolResult::err(format!("Status page request failed: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:440:25 [INFO] [stdout] | [INFO] [stdout] 440 | ToolResult::ok(format!("Logged ({level}): {message}")) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:470:25 [INFO] [stdout] | [INFO] [stdout] 470 | ToolResult::ok( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:504:36 [INFO] [stdout] | [INFO] [stdout] 504 | return ToolResult::err("Missing required arg: content"); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:508:39 [INFO] [stdout] | [INFO] [stdout] 508 | Ok(()) => ToolResult::ok("Memory saved."), [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::err`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:509:39 [INFO] [stdout] | [INFO] [stdout] 509 | Err(e) => ToolResult::err(format!("Failed to save memory: {e}")), [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:541:25 [INFO] [stdout] | [INFO] [stdout] 541 | ToolResult::ok(format!("Next session scheduled in {hours} hours.")) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolResult::ok`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:582:25 [INFO] [stdout] | [INFO] [stdout] 582 | ToolResult::ok(format!( [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::Tool::execute`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:601:22 [INFO] [stdout] | [INFO] [stdout] 601 | let r = tool.execute(json!({"message": "test", "level": "info"})).await; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tools::ToolResult::is_error`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:602:18 [INFO] [stdout] | [INFO] [stdout] 602 | assert!(!r.is_error); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tools::ToolResult::output`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:603:17 [INFO] [stdout] | [INFO] [stdout] 603 | assert!(r.output.contains("Logged (info)")); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::Tool::execute`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:605:22 [INFO] [stdout] | [INFO] [stdout] 605 | let r = tool.execute(json!({"message": "test", "level": "warn"})).await; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tools::ToolResult::output`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:606:17 [INFO] [stdout] | [INFO] [stdout] 606 | assert!(r.output.contains("Logged (warn)")); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::Tool::execute`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:614:22 [INFO] [stdout] | [INFO] [stdout] 614 | let r = tool.execute(json!({"hours": 12})).await; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tools::ToolResult::is_error`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:615:18 [INFO] [stdout] | [INFO] [stdout] 615 | assert!(!r.is_error); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::Tool::execute`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:623:14 [INFO] [stdout] | [INFO] [stdout] 623 | .execute(json!({ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tools::ToolResult::is_error`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:632:18 [INFO] [stdout] | [INFO] [stdout] 632 | assert!(!r.is_error); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tools::ToolResult::output`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:633:17 [INFO] [stdout] | [INFO] [stdout] 633 | assert!(r.output.contains("high")); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `tools::ToolRegistry::new`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:641:37 [INFO] [stdout] | [INFO] [stdout] 641 | let mut reg = ToolRegistry::new(); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | reg.register(WriteLogTool); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::register`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:643:13 [INFO] [stdout] | [INFO] [stdout] 643 | reg.register(SuggestConfigChangeTool); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `tools::ToolRegistry::tool_docs`: Use engine instead — Python runtime replaces Tool dispatch [INFO] [stdout] --> crates/signal-ha-agent/src/ha_tools.rs:645:24 [INFO] [stdout] | [INFO] [stdout] 645 | let docs = reg.tool_docs(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_line` is never read [INFO] [stdout] --> crates/signal-ha-agent/src/parser.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct CodeBlock { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub start_line: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CodeBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_line` is never read [INFO] [stdout] --> crates/signal-ha-agent/src/parser.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct CodeBlock { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | pub start_line: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CodeBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "89c9243129932a23193d43e9f110c88fd5d3f1db1c7e6210c84d60a5c13489e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "89c9243129932a23193d43e9f110c88fd5d3f1db1c7e6210c84d60a5c13489e9", kill_on_drop: false }` [INFO] [stdout] 89c9243129932a23193d43e9f110c88fd5d3f1db1c7e6210c84d60a5c13489e9