/**
 * Thrown on any bad spec — never `process.exit`, so the engine is safe on the
 * hot path and in library contexts. `code` + `installed` let callers render a
 * consistent message (e.g. the "No default … Specify one:" version list) without
 * string-matching.
 */
export class AgentSpecError extends Error {
    code;
    agent;
    installed;
    constructor(message, code, agent, installed) {
        super(message);
        this.code = code;
        this.agent = agent;
        this.installed = installed;
        this.name = 'AgentSpecError';
    }
}
