"""Compatibility exports for the egress addon's pure logic.

New code imports the focused `types`, `schema`, `context`, `matching`,
and `dlp` modules directly. This facade preserves the historical public
surface for downstream callers while keeping implementation concerns separate.
"""

from .context import (
    DENY_RESOLVER_ERROR,
    DENY_UNATTRIBUTED,
    DENY_UNPARSEABLE,
    ContextResolverLike,
    PolicyResolverLike,
    resolve_client_config,
    resolve_client_context,
)
from .dlp import (
    build_inbound_scan_text,
    build_outbound_scan_text,
    build_token_allow_payload,
    outbound_scan_headers,
    scan_inbound,
    scan_outbound,
)
from .dlp_config import (
    DEFAULT_OUTBOUND_ON_MATCH,
    INBOUND_DETECTOR_NAMES,
    ON_MATCH_BLOCK,
    ON_MATCH_REDACT,
    ON_MATCH_SUPERVISE,
    OUTBOUND_DETECTOR_NAMES,
    OUTBOUND_ON_MATCH_VALUES,
    parse_inspect_block,
)
from .matching import (
    decide,
    decide_git_fetch,
    evaluate_matches,
    is_git_fetch_request,
    is_git_push_request,
    match_route,
)
from .schema import load_config, parse_config, parse_routes, route_to_yaml_dict
from .types import (
    LOG_BLOCKS,
    LOG_FULL,
    LOG_OFF,
    Config,
    Decision,
    HeaderMatch,
    MatchEntry,
    PathMatch,
    Route,
    ScanResult,
)

__all__ = [
    "LOG_BLOCKS", "LOG_FULL", "LOG_OFF",
    "ON_MATCH_BLOCK", "ON_MATCH_REDACT", "ON_MATCH_SUPERVISE",
    "OUTBOUND_ON_MATCH_VALUES", "DEFAULT_OUTBOUND_ON_MATCH",
    "OUTBOUND_DETECTOR_NAMES", "INBOUND_DETECTOR_NAMES",
    "Config", "Decision", "HeaderMatch", "MatchEntry", "PathMatch", "Route",
    "ScanResult", "PolicyResolverLike", "ContextResolverLike",
    "DENY_UNATTRIBUTED", "DENY_UNPARSEABLE", "DENY_RESOLVER_ERROR",
    "build_inbound_scan_text", "build_outbound_scan_text",
    "build_token_allow_payload", "decide", "decide_git_fetch",
    "evaluate_matches", "is_git_push_request", "is_git_fetch_request",
    "load_config", "match_route", "outbound_scan_headers", "parse_config",
    "parse_inspect_block", "parse_routes", "resolve_client_config",
    "resolve_client_context", "route_to_yaml_dict", "scan_inbound",
    "scan_outbound",
]
