"""Pure-protocol building blocks recovered from the app's Dart AOT snapshot. Everything here is hardware-independent and covered by unit tests. See ``docs/RE_DART_FINDINGS.md`` for the reverse-engineering evidence. """ from .commands import ( CommunicationCmd, CommunicationMode, CommunicationOperate, SOCKET_CMD_TYPE, socket_cmd_type, ) from .crc import ( CRC16_INIT, CRC16_POLY, crc16_hex_string, crc16_modbus, crc32, int16_to_le_bytes, le_bytes_to_int16, ) from .crypto import ( DEFAULT_KEY_RADIX, MARKER, decrypt_data, decrypt_object, decrypt_request, encrypt_object, generate_secret_key, header_len_for, split_envelope, ) from .envelope import ( KEY_ORDER, SNNO_MAX, SNNO_MIN, PLACEHOLDER, CommunicationObject, SequenceNumber, direct_connect_request, ) from .framing import ( BLE_HEADER_LEN, MAGIC_ACK, MAGIC_DATA, MAGIC_MTU, ble_frame_sn, ble_frame_total_len, build_ble_ack_frame, build_ble_data_frame, chunk_for_mtu, content_in_data, create_ble_frame, frame_socket_payload, magicEquals, magic_in_data, sn_in_data, verify_frame_crc, ) from .framing import SocketFrameDecoder __all__ = [ "CommunicationCmd", "CommunicationMode", "CommunicationOperate", "SOCKET_CMD_TYPE", "socket_cmd_type", "CRC16_INIT", "CRC16_POLY", "crc16_modbus", "crc16_hex_string", "crc32", "int16_to_le_bytes", "le_bytes_to_int16", "DEFAULT_KEY_RADIX", "MARKER", "generate_secret_key", "split_envelope", "encrypt_object", "decrypt_object", "decrypt_request", "decrypt_data", "header_len_for", "KEY_ORDER", "SNNO_MIN", "SNNO_MAX", "PLACEHOLDER", "CommunicationObject", "SequenceNumber", "direct_connect_request", "MAGIC_ACK", "MAGIC_DATA", "create_ble_frame", "build_ble_data_frame", "build_ble_ack_frame", "magic_in_data", "magicEquals", "sn_in_data", "content_in_data", "verify_frame_crc", "chunk_for_mtu", "frame_socket_payload", "SocketFrameDecoder", ]