A request for input from the user, yielded/returned by a node to pause a
workflow (Human-in-the-Loop). The framework converts it to an interrupt
event; the workflow surfaces the interrupt id to the caller, which later
resumes by providing resumeInputs[interruptId].
A client answers in one of two ways:
Plain text. A text turn is routed to every pending interrupt as-is.
This is what the interactive CLI sends, and the dev UI whenever it has no
schema to build a form from.
A functionResponse named adk_request_input, carrying the interrupt
id. Wrap a bare value as {result: <value>} — that envelope is unwrapped
for you, and what it holds counts as plain text. Any other object is
delivered to the node unchanged, so it must already match
RequestInputParams.responseSchema when one is set.
Ported from google/adk-pythonevents/request_input.py.
A request for input from the user, yielded/returned by a node to pause a workflow (Human-in-the-Loop). The framework converts it to an interrupt event; the workflow surfaces the interrupt id to the caller, which later resumes by providing
resumeInputs[interruptId].A client answers in one of two ways:
functionResponsenamedadk_request_input, carrying the interrupt id. Wrap a bare value as{result: <value>}— that envelope is unwrapped for you, and what it holds counts as plain text. Any other object is delivered to the node unchanged, so it must already match RequestInputParams.responseSchema when one is set.Ported from
google/adk-pythonevents/request_input.py.