Risky behavior now covered
toolSearchVariant is regex in any case, and BM25 otherwise.cache_control stays off every defer_loading tool. With a mixed catalog it lands on the last eager tool. When every custom tool is deferred and programmatic calling is on, it lands on code_execution and disable_parallel_tool_use is omitted. Programmatic calling also skips askUserQuestion and any schema that contains $ref. Root oneOf is dropped from input_schema while nested $ref / $defs are kept.openrouter:tool_search and defer_loading. An Anthropic tool-search kind on the OpenAI wire emits neither server tool, defer_loading, nor allowed_callers.tools[n] schema rejection clears both. Anthropic treats tool_search_tool, defer_loading, code_execution, allowed_callers, and container as the feature markers; bare OpenAI tool_search does not disable Anthropic tool search, and container does not disable OpenAI programmatic calling. Aborts, timeouts, and network errors never record a rejection.Test files added/updated
crates/cowork-providers/tests/native_tool_wire_edges.rscrates/cowork-providers/src/openai_native_rejection_tests.rscrates/cowork-providers/src/anthropic_native_rejection_tests.rscrates/cowork-providers/src/openai_responses.rs and crates/cowork-providers/src/anthropic_messages.rs only declare those cfg(test) modulesWhy these tests materially reduce regression risk
The existing native-tool suite covers the BM25 and OpenAI happy path plus one programmatic 400. The untested edges are the ones that 400 the provider request (cache breakpoint on a deferred tool, parallel tool use during code execution, a stale container, the wrong OpenRouter tool type) or that permanently disable a working feature after a 500 or a single-feature rejection. No production behavior changes.
Validation: cargo test -p cowork-providers --lib native_rejection_tracks_only (2 passed) and cargo test -p cowork-providers --test native_tool_wire_edges (4 passed). cargo fmt -p cowork-providers -- --check and cargo clippy -p cowork-providers --lib --test native_tool_wire_edges -- -D warnings are clean. The full workspace suite was not re-run.
Sign in to comment.
Update README.md
#125 mobile-fixes ← main
Updated 5 months ago