Skip to content
Developer Preview

PendingRequestPointer

A late-joiner pointer at an unsettled server-initiated request. The full payloads arrive as re-issued server-to-client requests right after a session/resume response; session/read never re-issues them.

The protocol defines two kind-discriminated entry shapes ({kind: "approval", approvalId, viewCursor} / {kind: "userInput", userInputId, viewCursor}). This type is one flat object with both ids optional, as for ApprovalSubject and TurnInputPart, because the v1 model names no object-variant union; the serialized JSON is the same, but the published schema also accepts {"kind":"approval","userInputId":…} and an entry carrying no id at all. Unlike TurnInputPart.type, kind here is an OPEN enum.

  • approvalId
  • kind
  • userInputId
  • viewCursor
Source

schema/msp/experimental/msp.schema.json#/types/PendingRequestPointer

{
"description": "A late-joiner pointer at an unsettled server-initiated request. The full payloads arrive as re-issued\nserver-to-client requests right after a `session/resume` response; `session/read` never re-issues them.\n\nThe protocol defines two kind-discriminated entry shapes (`{kind:\n\"approval\", approvalId, viewCursor}` / `{kind: \"userInput\", userInputId,\nviewCursor}`). This type is one flat object with both ids optional, as for\n`ApprovalSubject` and `TurnInputPart`, because the v1 model names no\nobject-variant union; the serialized JSON is the same, but the published\nschema also accepts `{\"kind\":\"approval\",\"userInputId\":…}` and an entry\ncarrying no id at all. Unlike `TurnInputPart.type`, `kind` here is an OPEN\nenum.",
"properties": {
"approvalId": {
"description": "Present on an `approval` entry.",
"type": "string"
},
"kind": {
"$ref": "#/$defs/PendingRequestKind",
"description": "The discriminator; v1 values `approval` and `userInput`."
},
"userInputId": {
"description": "Present on a `userInput` entry.",
"type": "string"
},
"viewCursor": {
"description": "The cursor the request opened at.",
"type": "string"
}
},
"required": [
"kind",
"viewCursor"
],
"type": "object"
}