GET /task/:taskId
公网入口 https://agentapi.kira.art/task/:taskId。
eitherAuth():Authorization: Bearer <Supabase JWT> 或 X-Internal-Key: <INTERNAL_KEY>。校验 task.userId === jwtPayload.sub,不匹配返 403。
无 body。taskId 走路径参数。
读 Redis agent:task:{taskId} HASH:
{
taskId: string,
threadId: string,
status: "running" | "completed" | "failed",
error?: string, // status === "failed" 时的错误信息
isAborted?: boolean, // run 是否被用户 abort(completed 的子情况)
startedAt: number // epoch ms
}
aborted 不是独立 status:run 一旦结束就是 completed,是否被 abort 由 isAborted 字段区分(以及 DB 写不写)。task HASH 在 complete/fail 后 TTL 120s,过期即 404。
状态码
| 码 | 含义 |
|---|
200 | 返回 TaskInfo |
401 | 缺少有效 JWT / jwtPayload.sub |
403 | task 属于其他用户 |
404 | task 不存在(从未创建或 TTL 已过期) |
curl https://agentapi.kira.art/task/33333333-3333-3333-3333-333333333333 \
-H "Authorization: Bearer $SUPABASE_JWT"
# → 200
# {
# "taskId": "33333333-...",
# "threadId": "22222222-...",
# "status": "running",
# "startedAt": 1759500000000
# }
src/hono/agent/index.ts:291