"""NEOedgeX — an additional module on a company's ERP, and the third entry it produces.

    from neoedge import NEOedge, MemberRegistry, Member, adapter_for

    edge = NEOedge("urn:neoedge:member:acme", registry, adapter_for("SAP-S4HANA"))
    relation = edge.open_relation("SLA-BR-2", "urn:neoedge:member:beta", role="BUYER")
    edge.record(sap_purchase_order, relation)
    edge.seal("2026-07-26")

Documents stay in the ERP. What leaves the machine is agreement: a snapshot root, and —
on the binary wire (`wire.py`, `framesink.py`, `attests.py`) — the four NEOf1 objects
of the ratified edge contract lock.
"""

from .adapters import (
    ADAPTERS,
    ErpAdapter,
    adapter_for,
    from_otlp_attributes,
    generic_adapter,
    marketplace_adapter,
    relation_seed,
)
from .agents import AgentContext, AgentRegistry, EdgeAgent, StructuredSourceAgent
from .attests import (
    attests_for,
    event_pairs,
    handshake_attest,
    relation_period_attests,
    sealed_entries,
)
from .book import Book, BookError, Entry
from .edge import Disclosure, NEOedge, Relation
from .framesink import AdmissionReceipt, FrameSession, FrameSink, Transport, ed25519_signer
from .grammar import DOC_KINDS, GrammarError, event_key, record_hash, relation_ref, validate
from .matching import ABSENT, AGREED, DIFFERS, SHORTFALL, UNILATERAL, Finding, Report, review
from .mcp import EdgeMCPServer, tool_manifest
from .members import Device, Member, MemberRegistry, MembershipError
from .outbox import CLSink, FileSink, NullSink, Sink
from .shared_view import DOMAIN_SHARED_VIEW, agreement_root, shared_view, shared_view_hash
from .snapshot import Snapshot, merkle_path, merkle_root, verify_path
from .wire import (
    BOOK_SEAL,
    EVENT_PAIR,
    HANDSHAKE_ATTEST,
    OBJECT_SIZES,
    PERIOD_CALENDAR_MONTH,
    PERIOD_DECLARED,
    REJECTED_STRUCTURAL,
    RELATION_PERIOD_ATTEST,
    BookSeal,
    EventPair,
    FrameHeader,
    HandshakeAttest,
    RelationPeriodAttest,
    WireError,
    book_seal_from_snapshot,
    build_frame,
    frame_hash,
    parse_frame,
    period_fields,
    unpack,
)
from .grosso_ingress import (GROSSO_TERMS_SCHEMA, INGRESS_SCHEMA,
                             GrossoIngressError, build_grosso_ingress)
from .market_worker import GrossoSettlementSink

__version__ = "0.2.0"

__all__ = [
    "ABSENT", "ADAPTERS", "AGREED", "AdmissionReceipt", "AgentContext", "AgentRegistry",
    "BOOK_SEAL", "Book", "BookError", "BookSeal", "CLSink", "DIFFERS", "DOC_KINDS",
    "DOMAIN_SHARED_VIEW", "Device", "Disclosure", "EVENT_PAIR", "EdgeAgent",
    "EdgeMCPServer", "Entry", "ErpAdapter", "EventPair", "FileSink", "Finding",
    "FrameHeader", "FrameSession", "FrameSink", "GrammarError", "HANDSHAKE_ATTEST",
    "GROSSO_TERMS_SCHEMA", "INGRESS_SCHEMA", "GrossoIngressError",
    "build_grosso_ingress", "GrossoSettlementSink",
    "HandshakeAttest", "Member", "MemberRegistry", "MembershipError", "NEOedge",
    "NullSink", "OBJECT_SIZES", "PERIOD_CALENDAR_MONTH", "PERIOD_DECLARED",
    "REJECTED_STRUCTURAL", "RELATION_PERIOD_ATTEST", "Relation", "RelationPeriodAttest",
    "Report", "SHORTFALL", "Sink", "Snapshot", "StructuredSourceAgent", "Transport",
    "UNILATERAL", "WireError", "adapter_for", "agreement_root", "attests_for",
    "book_seal_from_snapshot", "build_frame", "ed25519_signer", "event_key",
    "event_pairs", "frame_hash", "from_otlp_attributes", "generic_adapter",
    "handshake_attest", "marketplace_adapter", "merkle_path", "merkle_root",
    "parse_frame", "period_fields", "record_hash", "relation_period_attests",
    "relation_ref", "relation_seed", "review", "sealed_entries", "shared_view",
    "shared_view_hash", "tool_manifest", "unpack", "validate", "verify_path",
]
