Shared push-opts shape across all five Tier 1 methods. Per the
requirements doc:
foreground (default true): foreground push tells the
client to auto-focus the new prompt; background push joins
the stack without seizing input.
validate: optional predicate the substrate runs against the
decoded typed response before resolving the await; returning
a string keeps the prompt alive and emits a
prompt-validation-failed envelope.
body: optional long-form prose for the terminal scroll. The
substrate emits a MessageFrame on world.prompt with
payload: { promptId } so the client can correlate the
body frame with the prompt envelope (click-to-focus, visual
association in deep stacks).
Shared push-opts shape across all five Tier 1 methods. Per the requirements doc:
foreground(defaulttrue): foreground push tells the client to auto-focus the new prompt; background push joins the stack without seizing input.validate: optional predicate the substrate runs against the decoded typed response before resolving the await; returning a string keeps the prompt alive and emits aprompt-validation-failedenvelope.body: optional long-form prose for the terminal scroll. The substrate emits aMessageFrameonworld.promptwithpayload: { promptId }so the client can correlate the body frame with the prompt envelope (click-to-focus, visual association in deep stacks).