@posthog/agent
Version:
TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog
52 lines • 2.24 kB
TypeScript
import { type InProcessAcpConnection } from "./adapters/claude/claude.js";
import { PostHogAPIClient } from "./posthog-api.js";
import type { AgentConfig, Task } from "./types.js";
export declare class Agent {
private workingDirectory;
private taskManager;
private posthogAPI?;
private fileManager;
private gitManager;
private templateManager;
private logger;
private acpConnection?;
private promptBuilder;
private mcpServers?;
private canUseTool?;
private currentRunId?;
private sessionStore?;
debug: boolean;
constructor(config: AgentConfig);
/**
* Enable or disable debug logging
*/
setDebug(enabled: boolean): void;
/**
* Configure LLM gateway environment variables for Claude Code CLI
*/
private _configureLlmGateway;
private getOrCreateConnection;
runTask(taskId: string, taskRunId: string, options?: import("./types.js").TaskExecutionOptions): Promise<void>;
/**
* Creates an in-process ACP connection for client communication.
* Sets up git branch for the task, configures LLM gateway.
* The client handles all prompting/querying via the returned streams.
*
* @returns InProcessAcpConnection with clientStreams for the client to use
*/
runTaskV2(taskId: string, taskRunId: string, options?: import("./types.js").TaskExecutionOptions): Promise<InProcessAcpConnection>;
fetchTask(taskId: string): Promise<Task>;
getPostHogClient(): PostHogAPIClient | undefined;
getTaskFiles(taskId: string): Promise<any[]>;
createPullRequest(taskId: string, branchName: string, taskTitle: string, taskDescription: string, customBody?: string): Promise<string>;
attachPullRequestToTask(taskId: string, prUrl: string, branchName?: string): Promise<void>;
updateTaskBranch(taskId: string, branchName: string): Promise<void>;
cancelTask(taskId: string): void;
getTaskExecutionStatus(taskId: string): string | null;
private prepareTaskBranch;
private ensureOpenAIGatewayEnv;
private ensurePullRequest;
}
export type { AgentConfig, ExecutionResult, SupportingFile, Task, } from "./types.js";
export { PermissionMode } from "./types.js";
//# sourceMappingURL=agent.d.ts.map