OptionaltimeoutOptionalvalidateOptionalmaxTotal answers the wait accepts, the first one included, before the conversation ends
with the "too many attempts" message (RetriesExceeded). Invalid answers and
c.retry() calls count. Default 3; Infinity = unlimited.
OptionalretriesRetries AFTER the first answer: retries: N is maxAttempts: N + 1. Pass one of the two.
Breaking in 2.0: during the alphas retries: N meant N total attempts; use
maxAttempts: N to keep that behaviour. A wait that sets retries without
maxAttempts logs one warning per bot (logger.warn) to flag the change.
OptionalotherwiseOptionalfilterOptionalschemaValidate (and transform) the answer with any safeParse() schema (zod-compatible). The parsed
value is stored in c.state[key]; a rejected answer re-prompts with otherwise, else the
schema's first issue message. Runs after validate.
Optionaldelay
Options of
.ask(text, key, opts): every wait option plus a zod-compatibleschemaand adelay.