"""frenum — Guardrail lifecycle for LLM agent tool calls.

Define policies in YAML. Lint them. Enforce at runtime. Test in CI.
Measure coverage. Audit every decision.
"""

from frenum._types import (
    CoverageReport,
    Decision,
    EvalResult,
    LintWarning,
    RuleConfig,
    RuleKind,
    RuleResult,
    TestCaseConfig,
    TestResult,
    ToolCall,
    ToolCallBlocked,
)
from frenum.audit import AuditLogger
from frenum.engine import Engine
from frenum.lint import lint_policy
from frenum.reporter import AuditReporter, Report

__version__ = "0.2.0"

__all__ = [
    "AuditLogger",
    "AuditReporter",
    "CoverageReport",
    "Decision",
    "Engine",
    "EvalResult",
    "LintWarning",
    "Report",
    "RuleConfig",
    "RuleKind",
    "RuleResult",
    "TestCaseConfig",
    "TestResult",
    "ToolCall",
    "ToolCallBlocked",
    "lint_policy",
]
