@posthog/agent
Version:
TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog
43 lines • 1.91 kB
TypeScript
import type { ResearchEvaluation, SupportingFile } from "./types.js";
import { Logger } from "./utils/logger.js";
export interface TaskFile {
name: string;
content: string;
type: "plan" | "context" | "reference" | "output" | "artifact";
}
export interface LocalArtifact {
name: string;
content: string;
type: TaskFile["type"];
contentType: string;
size: number;
}
export declare class PostHogFileManager {
private repositoryPath;
private logger;
constructor(repositoryPath: string, logger?: Logger);
private getTaskDirectory;
private getTaskFilePath;
ensureTaskDirectory(taskId: string): Promise<void>;
writeTaskFile(taskId: string, file: TaskFile): Promise<void>;
readTaskFile(taskId: string, fileName: string): Promise<string | null>;
listTaskFiles(taskId: string): Promise<string[]>;
deleteTaskFile(taskId: string, fileName: string): Promise<void>;
taskDirectoryExists(taskId: string): Promise<boolean>;
cleanupTaskDirectory(taskId: string): Promise<void>;
writePlan(taskId: string, plan: string): Promise<void>;
readPlan(taskId: string): Promise<string | null>;
writeContext(taskId: string, context: string): Promise<void>;
readContext(taskId: string): Promise<string | null>;
writeRequirements(taskId: string, requirements: string): Promise<void>;
readRequirements(taskId: string): Promise<string | null>;
writeResearch(taskId: string, data: ResearchEvaluation): Promise<void>;
readResearch(taskId: string): Promise<ResearchEvaluation | null>;
writeTodos(taskId: string, data: unknown): Promise<void>;
readTodos(taskId: string): Promise<unknown | null>;
getTaskFiles(taskId: string): Promise<SupportingFile[]>;
collectTaskArtifacts(taskId: string): Promise<LocalArtifact[]>;
private resolveFileType;
private inferContentType;
}
//# sourceMappingURL=file-manager.d.ts.map