//! The wire record: one struct that is simultaneously a plugin's input schema,
//! its typed projection, and its identity — produced by `#[derive(Record)]`.
//!
//! An author derives it on a plain struct whose fields are the raw columns the
//! host ships; the derive generates [`Record::fields`] (which feeds
//! [`describe()`](crate::sdk::Plugin::describe)), [`Record::from_view`] (the
//! typed projection of a [`RowView`]), and [`Record::ext_id`]. The author's
//! [`project`](crate::sdk::Plugin::project) then maps this typed record into the
//! match row — never a stringly column name, never a raw `RowView`.
use crateExtId;
use crateField;
use crateRowView;
/// A typed image of one host row, with a declared columnar schema and identity.