# aiyou-client

Reusable async clients for dispatcher APIs.

## Response Model

Low-level verbs such as `get()`, `post()`, `put()`, `patch()`, `delete()`,
and `send()` return a transparent `ResultResponse` wrapper.

The wrapper behaves like `httpx.Response` for normal access such as
`status_code`, `headers`, `content`, `text`, `json()`, `request`, and
stream-reading helpers, while also providing convenience methods:

- `with_config(model=..., rc_response=...)`
- `json_or_none()` / `json_or_raise()`
- `text_or_none()` / `text_or_raise()`
- `content_or_none()` / `content_or_raise()`
- `rc_result_or_none()` / `rc_result_or_raise()`
- `pydantic_or_none()` / `pydantic_or_raise()`
- `pydantic_list_or_none()` / `pydantic_list_or_raise()`

Use `*_or_none()` for soft-failure flows and `*_or_raise()` when the caller
expects success.
