Add a `GET /api/v1/agents` discovery endpoint with capability filtering
@rupesh-kumar-sah is already working on this.
Since Oct 12, 2026.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- node.js, typescript
Research direction
Start with the closed issue #56 for the scoring algorithm, then read src/discovery/agent-scoring.ts and src/discovery/agent-review.entity.ts to see what ranking inputs and any visibility field exist. The cursor utility is in src/common/pagination/. Add a list route for GET /api/v1/agents and a detail route for GET /api/v1/agents/:id, with a controller spec beside the existing agent-scoring.spec.ts. Done when filtering by capability and minimum score, default ranking, and bounded pagination are covered by passing specs.
Written by the indexing model from the issue text.
Description
Problem
The README (lines 20-21) describes "Agent discovery & recommendation engine" as a core responsibility:
Index agent metadata, capabilities, provenance, and historical performance. Provide discovery endpoints and personalized recommendation/ranking APIs.
src/discovery/ has 8 files — agent-scoring.ts, agent-reviews.service.ts, agent-reviews.controller.ts, review.dto.ts, agent-review.entity.ts — but there is no agent listing or discovery endpoint. The reviews module covers ratings, not discovery.
Why it matters
Discovery is the entry point for the whole agent ecosystem. Without a way to list and filter agents by capability, a client cannot find agents to work with — it can only look up agents it already knows by id. The scoring and ranking logic in agent-scoring.ts exists but has no discovery surface to feed.
Suggested Direction
- Add
GET /api/v1/agentswith typed query parameters:capability,minScore,sortBy,limit,cursor. - Reuse the cursor-pagination utility in
src/common/pagination/for consistency with the GraphQL gateway. - Return agent summaries — id, name, capabilities, score, review count — not full agent records.
- Add a
GET /api/v1/agents/:idendpoint for full details. - Wire the scoring from
agent-scoring.tsinto the list response so results are ranked by default. - Add colocated specs;
src/discovery/currently hasagent-scoring.spec.tsandagent-reviews.service.spec.tsbut no controller spec.
Constraints
- Agent visibility may be scoped by tenant or role; check whether
agent-review.entity.tshas a visibility field. - Capability filtering must be parameterised, not string-interpolated.
- Pagination must be bounded.
- The scoring algorithm is described in a closed issue (#56, "Agent Performance Scoring & Ranking Algorithm"); read it before designing the response shape.
Acceptance Criteria
-
GET /api/v1/agentsreturns a paginated, cursor-based list. - Filtering by capability and minimum score works.
- Results are ranked by the existing scoring algorithm.
-
GET /api/v1/agents/:idreturns full details for a single agent. - Pagination is bounded.
- Colocated specs cover the controller and service.
- Dominant language
- TypeScript
- Stars
- 7
- Forks
- 55
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SourceXXL/alian_structure-api
-
good first issue help wanted security
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#266 ·
-
Parallelize the cache-warming loop in `cache-warming.service.ts` — warmers run strictly sequentiallyPossibly taken @syntaxsuuvam-spec claimed this 3 days ago. Opengood first issue performance
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SourceXXL/alian_structure-api#240 ·
-
documentation help wanted intermediate refactor
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
SourceXXL/alian_structure-api#215 ·
-
good first issue refactor tooling
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
SourceXXL/alian_structure-api#199 ·
-
help wanted intermediate refactor
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
SourceXXL/alian_structure-api#196 ·
All issues in SourceXXL/alian_structure-api
Similar issues
-
Add: VIVE TVOpenapproved check:passed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 72/100
iptv-org/iptv#55293 · 1 comment ·
Maintainers usually reply within 1 day
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Fission-AI/OpenSpec#2084 ·
Maintainers usually reply within 2 days
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page génériqueOpenP1
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
SocialGouv/code-du-travail-numerique#7561 ·
Maintainers usually reply within 1 day
-
beginner bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
hiero-ledger/hiero-sdk-js#4517 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
kubernetes-sigs/headlamp#7950 ·
Maintainers usually reply within 3 days