boardx / boardx/workspacex

feat(agent): listAgents 契约零 controller —— 新建的 agent 建完之后在 HTTP 层读不回来

Open
#648 0 comments 0 reactions 0 assignees View on GitHub
area:agent enhancement owner:coord-agent-auth
Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
1h 7m
Merged PRs (30d)
969

Description

## 发现经过
在 #617(补 `POST /agents` 真实 HTTP 路径)的实现与实测中确认:`GET /agents`(`listAgents` 契约操作)**同样零 controller 挂载**——用真实 HTTP curl 实测过,404。

## 影响面
- #617 落地后,新建 agent 能通过真实 HTTP 写入 `agents` 表(DB 可见),但**没有任何 HTTP 读路径能把它读回来**——不是「UI 没画」,是契约操作本身没有 controller。
- 直接挡住 #617 里「clone 已有 agent」这个 UI 分支:clone 前必须能列出可选源 agent,而列表本身不可达,所以 #617 的实现里这块 UI 特意跳过了(说明见 PR #647)。
- 可能是 #595(后台管理面)「目录浏览」能力缺失的具体病灶之一,但范围比 #595 窄很多——这里只是最基础的「建完能不能读回来」,不涉及导入/编辑/测试。

## 要求
1. 确认 `packages/contracts/src/agent-runtime.ts` 里 `listAgents` 契约的确切形状(分页/过滤参数)。
2. 补 `GET /agents` controller,复用已签契约,不新造契约。
3. 补完后 #617 里被跳过的 clone-picker UI 可以补上(不强制在本 issue 内做,视范围决定是否拆开)。

## 相关
- 由 #617 的实测过程发现,PR #647 是 #617 的实现(未合并时归档本 issue)。
- 与 #595(后台管理面 P0)方向一致但范围更窄,两者谁先做不冲突。

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading packages/contracts/src/agent-runtime.ts to confirm the listAgents contract, including its pagination and filtering parameters. Trace the existing POST /agents path and PR #647 for the controller conventions, then add the GET /agents path using the existing contract. Done means a real HTTP request can list newly created agents with the contract-defined shape; the clone-picker UI is optional and may be split out.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.