"""ACMS (Advanced Context Management System) UKO vocabulary support.

Provides UKO Layer 2 paradigm vocabulary specializations, Layer 3
technology-specific vocabulary extensions, and the DetailLevelMap
inheritance mechanism for resolving named detail levels across the
ontology hierarchy (Layer 3 -> Layer 2 -> Layer 1 -> Layer 0).

Also provides the ACMS index data model and file traversal engine for
indexing large projects, and the hot storage tier LRU cache
implementation.

Based on ``docs/specification.md`` ~lines 42333-42422, 44405-44420.
"""

from __future__ import annotations

from cleveragents.acms import uko as _uko
from cleveragents.acms.index import (
    ACMSIndex,
    FileTraversalEngine,
    FileType,
    IndexEntry,
    TierLevel,
)
from cleveragents.acms.storage.hot import HotStorageTier
from cleveragents.acms.uko import (
    CODE_DETAIL_LEVEL_MAP,
    FUNC_DETAIL_LEVEL_MAP,
    JAVA_DETAIL_LEVELS,
    JAVA_VOCABULARY,
    OO_DETAIL_LEVEL_MAP,
    PROC_DETAIL_LEVEL_MAP,
    PYTHON_DETAIL_LEVELS,
    PYTHON_VOCABULARY,
    RUST_DETAIL_LEVELS,
    RUST_VOCABULARY,
    TYPESCRIPT_DETAIL_LEVELS,
    TYPESCRIPT_VOCABULARY,
    DetailLevelMapBuilder,
    DuplicateVocabularyError,
    JavaAnnotation,
    JavaCheckedException,
    JavaClass,
    JavaInterface,
    JavaMethod,
    Layer2Dependency,
    ParadigmVocabulary,
    ProvenanceInfo,
    PythonClass,
    PythonDecorator,
    PythonFunction,
    PythonModule,
    PythonTypeStub,
    RustDeriveAttribute,
    RustFunction,
    RustImpl,
    RustStruct,
    RustTrait,
    TypeScriptClass,
    TypeScriptFunction,
    TypeScriptInterface,
    TypeScriptModule,
    UKOClass,
    UKOProperty,
    UKOVocabulary,
    VocabularyClass,
    VocabularyProperty,
    VocabularyRegistry,
    build_detail_level_map,
    build_effective_map,
    get_func_vocabulary,
    get_oo_vocabulary,
    get_proc_vocabulary,
    resolve_detail_level,
)

# Combine exports from uko, index, and storage modules
_uko_exports = list(_uko.__all__)
_index_exports = [
    "ACMSIndex",
    "FileTraversalEngine",
    "FileType",
    "IndexEntry",
    "TierLevel",
]
_storage_exports = ["HotStorageTier"]

__all__: list[str] = _uko_exports + _index_exports + _storage_exports
