import type { AgentProfile } from './agents.js'; export type AcpStartupFailurePhase = 'connect' | 'initialize' | 'authenticate' | 'session-new' | 'session-load' | 'unknown'; export interface AcpTransportDiagnostics { stderr?: string; stdout?: string; exitSummary?: string | null; exitCode?: number | null; signal?: string | null; launchSource?: 'primary' | 'fallback' | 'unresolved'; resolvedCommand?: string; resolvedArgs?: string[]; lookupDurationMs?: number; usedNpxFallback?: boolean; firstStdoutMs?: number | null; firstStderrMs?: number | null; } export interface AcpStartupDiagnosticHint { code: string; message: string; command?: string; } export interface AcpStartupDiagnostics { agentId: string; agentDisplayName?: string; command: string; args: string[]; cwd?: string; label: string; phase: AcpStartupFailurePhase; platform?: string; nodeVersion?: string; path?: string; durationMs?: number; process?: { exitSummary?: string | null; exitCode?: number | null; signal?: string | null; }; launchSource?: 'primary' | 'fallback' | 'unresolved'; resolvedCommand?: string; resolvedArgs?: string[]; lookupDurationMs?: number; usedNpxFallback?: boolean; firstStdoutMs?: number | null; firstStderrMs?: number | null; stderrTail?: string; stdoutTail?: string; originalMessage: string; hints: AcpStartupDiagnosticHint[]; } export declare class AcpStartupError extends Error { readonly diagnostics: AcpStartupDiagnostics; readonly cause: unknown; constructor(message: string, diagnostics: AcpStartupDiagnostics, cause: unknown); } export declare function isAcpStartupError(error: unknown): error is AcpStartupError; export declare function createAcpStartupDiagnostics(params: { agent: AgentProfile; label: string; phase?: AcpStartupFailurePhase; cwd?: string; startedAt?: number; error: unknown; transportDiagnostics?: AcpTransportDiagnostics; }): AcpStartupDiagnostics; export declare function createAcpStartupError(params: { agent: AgentProfile; label: string; phase?: AcpStartupFailurePhase; cwd?: string; startedAt?: number; error: unknown; transportDiagnostics?: AcpTransportDiagnostics; }): AcpStartupError; export declare function formatStartupDiagnostics(diagnostics: AcpStartupDiagnostics): string;