/**
 * VFinanceActionPort — host adapter for Vauban Finance capabilities.
 *
 * Implements proof_grade tiers (attestation → attestation_custody_compatible → custody).
 * Manages STARK proofs, oracle quorum validation, and per-batch anchoring discipline.
 *
 * Source: MASTER-PLAN-v5.md §2.4 (Q-VF-1, Q-VF-2) — proof_grade gradient + ADR-ECO-017
 */
// ─── Typed errors ─────────────────────────────────────────────────────────
export class VFOracleQuorumError extends Error {
    required_quorum;
    available_oracles;
    cause;
    constructor(required_quorum, available_oracles, cause) {
        super(`Oracle quorum required ${required_quorum}, available ${available_oracles}`);
        this.required_quorum = required_quorum;
        this.available_oracles = available_oracles;
        this.cause = cause;
        this.name = "VFOracleQuorumError";
        Object.setPrototypeOf(this, new.target.prototype);
    }
}
export class VFProofGradeMismatchError extends Error {
    expected_grade;
    actual_grade;
    cause;
    constructor(message, expected_grade, actual_grade, cause) {
        super(message);
        this.expected_grade = expected_grade;
        this.actual_grade = actual_grade;
        this.cause = cause;
        this.name = "VFProofGradeMismatchError";
        Object.setPrototypeOf(this, new.target.prototype);
    }
}
export class VFAnchoringForbiddenError extends Error {
    reason;
    cause;
    constructor(message, reason, cause) {
        super(message);
        this.reason = reason;
        this.cause = cause;
        this.name = "VFAnchoringForbiddenError";
        Object.setPrototypeOf(this, new.target.prototype);
    }
}
export class VFProofGenerationError extends Error {
    portfolio_id;
    proof_type;
    cause;
    constructor(portfolio_id, proof_type, cause) {
        super(`Proof generation failed for ${portfolio_id} (${proof_type}): ${cause instanceof Error ? cause.message : String(cause)}`);
        this.portfolio_id = portfolio_id;
        this.proof_type = proof_type;
        this.cause = cause;
        this.name = "VFProofGenerationError";
        Object.setPrototypeOf(this, new.target.prototype);
    }
}
//# sourceMappingURL=vauban-finance-action.js.map