UnframedViewNotificationParams
The params of an unframed view notification.
Declares the base members every view notification carries, and stays
open for the event-specific fields each event type adds. The v1 schema
model names no method-correlated union (the events element’s params arm
is selected by its sibling method), so the per-event arms cannot be
expressed here without one, and an uncorrelated union of them could reject a
real page element, which a published schema must not do.
sourceRange is required here and not optional: view/page serves
durable-sourced events only, and durable-sourced is defined
as carrying a sourceRange — the ephemeral-sourced exemption applies
to item/delta, which view/page never replays.
Fields and variants
Section titled “Fields and variants”sessionIdsourceRangeviewCursor
Source
schema/msp/experimental/msp.schema.json#/types/UnframedViewNotificationParams
{ "description": "The `params` of an unframed view notification.\n\nDeclares the base members every view notification carries, and stays\n**open** for the event-specific fields each event type adds. The v1 schema\nmodel names no method-correlated union (the `events` element's `params` arm\nis selected by its sibling `method`), so the per-event arms cannot be\nexpressed here without one, and an uncorrelated union of them could reject a\nreal page element, which a published schema must not do.\n\n`sourceRange` is required here and not optional: `view/page` serves\ndurable-sourced events only, and durable-sourced is *defined*\nas carrying a `sourceRange` — the ephemeral-sourced exemption applies\nto `item/delta`, which `view/page` never replays.", "properties": { "sessionId": { "description": "The owning session.", "type": "string" }, "sourceRange": { "$ref": "#/$defs/SourceRange", "description": "The durable records this event folded from." }, "viewCursor": { "description": "The event's opaque, strictly monotonic view cursor. It stays **inside**\n`params`, where every live notification already carries it — nothing is spliced beside `method`.", "type": "string" } }, "required": [ "sessionId", "sourceRange", "viewCursor" ], "type": "object"}