Files
bot-bottle/bot_bottle/gateway/egress/addon_core.py
T

73 lines
2.1 KiB
Python

"""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",
]