"""Function library shared contracts (manifest schema, validation, hashing)."""
from __future__ import annotations

from src.domain.functions.library_manifest_schema import (  # noqa: F401
    MUTABLE_FIELDS,
    MUTABLE_LIBRARY_FIELDS,
    VERSIONED_FIELDS,
    VERSIONED_LIBRARY_FIELDS,
    FunctionLibraryManifest,
    FunctionLibraryManifestValidator,
    ManifestValidationError,
    apply_manifest_to_row_dict,
    compute_code_hash,
    compute_config_hash,
    compute_manifest_hash,
    diff_fields,
    function_library_row_to_manifest,
    parse_manifest,
    resolve_code_template_path,
)

__all__ = [
    "MUTABLE_FIELDS",
    "MUTABLE_LIBRARY_FIELDS",
    "VERSIONED_FIELDS",
    "VERSIONED_LIBRARY_FIELDS",
    "FunctionLibraryManifest",
    "FunctionLibraryManifestValidator",
    "ManifestValidationError",
    "apply_manifest_to_row_dict",
    "compute_code_hash",
    "compute_config_hash",
    "compute_manifest_hash",
    "diff_fields",
    "function_library_row_to_manifest",
    "parse_manifest",
    "resolve_code_template_path",
]
