feat(orchestrator): MS23-P0-005 subagent tree endpoint (#714)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #714.
This commit is contained in:
30
apps/orchestrator/src/api/agents/agent-tree.service.ts
Normal file
30
apps/orchestrator/src/api/agents/agent-tree.service.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { PrismaService } from "../../prisma/prisma.service";
|
||||
import { AgentTreeResponseDto } from "./dto/agent-tree-response.dto";
|
||||
|
||||
@Injectable()
|
||||
export class AgentTreeService {
|
||||
constructor(private readonly prisma: PrismaService) {}
|
||||
|
||||
async getTree(): Promise<AgentTreeResponseDto[]> {
|
||||
const entries = await this.prisma.agentSessionTree.findMany({
|
||||
orderBy: { spawnedAt: "desc" },
|
||||
take: 200,
|
||||
});
|
||||
|
||||
const response: AgentTreeResponseDto[] = [];
|
||||
for (const entry of entries) {
|
||||
response.push({
|
||||
sessionId: entry.sessionId,
|
||||
parentSessionId: entry.parentSessionId ?? null,
|
||||
status: entry.status,
|
||||
agentType: entry.agentType ?? null,
|
||||
taskSource: entry.taskSource ?? null,
|
||||
spawnedAt: entry.spawnedAt.toISOString(),
|
||||
completedAt: entry.completedAt?.toISOString() ?? null,
|
||||
});
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user