"""mgf.fedres — the federation-resources spine.

The schema set + version-aware reader, the manifest + sync engine, the
``SourceProvider`` seam, the D-GEN ``source/ -> generated/`` projection, the live/
NDJSON channel + run-records, and the ``fedres`` CLI: the shared core that both
``mgf-fed-web`` and ``mgf-test-web`` build on. Headless (no web framework).

See ``docs/planning/PLAN.md`` for the full design.
"""

from __future__ import annotations

from ._schemas import identify, validate_payload
from .generate import GenerateError, GenerateResult, generate, register_projector
from .live import RunOutcome, current_session, read_session, run_traced
from .projectors import (
    RegistryEntry,
    architecture_projector,
    federation_projector,
    register_registry_adapter,
)
from .provider import DiskProvider, PackageProvider, SourceProvider
from .reader import ReadResult, read_file, read_payload
from .states import (
    SUPPORTED_SCHEMA_VERSION,
    SUPPORTED_WIRE_VERSION,
    SYNC_STATES,
    TEST_STATUS_VALUES,
    SyncState,
)
from .sync import SyncReport, deep_check, shallow_check

__version__ = "0.4.0"

__all__ = [
    "SUPPORTED_SCHEMA_VERSION",
    "SUPPORTED_WIRE_VERSION",
    "SYNC_STATES",
    "TEST_STATUS_VALUES",
    "DiskProvider",
    "GenerateError",
    "GenerateResult",
    "PackageProvider",
    "ReadResult",
    "RegistryEntry",
    "RunOutcome",
    "SourceProvider",
    "SyncReport",
    "SyncState",
    "__version__",
    "architecture_projector",
    "current_session",
    "deep_check",
    "federation_projector",
    "generate",
    "identify",
    "read_file",
    "read_payload",
    "read_session",
    "register_projector",
    "register_registry_adapter",
    "run_traced",
    "shallow_check",
    "validate_payload",
]
