The widened Mapping[str, Any] type on Store.put()/aput() let non-dict
Mappings (e.g. UserDict, MappingProxyType) pass type-checking, but
checkpoint-sqlite and checkpoint-postgres only had a type-checker-only
cast(dict, op.value) rather than an actual runtime conversion, so these
values would raise TypeError from orjson/json during serialization.
InMemoryStore already normalized via dict(op.value); apply the same
normalization here.
Caught by open-swe's automated review on this PR.
TypedDict values don't structurally satisfy dict[str, Any] since dict
implies full mutability. Mapping[str, Any] accepts both plain dicts and
TypedDicts while still requiring string keys, matching what put()
actually needs from callers.