import type { ActivityState, AsyncJobStep, AsyncParallelGroupStatus, AsyncStatus, ChainCheckpointState, CostSummary, Details, LaunchResolvedChildExtensionsV1, NestedRunSummary, RuntimeAcknowledgedChildExtensionsV1, SteeringStatus, SubagentRunMode, TokenUsage, TurnBudgetState, UsageBudgetState } from "../../shared/types.ts"; import type { ResolvedSubagentCapabilityCeiling, SubagentCapabilityAudit } from "../shared/capability-ceiling.ts"; import { type ContextMode, type ContextSummary } from "../shared/context-mode.ts"; interface AsyncRunStepSummary { index: number; agent: string; context?: ContextMode; label?: string; description?: string; phase?: string; outputName?: string; structured?: boolean; checkpoint?: ChainCheckpointState; status: AsyncJobStep["status"]; activityState?: ActivityState; lastActivityAt?: number; currentTool?: string; currentToolArgs?: string; currentToolStartedAt?: number; currentPath?: string; recentTools?: Array<{ tool: string; args: string; endMs: number; }>; recentOutput?: string[]; turnCount?: number; toolCount?: number; steering?: SteeringStatus; durationMs?: number; tokens?: TokenUsage; totalCost?: CostSummary; skills?: string[]; model?: string; thinking?: string; attemptedModels?: string[]; sessionFile?: string; transcriptPath?: string; error?: string; timedOut?: boolean; stopped?: boolean; turnBudget?: TurnBudgetState; turnBudgetExceeded?: boolean; wrapUpRequested?: boolean; acceptance?: AsyncJobStep["acceptance"]; agentContract?: AsyncJobStep["agentContract"]; execution?: AsyncJobStep["execution"]; review?: AsyncJobStep["review"]; effects?: AsyncJobStep["effects"]; processTerminal?: AsyncJobStep["processTerminal"]; launchResolvedExtensions?: LaunchResolvedChildExtensionsV1; runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1; capabilityCeiling?: ResolvedSubagentCapabilityCeiling; capabilityAudit?: SubagentCapabilityAudit; children?: NestedRunSummary[]; } export interface AsyncRunSummary { id: string; asyncDir: string; sessionId?: string; state: "queued" | "running" | "complete" | "failed" | "paused" | "stopped" | "rejected"; error?: string; activityState?: ActivityState; lastActivityAt?: number; currentTool?: string; currentToolStartedAt?: number; currentPath?: string; turnCount?: number; toolCount?: number; steering?: SteeringStatus; mode: SubagentRunMode; context?: ContextSummary; cwd?: string; startedAt: number; lastUpdate?: number; endedAt?: number; timeoutMs?: number; deadlineAt?: number; timedOut?: boolean; stopped?: boolean; turnBudget?: TurnBudgetState; turnBudgetExceeded?: boolean; wrapUpRequested?: boolean; currentStep?: number; chainStepCount?: number; pendingAppends?: number; parallelGroups?: AsyncParallelGroupStatus[]; steps: AsyncRunStepSummary[]; checkpoint?: ChainCheckpointState; sessionDir?: string; outputFile?: string; totalTokens?: TokenUsage; totalCost?: CostSummary; usageBudget?: UsageBudgetState; sessionFile?: string; nestedChildren?: NestedRunSummary[]; nestedWarnings?: string[]; processTerminal?: AsyncStatus["processTerminal"]; launchResolvedExtensions?: LaunchResolvedChildExtensionsV1; runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1; capabilityCeiling?: ResolvedSubagentCapabilityCeiling; capabilityAudit?: SubagentCapabilityAudit; parentWorkflowRunId?: string; workflowKey?: string; workflow?: Details["workflow"]; } interface AsyncRunListOptions { states?: Array; sessionId?: string; limit?: number; /** Limits status-file reads after candidates are ordered by status mtime. */ entryLimit?: number; resultsDir?: string; kill?: (pid: number, signal?: NodeJS.Signals | 0) => boolean; now?: () => number; reconcile?: boolean; runId?: string; } type TargetedAsyncRunResolution = { kind: "exact"; id: string; } | { kind: "scan"; } | { kind: "reject"; }; /** * Resolve an exact targeted run without following a run-directory symlink or * accepting a path whose canonical location escaped the async root. */ export declare function resolveTargetedAsyncRun(asyncDirRoot: string, id: string, sessionId?: string): TargetedAsyncRunResolution; export declare function summarizeAsyncStatus(asyncDir: string, status: AsyncStatus & { cwd?: string; }): AsyncRunSummary; export declare function listAsyncRuns(asyncDirRoot: string, options?: AsyncRunListOptions): AsyncRunSummary[]; export declare function formatAsyncRunOutputPath(run: Pick): string | undefined; export declare function formatAsyncRunProgressLabel(run: Pick): string; export declare function formatAsyncRunList(runs: AsyncRunSummary[], heading?: string): string; export {}; //# sourceMappingURL=async-status.d.ts.map