Opus finding
AnthropicProvider passes output_config.effort that has no validation against actual model support
- src/providers/anthropic.ts:81-90
- src/providers/anthropic.ts:156-165
options.effort is typed as `string` in StreamOptions/SendOptions (types.ts line 64). The provider blindly casts it to a tri-state literal and passes through, allowing arbitrary strings to reach the Anthropic API and causing 400 errors for unknown values. Additionally, the default differs between streaming ('high') and non-streaming ('low'), which is a surprising inconsistency — the same call with the same options will request different effort tiers depending on whether streaming is used.
Recommendation
Validate effort against allowed set; align defaults across stream/send; reconsider whether `output_config.effort` is a real Anthropic field (it is not in the public API — possible bug).