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.
A second instance, RULED: the
flat discriminated-object precedent is accepted for this type too, on the
ApprovalSubject precedent, with the serialized JSON unchanged. A strict
union node kind may be funded later; if it is, it must cover both this
type and TurnInputPart. the protocol ratifies two
kind-discriminated entry shapes ({kind: "approval", approvalId, viewCursor} / {kind: "userInput", userInputId, viewCursor}); this is one
flat object with both ids optional, so the published schema accepts
{"kind":"approval","userInputId":…} and an entry carrying no id at all.
The v1 model names no object-variant union (the ApprovalSubject
precedent, followed for TurnInputPart), and this instance differs from
that one in a way the ruling should see: kind here is an OPEN enum,
where TurnInputPart.type is closed.
Fields and variants
Section titled “Fields and variants”approvalIdkinduserInputIdviewCursor
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\n**A second instance, RULED: the\nflat discriminated-object precedent is accepted for this type too, on the\n`ApprovalSubject` precedent, with the serialized JSON unchanged. A strict\nunion node kind may be funded later; if it is, it must cover both this\ntype and `TurnInputPart`.** the protocol ratifies two\nkind-discriminated entry shapes (`{kind: \"approval\", approvalId,\nviewCursor}` / `{kind: \"userInput\", userInputId, viewCursor}`); this is one\nflat object with both ids optional, so the published schema accepts\n`{\"kind\":\"approval\",\"userInputId\":…}` and an entry carrying no id at all.\nThe v1 model names no object-variant union (the `ApprovalSubject`\nprecedent, followed for `TurnInputPart`), and this instance differs from\nthat one in a way the ruling should see: `kind` here is an OPEN enum,\nwhere `TurnInputPart.type` is closed.", "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"}