import { CodeBuddyError } from './base-error.js';
/**
 * Context token limit exceeded
 */
export class ContextLimitExceededError extends CodeBuddyError {
    currentTokens;
    maxTokens;
    overflow;
    constructor(currentTokens, maxTokens) {
        super('CONTEXT_LIMIT_EXCEEDED', `Context limit exceeded: ${currentTokens} tokens (max: ${maxTokens})`);
        this.name = 'ContextLimitExceededError';
        this.currentTokens = currentTokens;
        this.maxTokens = maxTokens;
        this.overflow = currentTokens - maxTokens;
    }
}
/**
 * Operation blocked by security sandbox
 */
export class SandboxViolationError extends CodeBuddyError {
    operation;
    reason;
    constructor(operation, reason) {
        super('SANDBOX_VIOLATION', `Sandbox blocked operation: ${operation}. Reason: ${reason}`);
        this.name = 'SandboxViolationError';
        this.operation = operation;
        this.reason = reason;
    }
}
/**
 * User denied confirmation for an operation
 */
export class ConfirmationDeniedError extends CodeBuddyError {
    operation;
    target;
    constructor(operation, target) {
        super('CONFIRMATION_DENIED', `User denied confirmation for operation: ${operation}${target ? ` on ${target}` : ''}`);
        this.name = 'ConfirmationDeniedError';
        this.operation = operation;
        this.target = target;
    }
}
//# sourceMappingURL=agent-error.js.map