"""Transport-neutral protocol envelopes and codecs for local IPC."""

from .codec import (
    attach_session_request_from_wire,
    attach_session_request_to_wire,
    attach_session_result_from_wire,
    attach_session_result_to_wire,
    close_session_request_from_wire,
    close_session_request_to_wire,
    create_connection_request_from_wire,
    create_connection_request_to_wire,
    decode_envelope,
    delete_connection_request_from_wire,
    delete_connection_request_to_wire,
    delete_connection_result_from_wire,
    delete_connection_result_to_wire,
    detach_session_request_from_wire,
    detach_session_request_to_wire,
    encode_envelope,
    error_from_wire,
    error_to_wire,
    open_session_request_from_wire,
    open_session_request_to_wire,
    session_exit_info_from_wire,
    session_exit_info_to_wire,
    session_summary_from_wire,
    session_summary_to_wire,
    update_connection_request_from_wire,
    update_connection_request_to_wire,
)
from .envelopes import (
    ErrorData,
    ErrorResponseEnvelope,
    EventEnvelope,
    HandshakeRequest,
    HandshakeResult,
    RequestEnvelope,
    SuccessResponseEnvelope,
)
from .framing import (
    MAX_FRAME_SIZE,
    FrameDecoder,
    FramingError,
    encode_frame,
    receive_frame,
)

__all__ = [
    "MAX_FRAME_SIZE",
    "ErrorData",
    "ErrorResponseEnvelope",
    "EventEnvelope",
    "FrameDecoder",
    "FramingError",
    "HandshakeRequest",
    "HandshakeResult",
    "RequestEnvelope",
    "SuccessResponseEnvelope",
    "attach_session_request_from_wire",
    "attach_session_request_to_wire",
    "attach_session_result_from_wire",
    "attach_session_result_to_wire",
    "close_session_request_from_wire",
    "close_session_request_to_wire",
    "create_connection_request_from_wire",
    "create_connection_request_to_wire",
    "decode_envelope",
    "delete_connection_request_from_wire",
    "delete_connection_request_to_wire",
    "delete_connection_result_from_wire",
    "delete_connection_result_to_wire",
    "detach_session_request_from_wire",
    "detach_session_request_to_wire",
    "encode_envelope",
    "encode_frame",
    "error_from_wire",
    "error_to_wire",
    "open_session_request_from_wire",
    "open_session_request_to_wire",
    "receive_frame",
    "session_exit_info_from_wire",
    "session_exit_info_to_wire",
    "session_summary_from_wire",
    "session_summary_to_wire",
    "update_connection_request_from_wire",
    "update_connection_request_to_wire",
]
