Skip to content
Developer Preview

SessionResumeParams

session/resume params.

  • approvalRules — Experimental
  • commandId
  • config
  • continuePausedSource — Experimental
  • cursor
  • excludeItems
  • history
  • missingInputAssets — Experimental
  • modelId
  • permissionProfile
  • recoveryMode
  • sessionId
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"
}