add RepositoryListOptions.State field
make the API router take a router, not just a path prefix