#[derive(Frame)]
{
// Attributes available to this derive:
#[slot]
#[frame]
#[recognize]
}
Expand description
Derive a Frame impl from a struct’s #[slot(..)] fields.
Every named field becomes a slot (state key = field name unless overridden).
The generated fn frame() -> FrameSpec carries each slot’s prompt, reprompt,
confirmation policy, and PII flag — the metadata the conversation compiler and
repair use.
ⓘ
#[derive(Frame)]
#[frame(name = "booking")]
struct Booking {
#[slot(prompt = "For how many people?", confirm = "low_confidence")]
party_size: u8,
#[slot(prompt = "Name?", pii)]
name: String,
}Field #[slot(..)] options: prompt, reprompt, confirm
(never/low_confidence/always), state (key override), pii (flag).
Container #[frame(name = "...")] sets the frame name.