Skip to content

v0.2.4

Choose a tag to compare

@aaronmgn aaronmgn released this 29 Jun 07:40
60c19a1

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_orders and order.get_order_history now return list[...].
  • Live write round-trips (save + read-back + delete, self-cleaning) for client preferences and
    watchlists.

Fixed

  • client_preference.save_client_preference and watchlist.save_watchlist now 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_watchlist now 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.