Overview
Add a rich filter and query engine to the SDK for listing invoices. Callers can filter by status, creator, date range, amount range, and tags — all composed into a single typed query object.
Requirements
- client.queryInvoices(filter: InvoiceFilter): Promise<Page>
- InvoiceFilter { creator?, status?: InvoiceStatus[], minAmount?, maxAmount?, fromDate?, toDate?, tags?: string[], limit?, cursor? }
- Filters applied client-side against getCreatorInvoices + tag index results
- Page { items, nextCursor?, total } type
- Sorting: sort?: 'newest' | 'oldest' | 'highest' | 'lowest'
- Tests: each filter type independently, combined filters, pagination, empty results
Acceptance Criteria
Definition of Done
All CI checks must pass before the PR is reviewed.
Overview
Add a rich filter and query engine to the SDK for listing invoices. Callers can filter by status, creator, date range, amount range, and tags — all composed into a single typed query object.
Requirements
Acceptance Criteria
Definition of Done
All CI checks must pass before the PR is reviewed.