Intent: a client reads every list the same way; today these answer a bare array.
Done:
[ ] GET /api/v1/admin/accounts, GET /api/v1/admin/people and GET /api/v1/admin/invites answer { items, next_cursor } as the header of src/http/api.ts promises for lists, with limit (default 50, max 200) and cursor validated like the issue list's, and a bad limit a 422
[ ] tests for each: the shape, paging with limit and next_cursor to the end, and a bad limit refused
[ ] every caller in src/ (the terminal UI, client.ts, mcp.ts, pages) and test/ that read the bare array reads items; the pull says the shape changed
The admin pages that call these through the API read items. Keep each route's permission and filter exactly as they are; only the shape changes. Other issues change other lists in src/http/api.ts in parallel, so touch only the routes named here.
Intent: a client reads every list the same way; today these answer a bare array.
Done:
/api/v1/admin/accounts, GET/api/v1/admin/peopleand GET/api/v1/admin/invitesanswer{ items, next_cursor }as the header of src/http/api.ts promises for lists, withlimit(default 50, max 200) andcursorvalidated like the issue list's, and a bad limit a 422limitandnext_cursorto the end, and a bad limit refuseditems; the pull says the shape changedThe admin pages that call these through the API read
items. Keep each route's permission and filter exactly as they are; only the shape changes. Other issues change other lists in src/http/api.ts in parallel, so touch only the routes named here.