"""mgf-tele-teltonika — Teltonika codec + provider for the mgf-tele-* family.

The first vendor package in the `mgf-tele-*` family: it implements the
`mgf-tele-core` :class:`~mgf.tele.core.TelematicsProvider` seam for
Teltonika FMB/FMC/FMM devices.

  * :func:`decode_avl_packet` / :func:`decode_codec8` / :func:`decode_codec8e`
    — pure decoders (Codec 8 + Codec 8 Extended). Codec 12 RX, 13/14/15,
    16 raise :class:`mgf.tele.core.UnsupportedCodecError`.
  * :class:`TeltonikaProvider` — the concrete
    :class:`~mgf.tele.core.TelematicsProvider` wrapping the asyncio TCP
    session lifecycle (IMEI handshake → receive loop → ack → close).

The CRC primitive (``mgf.tele.teltonika._crc.crc16_ibm``) and the wire
packet encoders (``mgf.tele.teltonika._packets``) are available for
round-trip testing.
"""

from __future__ import annotations

__version__ = "0.1.9"  # AP-13: mirrors pyproject.toml

from mgf.tele.teltonika.codec import (
    CODEC_8,
    CODEC_8_EXTENDED,
    decode_avl_packet,
    decode_codec8,
    decode_codec8e,
)
from mgf.tele.teltonika.provider import (
    TeltonikaProvider,
    TeltonikaSessionHandle,
)

__all__ = [
    "CODEC_8",
    "CODEC_8_EXTENDED",
    "TeltonikaProvider",
    "TeltonikaSessionHandle",
    "__version__",
    "decode_avl_packet",
    "decode_codec8",
    "decode_codec8e",
]
