[INFO] fetching crate kodegen_mcp_tool 0.6.1...
[INFO] testing kodegen_mcp_tool-0.6.1 against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] extracting crate kodegen_mcp_tool 0.6.1 into /workspace/builds/worker-3-tc2/source
[INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate kodegen_mcp_tool 0.6.1
[INFO] finished tweaking crates.io crate kodegen_mcp_tool 0.6.1
[INFO] tweaked toml for crates.io crate kodegen_mcp_tool 0.6.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kodegen_mcp_tool 0.6.1 on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kodegen_mcp_tool 0.6.1 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 372da641345b570cf3cdff8a508317c01734af07e29cbef68302fb4ce04ffc92
[INFO] running `Command { std: "docker" "start" "-a" "372da641345b570cf3cdff8a508317c01734af07e29cbef68302fb4ce04ffc92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "372da641345b570cf3cdff8a508317c01734af07e29cbef68302fb4ce04ffc92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "372da641345b570cf3cdff8a508317c01734af07e29cbef68302fb4ce04ffc92", kill_on_drop: false }`
[INFO] [stdout] 372da641345b570cf3cdff8a508317c01734af07e29cbef68302fb4ce04ffc92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5b769791ea4d934b802bdc06884f1900ba06ecdabc662d37aeabaf8d7c0b2469
[INFO] running `Command { std: "docker" "start" "-a" "5b769791ea4d934b802bdc06884f1900ba06ecdabc662d37aeabaf8d7c0b2469", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustls-pki-types v1.13.1
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling webpki-roots v1.0.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling iri-string v0.7.9
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.8
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling pastey v0.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling schemars_derive v1.1.0
[INFO] [stderr]    Compiling rmcp-macros v0.10.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling lru v0.16.2
[INFO] [stderr]    Compiling cyrup_termcolor v2.0.0
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling sse-stream v0.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling schemars v1.1.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling process-wrap v8.2.1
[INFO] [stderr]    Compiling kodegen_config v0.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling tower-http v0.6.7
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling rmcp v0.10.0
[INFO] [stderr]    Compiling kodegen_mcp_schema v0.6.2
[INFO] [stderr]    Compiling kodegen_mcp_tool v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 44s
[INFO] running `Command { std: "docker" "inspect" "5b769791ea4d934b802bdc06884f1900ba06ecdabc662d37aeabaf8d7c0b2469", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b769791ea4d934b802bdc06884f1900ba06ecdabc662d37aeabaf8d7c0b2469", kill_on_drop: false }`
[INFO] [stdout] 5b769791ea4d934b802bdc06884f1900ba06ecdabc662d37aeabaf8d7c0b2469
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02f7e73b95e6e3845b7457f9b4dea20bf1b11e61d98a5fec1dceaefed9d0bd54
[INFO] running `Command { std: "docker" "start" "-a" "02f7e73b95e6e3845b7457f9b4dea20bf1b11e61d98a5fec1dceaefed9d0bd54", kill_on_drop: false }`
[INFO] [stderr]    Compiling kodegen_mcp_tool v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.90s
[INFO] running `Command { std: "docker" "inspect" "02f7e73b95e6e3845b7457f9b4dea20bf1b11e61d98a5fec1dceaefed9d0bd54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02f7e73b95e6e3845b7457f9b4dea20bf1b11e61d98a5fec1dceaefed9d0bd54", kill_on_drop: false }`
[INFO] [stdout] 02f7e73b95e6e3845b7457f9b4dea20bf1b11e61d98a5fec1dceaefed9d0bd54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 85c045e1d2abff49501d0d111a4180576c1efc049d3e370bdb9c840e0db00a91
[INFO] running `Command { std: "docker" "start" "-a" "85c045e1d2abff49501d0d111a4180576c1efc049d3e370bdb9c840e0db00a91", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kodegen_mcp_tool-8f53e3672b85cbfb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kodegen_mcp_tool
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test src/tool.rs - tool::Tool::execute (line 329) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::ToolExecutionContext::update (line 682) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::ToolExecutionContext::stream (line 655) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::ToolExecutionContext::is_cancelled (line 749) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::ToolResponse (line 35) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::ToolExecutionContext::notify (line 699) ... FAILED
[INFO] [stdout] test src/tool.rs - tool::ToolExecutionContext::progress (line 669) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 10) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/tool.rs - tool::Tool::execute (line 329) stdout ----
[INFO] [stdout] error: expected identifier, found `...`
[INFO] [stdout]    --> src/tool.rs:338:60
[INFO] [stdout]     |
[INFO] [stdout] 338 |         Ok(ToolResponse::new(output_text, TerminalOutput { ... }))
[INFO] [stdout]     |                                           --------------   ^^^ expected identifier
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           while parsing this struct
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Tool` in this scope
[INFO] [stdout]    --> src/tool.rs:330:6
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Tool for TerminalTool {
[INFO] [stdout]     |      ^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_tool::Tool;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `TerminalTool` in this scope
[INFO] [stdout]    --> src/tool.rs:330:15
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl Tool for TerminalTool {
[INFO] [stdout]     |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `TerminalInput` in this scope
[INFO] [stdout]    --> src/tool.rs:331:17
[INFO] [stdout]     |
[INFO] [stdout] 331 |     type Args = TerminalInput;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_schema::TerminalInput;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ToolExecutionContext` in this scope
[INFO] [stdout]    --> src/tool.rs:335:52
[INFO] [stdout]     |
[INFO] [stdout] 335 |     async fn execute(&self, args: Self::Args, ctx: ToolExecutionContext)
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_tool::ToolExecutionContext;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ToolResponse` in this scope
[INFO] [stdout]    --> src/tool.rs:336:19
[INFO] [stdout]     |
[INFO] [stdout] 336 |         -> Result<ToolResponse<TerminalOutput>, McpError>
[INFO] [stdout]     |                   ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_tool::ToolResponse;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `TerminalOutput` in this scope
[INFO] [stdout]    --> src/tool.rs:336:32
[INFO] [stdout]     |
[INFO] [stdout] 336 |         -> Result<ToolResponse<TerminalOutput>, McpError>
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_schema::TerminalOutput;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `McpError` in this scope
[INFO] [stdout]    --> src/tool.rs:336:49
[INFO] [stdout]     |
[INFO] [stdout] 336 |         -> Result<ToolResponse<TerminalOutput>, McpError>
[INFO] [stdout]     |                                                 ^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_tool::McpError;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ToolResponse`
[INFO] [stdout]    --> src/tool.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 338 |         Ok(ToolResponse::new(output_text, TerminalOutput { ... }))
[INFO] [stdout]     |            ^^^^^^^^^^^^ use of undeclared type `ToolResponse`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_tool::ToolResponse;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `output_text` in this scope
[INFO] [stdout]    --> src/tool.rs:338:30
[INFO] [stdout]     |
[INFO] [stdout] 338 |         Ok(ToolResponse::new(output_text, TerminalOutput { ... }))
[INFO] [stdout]     |                              ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `TerminalOutput` in this scope
[INFO] [stdout]    --> src/tool.rs:338:43
[INFO] [stdout]     |
[INFO] [stdout] 338 |         Ok(ToolResponse::new(output_text, TerminalOutput { ... }))
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]     |
[INFO] [stdout] 329 + use kodegen_mcp_schema::TerminalOutput;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::ToolExecutionContext::update (line 682) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/tool.rs:683:1
[INFO] [stdout]     |
[INFO] [stdout] 683 | ctx.update(50.0, 100.0, "Generating embeddings 50/100").await.ok();
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/tool.rs:683:57
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_rs_682_0() {
[INFO] [stdout]     |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 683 | ctx.update(50.0, 100.0, "Generating embeddings 50/100").await.ok();
[INFO] [stdout]     |                                                         ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::ToolExecutionContext::stream (line 655) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/tool.rs:657:1
[INFO] [stdout]     |
[INFO] [stdout] 657 | ctx.stream("npm info using npm@8.19.2\n").await.ok();
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/tool.rs:658:1
[INFO] [stdout]     |
[INFO] [stdout] 658 | ctx.stream("added 234 packages in 15s\n").await.ok();
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/tool.rs:657:43
[INFO] [stdout]     |
[INFO] [stdout] 655 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_rs_655_0() {
[INFO] [stdout]     |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 656 | // Terminal streaming command output
[INFO] [stdout] 657 | ctx.stream("npm info using npm@8.19.2\n").await.ok();
[INFO] [stdout]     |                                           ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/tool.rs:658:43
[INFO] [stdout]     |
[INFO] [stdout] 655 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_rs_655_0() {
[INFO] [stdout]     |                                      ------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 658 | ctx.stream("added 234 packages in 15s\n").await.ok();
[INFO] [stdout]     |                                           ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::ToolExecutionContext::is_cancelled (line 749) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `items` in this scope
[INFO] [stdout]    --> src/tool.rs:750:13
[INFO] [stdout]     |
[INFO] [stdout] 750 | for item in items {
[INFO] [stdout]     |             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/tool.rs:751:8
[INFO] [stdout]     |
[INFO] [stdout] 751 |     if ctx.is_cancelled() {
[INFO] [stdout]     |        ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `McpError`
[INFO] [stdout]    --> src/tool.rs:752:20
[INFO] [stdout]     |
[INFO] [stdout] 752 |         return Err(McpError::cancelled("Operation cancelled"));
[INFO] [stdout]     |                    ^^^^^^^^ use of undeclared type `McpError`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]     |
[INFO] [stdout] 749 + use kodegen_mcp_tool::McpError;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/tool.rs:754:24
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_rs_749_0() {
[INFO] [stdout]     |                                      ------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 754 |     process_item(item).await?;
[INFO] [stdout]     |                        ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `process_item` in this scope
[INFO] [stdout]    --> src/tool.rs:754:5
[INFO] [stdout]     |
[INFO] [stdout] 754 |     process_item(item).await?;
[INFO] [stdout]     |     ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::ToolResponse (line 35) stdout ----
[INFO] [stdout] error[E0405]: cannot find trait `Tool` in this scope
[INFO] [stdout]   --> src/tool.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Tool for TerminalTool {
[INFO] [stdout]    |      ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_tool::Tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `TerminalTool` in this scope
[INFO] [stdout]   --> src/tool.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Tool for TerminalTool {
[INFO] [stdout]    |               ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `TerminalInput` in this scope
[INFO] [stdout]   --> src/tool.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     type Args = TerminalInput;
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_schema::TerminalInput;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ToolExecutionContext` in this scope
[INFO] [stdout]   --> src/tool.rs:41:52
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn execute(&self, args: Self::Args, ctx: ToolExecutionContext)
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_tool::ToolExecutionContext;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ToolResponse` in this scope
[INFO] [stdout]   --> src/tool.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |         -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
[INFO] [stdout]    |                   ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_tool::ToolResponse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `ToolArgs` in this scope
[INFO] [stdout]   --> src/tool.rs:42:47
[INFO] [stdout]    |
[INFO] [stdout] 42 |         -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
[INFO] [stdout]    |                                               ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these traits
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_schema::ToolArgs;
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_tool::ToolArgs;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `McpError` in this scope
[INFO] [stdout]   --> src/tool.rs:42:67
[INFO] [stdout]    |
[INFO] [stdout] 42 |         -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
[INFO] [stdout]    |                                                                   ^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this enum
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_tool::McpError;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ToolResponse`
[INFO] [stdout]   --> src/tool.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |         Ok(ToolResponse::new(
[INFO] [stdout]    |            ^^^^^^^^^^^^ use of undeclared type `ToolResponse`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_tool::ToolResponse;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `TerminalOutput` in this scope
[INFO] [stdout]   --> src/tool.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             TerminalOutput {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 35 + use kodegen_mcp_schema::TerminalOutput;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `elapsed` in this scope
[INFO] [stdout]   --> src/tool.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 |                 duration_ms: elapsed,
[INFO] [stdout]    |                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `run_command` in this scope
[INFO] [stdout]   --> src/tool.rs:44:22
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let output = run_command(&args.command).await?;
[INFO] [stdout]    |                      ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 11 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0422, E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::ToolExecutionContext::notify (line 699) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/tool.rs:701:1
[INFO] [stdout]     |
[INFO] [stdout] 701 | ctx.notify(lines_read as f64, None, Some("Reading file...")).await.ok();
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `lines_read` in this scope
[INFO] [stdout]    --> src/tool.rs:701:12
[INFO] [stdout]     |
[INFO] [stdout] 701 | ctx.notify(lines_read as f64, None, Some("Reading file...")).await.ok();
[INFO] [stdout]     |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/tool.rs:701:62
[INFO] [stdout]     |
[INFO] [stdout] 699 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_rs_699_0() {
[INFO] [stdout]     |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 700 | // Unknown total, just report current count
[INFO] [stdout] 701 | ctx.notify(lines_read as f64, None, Some("Reading file...")).await.ok();
[INFO] [stdout]     |                                                              ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tool.rs - tool::ToolExecutionContext::progress (line 669) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `ctx` in this scope
[INFO] [stdout]    --> src/tool.rs:671:1
[INFO] [stdout]     |
[INFO] [stdout] 671 | ctx.progress(50.0, 100.0).await.ok();
[INFO] [stdout]     | ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/tool.rs:671:27
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_tool_rs_669_0() {
[INFO] [stdout]     |                                      ------------------------------------ this is not `async`
[INFO] [stdout] 670 | // Processing 50 out of 100 files
[INFO] [stdout] 671 | ctx.progress(50.0, 100.0).await.ok();
[INFO] [stdout]     |                           ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 10) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `MyArgs: ToolArgs` is not satisfied
[INFO] [stdout]    --> src/lib.rs:29:17
[INFO] [stdout]     |
[INFO] [stdout]  29 |     type Args = MyArgs;
[INFO] [stdout]     |                 ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `ToolArgs` is not implemented for `MyArgs`
[INFO] [stdout]    --> src/lib.rs:21:1
[INFO] [stdout]     |
[INFO] [stdout]  21 | pub struct MyArgs {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: the following other types implement trait `ToolArgs`:
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserAgentArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserClickArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserExtractTextArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserNavigateArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserResearchArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserScreenshotArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserScrollArgs
[INFO] [stdout]               kodegen_mcp_schema::browser::BrowserTypeTextArgs
[INFO] [stdout]             and 102 others
[INFO] [stdout] note: required by a bound in `kodegen_mcp_tool::Tool::Args`
[INFO] [stdout]    --> src/tool.rs:154:16
[INFO] [stdout]     |
[INFO] [stdout] 154 |     type Args: ToolArgs;
[INFO] [stdout]     |                ^^^^^^^^ required by this bound in `Tool::Args`
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `execute` has 2 parameters but the declaration in trait `execute` has 3
[INFO] [stdout]   --> src/lib.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |     async fn execute(&self, args: Self::Args) -> Result<Value, McpError> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters, found 2
[INFO] [stdout]    |
[INFO] [stdout]    = note: `execute` from trait: `fn(&Self, <Self as kodegen_mcp_tool::Tool>::Args, ToolExecutionContext) -> impl Future<Output = Result<ToolResponse<<<Self as kodegen_mcp_tool::Tool>::Args as ToolArgs>::Output>, kodegen_mcp_tool::McpError>> + Send`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0050, E0277.
[INFO] [stdout] For more information about an error, try `rustc --explain E0050`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 10)
[INFO] [stdout]     src/tool.rs - tool::Tool::execute (line 329)
[INFO] [stdout]     src/tool.rs - tool::ToolExecutionContext::is_cancelled (line 749)
[INFO] [stdout]     src/tool.rs - tool::ToolExecutionContext::notify (line 699)
[INFO] [stdout]     src/tool.rs - tool::ToolExecutionContext::progress (line 669)
[INFO] [stdout]     src/tool.rs - tool::ToolExecutionContext::stream (line 655)
[INFO] [stdout]     src/tool.rs - tool::ToolExecutionContext::update (line 682)
[INFO] [stdout]     src/tool.rs - tool::ToolResponse (line 35)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.12s; merged doctests compilation took 0.42s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "85c045e1d2abff49501d0d111a4180576c1efc049d3e370bdb9c840e0db00a91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "85c045e1d2abff49501d0d111a4180576c1efc049d3e370bdb9c840e0db00a91", kill_on_drop: false }`
[INFO] [stdout] 85c045e1d2abff49501d0d111a4180576c1efc049d3e370bdb9c840e0db00a91
