"""Constants module for omnibase_core."""

from omnibase_core.constants import (
    constants_contract_fields,
    constants_effect,
    handler_capabilities,
)
from omnibase_core.constants.constants_contract_fields import (
    BACKEND_KEY,
    CUSTOM_KEY,
    DEFAULT_PROCESSED_VALUE,
    INTEGRATION_KEY,
    PROCESSED_KEY,
)
from omnibase_core.constants.constants_effect import (
    DEFAULT_CIRCUIT_BREAKER_FAILURE_THRESHOLD,
    DEFAULT_CIRCUIT_BREAKER_SUCCESS_THRESHOLD,
    DEFAULT_CIRCUIT_BREAKER_TIMEOUT_MS,
    DEFAULT_MAX_FIELD_EXTRACTION_DEPTH,
    DEFAULT_MAX_RETRY_ATTEMPTS,
    DEFAULT_OPERATION_TIMEOUT_MS,
    DEFAULT_RETRY_BASE_DELAY_MS,
    DEFAULT_RETRY_JITTER_FACTOR,
    MIN_EFFECT_SUBCONTRACT_MINOR_VERSION,
    SUPPORTED_EFFECT_SUBCONTRACT_MAJOR_VERSIONS,
)
from omnibase_core.constants.constants_effect_idempotency import (
    IDEMPOTENCY_DEFAULTS,
    DbOperation,
    FilesystemOperation,
    HandlerType,
    HttpMethod,
    KafkaOperation,
)
from omnibase_core.constants.constants_effect_limits import (
    EFFECT_AUTHOR_MAX_LENGTH,
    EFFECT_MAX_OPERATIONS,
    EFFECT_OPERATION_DESCRIPTION_MAX_LENGTH,
    EFFECT_OPERATION_NAME_MAX_LENGTH,
    EFFECT_SUBCONTRACT_DESCRIPTION_MAX_LENGTH,
    EFFECT_SUBCONTRACT_NAME_MAX_LENGTH,
    EFFECT_TIMEOUT_DEFAULT_MS,
    EFFECT_TIMEOUT_MAX_MS,
    EFFECT_TIMEOUT_MIN_MS,
)
from omnibase_core.constants.event_types import (
    NODE_FAILURE,
    NODE_HEALTH_CHECK,
    NODE_HEALTH_EVENT,
    NODE_INTROSPECTION_EVENT,
    NODE_SHUTDOWN_EVENT,
    NODE_START,
    NODE_SUCCESS,
    REAL_TIME_INTROSPECTION_RESPONSE,
    REQUEST_REAL_TIME_INTROSPECTION,
    SERVICE_DISCOVERY,
    TOOL_DISCOVERY_REQUEST,
    TOOL_DISCOVERY_RESPONSE,
    TOOL_INVOCATION,
    TOOL_RESPONSE,
    normalize_legacy_event_type,
)
from omnibase_core.constants.handler_capabilities import (
    COMPUTE_CAPABILITIES,
    EFFECT_CAPABILITIES,
    NODE_TYPE_REQUIREMENTS,
    ORCHESTRATOR_CAPABILITIES,
    REDUCER_CAPABILITIES,
    get_capabilities_by_node_kind,
    validate_capabilities,
)

__all__ = [
    "constants_contract_fields",
    "constants_effect",
    "handler_capabilities",
    "normalize_legacy_event_type",
    # Event type constants
    "NODE_FAILURE",
    "NODE_HEALTH_CHECK",
    "NODE_HEALTH_EVENT",
    "NODE_INTROSPECTION_EVENT",
    "NODE_SHUTDOWN_EVENT",
    "NODE_START",
    "NODE_SUCCESS",
    "REAL_TIME_INTROSPECTION_RESPONSE",
    "REQUEST_REAL_TIME_INTROSPECTION",
    "SERVICE_DISCOVERY",
    "TOOL_DISCOVERY_REQUEST",
    "TOOL_DISCOVERY_RESPONSE",
    "TOOL_INVOCATION",
    "TOOL_RESPONSE",
    # Output field processing keys
    "BACKEND_KEY",
    "CUSTOM_KEY",
    "DEFAULT_PROCESSED_VALUE",
    "INTEGRATION_KEY",
    "PROCESSED_KEY",
    # Effect execution constants
    "DEFAULT_CIRCUIT_BREAKER_FAILURE_THRESHOLD",
    "DEFAULT_CIRCUIT_BREAKER_SUCCESS_THRESHOLD",
    "DEFAULT_CIRCUIT_BREAKER_TIMEOUT_MS",
    "DEFAULT_MAX_FIELD_EXTRACTION_DEPTH",
    "DEFAULT_MAX_RETRY_ATTEMPTS",
    "DEFAULT_OPERATION_TIMEOUT_MS",
    "DEFAULT_RETRY_BASE_DELAY_MS",
    "DEFAULT_RETRY_JITTER_FACTOR",
    "MIN_EFFECT_SUBCONTRACT_MINOR_VERSION",
    "SUPPORTED_EFFECT_SUBCONTRACT_MAJOR_VERSIONS",
    # Effect idempotency defaults and type aliases
    "IDEMPOTENCY_DEFAULTS",
    "DbOperation",
    "FilesystemOperation",
    "HandlerType",
    "HttpMethod",
    "KafkaOperation",
    # Effect subcontract limits
    "EFFECT_AUTHOR_MAX_LENGTH",
    "EFFECT_MAX_OPERATIONS",
    "EFFECT_OPERATION_DESCRIPTION_MAX_LENGTH",
    "EFFECT_OPERATION_NAME_MAX_LENGTH",
    "EFFECT_SUBCONTRACT_DESCRIPTION_MAX_LENGTH",
    "EFFECT_SUBCONTRACT_NAME_MAX_LENGTH",
    "EFFECT_TIMEOUT_DEFAULT_MS",
    "EFFECT_TIMEOUT_MAX_MS",
    "EFFECT_TIMEOUT_MIN_MS",
    # Handler capability constants
    "COMPUTE_CAPABILITIES",
    "EFFECT_CAPABILITIES",
    "NODE_TYPE_REQUIREMENTS",
    "ORCHESTRATOR_CAPABILITIES",
    "REDUCER_CAPABILITIES",
    "get_capabilities_by_node_kind",
    "validate_capabilities",
]
