Replace requestUserInteraction with requestUserInput#204
Conversation
Replace the requestUserInteraction method on ModelContextClient with requestUserInput, which supports three elicitation modes: - interactive: In-page UI flow for local browsing (replaces the previous requestUserInteraction behavior) - form: Structured data collection via JSON Schema, works for both local and remote browsing scenarios - url: Out-of-band URL navigation for sensitive flows (auth, payment), works for both local and remote browsing scenarios The form and URL modes are aligned with MCP Elicitation (https://modelcontextprotocol.io/specification/draft/client/elicitation). New IDL types: UserInputOptions, UserInputResult, UserInputMode, UserInputAction, UserInputCallback. Resolves #165 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Update names Cleanup Remove examples
|
Algorithm steps are still TODO. I'll fill these in with a follow-up PR. This PR is just to get the interfaces in. |
|
CI / Build failure appears to be a bug in the latest |
|
We're planning on discussing #165 more in tomorrow's call anyways, but I will say that from talking about this a bit internally, we're more interested in supporting the
Also I think we should avoid filling the spec with incomplete interfaces and empty algorithms. There can be subordinate algorithms to a larger feature that have big TODOs in them in a draft spec of course, but in general I think we should stray away from adding stubs to the spec and filling them out later. This is the same reason that |
|
Shall we remove the ModelContextClient Interface from the spec for now then until we've identified the proper replacement? |
|
Yeah I think that's reasonable: #205 |
Update the spec to reflect the latest design proposal for elicitation described in #165
This replaces
requestUserInteractiononModelContextClientwith a newrequestUserInputmethod which supports three elicitation modes:The form and URL modes are aligned with MCP Elicitation (https://modelcontextprotocol.io/specification/draft/client/elicitation).
Preview | Diff