A change in the inbox (Tayori.Inbox): one thing that shipped, as a
source brought it, before it becomes an entry or part of one.
:source- where it came from:"changelog","fragments","api","github","app","mcp", or a source of the app's own.:ref- its name in its source (a file, a version and its text, a pull request): a change brought again with the same source and ref is the same change.:titleand:body- what changed, the body in Markdown.:kind- the source's own word for it ("added","fix","feature");:category- the key of aTayori.Category, given or from the kind (the:kindsof the:inboxconfig).:audience-"public", or"internal": a change for the team only, never put in an entry.:segments- the readers it is for, as an entry's.:highlight- worth leading with.:version,:url,:author- where it shipped, a link to it (a pull request), who made it.:occurred_at- when it happened (when it came, unless said).:state-"new";"drafted"once in an entry (:entry_id);"hidden"when the admin put it aside.:meta- whatever else the source keeps.
Summary
Types
@type t() :: %Tayori.Change{ __meta__: term(), audience: String.t(), author: String.t() | nil, body: String.t() | nil, category: String.t() | nil, entry_id: Ecto.UUID.t() | nil, highlight: boolean(), id: Ecto.UUID.t() | nil, inserted_at: DateTime.t() | nil, kind: String.t() | nil, meta: map(), occurred_at: DateTime.t() | nil, ref: String.t() | nil, segments: [String.t()], source: String.t() | nil, state: String.t(), title: String.t() | nil, updated_at: DateTime.t() | nil, url: String.t() | nil, version: String.t() | nil }