coordination.handover: conversation hand-over between replicas.
Properties
flows?
.persistent(): 'forward' keeps a TTL-bound (“ephemeral”)
checkpoint of them, one write per step, so the replica that takes the chat — or this
one after a rolling restart within the TTL — continues the flow. Needs plain-JSON
c.state; a flow whose state is not plain JSON is handled by fallback.
'drop' (default): they live in memory only.
fallback?
bot.conversation functions, flows not
forwarded, a forwarded flow whose definition changed on the new replica):
'notify': the replica that takes the chat tells the user the conversation was interrupted (it consumes the waking message);'restart': it re-enters the conversation by name, from the beginning, with its initial state (side effects before its first wait run again); falls back to'notify'when the name is not registered there;'drop'(default): today’s behaviour — the waking message routes normally;- a function: a custom migration; resolve
truewhen it consumed the waking message.
notifyMessage?
'notify' text. Default: the localized built-in CORE_MESSAGES.conversationInterrupted.
ttl?
'10m') or ms. Default: conversation.timeout, else '5m'. While
the conversation waits, never shorter than that wait’s explicit timeout (ask({ timeout }),
flow().timeout()); refreshed at every wait.
maxAnswerBytes?
16_384; 0 never embeds one.