"""
Contextra AI Analytics — Scenario Runtime Layer (Package)

모듈 구조:
  - base_scenario.py    : AbstractScenario 베이스 클래스 + Detection/ZoneROI/ScenarioEvent
  - scenario_registry.py: @register_scenario 데코레이터 + registry 검증 (v2 metadata 포함)
  - scenario_execution.py: 시나리오 독립 격리 실행기
  - context.py          : v2 ScenarioContext — 프레임 단위 표준 입력 계약
  - policy.py           : v2 활성화 정책 — capability/의존성 해석 + 3계층 cfg merge
"""

from .base_scenario import (
    AbstractScenario,
    Detection,
    ZoneROI,
    ScenarioEvent,
    TrajectoryBuffer,
    CooldownState,
)
from .scenario_registry import (
    register_scenario,
    get_strategy_map,
    get_dependency_map,
    get_registry_meta,
)
from .context import FrameMeta, ScenarioContext
from .policy import (
    CapabilitySet,
    compute_capabilities,
    ActivationDecision,
    ActivationPlan,
    resolve_activation,
    deep_merge,
    build_scenario_cfg,
)

__all__ = [
    "AbstractScenario",
    "Detection",
    "ZoneROI",
    "ScenarioEvent",
    "TrajectoryBuffer",
    "CooldownState",
    "register_scenario",
    "get_strategy_map",
    "get_dependency_map",
    "get_registry_meta",
    # v2 구동 정책
    "FrameMeta",
    "ScenarioContext",
    "CapabilitySet",
    "compute_capabilities",
    "ActivationDecision",
    "ActivationPlan",
    "resolve_activation",
    "deep_merge",
    "build_scenario_cfg",
]
