Elicitation and managed-input API
ElicitationPlan describes expected form or URL input requests and the responses M3 may submit. Build plans with:
expect_form/maybe_formexpect_url/maybe_urlsequencefor later roundsround_offor requests in one roundone_offor alternativesoptionalfor an optional branch
ElicitationResponse carries accept, decline, or cancel semantics. FormElicitationRequest and UrlElicitationRequest expose the validated request. PendingElicitationRound represents a managed round awaiting input.
Attach a plan to the action that may elicit: a direct call/prompt/resource operation, agent.run, agent.submit, or session.send on a supported path. A plan does not belong to the creation of a long-lived session.
Direct sync and async operations do not require an agent harness. M3 has tested agent-driven elicitation through Codex and Pi, with different boundaries. See Compatibility before choosing a harness.
Managed handles expose pending input, submission, cancellation, and terminal results. A stale round, invalid response, unused required plan, round overflow, or ambiguous request association fails explicitly.
The Python API inventory lists every public helper and model.