MessageParam types content as `str | Iterable[...]`, and Iterable has no `.extend()`. After the str-to-list conversions, pyright re-reads the TypedDict field as the original wide type rather than carrying the narrowing forward. Cast to `list[Any]` to express the codebase's existing str-or-list assumption. Drops anthropic_adapter.py from 23 to 21 pyright errors.