import * as path from "node:path"; import { getAgentDir } from "@earendil-works/pi-coding-agent"; import { appendLearningEvidenceAt, clearLearningEvidenceAt, loadLearningEvidenceAt } from "./learning-storage.ts"; import { projectStorageKey } from "./project-key.ts"; import type { ClusterConfig, ClusterState, LearningEvidence } from "./types.ts"; export * from "./learning-core.ts"; export function learningEvidenceDirectory(): string { return path.join(getAgentDir(), "subagent-cluster", "learning", "evidence"); } export function getLearningProjectKey(cwd: string): string { return projectStorageKey(cwd); } export async function loadLearningEvidence( config: ClusterConfig, now = Date.now(), ): Promise { return loadLearningEvidenceAt(learningEvidenceDirectory(), config, now); } export async function clearLearningEvidence(): Promise { return clearLearningEvidenceAt(learningEvidenceDirectory()); } export async function recordLearningEvidence( state: ClusterState, config: ClusterConfig, now = Date.now(), ): Promise { return appendLearningEvidenceAt(learningEvidenceDirectory(), state, config, now); }