Adds a checked XRPC call path that preserves structured failure information instead of collapsing unsuccessful HTTP responses into transport errors.
Changes:
- add
queryChecked/procedureCheckedhelpers returningXrpcClient.Result - add
XrpcErrorwith HTTP status, ATProto error name/message, raw body, and rate-limit headers - capture
RateLimit-*andRetry-Afterheaders inHttpTransport - add conservative retry policy for
429,500,502,503, and504 - keep existing raw
query/procedureresponse behavior intact
Verification:
zig build -Doptimize=ReleaseFastzig build test -- --test-filter xrpczig test src/internal/xrpc/transport.zigzig zengit diff --check