import type { AgentOverrides } from "../../config"; import type { BackgroundManager } from "../../features/background-agent"; import type { TopLevelTaskRef } from "../../features/boulder-state"; export type ModelInfo = { providerID: string; modelID: string; }; export interface AtlasHookOptions { directory: string; backgroundManager?: BackgroundManager; isContinuationStopped?: (sessionID: string) => boolean; agentOverrides?: AgentOverrides; /** Enable auto-commit after each atomic task completion (default: true) */ autoCommit?: boolean; } export interface ToolExecuteAfterInput { tool: string; sessionID?: string; callID?: string; } export interface ToolExecuteAfterOutput { title: string; output: string; metadata: Record; } export type TrackedTopLevelTaskRef = Pick; export type PendingTaskRef = { kind: "track"; task: TrackedTopLevelTaskRef; } | { kind: "skip"; reason: "explicit_resume"; } | { kind: "skip"; reason: "ambiguous_task_key"; task: TrackedTopLevelTaskRef; }; export interface SessionState { lastEventWasAbortError?: boolean; lastContinuationInjectedAt?: number; promptFailureCount: number; lastFailureAt?: number; pendingRetryTimer?: ReturnType; waitingForFinalWaveApproval?: boolean; pendingFinalWaveTaskCount?: number; approvedFinalWaveTaskCount?: number; }