"""
Slot Resolution System
A modular, scalable system for resolving entity names to IDs using Elasticsearch.
Supports multiple modules (request, problem, change, etc.) with configurable
field mappings and contextual filters.
Architecture:
- Configuration Layer: Field mappings and entity configurations
- Core Layer: Normalization, resolution engine, decisioning logic
- Services Layer: Exact match, alias, ES fuzzy match, cache, audit
- Middleware Layer: Request transformation and orchestration
Usage:
from slot_resolution import SlotResolutionMiddleware
middleware = SlotResolutionMiddleware(tenant_id="apolo")
result = middleware.resolve_request(request_payload, module="request")
"""
__version__ = "1.0.0"
__author__ = "Motadata ITSM Team"
from slot_resolution.core.models import (
SlotResolutionRequest,
SlotResolutionResponse,
ResolutionStatus,
ResolvedEntity,
Candidate
)
from slot_resolution.core.resolver import SlotResolver
from slot_resolution.middleware.slot_resolution_middleware import SlotResolutionMiddleware
from slot_resolution.config.config_loader import FieldMappingLoader
__all__ = [
"SlotResolutionRequest",
"SlotResolutionResponse",
"ResolutionStatus",
"ResolvedEntity",
"Candidate",
"SlotResolver",
"SlotResolutionMiddleware",
"FieldMappingLoader",
]