// SPDX-License-Identifier: Apache-2.0
// Copyright 2024-2026 Vorion LLC
/**
 * Allowed intent statuses.
 */
export const INTENT_STATUSES = [
    'pending',
    'evaluating',
    'approved',
    'denied',
    'escalated',
    'executing',
    'completed',
    'failed',
    'cancelled',
];
/**
 * Error types
 */
export class VorionError extends Error {
    code;
    details;
    constructor(message, code, details) {
        super(message);
        this.code = code;
        this.details = details;
        this.name = 'VorionError';
    }
}
export class ConstraintViolationError extends VorionError {
    constraintId;
    constraintName;
    suggestion;
    constructor(constraintId, constraintName, message, suggestion) {
        super(message, 'CONSTRAINT_VIOLATION', { constraintId, constraintName });
        this.constraintId = constraintId;
        this.constraintName = constraintName;
        this.suggestion = suggestion;
        this.name = 'ConstraintViolationError';
    }
}
export class TrustInsufficientError extends VorionError {
    required;
    actual;
    constructor(required, actual) {
        super(`Trust level ${actual} insufficient, requires ${required}`, 'TRUST_INSUFFICIENT', { required, actual });
        this.required = required;
        this.actual = actual;
        this.name = 'TrustInsufficientError';
    }
}
//# sourceMappingURL=types.js.map