[INFO] fetching crate url-preview 0.6.0...
[INFO] testing url-preview-0.6.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate url-preview 0.6.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate url-preview 0.6.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate url-preview 0.6.0
[INFO] tweaked toml for crates.io crate url-preview 0.6.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate url-preview 0.6.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate url-preview 0.6.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dyn-clone v1.0.19
[INFO] [stderr]   Downloaded markup5ever v0.11.0
[INFO] [stderr]   Downloaded reqwest-eventsource v0.6.0
[INFO] [stderr]   Downloaded is-terminal v0.4.16
[INFO] [stderr]   Downloaded ego-tree v0.6.3
[INFO] [stderr]   Downloaded async-convert v1.0.0
[INFO] [stderr]   Downloaded libredox v0.1.6
[INFO] [stderr]   Downloaded eventsource-stream v0.2.3
[INFO] [stderr]   Downloaded quinn-udp v0.5.13
[INFO] [stderr]   Downloaded backoff v0.4.0
[INFO] [stderr]   Downloaded cc-sdk v0.1.5
[INFO] [stderr]   Downloaded async-openai v0.23.4
[INFO] [stderr]   Downloaded html5ever v0.26.0
[INFO] [stderr]   Downloaded serde_json v1.0.141
[INFO] [stderr]   Downloaded clap v4.5.41
[INFO] [stderr]   Downloaded tracing-appender v0.2.3
[INFO] [stderr]   Downloaded which v6.0.3
[INFO] [stderr]   Downloaded getopts v0.2.23
[INFO] [stderr]   Downloaded scraper v0.17.1
[INFO] [stderr]   Downloaded jsonrpc-stdio-server v18.0.0
[INFO] [stderr]   Downloaded reqwest v0.12.22
[INFO] [stderr]   Downloaded rustls v0.23.29
[INFO] [stderr]   Downloaded clap_builder v4.5.41
[INFO] [stderr]   Downloaded tokio v1.46.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b0de04d06c43e60092d2117c43fa9f9bb33c4d5af9e6746c85dcd68033aeaa54
[INFO] running `Command { std: "docker" "start" "-a" "b0de04d06c43e60092d2117c43fa9f9bb33c4d5af9e6746c85dcd68033aeaa54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b0de04d06c43e60092d2117c43fa9f9bb33c4d5af9e6746c85dcd68033aeaa54", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0de04d06c43e60092d2117c43fa9f9bb33c4d5af9e6746c85dcd68033aeaa54", kill_on_drop: false }`
[INFO] [stdout] b0de04d06c43e60092d2117c43fa9f9bb33c4d5af9e6746c85dcd68033aeaa54
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1d4e2d2276c61796d8a812fd80ec947122b77991fea6f4a8d1b8d91c7ff6578e
[INFO] running `Command { std: "docker" "start" "-a" "1d4e2d2276c61796d8a812fd80ec947122b77991fea6f4a8d1b8d91c7ff6578e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling cc v1.2.30
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling dtoa v1.0.10
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling servo_arc v0.3.0
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling getopts v0.2.23
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling ego-tree v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling scraper v0.17.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling url-preview v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] running `Command { std: "docker" "inspect" "1d4e2d2276c61796d8a812fd80ec947122b77991fea6f4a8d1b8d91c7ff6578e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d4e2d2276c61796d8a812fd80ec947122b77991fea6f4a8d1b8d91c7ff6578e", kill_on_drop: false }`
[INFO] [stdout] 1d4e2d2276c61796d8a812fd80ec947122b77991fea6f4a8d1b8d91c7ff6578e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 20a2d9a5072c3285a9d2df59d42c4d633edb611050d0db48dc6534c6f933f5ac
[INFO] running `Command { std: "docker" "start" "-a" "20a2d9a5072c3285a9d2df59d42c4d633edb611050d0db48dc6534c6f933f5ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling scraper v0.17.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling url-preview v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved imports `url_preview::LLMExtractor`, `url_preview::LLMExtractorConfig`, `url_preview::ContentFormat`, `url_preview::OpenAIProvider`, `url_preview::LLMProvider`
[INFO] [stdout]    --> examples/test_llm_with_claude.rs:9:14
[INFO] [stdout]     |
[INFO] [stdout]   9 |     Fetcher, LLMExtractor, LLMExtractorConfig, ContentFormat, 
[INFO] [stdout]     |              ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^ no `ContentFormat` in the root
[INFO] [stdout]     |              |             |
[INFO] [stdout]     |              |             no `LLMExtractorConfig` in the root
[INFO] [stdout]     |              no `LLMExtractor` in the root
[INFO] [stdout]  10 |     OpenAIProvider, LLMProvider,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^ no `LLMProvider` in the root
[INFO] [stdout]     |     |
[INFO] [stdout]     |     no `OpenAIProvider` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 127 | pub use llm_providers::openai::OpenAIProvider;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:110
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout]   9 -     Fetcher, LLMExtractor, LLMExtractorConfig, ContentFormat, 
[INFO] [stdout]   9 +     Fetcher, extractor, LLMExtractorConfig, ContentFormat, 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `schemars`
[INFO] [stdout]   --> examples/test_llm_with_claude.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use schemars::JsonSchema;
[INFO] [stdout]    |     ^^^^^^^^ use of unresolved module or unlinked crate `schemars`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `schemars`, use `cargo add schemars` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `url_preview::LLMExtractor`, `url_preview::LLMExtractorConfig`, `url_preview::ContentFormat`, `url_preview::OpenAIProvider`, `url_preview::MockProvider`, `url_preview::LLMProvider`
[INFO] [stdout]    --> examples/test_llm_extraction.rs:9:14
[INFO] [stdout]     |
[INFO] [stdout]   9 |     Fetcher, LLMExtractor, LLMExtractorConfig, ContentFormat, 
[INFO] [stdout]     |              ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^ no `ContentFormat` in the root
[INFO] [stdout]     |              |             |
[INFO] [stdout]     |              |             no `LLMExtractorConfig` in the root
[INFO] [stdout]     |              no `LLMExtractor` in the root
[INFO] [stdout]  10 |     OpenAIProvider, MockProvider, LLMProvider,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^ no `LLMProvider` in the root
[INFO] [stdout]     |     |               |
[INFO] [stdout]     |     |               no `MockProvider` in the root
[INFO] [stdout]     |     no `OpenAIProvider` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 127 | pub use llm_providers::openai::OpenAIProvider;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:125:24
[INFO] [stdout]     |
[INFO] [stdout] 124 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 125 | pub use llm_providers::MockProvider;
[INFO] [stdout]     |                        ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:110
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout]   9 -     Fetcher, LLMExtractor, LLMExtractorConfig, ContentFormat, 
[INFO] [stdout]   9 +     Fetcher, extractor, LLMExtractorConfig, ContentFormat, 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `schemars`
[INFO] [stdout]   --> examples/test_llm_extraction.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use schemars::JsonSchema;
[INFO] [stdout]    |     ^^^^^^^^ use of unresolved module or unlinked crate `schemars`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `schemars`, use `cargo add schemars` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `url_preview::LLMExtractor`, `url_preview::LLMExtractorConfig`, `url_preview::ClaudeCodeProvider`, `url_preview::LLMProvider`, `url_preview::ContentFormat`
[INFO] [stdout]    --> examples/test_claude_code_integration.rs:13:5
[INFO] [stdout]     |
[INFO] [stdout]  13 |     LLMExtractor, LLMExtractorConfig, 
[INFO] [stdout]     |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^ no `LLMExtractorConfig` in the root
[INFO] [stdout]     |     |
[INFO] [stdout]     |     no `LLMExtractor` in the root
[INFO] [stdout]  14 |     ClaudeCodeProvider, LLMProvider,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^ no `LLMProvider` in the root
[INFO] [stdout]     |     |
[INFO] [stdout]     |     no `ClaudeCodeProvider` in the root
[INFO] [stdout]  15 |     PreviewError, ContentFormat,
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ no `ContentFormat` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:133:37
[INFO] [stdout]     |
[INFO] [stdout] 132 | #[cfg(all(feature = "llm", feature = "cc-sdk"))]
[INFO] [stdout]     |           --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 133 | pub use llm_providers::claude_code::ClaudeCodeProvider;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:110
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout]  13 -     LLMExtractor, LLMExtractorConfig, 
[INFO] [stdout]  13 +     extractor, LLMExtractorConfig, 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `url_preview::LLMExtractor`, `url_preview::LLMExtractorConfig`, `url_preview::OpenAIProvider`, `url_preview::ContentFormat`, `url_preview::LLMProvider`, `url_preview::ExtractionResult`
[INFO] [stdout]    --> examples/claude_text_response_handler.rs:9:5
[INFO] [stdout]     |
[INFO] [stdout]   9 |     LLMExtractor, LLMExtractorConfig, OpenAIProvider, Fetcher, 
[INFO] [stdout]     |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^ no `OpenAIProvider` in the root
[INFO] [stdout]     |     |             |
[INFO] [stdout]     |     |             no `LLMExtractorConfig` in the root
[INFO] [stdout]     |     no `LLMExtractor` in the root
[INFO] [stdout]  10 |     PreviewError, ContentFormat, LLMProvider, ExtractionResult
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^ no `ExtractionResult` in the root
[INFO] [stdout]     |                   |              |
[INFO] [stdout]     |                   |              no `LLMProvider` in the root
[INFO] [stdout]     |                   no `ContentFormat` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 127 | pub use llm_providers::openai::OpenAIProvider;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:110
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:92
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout]   9 -     LLMExtractor, LLMExtractorConfig, OpenAIProvider, Fetcher, 
[INFO] [stdout]   9 +     extractor, LLMExtractorConfig, OpenAIProvider, Fetcher, 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `schemars`
[INFO] [stdout]   --> examples/claude_text_response_handler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use schemars::JsonSchema;
[INFO] [stdout]    |     ^^^^^^^^ use of unresolved module or unlinked crate `schemars`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `schemars`, use `cargo add schemars` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FetchResult`, `Fetcher`, and `PreviewService`
[INFO] [stdout]   --> examples/test_claude_code_integration.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     PreviewService, Fetcher, FetchResult, 
[INFO] [stdout]    |     ^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]   --> examples/test_claude_code_sdk.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         prompt: String,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `async_openai` in this scope
[INFO] [stdout]   --> examples/claude_text_response_handler.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let config = async_openai::config::OpenAIConfig::new()
[INFO] [stdout]    |                      ^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_openai`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `async_openai`, use `cargo add async_openai` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `url_preview::LLMExtractor`, `url_preview::OpenAIProvider`, `url_preview::ContentFormat`, `url_preview::LLMExtractorConfig`
[INFO] [stdout]    --> examples/test_openai_extraction.rs:7:5
[INFO] [stdout]     |
[INFO] [stdout]   7 |     LLMExtractor, OpenAIProvider, Fetcher, 
[INFO] [stdout]     |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^ no `OpenAIProvider` in the root
[INFO] [stdout]     |     |
[INFO] [stdout]     |     no `LLMExtractor` in the root
[INFO] [stdout]   8 |     PreviewError, ContentFormat, LLMExtractorConfig
[INFO] [stdout]     |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^ no `LLMExtractorConfig` in the root
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   no `ContentFormat` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 126 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 127 | pub use llm_providers::openai::OpenAIProvider;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout]   7 -     LLMExtractor, OpenAIProvider, Fetcher, 
[INFO] [stdout]   7 +     extractor, OpenAIProvider, Fetcher, 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `schemars`
[INFO] [stdout]   --> examples/test_openai_extraction.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use schemars::JsonSchema;
[INFO] [stdout]    |     ^^^^^^^^ use of unresolved module or unlinked crate `schemars`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `schemars`, use `cargo add schemars` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `async_openai` in this scope
[INFO] [stdout]   --> examples/claude_text_response_handler.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let config = async_openai::config::OpenAIConfig::new()
[INFO] [stdout]    |                  ^^^^^^^^^^^^ use of unresolved module or unlinked crate `async_openai`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `async_openai`, use `cargo add async_openai` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `url-preview` (example "test_llm_with_claude") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `url-preview` (example "test_llm_extraction") due to 2 previous errors
[INFO] [stdout] error[E0432]: unresolved imports `url_preview::LLMExtractor`, `url_preview::LLMExtractorConfig`, `url_preview::ContentFormat`, `url_preview::LLMProvider`
[INFO] [stdout]    --> examples/claude_via_openrouter.rs:12:14
[INFO] [stdout]     |
[INFO] [stdout]  12 |     Fetcher, LLMExtractor, LLMExtractorConfig, ContentFormat,
[INFO] [stdout]     |              ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^ no `ContentFormat` in the root
[INFO] [stdout]     |              |             |
[INFO] [stdout]     |              |             no `LLMExtractorConfig` in the root
[INFO] [stdout]     |              no `LLMExtractor` in the root
[INFO] [stdout]  13 |     LLMProvider, PreviewError,
[INFO] [stdout]     |     ^^^^^^^^^^^ no `LLMProvider` in the root
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:39
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:59
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/lib.rs:123:110
[INFO] [stdout]     |
[INFO] [stdout] 122 | #[cfg(feature = "llm")]
[INFO] [stdout]     |       --------------- the item is gated behind the `llm` feature
[INFO] [stdout] 123 | pub use llm_extractor::{LLMExtractor, LLMExtractorConfig, ContentFormat, ProcessedContent, ExtractionResult, LLMProvider, TokenUsage};
[INFO] [stdout]     |                                                                                                              ^^^^^^^^^^^
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]     |
[INFO] [stdout]  12 -     Fetcher, LLMExtractor, LLMExtractorConfig, ContentFormat,
[INFO] [stdout]  12 +     Fetcher, extractor, LLMExtractorConfig, ContentFormat,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `schemars`
[INFO] [stdout]   --> examples/claude_via_openrouter.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use schemars::JsonSchema;
[INFO] [stdout]    |     ^^^^^^^^ use of unresolved module or unlinked crate `schemars`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `schemars`, use `cargo add schemars` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `Ok(FetchResult::OEmbed(_))` not covered
[INFO] [stdout]    --> examples/test_claude_code_sdk.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |         match fetcher.fetch(url).await {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^ pattern `Ok(FetchResult::OEmbed(_))` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `Result<FetchResult, PreviewError>` defined here
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:557:0
[INFO] [stdout]    ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:561:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: not covered
[INFO] [stdout]     = note: the matched value is of type `Result<FetchResult, PreviewError>`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 236 ~             Err(e) => println!("❌ Fetch error: {}", e),
[INFO] [stdout] 237 ~             Ok(FetchResult::OEmbed(_)) => todo!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `Ok(FetchResult::OEmbed(_))` not covered
[INFO] [stdout]    --> examples/test_claude_code_sdk.rs:247:11
[INFO] [stdout]     |
[INFO] [stdout] 247 |     match fetcher.fetch(product_url).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern `Ok(FetchResult::OEmbed(_))` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `Result<FetchResult, PreviewError>` defined here
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:557:0
[INFO] [stdout]    ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:561:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: not covered
[INFO] [stdout]     = note: the matched value is of type `Result<FetchResult, PreviewError>`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 269 ~         Err(e) => println!("❌ Fetch error: {}", e),
[INFO] [stdout] 270 ~         Ok(FetchResult::OEmbed(_)) => todo!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0004]: non-exhaustive patterns: `Ok(FetchResult::OEmbed(_))` not covered
[INFO] [stdout]    --> examples/test_claude_code_sdk.rs:279:11
[INFO] [stdout]     |
[INFO] [stdout] 279 |     match fetcher.fetch(article_url).await {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pattern `Ok(FetchResult::OEmbed(_))` not covered
[INFO] [stdout]     |
[INFO] [stdout] note: `Result<FetchResult, PreviewError>` defined here
[INFO] [stdout]    --> /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:557:0
[INFO] [stdout]    ::: /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:561:4
[INFO] [stdout]     |
[INFO] [stdout]     = note: not covered
[INFO] [stdout]     = note: the matched value is of type `Result<FetchResult, PreviewError>`
[INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
[INFO] [stdout]     |
[INFO] [stdout] 306 ~         Err(e) => println!("❌ Fetch error: {}", e),
[INFO] [stdout] 307 ~         Ok(FetchResult::OEmbed(_)) => todo!(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `url-preview` (example "claude_text_response_handler") due to 4 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0004`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `url-preview` (example "claude_via_openrouter") due to 2 previous errors
[INFO] [stderr] error: could not compile `url-preview` (example "test_claude_code_sdk") due to 3 previous errors; 1 warning emitted
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `url-preview` (example "test_openai_extraction") due to 2 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `url-preview` (example "test_claude_code_integration") due to 1 previous error; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "20a2d9a5072c3285a9d2df59d42c4d633edb611050d0db48dc6534c6f933f5ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20a2d9a5072c3285a9d2df59d42c4d633edb611050d0db48dc6534c6f933f5ac", kill_on_drop: false }`
[INFO] [stdout] 20a2d9a5072c3285a9d2df59d42c4d633edb611050d0db48dc6534c6f933f5ac
