SessionResumeParams
session/resume params.
Fields and variants
Section titled “Fields and variants”approvalRules— ExperimentalcommandIdconfigcontinuePausedSource— ExperimentalcursorexcludeItemshistorymissingInputAssets— ExperimentalmodelIdpermissionProfilerecoveryModesessionId
Source
schema/msp/experimental/msp.schema.json#/types/SessionResumeParams
{ "description": "`session/resume` params.", "properties": { "approvalRules": { "description": "Client-supplied shell prefix allow-rules override: omitted reinstalls the session's rules from\nthe audit fact, present replaces with that set (an explicit empty\narray clears). Explicit `null` is invalid params. Until the\nserved-handler slice, a host refuses any spelled `approvalRules` on\n`session/start`/`fork`/`resume` with `-32602`; clients omit it.\n**Experimental**\n(`session/resume.approvalRules`).", "items": { "$ref": "#/$defs/ClientApprovalRule" }, "type": "array", "x-msp-descriptor": "session/resume.approvalRules", "x-msp-stability": "experimental" }, "commandId": { "description": "The idempotency handle (UUIDv7). A resume that loads a session\nwrites a durable `SessionResumed` record.", "type": "string" }, "config": { "$ref": "#/$defs/SessionConfig", "description": "The same open construction-time extension object as `session/start`." }, "continuePausedSource": { "anyOf": [ { "$ref": "#/$defs/ContinuePausedSource" }, { "type": "null" } ], "description": "D7's optional actor-bound explicit continuation object: the explicit\nuser Resume action supplies it for a loaded paused source; absent or\nnull keeps current resume behavior and does not release this\nfeature's loaded-source hold. Nullable (D7's null-tolerant set).\nStandalone DTO (T-50280-074): the real effect is T-50280-084's.", "x-msp-descriptor": "session/resume.continuePausedSource", "x-msp-stability": "experimental" }, "cursor": { "description": "A view cursor previously observed by this client — or an observed\n`summarizedThrough` compaction anchor. When it names an event the server\nstill holds, the server returns only the suffix and `history.mode` is\n`none`. A cursor the server minted that names no event yet, such as the\nempty start cursor of a session that had no events, is treated as no\ncursor: the server serves what a resume without a cursor would. A cursor\nolder than the earliest event the server still holds gets a snapshot, or\n`-32040` `viewTruncated` when none fits. A cursor this session's view\nnever minted is refused with `-32011` `notFound`, reason\n`missingAnchor`, and a compaction anchor naming a boundary the server\nhas pruned is refused with `-32042` `boundaryPruned`. Omitted and\nexplicit `null` both mean \"no cursor\".", "type": [ "string", "null" ] }, "excludeItems": { "description": "Return only session metadata and live resume state; page history\nseparately with `view/page`. Default `false`.", "type": "boolean" }, "history": { "$ref": "#/$defs/HistoryPreference", "description": "History mode preference, default `auto`. A PREFERENCE, not a budget\noverride: when the requested mode does not fit the history budget the\nserver downgrades it and `history.mode` reports what was actually\nserved. Ignored when `cursor` or `excludeItems` makes it\nmoot." }, "missingInputAssets": { "$ref": "#/$defs/MissingInputAssets", "description": "What a cold load does with a retained input image whose file is\nmissing or corrupt. Omitted means `fail`;\nexplicit `null` is invalid params. Only the resume that loads the\nsession reads it; an attach ignores it. **Experimental**\n(`session/resume.missingInputAssets`).", "x-msp-descriptor": "session/resume.missingInputAssets", "x-msp-stability": "experimental" }, "modelId": { "description": "The explicit MSP model override:\na model string the caller supplies at resume time. When present it\nwins over the retained binding's recorded origin — over a stamped\nlabel and over a stamped pin — and it recovers an\notherwise-unresolved label binding by sending the override as the\nwire model instead of the unresolved refusal. Omitted preserves\narm (2): the retained binding resolves by recorded origin exactly\nas without this member. Explicit `null` is invalid params (the\nsame closed null-tolerant set as at start). The override changes\nthe model within the retained provider; it never names a\nprovider, and it never touches the retained profile.", "type": "string" }, "permissionProfile": { "description": "The launch permission-profile pick: a profile id the host catalog already admits. Select, never\ncreate. Omitted restores retained authority only, with no override.\nThe host restores first, then applies the pick in the same pre-marker\nstep; over a declared lost record the restore is the never-wider reset,\ncommitted before the pick, and where the reset cannot commit the pick\nis committed alone as that reset. A pick that\nfails admission refuses the\nresume `commandRejected` (-32030; `permission_profile_unknown` /\n`permission_profile_unavailable`) before any durable byte. Explicit\n`null` is invalid params (the same closed null-tolerant set as at\nstart).", "type": "string" }, "recoveryMode": { "$ref": "#/$defs/RecoveryMode", "description": "Cold-resume replacement choice; omission preserves the retained choice.\nA warm attach rejects a different or unestablished choice as invalidParams.\nExplicit null is invalid." }, "sessionId": { "description": "The session to load.", "type": "string" } }, "required": [ "commandId", "sessionId" ], "type": "object"}