Demonstration
@Serializable
A unified demonstration representing an input-output example for few-shot learning.
Demonstrations can represent either compact I/O pairs (labeled examples) or full execution traces with intermediate reasoning steps (bootstrapped examples). The intermediateMessages field distinguishes these: when present, it contains the full conversation trace from a successful subgraph execution (tool calls, assistant responses, etc.).