import fsSync, { type Dirent } from "node:fs" ;
import fs from "node:fs/promises" ;
import path from "node:path" ;
function mapAgentSessionDirs(agentsDir: string, entries: Dirent[]): string[] {
return entries
.filter((entry) => entry.isDirectory())
.map((entry) => path.join(agentsDir, entry.name, "sessions" ))
.toSorted((a, b) => a.localeCompare(b));
}
export async function resolveAgentSessionDirsFromAgentsDir(agentsDir: string): Promise<string[]> {
let entries: Dirent[] = [];
try {
entries = await fs.readdir(agentsDir, { withFileTypes: true });
} catch (err) {
const code = (err as { code?: string }).code;
if (code === "ENOENT" ) {
return [];
}
throw err;
}
return mapAgentSessionDirs(agentsDir, entries);
}
export function resolveAgentSessionDirsFromAgentsDirSync(agentsDir: string): string[] {
let entries: Dirent[] = [];
try {
entries = fsSync.readdirSync(agentsDir, { withFileTypes: true });
} catch (err) {
const code = (err as { code?: string }).code;
if (code === "ENOENT" ) {
return [];
}
throw err;
}
return mapAgentSessionDirs(agentsDir, entries);
}
export async function resolveAgentSessionDirs(stateDir: string): Promise<string[]> {
return await resolveAgentSessionDirsFromAgentsDir(path.join(stateDir, "agents" ));
}
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-09)
¤
*© Formatika GbR, Deutschland