"""
MeshCognition SDK — Autonomous Drift-Bounded Coupling for CfC Neural Networks

Any application running a CfC model can participate in mesh cognition.
The coupling is autonomous — the agent evaluates each peer's hidden state
and decides for itself whether, how much, and which neurons to couple.

Usage:
    from mesh_cognition import MeshNode

    node = MeshNode(hidden_dim=64)
    node.update_local_state(h1, h2, confidence=0.8)
    node.add_peer("peer-1", peer_h1, peer_h2, confidence=0.9)
    coupled_h1, coupled_h2 = node.coupled_state()

Copyright (c) 2026 SYM.BOT Ltd. Apache 2.0 License.
"""

from .coupler import CfCMeshCoupler, CouplingConfig, CouplingDecision
from .node import MeshNode
from .metrics import KuramotoMetricsLogger

__version__ = "1.0.0"
__all__ = [
    "MeshNode",
    "CfCMeshCoupler",
    "CouplingConfig",
    "CouplingDecision",
    "KuramotoMetricsLogger",
]
