lib/mailglass_inbound.ex
defmodule MailglassInbound do
@moduledoc since: "0.5.0"
@moduledoc """
Public contract root for the `mailglass_inbound` sibling package.
Phase 40 keeps the stable surface narrow and explicit:
- `MailglassInbound.InboundMessage` is the canonical normalized inbound value object.
- `MailglassInbound.Router` is the adopter-owned routing DSL.
- `MailglassInbound.Mailbox` is the mailbox callback contract.
- `MailglassInbound.Ingress.Plug` is the first-party Postmark ingress entrypoint.
- `MailglassInbound.Ingress.CachingBodyReader` is the package-local raw-body capture helper.
- `version/0` returns the package version string at compile time.
The canonical Phase 39 contract inventory lives in
`mailglass_inbound/docs/api_stability.md`.
Provider internals, persistence internals, mailbox execution runners, and any
operator or UI surfaces remain internal or deferred even when package-local
modules exist to support them.
"""
@version Mix.Project.config()[:version]
@doc since: "0.5.0"
@spec version() :: String.t()
def version, do: @version
end