"""Constants module for omnibase_core."""

from omnibase_core.constants import (
    constants_contract_fields,
    constants_effect,
    constants_error,
    constants_field_limits,
    constants_handler_capabilities,
    constants_omnimemory,
    constants_topic_taxonomy,
)
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.constants_error import (
    ERROR_CODE_PATTERN,
    ERROR_CODE_PATTERN_STRING,
)
from omnibase_core.constants.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.constants_field_limits import (
    MAX_BFS_ITERATIONS,
    MAX_DESCRIPTION_LENGTH,
    MAX_DFS_ITERATIONS,
    MAX_ERROR_MESSAGE_LENGTH,
    MAX_IDENTIFIER_LENGTH,
    MAX_KEY_LENGTH,
    MAX_LABEL_LENGTH,
    MAX_LABELS_COUNT,
    MAX_LOG_MESSAGE_LENGTH,
    MAX_MESSAGE_LENGTH,
    MAX_NAME_LENGTH,
    MAX_PATH_LENGTH,
    MAX_REASON_LENGTH,
    MAX_TAGS_COUNT,
    MAX_TIMEOUT_MS,
    MAX_URL_LENGTH,
)
from omnibase_core.constants.constants_handler_capabilities import (
    COMPUTE_CAPABILITIES,
    EFFECT_CAPABILITIES,
    NODE_TYPE_REQUIREMENTS,
    ORCHESTRATOR_CAPABILITIES,
    REDUCER_CAPABILITIES,
    get_capabilities_by_node_kind,
    validate_capabilities,
)
from omnibase_core.constants.constants_omnimemory import (
    FLOAT_COMPARISON_EPSILON,
)
from omnibase_core.constants.constants_timeouts import (
    DATABASE_QUERY_TIMEOUT_SECONDS,
    DEFAULT_CACHE_TTL_SECONDS,
    FILE_IO_TIMEOUT_SECONDS,
    HTTP_REQUEST_TIMEOUT_SECONDS,
    KAFKA_REQUEST_TIMEOUT_MS,
    PROCESS_SHUTDOWN_TIMEOUT_SECONDS,
    THREAD_JOIN_TIMEOUT_SECONDS,
    TIMEOUT_DEFAULT_MS,
    TIMEOUT_LONG_MS,
    TIMEOUT_MAX_MS,
    TIMEOUT_MIN_MS,
    WEBSOCKET_PING_TIMEOUT_SECONDS,
)
from omnibase_core.constants.constants_topic_taxonomy import (
    CLEANUP_POLICY_COMMANDS,
    CLEANUP_POLICY_EVENTS,
    CLEANUP_POLICY_INTENTS,
    CLEANUP_POLICY_SNAPSHOTS,
    DOMAIN_AUDIT,
    DOMAIN_DISCOVERY,
    DOMAIN_METRICS,
    DOMAIN_REGISTRATION,
    DOMAIN_RUNTIME,
    PLATFORM_BASELINE_TOPIC_SUFFIXES,
    RETENTION_MS_AUDIT,
    RETENTION_MS_COMMANDS,
    RETENTION_MS_EVENTS,
    RETENTION_MS_INTENTS,
    RETENTION_MS_SNAPSHOTS,
    TOPIC_DISCOVERY_COMMANDS,
    TOPIC_DISCOVERY_EVENTS,
    TOPIC_DISCOVERY_INTENTS,
    TOPIC_EVENT_PUBLISH_INTENT,
    TOPIC_METRICS_EVENTS,
    TOPIC_METRICS_INTENTS,
    TOPIC_REGISTRATION_COMMANDS,
    TOPIC_REGISTRATION_EVENTS,
    TOPIC_REGISTRATION_INTENTS,
    TOPIC_REGISTRATION_SNAPSHOTS,
    TOPIC_RUNTIME_COMMANDS,
    TOPIC_RUNTIME_EVENTS,
    TOPIC_RUNTIME_INTENTS,
    TOPIC_SUFFIX_CONTRACT_DEREGISTERED,
    TOPIC_SUFFIX_CONTRACT_REGISTERED,
    TOPIC_SUFFIX_NODE_HEARTBEAT,
    TOPIC_TYPE_COMMANDS,
    TOPIC_TYPE_DLQ,
    TOPIC_TYPE_EVENTS,
    TOPIC_TYPE_INTENTS,
    TOPIC_TYPE_SNAPSHOTS,
    get_token_to_topic_type,
    get_topic_type_to_token,
    get_valid_topic_suffix_kinds,
    topic_name,
)

