"""Public catalog facade for tool metadata and registry access."""

from __future__ import annotations

from mindroom.tool_system.bootstrap import ensure_tool_registry_loaded
from mindroom.tool_system.declarations import (
    ConfigField,
    SetupType,
    ToolAuthoredOverrideValidator,
    ToolCategory,
    ToolManagedInitArg,
    ToolMetadata,
    ToolStatus,
    ToolValidationInfo,
)
from mindroom.tool_system.metadata import (
    TOOL_METADATA,
    ToolConfigOverrideError,
    ToolInitOverrideError,
    ToolMetadataValidationError,
    apply_authored_overrides,
    authored_tool_overrides_to_runtime,
    clear_resolved_tool_state_cache,
    default_worker_routed_tools,
    deserialize_tool_validation_snapshot,
    export_tools_metadata,
    get_tool_by_name,
    normalize_authored_tool_overrides,
    resolved_tool_metadata_for_runtime,
    resolved_tool_validation_snapshot_for_runtime,
    safe_tool_init_override_fields,
    sanitize_tool_init_overrides,
    serialize_tool_validation_snapshot,
    unresolved_plugin_tool_sources_for_runtime,
    validate_authored_tool_entry_overrides,
)

__all__ = [
    "TOOL_METADATA",
    "ConfigField",
    "SetupType",
    "ToolAuthoredOverrideValidator",
    "ToolCategory",
    "ToolConfigOverrideError",
    "ToolInitOverrideError",
    "ToolManagedInitArg",
    "ToolMetadata",
    "ToolMetadataValidationError",
    "ToolStatus",
    "ToolValidationInfo",
    "apply_authored_overrides",
    "authored_tool_overrides_to_runtime",
    "clear_resolved_tool_state_cache",
    "default_worker_routed_tools",
    "deserialize_tool_validation_snapshot",
    "ensure_tool_registry_loaded",
    "export_tools_metadata",
    "get_tool_by_name",
    "normalize_authored_tool_overrides",
    "resolved_tool_metadata_for_runtime",
    "resolved_tool_validation_snapshot_for_runtime",
    "safe_tool_init_override_fields",
    "sanitize_tool_init_overrides",
    "serialize_tool_validation_snapshot",
    "unresolved_plugin_tool_sources_for_runtime",
    "validate_authored_tool_entry_overrides",
]
