Skip to content
Developer Preview

userInput/settled

The first durable user-input settlement landed; protected delivery.

Type: UserInputSettledParams

userInput/settled params: the first durable prompt settlement.

Field Type Stability Presence Description
answers UserInputAnswer[] required The recorded answers: one per question for answered, any confirmed partial answers for interrupted, and empty for every other outcome.
clarification UserInputClarification | null required The user’s free-form clarification when the outcome is clarified; null otherwise.
decidedAt string | null required The decision time as RFC3339, projected from the durable settlement record’s own stamp (ADR 45450 D3, ruling 2026-10-01): always present on the wire (schema-required, null-able); decoders still tolerate its absence (default, never skipped — keeps every member present), and current hosts always populate it.
decidedByCommandId string | null required The commandId of the client command that settled the prompt; null when no command did, for example after a timeout or an abort.
outcome UserInputOutcome required How the prompt ended.
reason string | null required The reason, when one applies: the optional reason given with a cancel, or why an aborted prompt was closed; null otherwise.
sessionId string required The session that owns the prompt.
sourceRange SourceRange required The stored records this event was folded from: an opaque token clients must not interpret.
userInputId string required The prompt that settled. Accept a settlement even for a prompt whose request you never saw.
viewCursor string required This event’s view cursor: opaque, and strictly increasing within the session.
Source

schema/msp/experimental/msp.schema.json#/notifications/userInput~2Fsettled

{
"description": "The first durable user-input settlement landed; protected delivery.",
"params": {
"$ref": "#/$defs/UserInputSettledParams"
}
}