__all__ = [
    "constants_contract_fields",
    "constants_effect",
    "constants_error",
    "constants_field_limits",
    "constants_omnimemory",
    "constants_topic_taxonomy",
    "constants_handler_capabilities",
    "normalize_legacy_event_type",
    # Error code pattern (centralized)
    "ERROR_CODE_PATTERN",
    "ERROR_CODE_PATTERN_STRING",
    # 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",
    # OmniMemory constants
    "FLOAT_COMPARISON_EPSILON",
    # Field length limits
    "MAX_BFS_ITERATIONS",
    "MAX_DESCRIPTION_LENGTH",
    "MAX_DFS_ITERATIONS",
    "MAX_ERROR_MESSAGE_LENGTH",
    "MAX_IDENTIFIER_LENGTH",
    "MAX_KEY_LENGTH",
    "MAX_LABEL_LENGTH",
    "MAX_LABELS_COUNT",
    "MAX_LOG_MESSAGE_LENGTH",
    "MAX_MESSAGE_LENGTH",
    "MAX_NAME_LENGTH",
    "MAX_PATH_LENGTH",
    "MAX_REASON_LENGTH",
    "MAX_TAGS_COUNT",
    "MAX_TIMEOUT_MS",
    "MAX_URL_LENGTH",
    # Timeout constants (centralized)
    "DATABASE_QUERY_TIMEOUT_SECONDS",
    "DEFAULT_CACHE_TTL_SECONDS",
    "FILE_IO_TIMEOUT_SECONDS",
    "HTTP_REQUEST_TIMEOUT_SECONDS",
    "KAFKA_REQUEST_TIMEOUT_MS",
    "PROCESS_SHUTDOWN_TIMEOUT_SECONDS",
    "THREAD_JOIN_TIMEOUT_SECONDS",
    "TIMEOUT_DEFAULT_MS",
    "TIMEOUT_LONG_MS",
    "TIMEOUT_MAX_MS",
    "TIMEOUT_MIN_MS",
    "WEBSOCKET_PING_TIMEOUT_SECONDS",
    # Handler capability constants
    "COMPUTE_CAPABILITIES",
    "EFFECT_CAPABILITIES",
    "NODE_TYPE_REQUIREMENTS",
    "ORCHESTRATOR_CAPABILITIES",
    "REDUCER_CAPABILITIES",
    "get_capabilities_by_node_kind",
    "validate_capabilities",
    # Topic taxonomy constants
    "TOPIC_TYPE_COMMANDS",
    "TOPIC_TYPE_DLQ",
    "TOPIC_TYPE_EVENTS",
    "TOPIC_TYPE_INTENTS",
    "TOPIC_TYPE_SNAPSHOTS",
    # Token mapping accessors (OMN-1537)
    "get_token_to_topic_type",
    "get_topic_type_to_token",
    "get_valid_topic_suffix_kinds",
    "DOMAIN_REGISTRATION",
    "DOMAIN_DISCOVERY",
    "DOMAIN_RUNTIME",
    "DOMAIN_METRICS",
    "DOMAIN_AUDIT",
    "topic_name",
    "TOPIC_DISCOVERY_COMMANDS",
    "TOPIC_DISCOVERY_EVENTS",
    "TOPIC_DISCOVERY_INTENTS",
    "TOPIC_EVENT_PUBLISH_INTENT",
    "TOPIC_METRICS_EVENTS",
    "TOPIC_METRICS_INTENTS",
    "TOPIC_REGISTRATION_COMMANDS",
    "TOPIC_REGISTRATION_EVENTS",
    "TOPIC_REGISTRATION_INTENTS",
    "TOPIC_REGISTRATION_SNAPSHOTS",
    "TOPIC_RUNTIME_COMMANDS",
    "TOPIC_RUNTIME_EVENTS",
    "TOPIC_RUNTIME_INTENTS",
    "CLEANUP_POLICY_EVENTS",
    "CLEANUP_POLICY_SNAPSHOTS",
    "CLEANUP_POLICY_COMMANDS",
    "CLEANUP_POLICY_INTENTS",
    "RETENTION_MS_COMMANDS",
    "RETENTION_MS_EVENTS",
    "RETENTION_MS_INTENTS",
    "RETENTION_MS_SNAPSHOTS",
    "RETENTION_MS_AUDIT",
    # Platform baseline topic suffixes (OMN-1652)
    "TOPIC_SUFFIX_CONTRACT_REGISTERED",
    "TOPIC_SUFFIX_CONTRACT_DEREGISTERED",
    "TOPIC_SUFFIX_NODE_HEARTBEAT",
    "PLATFORM_BASELINE_TOPIC_SUFFIXES",
]
