[INFO] fetching crate dynamo-protocols 8.2.0...
[INFO] testing dynamo-protocols-8.2.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate dynamo-protocols 8.2.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate dynamo-protocols 8.2.0
[INFO] finished tweaking crates.io crate dynamo-protocols 8.2.0
[INFO] tweaked toml for crates.io crate dynamo-protocols 8.2.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dynamo-protocols 8.2.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dynamo-protocols 8.2.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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded referencing v0.29.1
[INFO] [stderr]   Downloaded jsonschema v0.29.1
[INFO] [stderr]   Downloaded async-openai v0.42.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326
[INFO] running `Command { std: "docker" "start" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling async-openai v0.42.1
[INFO] [stderr]    Compiling dynamo-protocols v8.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling referencing v0.29.1
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling dynamo-protocols v8.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling jsonschema v0.29.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3m 14s
[INFO] running `Command { std: "docker" "inspect" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/dynamo_protocols-eab199c30b12afcb)
[INFO] [stdout] 
[INFO] [stdout] running 150 tests
[INFO] [stdout] test types::anthropic::tests::messages_request_keeps_nvext_opaque ... ok
[INFO] [stdout] test types::chat::tests::assistant_message_omits_partial_when_absent ... ok
[INFO] [stdout] test types::chat::tests::audio_url_null_and_top_level_uuid ... ok
[INFO] [stdout] test types::anthropic::tests::tool_result_blocks_preserve_image_and_reject_document ... ok
[INFO] [stdout] test types::anthropic::tests::tool_strict_round_trips ... ok
[INFO] [stdout] test types::chat::tests::chat_logprob_deserializes_optional_fields ... ok
[INFO] [stdout] test types::chat::tests::assistant_message_serializes_partial_when_present ... ok
[INFO] [stdout] test types::chat::tests::cached_media_builders_allow_omitting_urls ... ok
[INFO] [stdout] test types::chat::tests::chat_logprob_preserves_nullable_fields ... ok
[INFO] [stdout] test types::chat::tests::chat_logprob_serializes_token_id_when_present ... ok
[INFO] [stdout] test types::chat::tests::chat_response_omits_absent_optional_fields ... ok
[INFO] [stdout] test types::chat::tests::dynamic_tool_name_handles_wrapped_bare_and_invalid_shapes ... ok
[INFO] [stdout] test types::chat::tests::empty_media_urls_deserialize_as_uuid_only ... ok
[INFO] [stdout] test types::chat::tests::effective_tool_set_unions_top_level_and_dynamic_system_tools ... ok
[INFO] [stdout] test types::chat::tests::default_system_message_round_trips ... ok
[INFO] [stdout] test types::chat::tests::dynamic_system_tools_alone_count_as_effective_tools ... ok
[INFO] [stdout] test types::chat::tests::effective_tool_set_is_empty_without_any_declaration ... ok
[INFO] [stdout] test types::chat::tests::function_call_rejects_null_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_stream_accepts_dict_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_stream_null_arguments_produces_none ... ok
[INFO] [stdout] test types::chat::tests::function_call_accepts_dict_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_accepts_string_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_stream_rejects_boolean_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_rejects_array_arguments ... ok
[INFO] [stdout] test types::chat::tests::image_url_null_without_uuid_deserializes_for_use_site_validation ... ok
[INFO] [stdout] test types::chat::tests::function_call_rejects_integer_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_stream_rejects_integer_arguments ... ok
[INFO] [stdout] test types::chat::tests::function_call_rejects_boolean_arguments ... ok
[INFO] [stdout] test types::chat::tests::invalid_media_urls_remain_rejected ... ok
[INFO] [stdout] test types::chat::tests::image_url_uuid_accepts_opaque_string ... ok
[INFO] [stdout] test types::chat::tests::image_url_serialize_uuid_only_uses_null_image_url ... ok
[INFO] [stdout] test types::chat::tests::kimi_style_request_preserves_tools_and_canonicalizes_content ... ok
[INFO] [stdout] test types::chat::tests::function_call_stream_accepts_null_arguments ... ok
[INFO] [stdout] test types::chat::tests::image_url_url_and_top_level_uuid ... ok
[INFO] [stdout] test types::chat::tests::image_url_null_and_top_level_uuid ... ok
[INFO] [stdout] test types::chat::tests::legacy_nested_media_uuids_remain_accepted ... ok
[INFO] [stdout] test types::chat::tests::message_content_array_preserves_uuid_alignment ... ok
[INFO] [stdout] test types::chat::tests::message_rejects_duplicate_fields_in_nested_typed_objects ... ok
[INFO] [stdout] test types::chat::tests::message_rejects_duplicate_top_level_keys ... ok
[INFO] [stdout] test types::chat::tests::stop_accepts_string_and_string_array ... ok
[INFO] [stdout] test types::chat::tests::stop_converts_from_upstream_stop_configuration ... ok
[INFO] [stdout] test types::chat::tests::stop_accepts_token_id_array ... ok
[INFO] [stdout] test types::chat::tests::stream_options_default_missing_and_null_flags_to_false ... ok
[INFO] [stdout] test types::chat::tests::stream_options_preserve_boolean_wire_shape_and_reject_other_types ... ok
[INFO] [stdout] test types::chat::tests::stop_token_id_display_string_remains_string_stop ... ok
[INFO] [stdout] test types::chat::tests::stream_delta_function_call_accepts_dict_arguments ... ok
[INFO] [stdout] test types::chat::tests::stream_delta_function_call_omits_absent_fields ... ok
[INFO] [stdout] test types::chat::tests::stream_tool_call_continuation_chunk_omits_absent_fields ... ok
[INFO] [stdout] test types::chat::tests::system_message_from_upstream_preserves_content_and_leaves_tools_none ... ok
[INFO] [stdout] test types::chat::tests::stream_response_omits_absent_optional_fields ... ok
[INFO] [stdout] test types::chat::tests::message_rejects_tools_and_partial_on_wrong_roles ... ok
[INFO] [stdout] test types::chat::tests::system_message_canonicalizes_missing_content_with_tools ... ok
[INFO] [stdout] test types::chat::tests::request_builder_accepts_upstream_reasoning_effort ... ok
[INFO] [stdout] test types::chat::tests::system_message_guard_keeps_field_level_errors ... ok
[INFO] [stdout] test types::chat::tests::stop_rejects_single_token_id ... ok
[INFO] [stdout] test types::chat::tests::system_message_guard_leaves_valid_shapes_alone ... ok
[INFO] [stdout] test types::chat::tests::tool_call_with_dict_arguments_roundtrip ... ok
[INFO] [stdout] test types::chat::tests::system_message_restores_upstream_convenience_conversions ... ok
[INFO] [stdout] test types::chat::tests::tool_message_accepts_media_content ... ok
[INFO] [stdout] test types::chat::tests::url_conversions_preserve_required_urls ... ok
[INFO] [stdout] test types::chat::tests::system_message_tools_preserve_official_wrapped_shape ... ok
[INFO] [stdout] test types::completion::tests::builder_accepts_upstream_stop_configuration ... ok
[INFO] [stdout] test types::chat::tests::video_url_null_and_top_level_uuid ... ok
[INFO] [stdout] test types::chat::tests::usage_details_omit_absent_fields ... ok
[INFO] [stdout] test types::completion::tests::completion_choice_serializes_openai_shape ... ok
[INFO] [stdout] test types::completion::tests::echo_rejects_integer ... ok
[INFO] [stdout] test types::completion::tests::echo_rejects_string ... ok
[INFO] [stdout] test types::completion::tests::stop_token_id_display_string_remains_string_stop ... ok
[INFO] [stdout] test types::embeddings::tests::base64_variant_serializes_as_string ... ok
[INFO] [stdout] test types::completion::tests::stop_accepts_string_and_string_array ... ok
[INFO] [stdout] test types::completion::tests::stop_rejects_single_token_id ... ok
[INFO] [stdout] test types::completion::tests::stop_accepts_token_id_array ... ok
[INFO] [stdout] test types::chat::tests::system_message_without_content_is_rejected_unless_it_declares_tools ... ok
[INFO] [stdout] test types::chat::tests::tool_call_defaults_type_on_deserialize ... ok
[INFO] [stdout] test types::chat::tests::tool_call_serializes_type_for_wire_compat ... ok
[INFO] [stdout] test types::realtime::tests::text_events_round_trip ... ok
[INFO] [stdout] test types::embeddings::tests::float_variant_serializes_as_array ... ok
[INFO] [stdout] test types::realtime::tests::text_append_requires_non_null_text ... ok
[INFO] [stdout] test types::embeddings::tests::round_trips_via_embedding_struct ... ok
[INFO] [stdout] test types::embeddings::tests::deserializes_array_as_float ... ok
[INFO] [stdout] test types::embeddings::tests::deserializes_string_as_base64 ... ok
[INFO] [stdout] test types::responses::tests::assistant_message_without_content_field_deserializes ... ok
[INFO] [stdout] test types::responses::tests::codex_agent_message_normalizes_encrypted_content ... ok
[INFO] [stdout] test types::responses::tests::codex_agent_message_null_content_normalizes_empty ... ok
[INFO] [stdout] test types::responses::tests::assistant_message_with_explicit_null_content_deserializes ... ok
[INFO] [stdout] test types::responses::tests::codex_agent_message_normalizes_to_user_message ... ok
[INFO] [stdout] test types::responses::tests::codex_agent_message_string_content_normalizes_to_user_message ... ok
[INFO] [stdout] test types::responses::tests::assistant_message_with_explicit_null_id_and_status_deserializes ... ok
[INFO] [stdout] test types::responses::tests::codex_agent_message_missing_content_normalizes_empty ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_distinguishes_absent_tools_from_empty_tools ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_dropped_item_variants_cost_nothing ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_deserializes_the_litellm_request_shape ... ok
[INFO] [stdout] test types::responses::reasoning_effort_tests::every_reasoning_effort_deserializes ... ok
[INFO] [stdout] test types::realtime::tests::session_update_accepts_null_turn_detection ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_accepts_explicit_null_input ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_counts_exactly_the_variants_the_converter_renders ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_charges_one_assistant_marker_per_coalesced_turn ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_empty_input_is_zero ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_images_contribute_nothing ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_input_is_optional ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_instructions_contribute ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_drops_unparseable_tools_instead_of_failing ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_item_reference_contributes_nothing ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_easy_message_counts_role_and_content ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_item_reference_does_not_split_an_assistant_turn ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_function_call_counts_name_and_arguments ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_ignores_unsupported_stateful_fields ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_plain_text_input ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_reasoning_counts_summary_only ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_reopens_the_assistant_turn_after_a_flush ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_keeps_parseable_tools_alongside_dropped_ones ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_namespaced_tools_count_their_functions ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_response_serializes_to_the_openai_shape ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_scores_the_two_spellings_of_a_prompt_identically ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_short_input_never_rounds_to_zero ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_structured_input_message ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_tools_contribute ... ok
[INFO] [stdout] test types::responses::tests::create_response_roundtrip_aiperf_pre_pr931_payload ... ok
[INFO] [stdout] test types::responses::tests::create_response_roundtrip_with_relaxed_input ... ok
[INFO] [stdout] test types::responses::tests::easy_message_assistant_multimodal_without_type ... ok
[INFO] [stdout] test types::responses::tests::easy_message_string_content_routes_to_easymessage ... ok
[INFO] [stdout] test types::responses::tests::easy_message_text_only_without_type_unchanged ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_function_call_output_counts_text ... ok
[INFO] [stdout] test types::responses::tests::easy_message_multimodal_with_explicit_null_detail ... ok
[INFO] [stdout] test types::responses::tests::easy_message_multimodal_without_type_routes_to_easymessage ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_hosted_tools_cost_nothing ... ok
[INFO] [stdout] test types::responses::tests::easy_message_with_explicit_type_still_routes_to_item_message ... ok
[INFO] [stdout] test types::responses::tests::full_request_with_idless_reasoning_item_deserializes ... ok
[INFO] [stdout] test types::responses::tests::function_call_output_string_still_parses ... ok
[INFO] [stdout] test types::responses::tests::input_image_with_explicit_null_detail_defaults_to_auto ... ok
[INFO] [stdout] test types::responses::tests::input_image_without_detail_defaults_to_auto ... ok
[INFO] [stdout] test types::responses::tests::mcp_call_item_deserializes ... ok
[INFO] [stdout] test types::responses::tests::output_text_with_explicit_null_annotations_deserializes_as_empty ... ok
[INFO] [stdout] test types::responses::tests::output_text_without_annotations_defaults_empty ... ok
[INFO] [stdout] test types::responses::tests::reasoning_input_encrypted_without_id_or_summary_deserializes ... ok
[INFO] [stdout] test types::responses::tests::reasoning_input_with_id_still_works ... ok
[INFO] [stdout] test types::responses::tests::reasoning_input_without_id_deserializes ... ok
[INFO] [stdout] test types::responses::tests::function_call_output_from_conversions_match_upstream ... ok
[INFO] [stdout] test types::responses::tests::function_call_output_image_part_with_null_detail_matches_message_content ... ok
[INFO] [stdout] test types::responses::tests::relaxed_assistant_message_without_id_or_status ... ok
[INFO] [stdout] test types::responses::tests::strict_assistant_message_still_deserializes ... ok
[INFO] [stdout] test types::responses::tests::tool_choice_absent_is_none ... ok
[INFO] [stdout] test types::responses::tests::tool_choice_specific_function_object_still_works ... ok
[INFO] [stdout] test types::responses::tests::user_message_routes_to_input_variant ... ok
[INFO] [stdout] test types::responses::tests::function_call_item_still_deserializes ... ok
[INFO] [stdout] test types::responses::tests::count_tokens_unsupported_item_splits_an_assistant_turn ... ok
[INFO] [stdout] test types::responses::tests::function_call_output_image_part_without_detail_parses ... ok
[INFO] [stdout] test types::responses::tests::tool_choice_bare_string_still_works ... ok
[INFO] [stdout] test types::responses::tests::tool_choice_mode_object_coerces_to_mode ... ok
[INFO] [stdout] test types::responses::tests::create_response_accepts_max_tokens_as_alias_for_max_output_tokens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 150 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests dynamo_protocols
[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] running `Command { std: "docker" "inspect" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326", kill_on_drop: false }`
[INFO] [stdout] 02a7b2b2213fc483f9285892f9f9c560feac2d7836bbe75d862ae0da56e06326
