v0.2.4
Completes the #24 model-mismatch work surfaced by live testing.
Added
- First-class support for bare top-level JSON array responses via a
ListResponse[Item]wrapper;
order.get_ordersandorder.get_order_historynow returnlist[...]. - Live write round-trips (save + read-back + delete, self-cleaning) for client preferences and
watchlists.
Fixed
client_preference.save_client_preferenceandwatchlist.save_watchlistnow succeed: their
request bodies wrap a single object, but the models typed the field as a list, so the API
rejected every call with HTTP 400 (#24).watchlist.delete_watchlistnow sends its params as query parameters, which the live API
requires (a body request 400s) (#24).
Mechanism is sound and mypy-clean (EndpointSpec/invoke/ainvoke untouched). Adversarially
reviewed with zero confirmed blockers; 1330 tests pass at 94.8% coverage.
Tracked for a follow-up in #24: user_account.get_charting_enabled (bare scalar boolean).
See CHANGELOG.md.