"""
Metadata constants for ONEX Core Framework.
"""

# env-var-ok: constant definitions for metadata keys, not environment variables

# Version keys for metadata
METADATA_VERSION_KEY = "metadata_version"
PROTOCOL_VERSION_KEY = "protocol_version"
SCHEMA_VERSION_KEY = "schema_version"

# Namespace constants
NAMESPACE_KEY = "namespace"

# Project metadata keys
COPYRIGHT_KEY = "copyright"
ENTRYPOINT_KEY = "entrypoint"
TOOLS_KEY = "tools"

# State contract keys
CONTRACT_VERSION_KEY = "contract_version"
CONTRACT_SCHEMA_VERSION_KEY = "contract_schema_version"
NODE_VERSION_KEY = "node_version"

# CLI service keys
VERSION_KEY = "version"
TOOL_METADATA_KEY = "tool_metadata"
METADATA_ERROR_KEY = "metadata_error"

# Configuration file names
PROJECT_ONEX_YAML_FILENAME = "project.onex.yaml"

# Markdown metadata delimiters
MD_META_OPEN = "<!--"
MD_META_CLOSE = "-->"


def get_namespace_prefix() -> str:
    """
    Get the default namespace prefix for ONEX Core.

    Returns:
        str: The namespace prefix "omnibase_core"
    """
    return "omnibase_core"
