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>
31 lines
939 B
TypeScript
31 lines
939 B
TypeScript
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;
|
|
}
|
|
}
|