Abstract

Use buttons when a short set of distinct actions should remain attached to the agent message that requested them. An option without url sends an origin-tagged user data message; an option with url opens its HTTPS destination.

Preview

TODO: add the real iOS lane capture from /tmp/relay-component-buttons.png. This slot intentionally has no fabricated screenshot.

Wire example

Schema table

Button options use the common option fields, except description is not accepted.

Examples per state

Constraints

iOS rendering notes

Render ComponentButtons as a vertical stack under the owning agent bubble at message width. A selected option becomes selected, siblings disable, and an in-flight tap shows a spinner. Style HTTPS link-out options as quieter navigation rows rather than reply choices. A failed send re-enables the options with a brief error.

See also